python-debian (0.1.51) experimental; urgency=medium

  * Add build-dependency on gpgv.

 -- Stuart Prescott <stuart@debian.org>  Thu, 26 Dec 2024 17:11:02 +1100

python-debian (0.1.50) experimental; urgency=medium

  [ Stuart Prescott ]
  * 1.0.0 release candidate.
  * Tweaks to match changes in Python-land tooling:
    - Fix some stylistic things that the newly uploaded pylint 2.16 complains
      about.
    - Fix testing with wine to adapt to changes in wine packaging.
    - Fix tests to work with recent changes to pip that prevent installation
      outside of a venv.
    - Change version generation to be PEP440 compatible to satisfy new
      requirements from setuptools, python-packaging etc. This change is
      needed for any uploads outside of Debian sid (derivatives, Debian
      backports, Debian security/stable-updates, etc).
  * Fix file extraction from DebFile for cases where the .deb is generated
    from control or data tarballs without the optional entry for "." and the
    "./" prefix on all members; this isn't needed for dpkg-generated packages,
    but is needed for other tools such as 'cargo deb' (Closes: #1031674).
  * Demote Recommends to Suggests; it is up to the calling code to know what
    optional features of python-debian it is using rather than dragging in an
    ever-increasing list of optional extra packages (Closes: #1029727).
  * Drop shims for pre-PEP8 API after 14 years of deprecation.
  * Replace setup.py and config for pylint, mypy, pytest with pyproject.toml.
  * Switch package build system to use pyproject.toml.
  * Relocate tests and test data out of module; they are no longer included
    in the binary package or in the wheel.
  * Relocate module source from 'lib' to 'src' in line with current practice.
  * Change handling of package version to use setuptools_scm during
    development (but not at run time).
  * Update code to build pypi uploads (sdist and wheel).
  * Update copyright statements throughout.
  * Tweak pytest configuration for pytest 8.1.1 changes.
  * Fix test suite harness that runs tests under wine.
  * Update Standards-Version to 4.7.0 (no changes required).
  * Fix handling of whitespace-separated file lists in Copyright files with
    thanks to Lasse Collin for the suggested fix (Closes: #1062437).
  * Parse source field to extract source version in .deb packages from
    binNMUs (Closes: #1082838).
  * Switch to from chardet to charset-normalizer and make it in the code
    (demoted to Suggests), with thanks to Michal Čihař for the initial work.
  * Update Standards-Version to 4.7.0 (no changes required).
  * Make 'Package-List' a multiline field for Dsc objects, thanks to Philipp
    Hahn for the patch (Closes: #1052154).

  [ Max Mehl ]
  * Use valid SPDX identified in python package metadata.

  [ Benjamin Drung ]
  * Fix version number to be PEP440 compliant.

  [ Jelmer Vernooĳ ]
  * Drop debian_bundle and top-level deb822 modules after 13 years of
    deprecation.

  [ Niels Thykier ]
  * Fix typing errors from newer mypy in deb822.PkgRelation.
  * Changelog parsing speed improvements.
  * Add support for file location finding (line, col) in Deb822 files.

  [ Alexandre Detiste ]
  * Change some type annotations from Python 2 to Python 3 format.
  * Clean up some old Python 2 methods.
  * Fixes for pylint 3.1.

 -- Stuart Prescott <stuart@debian.org>  Thu, 26 Dec 2024 16:12:37 +1100

python-debian (0.1.49) unstable; urgency=medium

  [ Debian Janitor ]
  * Update lintian override info to new format on line 1.

  [ Niels Thykier ]
  * Fix whitespace handling of Copyright files (Closes: #960278)

  [ Stuart Prescott ]
  * Make python-debian (more) portable (Closes: #1011937)
    - Tweak tests to be portable to other platforms
    - Adapt tests so that skipping optional tests can be prevented if needed
    - Add other platforms to CI to test portability
  * Switch tests to use more pytest features.
  * Updates for newer mypy and pylint.
  * Add Debian 14 'forky' to the list of known releases.

 -- Stuart Prescott <stuart@debian.org>  Sun, 20 Nov 2022 11:30:33 +1100

python-debian (0.1.48) unstable; urgency=medium

  [ Anders Kaseorg ]
  * Fix version bound for subscripting abc.Iterator, abc.MutableMapping.
    Closes: #1018822

  [ Jelmer Vernooĳ ]
  * Don't raise AmbiguousDeb822FieldKeyError in __contains__.

 -- Jelmer Vernooĳ <jelmer@debian.org>  Mon, 03 Oct 2022 05:19:42 +0100

python-debian (0.1.47) unstable; urgency=medium

  * copyright: Allow duplicate fields when strict=False.
  * copyright: Fix regression, raise NotMachineReadableError for files
    that clearly don't use DEP5. Closes: #1017836

 -- Jelmer Vernooĳ <jelmer@debian.org>  Sat, 27 Aug 2022 14:23:48 +0100

python-debian (0.1.46) unstable; urgency=medium

  * Copyright.add_files_paragraph(): Append after the last existing
    files paragraph.
  * RTS parser: Fix removing and then re-adding a paragraph.

 -- Jelmer Vernooĳ <jelmer@debian.org>  Fri, 08 Jul 2022 17:51:18 +0100

python-debian (0.1.45) unstable; urgency=medium

  [ Jelmer Vernooĳ ]
  * Add Deb822FileElement.remove method.
  * RTS parser: don't add trailing whitespace when setting field values
    that start with a newline. Closes: #1013485
  * RTS parser: Add Deb822FileElement.remove().

  [ Niels Thykier ]
  * RTS parser: minor performance improvements (~5%).
  * RTS parser: Stop preserving lack of newlines at EOF. Closes: #998715
  * Add substvars module for handling substvars.
  * copyright: Use RTS parser.
  * Provide `DpkgArchTable` class as a subset of `Dpkg::Arch`. Closes: #771058

 -- Jelmer Vernooĳ <jelmer@debian.org>  Tue, 05 Jul 2022 16:35:04 +0100

python-debian (0.1.44) unstable; urgency=medium

  [ Simon Chopin ]
  * Add support for zstd compression in .deb files (LP: #1923845) with thanks
    also to Athos Ribeiro and Quirin Pamp for contributions to this feature.

  [ Jelmer Vernooĳ ]
  * Use logging.warning rather than warnings for data problems.

  [ Stuart Prescott ]
  * Support for finding files (including changelog.Debian.gz) that are beyond
    a symlink within the package (Closes: #875305).
  * Update packaging for zstd compressed .deb code.
  * Annotate binutils build-dep with <!nocheck>.
  * Update Standards-Version to 4.6.1 (no changes required).

  [ Niels Thykier ]
  * Various improvements to the round-trip-safe deb822 parser.

 -- Stuart Prescott <stuart@debian.org>  Sun, 29 May 2022 12:06:57 +1000

python-debian (0.1.43) unstable; urgency=medium

  [ Jelmer Vernooĳ ]
  * Support the Files-Included field in debian/copyright.

  [ Stuart Prescott ]
  * Always run both mypy and pylint on CI.
  * Fix URL for API documentation in README.rst (Closes: #995442).
  * RTS parser: minor documentation fixes.
  * Declare minimum Python version of 3.5 for most modules except the
    RTS parser. Add CI testing with Python 3.5 (Closes: #997857).

  [ Niels Thykier ]
  * RTS parser: Handle leading tabs for setting values (Closes: #996785).
  * RTS parser: Preserve original field case (Closes: #996784).
  * RTS parser: Expose str type for keys in paragraphs (Closes: #996783).

 -- Stuart Prescott <stuart@debian.org>  Sun, 16 Jan 2022 13:03:02 +1100

python-debian (0.1.42) unstable; urgency=medium

  "The Hitchhiker's Guide to the Galaxy" release.

  [ Jelmer Vernooĳ ]
  * Use logging for warnings about data that's being read, rather than
    the warnings module.

  [ Stuart Prescott ]
  * Fix type checks for mypy 0.910
  * Refactor CI code to be less repetitive.
  * Fix autopkgtest invocation of py.test.
  * Silence lintian complaint about touching the dpkg database in the
    examples.
  * Update Standards-Version to 4.6.0 (no changes required).
  * Add RTS parser to setup.py so that it is installed.
  * Add copyright attribution for RTS parser.

  [ Niels Thykier ]
  * RTS parser: Accept tabs as continuation line marker. Closes: #994854
  * Interpretation: Preserve tab as continuation line if used
  * CI: Always build docs; only publish it for master
  * RTS parser: Make value interpretation tokenization consistent
  * RTS parser: Add interpretation for Uploaders field

 -- Stuart Prescott <stuart@debian.org>  Mon, 18 Oct 2021 17:12:47 +1100

python-debian (0.1.41) experimental; urgency=medium

  [ Stuart Prescott ]
  * Drop some old python version checks (Closes: #986550)
  * Skip tests that use apt_pkg if unavailable
  * Run tests in absense of recommended packages
  * Drop use of six.
  * Drop old version constraints in autopkgtest tests
  * Generate .deb packages for tests on-demand
  * Add contextmanager to DebFile
  * Fix sphinx _static config

  [ Niels Thykier ]
  * Added format/comment preserving deb822 parser as debian._deb822_repro.
  * CI: Add coverage reports
  * Use py.test for running tests

  [ Jelmer Vernooĳ ]
  * Add Build-Depends-Arch, Build-Conflicts-Arch to list of relationship
    fields. Closes: #985492

 -- Jelmer Vernooĳ <jelmer@debian.org>  Sat, 18 Sep 2021 22:36:23 +0100

python-debian (0.1.40) experimental; urgency=medium

  [ Jelmer Vernooĳ ]
  * In debian.changelog.get_maintainer, cope with unknown UIDs. Closes:
    #980385

  [ Niels Thykier ]
  * Add some doctest SKIP markers to the code (MR!45).
  * Fix examples in code (MR!41, MR!43).

  [ Frédéric Pierret ]
  * Numerous enhancements to the deb822.BuildInfo class (MR!40).

  [ Stuart Prescott ]
  * Update annotations for mypy 0.8.00.
  * Include portability patch for pwd module on Windows from MR!38, with
    thanks to Ryan Pavlik for the report and Carmen Bianca Bakker for the
    implementation.
  * Drop the deb822.BuildInfo.get_debian_suite function.
  * Stop testing with Python 2.7.

  [ Debian Janitor ]
  * Remove constraints unnecessary since stretch:
    + Build-Depends: Drop versioned constraint on binutils.

 -- Stuart Prescott <stuart@debian.org>  Mon, 28 Jun 2021 18:09:46 +1000

python-debian (0.1.39) unstable; urgency=medium

  [ Stuart Prescott ]
  * Move re.compile calls out of functions (Closes: #971960).
  * Revert unintended renaming of Changelog.get_version/set_version
    (Closes: #975910).
  * Add a type for .buildinfo files (deb822.BuildInfo) (Closes: #875306).
  * Add support for SHA1-Download and SHA256-* variants in PdiffIndex class
    for .diff/Index files (Closes: #970824).
  * Permit single-character package names in dependency relationship
    specifications (Closes: #977355).
  * Silence deprecation warnings in the test suite.
  * Test that UserWarning is emitted in tests where it should be.
  * Update Standards-Version to 4.5.1 (no changes required).
  * Update to debhelper-compat (= 13).
  * Update examples to use #!/usr/bin/python3.
  * Fix tabs vs spaces in examples.
  * Provide accessor for source package version for binary packages
    (Closes: #934273).

  [ Jose Luis Rivero ]
  * Allow debian_support.PackageFile to accept StringIO as well as BytesIO.

  [ Ansgar ]
  * Change handling of case-insensitive field names to allow Deb822 objects
    to be serialised  (Closes: #975915).

  [ Jelmer Vernooĳ ]
  * Add myself to uploaders.

  [ Johannes 'josch' Schauer ]
  * Add SHA265 support to handling of pdiffs.
  * Add support for additional headers for merged pdiffs to PDiffIndex.
  * Allow debian_support.patches_from_ed_script to consume both bytes and str.

 -- Stuart Prescott <stuart@debian.org>  Sat, 19 Dec 2020 11:59:40 +1100

python-debian (0.1.38) unstable; urgency=medium

  [ Jelmer Vernooĳ ]
  * Add a debian.watch module for parsing watch files.
  * Prevent stripping of last newline in initial lines before changelog files.
  * Add a Copyright.files_excluded field.
  * Allow specifying allow_missing_author when reserializing changelog
    entries.

  [ Stuart Prescott ]
  * Fix CI error from typeshed.
  * Add lots more type annotations to the code.
  * Enable mypy and pylint in the CI pipeline for merge requests.

  [ Dato Simó ]
  * Remove myself from Uploaders.

 -- Stuart Prescott <stuart@debian.org>  Sun, 04 Oct 2020 15:09:46 +1100

python-debian (0.1.37) unstable; urgency=medium

  [ Sandro Tosi ]
  * Drop python2 support; Closes: #937691
  * lib/debian/doc-debtags
    - run using python3

  [ Stuart Prescott ]
  * Update Standards-Version to 4.5.0 (no changes required).
  * Add Rules-Requires-Root: no.
  * Test with all supported Python 3 interpreters at build time, not only
    in the autopkgtest tests.
  * Include the version of the interpreter in the test output.
  * Update from pylint3 to pylint.
  * Fix some pylint warnings.
  * Include pylint and mypy checks for merge requests on salsa.
  * Add additional metadata to setup.py, with thanks to Konrad Weihmann for
    the suggestion.

  [ Colin Watson ]
  * Parse Built-Using relationship fields.

  [ Michael Hudson-Doyle ]
  * Run tests with 'supported' not 'installed' Python 3 interpreters.

 -- Stuart Prescott <stuart@debian.org>  Sat, 11 Apr 2020 17:54:43 +1000

python-debian (0.1.36) unstable; urgency=medium

  * Support streams without a filename in ArMember, with thanks to Matthias
    Dellweg for the patch.
  * Update autopkgtest variables in tests.
  * Update Standards-Version to 4.4.0 (no changes required).
  * Update to debhelper-compat 12.
  * Update type annotations for newer mpypy.

 -- Stuart Prescott <stuart@debian.org>  Sun, 01 Sep 2019 23:50:42 +1000

python-debian (0.1.35) unstable; urgency=medium

  [ Stuart Prescott ]
  * Fix decode error when using debian_support.PackageFile by allowing the
    caller to specify an encoding, defaulting to UTF-8 (Closes: #928655).
  * Remove needs-recommends from autopkgtest definitions.

  [ Jan Teske ]
  * Fix overwriting of names in importing abc.Mapping and typing.Mapping.

  [ Jelmer Vernooĳ ]
  * Correctly raise NotMachineReadableError when no format is set.

 -- Stuart Prescott <stuart@debian.org>  Thu, 30 May 2019 00:23:06 +1000

python-debian (0.1.34) unstable; urgency=medium

  [ Jelmer Vernooĳ ]
  * Fix typo in changelog.py documentation.

  [ Stuart Prescott ]
  * Fix "DeprecationWarning" regarding the move of ABCs from collections to
    collections.abc, with thanks to Jakub Wilk for the report
    (Closes: #914737).
  * Add accessors for Version objects from Deb822 (Closes: #901651).
  * Issue warnings if calling code requested use of python-apt for processing
    a Deb822 file but that request could not be honoured (see: #913274).
  * Make internal parser match python-apt in strictness when dealing with
    Packages and Sources files (Closes: #913274).
  * Update Standards-Version to 4.3.0 (no changes required).

 -- Stuart Prescott <stuart@debian.org>  Fri, 18 Jan 2019 01:14:54 +1100

python-debian (0.1.33) unstable; urgency=medium

  * Switch to salsa.debian.org URLs for homepage, source location etc.
  * Bump to debhelper compat 11 (no changes required).
  * Update standards-version to 4.2.0 (no changes required).
  * Enable the test suite as a CI pipeline on salsa.debian.org.
  * Enable building of API documentation using sphinx.
  * Publish the API documentation via salsa.
  * Fix up various rst issues in documentation and move around docs so that
    they can be included in the sphinx output (Closes: #894214).
  * Fix handling of http vs https in copyright-format/1.0 parser.
  * Add Python 2 compatible type annotation comments throughout.
  * Considerable code polish based on pylint and mypy.

 -- Stuart Prescott <stuart@debian.org>  Sun, 19 Aug 2018 17:19:11 +1000

python-debian (0.1.32) unstable; urgency=medium

  * Fix regexps that are invalid escape sequences with Python 3.6, with thanks
    to Ville Skyttä <ville.skytta@iki.fi> for the patch (Closes: #878434).
  * Fix spelling errors, with thanks to Ville Skyttä <ville.skytta@iki.fi>
    for the patch (Closes: #878435).
  * Add additional documentation about how python-apt is used, with thanks to
    Matthieu Caneill <matt@brokenwa.re> for the patch (Closes: #862058).
  * Extend Deb822 parser to allow underscores in the field name, with thanks
    to Gerhard Poul <gerhard.poul@gmail.com> for the patch.
  * Update Vcs fields to point to salsa.debian.org, with thanks to John Wright
    for doing the migration.
  * Update Standards-Version to 4.1.3 (no changes required).

 -- Stuart Prescott <stuart@debian.org>  Sat, 17 Feb 2018 16:37:18 +1100

python-debian (0.1.31) unstable; urgency=medium

  * Fix codename for 'rex' release, With thanks to Philipp Hahn
    <hahn@univention.de> for the report and patch (Closes: #863724).
  * Include archqual in the deb822.PkgRelation.str output, with thanks to
    Maximiliano Curia <maxy@debian.org> for the report and patch
    (Closes: #868249).
  * Use unittest rather than nose for test suite discovery (Closes: #851324).
  * Update Standards-Version to 4.1.0 (no changes required).
  * Use dpkg's pkg-info.mk to get package version in d/rules.
  * Add debian/HACKING with some notes about the package.

 -- Stuart Prescott <stuart@debian.org>  Sun, 24 Sep 2017 12:38:37 +1000

python-debian (0.1.30) unstable; urgency=medium

  * Add missing chardet dependency in setup.py.in (Closes: #838695, #841071).
  * Add stretch, buster and bullseye to known releases (Closes: #849058).
  * Allow iter_paragraphs to accept bytes under Python 3 (Closes: #833375).
  * Don't suppress ChangelogParseError in strict mode when reading in a
    changelog via the constructor (Closes: #844026).
  * Add experimental API for ftp-master archive removals data (Closes: #473793).

 -- Stuart Prescott <stuart@debian.org>  Wed, 25 Jan 2017 12:18:27 +1100

python-debian (0.1.29) unstable; urgency=medium

  * Fix handling of gpgv output from gnupg 2 (Closes: #782904).
  * Explain what type was passed when raising the TypeError, with thanks to
    Chris Lamb <lamby@debian.org> for the patch (Closes: #833363).
  * Include examples and extra docs in python3-debian package (Closes: #833368).

 -- Stuart Prescott <stuart@debian.org>  Thu, 18 Aug 2016 23:27:48 +1000

python-debian (0.1.28) unstable; urgency=medium

  * Change comment handling code in test suite to fix building with updated
    apt packages, with thanks to Neil Williams and Barry Warsaw for the patches
    (Closes: #807351).
  * Add support for uncompressed control.tar deb member (Closes: #761298).
  * Bump standards-version to 3.9.8 (no changes required).
  * Update Vcs URLs to https ones.
  * Remove support for broken timezone names from changelog parsing, with
    thanks to Guillem Jover for the patch (Closes: #792415).
  * Allow changelog entries to be accessed by sequence number or by version
    string (Closes: #634849).

 -- Stuart Prescott <stuart@debian.org>  Wed, 15 Jun 2016 00:45:45 +1000

python-debian (0.1.27) unstable; urgency=medium

  * Tighten whitespace handling in GPG Armor Header lines, with thanks to
    Guillem Jover for the patch (Closes: #782276).

 -- Stuart Prescott <stuart@debian.org>  Wed, 15 Apr 2015 00:53:27 +1000

python-debian (0.1.26) unstable; urgency=medium

  * Fix FTBFS with binutils >= 2.25-6 by turning off determinism in ar
    archives when building archives in the test suite, thanks to Dmitry
    Shachnev for the patch (Closes: #781543).
  * Require binutils >= 2.23 for building and in the autopkgtest tests to
    ensure that ar understands the option to suppress determinism.

 -- Stuart Prescott <stuart@debian.org>  Sat, 04 Apr 2015 00:39:02 +1100

python-debian (0.1.25) unstable; urgency=medium

  * deb822: More encoding gymnastics to support parsing signed files
    opened in text mode (Closes: #764380).

 -- John Wright <jsw@debian.org>  Tue, 21 Oct 2014 22:32:26 -0700

python-debian (0.1.24) unstable; urgency=medium

  * copyright module: make Copyright objects iterable
  * debian_support.list_releases(): update release list (Closes: #758027)

 -- Stefano Zacchiroli <zack@debian.org>  Wed, 01 Oct 2014 16:41:15 +0200

python-debian (0.1.23) unstable; urgency=medium

  [ Stuart Prescott ]
  * Add sha512 sums to Release and Sources (Closes: #732599).
  * Use warnings rather than stderr in PkgRelation (Closes: #712513).
  * Expose the list of bugs closed by a changelog entry; thanks to Jelmer
    Vernooi and Stefano Rivera for patches (Closes: #634848).
  * Add support for .deb with uncompressed data.tar member (Closes: #718355).
  * Prefer the internal parser rather than apt's TagFile for processing deb822
    files unless explicitly called to process Packages or Sources files:
    - prevents paragraph parsing truncating on comments (Closes: #743174).
    - fix parsing of paragraphs when separated by more whitespace than just a
      newline (Closes: #655988). (Finally fixing interactions with devscripts'
      wrap-and-sort!)
  * Parse foreign architecture (package:any) relationships and also other
    multi-arch related relationships (Closes: #670679)
  * Parse build-profiles syntax.

  [ John Wright ]
  * Fix a GPG validation bug.  With some trailing whitespace, the code
    could be tricked into validating a signature, but using the bogus
    data after the signed section (Closes: #695932).
  * Drop support for python2.5.  (This allows us to do fewer import hacks
    in deb822, and probably other modules as well.)
  * Add a deb822.RestrictedWrapper class, for exposing read-only access
    to a Deb822 instance's field values as strings, while restricting
    write access to some fields, which are exposed via properties.
  * deb822.Deb822Dict.dump: Add a text_mode parameter for dumping to
    file(-like) objects that assume text/unicode input.
  * Add a copyright module, for parsing machine-readable debian/copyright
    files (Closes: #671485).
  * Make deb822 tests hermetic with respect to debian-keyring updates
    (Closes: #760488).

 -- John Wright <jsw@debian.org>  Wed, 10 Sep 2014 23:18:38 -0700

python-debian (0.1.22) unstable; urgency=low

  [ John Wright ]
  * Acknowledge NMUs.  (Thanks for your work, Colin and Fathi!)
  * arfile.ArFile.extractfile: Return a matching member even if it is
    not the first one in the archive.  Thanks to Mika Eloranta for the
    report and patch. (Closes: #689313)
  * deb822.Deb822.iter_paragraphs: Actually work with string input.
    Thanks to Stefano Rivera for the patch. (Closes: #647455)

  [ Stuart Prescott ]
  * Add myself to Uploaders.
  * Change Vcs-* URLs to canonical locations.
  * Switch build system to short form dh and pybuild.
  * Use nose to run test suite.
  * Add autopkgtest test suite.

  [ John Wright ]
  * python_support: Avoid hashlib dependency, using the built-in _sha or
    _sha1 module (depending on Python version) instead.  That way we
    don't link in OpenSSL, which has an incompatible license.
    (Closes: 747031)

 -- John Wright <jsw@debian.org>  Wed, 11 Jun 2014 02:25:21 -0700

python-debian (0.1.21+nmu3) unstable; urgency=medium

  * Non-maintainer upload.
  * Add support for xz-compressed packages. (Closes: #506861)
  * Byte-compile python modules for python3-debian. (Closes: #709935)

 -- Fathi Boudra <fabo@debian.org>  Tue, 29 Apr 2014 20:32:47 +0300

python-debian (0.1.21+nmu2) unstable; urgency=low

  * Non-maintainer upload.
  * In Python 2, restore Deb822Dict.has_key method for compatibility.
    (Closes: #686731)

 -- Colin Watson <cjwatson@debian.org>  Wed, 05 Sep 2012 11:28:58 +0100

python-debian (0.1.21+nmu1) unstable; urgency=low

  * Non-maintainer upload.
  * Port to Python 3. (Closes: #625509)

 -- Colin Watson <cjwatson@debian.org>  Wed, 22 Aug 2012 16:27:05 +0100

python-debian (0.1.21) unstable; urgency=low

  [ Tshepang Lekhonkhobe ]
  * test_changelog.py: Close open files. (Closes: #625672)

  [ John Wright ]
  * deb822: Allow ':' as the first character of a value.
    (Closes: #597249)
  * deb822: Avoid dumping unparseable data. (Closes: #597120)
  * Clean up deb822.GpgInfo implementation:
    - Change several @staticmethod decorated methods to @classmethod,
      since they call the class constructor.
    - from_sequence now can accept both sequences of newline-terminated
      strings and the output of str.splitlines().
    - from_file now actually calls the from_sequence method.
      (Closes: #627058)
    - from_sequence now makes a copy of the initial args list before
      extending it. (Closes: #627060)
    - Keyrings are no longer checked for accessibility, since gpgv can
      accept keyring arguments that are under the GnuPG home directory,
      regardless of the current directory. (Closes: #627063)
  * deb822.Deb822.gpg_info takes an optional keyrings argument.
  * deb822: Don't interpret lines starting with '#'. (Closes: #632306)

  [ Colin Watson ]
  * Use dh_python2 instead of python-support. (Closes: #631392)

 -- John Wright <jsw@debian.org>  Wed, 03 Aug 2011 23:07:17 -0700

python-debian (0.1.20) unstable; urgency=low

  * Fix FTBFS, caused by referring to apt_pkg in a test with no
    python-apt Build-Depends. (Closes: #623011)
  * changelog: Implement __unicode__ in ChangeBlock and Changelog.
    (Closes: #561805)

 -- John Wright <jsw@debian.org>  Sun, 17 Apr 2011 17:37:44 -0700

python-debian (0.1.19) unstable; urgency=low

  * debian_support.BaseVersion: Disallow ':' in upstream version if
    there is no epoch.  Original patch by Steve Kowalik.
    (Closes: #619997)

 -- John Wright <jsw@debian.org>  Fri, 15 Apr 2011 02:05:45 -0700

python-debian (0.1.18+nmu1) unstable; urgency=low

  * Non-maintainer upload.
  * Migrate to new python-apt API (Closes: #604544)

 -- Julian Andres Klode <jak@debian.org>  Tue, 05 Apr 2011 11:02:08 +0200

python-debian (0.1.18) unstable; urgency=low

  * Support installation together with older versions of python-apt.
    Original patch by Jelmer Vernooij. (Closes: #590805)

 -- John Wright <jsw@debian.org>  Wed, 04 Aug 2010 01:16:52 -0700

python-debian (0.1.17) unstable; urgency=low

  [ James Westby ]
  * Use os.path.normpath to hide python version differences

  [ John Wright ]
  * test_deb822.py: Make test_gpg_info more robust (Closes: #582878)
  * deb822: Use chardet to try to detect character encodings as necessary
    - This is only used when the specified encoding doesn't work.  It's mainly
      useful for files containing multiple deb822 paragraphs with mixed
      encodings, like etch's Sources file. (Closes: #586021)

 -- John Wright <jsw@debian.org>  Sun, 25 Jul 2010 02:07:11 -0700

python-debian (0.1.16) unstable; urgency=low

  * debian_support: Be more careful in case apt_pkg is not available
    - If apt_pkg is not available, AptPkgVersion now raises
      NotImplementedError on any initialization attempt
    - test_debian_support.py now doesn't try to test AptPkgVersion if
      apt_pkg is not available
  * test_deb822.py: Don't test gpg info if debian-keyring is not
    available (Closes: #573934)
  * Use the warnings system to report deprecation warnings
    (Closes: #573945)
  * Change examples and control file to refer to debian instead of
    debian_bundle

 -- John Wright <jsw@debian.org>  Mon, 15 Mar 2010 20:02:17 -0600

python-debian (0.1.15) unstable; urgency=low

  [ John Wright ]
  * deb822: Don't ignore leading newlines on field data with apt_pkg
    (Closes: #466753)
  * changelog: Consistently parse different types of inputs.  The
    previous implementation added extra newlines when given a file
    object as input, rather than the result of str.splitlines().
    (Closes: #539316)
  * deb822: Faster non-shared storage by keeping a TagFile object
    around for each Deb822 object yielded

  [ Stefano Zacchiroli ]
  * make debian_support.Version hashable, patch from Piotr Ożarowski
    (Closes: #543223)

  [ Filippo Giunchedi ]
  * changelog: add iterator over changelog blocks (Closes: #539334)
  * changelog: split tests into tests/test_changelog.py for consistency

  [ John Wright ]
  * deb822: Use the apt_pkg.TagFile class instead of apt_pkg.ParseTagFile()
    (Closes: #552190)
  * test_deb822.py: Update to support new gpg "SIG_ID" algorithm
  * deb822: Better support for non-ascii values.  Deb822 objects now
    always contain unicode objects instead of strings.  Use the encoding
    argument to Deb822's initializer and its iter_paragraphs class
    method if the encoding of a file you are reading in is not utf-8.
    (The dump method also takes an encoding argument, if you wish the
    output not to be utf-8-encoded.) (Closes: #495272)
  * Use the apt_pkg.TagFile iterator interface instead of hacking its
    offset.  As of python-apt version 0.7.94, that interface doesn't use
    shared storage. (Closes: #571470)
  * debian_support: Add a native python Version class, based on Raphael
    Hertzog's DpkgVersion class in the PTS (Closes: #562257, #573009)

  [ Jelmer Vernooij ]
  * Remove unused imports in the debfile and debtags modules

  [ John Wright ]
  * changelog: Use debian_support.Version directly
  * Deprecate the 'debian_bundle' package in favor of a new 'debian'
    package (Closes: #570210)
  * debian_support: split tests into tests/test_debian_support.py for
    consistency
  * Convert to "3.0 (native)" source format and update Standards-Version
    to 3.8.4 (no changes necessary)

 -- John Wright <jsw@debian.org>  Sun, 14 Mar 2010 05:04:50 -0600

python-debian (0.1.14) unstable; urgency=low

  [ Stefano Zacchiroli ]
  * setup.py.in: switch to setuptools, which are able to generate eggs;
    add matching build-dep on python-setuptools (Closes: #525694)
  * examples/deb822/: add new example render-dctrl, to render packages in
    a dctrl-tools pipeline (using Markdown as long description syntax)
  * deb822: use __new__ to sub-class strings for case-insensitiveness;
    former approach is deprecated with python 2.6.
    Thanks to Loïc Minier for the patch. (Closes: #524061)

  [ Filippo Giunchedi ]
  * deb822: parse also Binary as PkgRelation, thus add .binary attribute

  [ Muharem Hrnjadovic ]
  * fixed changelog parser exception raised when dealing with empty
    changelog files (LP: #400589).

 -- Stefano Zacchiroli <zack@debian.org>  Sat, 18 Jul 2009 21:26:40 +0200

python-debian (0.1.13) unstable; urgency=low

  [ John Wright ]
  * deb822: Correctly handle deletion of keys that only exist in a pre-parsed
    dictionary

  [ Stefano Zacchiroli ]
  * change naming convention to match PEP 8, with backward compatibility
    (and deprecation warnings) for all old names. Thanks to Ben Finney for
    the patch. (Closes: #489722)
  * Switch from "sha" module to "hashlib": fix a deprecation warning of
    Python 2.6. As a consequence, update pyversions to require a minimum
    of Python 2.5, which is available also in stable now. (Closes: #518427)
  * debian_support.PackageFile: allow for stanza separators made of tabs
    and spaces in addition to newlines (Closes: #501927)
  * bump Standards-Version to 3.8.1 (no changes needed)

 -- Stefano Zacchiroli <zack@debian.org>  Tue, 07 Apr 2009 10:21:04 +0200

python-debian (0.1.12) unstable; urgency=low

  [ Filippo Giunchedi ]
  * Add initial support to deb822 for gpg signature checking (Closes: #485829)
  * Suggest gpgv for signature checking

  [ Stefano Zacchiroli ]
  * deb822: add support for pretty printing structured inter-package
    relationships (and relevant tests)
  * debfile: add support for .tar.bz2 parts contained in .deb packages, and
    relative regression test. Thanks to Cameron Dale and Tom Parker.
    (Closes: #462859).

  [ John Wright ]
  * deb822: allow the use of unicode objects in __getitem__
  * changelog: fix the "topline" regular expression to match the one in dpkg's
    Dpkg/Changelog/Debian.pm so that it allows '.' and '+' in the distribution
    field
  * deb822: Add a use_apt_pkg parameter to Deb822.iter_paragraphs.  Now,
    callers can set use_apt_pkg=True and shared_storage=False (now the default)
    in order to take advantage of apt_pkg's speed and still be able to use
    values across iterations.  (Closes: #504413)

 -- John Wright <jsw@debian.org>  Wed, 05 Nov 2008 16:03:40 -0700

python-debian (0.1.11) unstable; urgency=low

  [ James Westby ]
  * Allow urgency=HIGH and other words made of capital letters there, see
    fuse's changelog.
  * Allow any number of spaces before "urgency" in the header line of a
    changelog, see lvm2's changelog in Ubuntu.
  * Overhaul the parsing code to follow that used by dpkg-parsechangelog.py,
    making it much more robust.
    - There is now a "strict" option to turn warnings in to errors. It is
      on by default.
  * The file parameter in the changelog can now be a file-like object,
    to save reading a file to a string first. Thanks to Tilman Koschnick.
    (Closes: #487797)

  [ John Wright ]
  * debian/control:
    - Fix a typo in the Description field (Closes: #483688)
  * debian_bundle/deb822.py: Checksums-Sha1 and Checksums-Sha256 don't have
    section or priority subfields (Closes: #487902)

  [ Stefano Zacchiroli ]
  * debian_bundle/deb822.py: add support for "parsed" dependencies and other
    inter-package relationships. See examples/deb822/depgraph for sample usage
  * examples/deb822/ add new example "depgraph"
  * tests/test_deb822.py: add tests for inter-package relationships
  * debian_bundle/debfile.py: add has_key (same implementation of
    __contains__) to better emulate dictionary containers
  * minor revamp of README pointing to deb822.py for Packages parsing and
    mentioning debfile.py
  * debian/control:
    - fix Vcs-* fields to point to the new git repository (bzr is gone)
  * bump Standards-Version to 3.8.0, no changes needed though profit of the
    possibility of wrapping Uploaders in debian/control

  [ Filippo Giunchedi ]
  * Add test case for changes file with checksums (see #487902)

 -- Stefano Zacchiroli <zack@debian.org>  Wed, 06 Aug 2008 23:48:38 -0300

python-debian (0.1.10) unstable; urgency=low

  * debian_bundle/deb822.py, tests/test_deb822.py:
    - Do not cache _CaseInsensitiveString objects, since it causes case
      preservation issues under certain circumstances (Closes: #473254)
    - Add a test case
  * debian_bundle/deb822.py:
    - Add support for fixed-length subfields in multivalued fields.  I updated
      the Release and PdiffIndex classes to use this.  The default behavior for
      Release is that of apt-ftparchive, just because it's simpler.  Changing
      the behavior to resemble dak requires simply setting the
      size_field_behavior attribute to 'dak'.  (Ideally, deb822 would detect
      which behavior to use if given an actual Release file as input, but this
      is not implemented yet.)  (Closes: #473259)
    - Add support for Checksums-{Sha1,Sha256} multivalued fields in Dsc and
      Changes classes
  * debian/control:
    - "python" --> "Python" in the Description field
    - Change the section to "python"

 -- John Wright <jsw@debian.org>  Wed, 30 Apr 2008 23:58:24 -0600

python-debian (0.1.9) unstable; urgency=low

  * Promote python-apt from Suggests to Recommends. (Closes: #462845)

 -- Adeodato Simó <dato@net.com.org.es>  Wed, 06 Feb 2008 15:36:02 +0100

python-debian (0.1.8) unstable; urgency=low

  [ Filippo Giunchedi ]
  * Move tests to a separate subdirectory.

  [ Stefano Zacchiroli ]
  * Add examples dir for deb822 with a simple example.

  [ Adeodato Simó ]

  * Sync debian_support.py with the latest version from the secure-testing
    repository. Note that this removes support for version comparison without
    apt_pkg. (Our copy was modified in 0.1.2 to *accept* ~ in version strings,
    but comparison without apt_pkg was already broken by then.)

    Also, undo the change introduced for #431087, since we shouldn't be
    keeping incompatible versions of debian_support.py around, plus the
    desired functionality in that bug report is best provided by the deb822
    module. (Closes: #457697, #457854)

  * While rewriting the grep-maintainer example to use deb822.Packages to
    accommodate the above change, make it cope with stanzas without a
    maintainer field as well. (Closes: #457855)

  * Fix dump() method of deb822._multivalued. (Closes: #457929)

  * Small improvements to the exception handling in the grep-maintainer
    example.

  * Bump Standards-Version to 3.7.3 (no changes needed).

 -- Adeodato Simó <dato@net.com.org.es>  Fri, 28 Dec 2007 19:46:13 +0100

python-debian (0.1.7) unstable; urgency=low

  [ John Wright ]
  * debian_bundle/deb822.py, debian_bundle/test_deb822.py
    - Bug fix: Allow fields with blank (empty string) values.  Previously,
      these were parsed fine, but if you tried to dump the resulting Deb822
      object, you'd get an IndexError (because of how we handled fields whose
      values start with newlines).  Added a test case.
    - Fix the copy method of Deb822Dict so that it returns an object of the
      same type, rather than explicitly instantiating Deb822Dict (so that
      subclasses like Deb822 can directly use the copy method and have it "just
      work").  Added a test case.

  [ Stefano Zacchiroli ]
  * debian/control
    - mention the debfile module in the long description
    - promote Vcs-Bzr to a real field, now that dpkg supports it

 -- John Wright <jsw@debian.org>  Tue, 27 Nov 2007 16:25:33 -0700

python-debian (0.1.6) unstable; urgency=low

  [ Stefano Zacchiroli ]
  * debfile.py
    - bugfix: make md5sums top-level method acts as a proxy instead of
      returning a method
    - bugfix: use readlines() to iterate over the md5sums file since direct
      iteration on files is available only in python >= 2.5 (closes: #438804)
    - bugfix: support spaces in filenames when accessing md5sums; thanks to
      Romain Francoise for the patch (closes: #438909)

  [ John Wright ]
  * debian/pyversions:
    - Since there are some Python 2.4-isms in this package, support only Python
      >= 2.4, rather than all versions (Closes: #438920)

 -- Stefano Zacchiroli <zack@debian.org>  Sat, 08 Sep 2007 10:12:20 +0200

python-debian (0.1.5) unstable; urgency=low

  [ Stefano Zacchiroli ]
  * debfile.py
    - do not fail if extra ar members exist in a .deb, according to deb(5)
      extra ar members should be ignored (Closes: #438486). Also add the
      corresponding regression test to test_debfile.py
    - support both the (buggy) file naming scheme for TarFile of python << 2.5
      (e.g. "control") and of python >= 2.5 (e.g. "./control"). In addition,
      enable users to specify file members in three equivalent formats:
      "file", "./file", and "/file" (Closes: #438603)
  * deb822.py
    - add a deprecation warning (printed on stderr) when accessing the module
      as a top-level one; it should be rather used as "debian_bundle.deb822"

  [ John Wright ]
  * examples/debfile/ar, examples/debfile/changelog_head,
    examples/debfile/dpkg-info, examples/debfile/extract_cron:
    - Fix ImportError caused by importing modules as if they were top-level
      modules, rather than modules in the debian_bundle package
      (Closes: #438428)

 -- Stefano Zacchiroli <zack@debian.org>  Sun, 19 Aug 2007 09:38:20 +0200

python-debian (0.1.4) unstable; urgency=low

  [ James Westby ]
  * changelog.py
    - Add allow_empty_author option to changelog to allow the author line
      to have no information.

  [ Stefano Zacchiroli ]
  * debian/control
    - joining the team: add myself as an uploader
    - add Vcs-Bzr field pointing to our Bzr repository on bzr.debian.org
  * arfile.py / debfile.py
    - new modules implementing (read-only) dpkg-deb like access to .deb
      packages; when possible, access to information contained in .deb is made
      available via other debian_bundle classes (e.g. Changelog, Deb822, ...)
    - code contributed by Stefano Zacchiroli and Filippo Giunchedi
    - corresponding examples in examples/debfile
  * debian_support.py
    - yield dictionaries instead of tuples in Packages parsing and normalize
      to lower case 822 field names (Closes: #431087)
    - no longer require a space after a ':' in RFC 822 fields; fix bogus
      parse errors of Packages-like file with PackageFile() class
  * examples/
    - added grep-maintainer example to show the Packages parsing API

  [ John Wright ]
  * debian_bundle/deb822.py, debian_bundle/test_deb822.py, deb822.py:
    - Import latest version of deb822, and create a "dummy" top-level module
      for compatibility
    - For multiline fields that start with a newline (e.g. Files in a .dsc,
      MD5Sum in Release files), the line with the "Field:" should not end in
      trailing whitespace.  Fixed and added test cases.
  * setup.py:
    - The version wasn't getting updated, so I've renamed it to setup.py.in,
      and added a __CHANGELOG_VERSION__ placeholder
  * debian/rules:
    - Generate generate setup.py from setup.py.in, filling in the version
      information from debian/changelog
    - No longer delete deb822 files
  * debian/control:
    - Add myself as an uploader
    - Add Provides, Conflicts, and Replaces fields for python-deb822
    - When describing features, mention which modules they are implemented in
  * HISTORY.deb822, debian/docs:
    - Install old changelog for deb822 as
      /usr/share/doc/python-debian/HISTORY.deb822
  * debian_bundle/changelog.py:
    - Accept numbers, '+', and '.' in the distribution field, to match dpkg's
      behavior

 -- John Wright <jsw@debian.org>  Sun,  5 Aug 2007 00:41:24 -0600

python-debian (0.1.3) unstable; urgency=low

  [ James Westby ]
  * changelog.py
    - Add max_blocks parameter to Changelog constructor. This limits the
      number of blocks that will be parsed to that number. If you only need
      the latest entry then pass max_blocks=1 and you will only have one
      block. This is also useful to avoid trying to parse old changelog
      entries that don't follow the current format. (Closes: #429357)

  [ Reinhard Tartler ]
  * debian_bundle/changelog.py: don't fail if a changelog block is not
    parseable. Just return all changelog blocks we've been able to parse
    so far. (Closes: #429299)

 -- James Westby <jw+debian@jameswestby.net>  Sun, 17 Jun 2007 13:25:20 +0100

python-debian (0.1.2) unstable; urgency=low

  [ James Westby ]
  * debian_support.py
    - Support ~ in version numbers when python-apt is not installed.
  * Turn on the testsuites of changelog.py, and debtags.py in the build.
  * debtags.py
    - Rename with to with_ to avoid a warning on python2.5 as with will be
      a keyword in 2.6. (Closes: #409333)
  * Suggest python-apt and mention why in the README.

  [Reinhard Tartler]
  * Fix the regex matching the end line of a debian/changelog. Using
    improved regex contributed by Francois-Denis Gonthier, thanks!
    (Closes: #410880)
  * disable python_support.py testrun, it is missing in the branch.
  * add myself to uploaders.

 -- Reinhard Tartler <siretart@tauware.de>  Thu, 14 Jun 2007 19:54:13 +0100

python-debian (0.1.1) unstable; urgency=low

  [ John Wright ]
  * changelog.py:
    - Version class:
      + Subclass debian_support.Version, for rich comparison
      + Changing any attribute now automatically updates any other affected
        attribute (i.e. changing full_version will update all of the other
        attributes; changing debian_version will update full_version)
    - Changelog class:
      + Many "getter" and "setter" methods were replaced with properties (so
        they appear as regular object attributes).  Most set_* methods remain
        for compatibility, and they're the actual set methods for the
        properties anyway.  Please see README.changelog.
      + You can now assign a string to the version attribute, and it will be
        coerced into a Version object

  [ James Westby ]
  * changelog.py:
    - Added a method to write the changelog to an open file.
    - Allow single digit day with no extra space in the endline of a
      changelog. Hopefully this wont allow things to be parsed that will
      be rejected by the more important tools. It does allow more files
      to be parsed and used, and I'm not entirely sure what is right.
    - Allow uppercase characters in the version number when parsing
      changelogs. Thanks to Jelmer Vernooij for the report and the fix.
  * README.changelog:
    - Update the documentation to reflect the changes mentioned above
  * Add debian/NEWS to warn of the API changes.

  [ Enrico Zini ]
  * debtags.py:
    - Added various methods after the work on the inferrer of tag
      relationships
    - Added tagminer and pkgwalk examples

 -- James Westby <jw+debian@jameswestby.net>  Tue, 30 Jan 2007 20:56:44 +0000

python-debian (0.1.0) experimental; urgency=low

  * Initial release. (Closes: #381599)

 -- James Westby <jw+debian@jameswestby.net>  Tue, 15 Aug 2006 18:57:57 +0100
