---------------------------
**New features:**
- Added support for Python 3.7 🎉 (configured `Travis CI`_ to run the test
suite on Python 3.7 and updated the project metadata and documentation).
- Added support for PyPy_ 🎉 (configured `Travis CI`_ to run the test suite on
PyPy, changed the test suite to accommodate PyPy, fixed several
incompatibilities in the code base, updated the project metadata and
documentation).
- Make it possible for callers to change Lintian_ overrides embedded in
the generated binary packages. Also, update the default overrides.
**Bug fixes:**
- Make the default name prefix conditional on the Python version that's running
py2deb (this is **backwards incompatible** although clearly the correct
behavior):
- On PyPy_ the default name prefix is now ``pypy``.
- On Python 2 the default name prefix is still ``python``.
- On Python 3 the default name prefix is now ``python3``.
The old behavior of using the ``python`` name prefix on Python 3 and PyPy_
was definitely wrong and quite likely could lead to serious breakage, but
even so this change is of course backwards incompatible.
- Don't raise an exception from ``transform_version()`` when a partial
requirement set is converted using pip's ``--no-deps`` command line option
(this is a valid use case that should be supported).
**Documentation changes:**
- Added this changelog 🎉. The contents were generated by a Python script that
collects tags and commit messages from the git repository. I manually
summarized and converted the output to reStructuredText format (which was a
whole lot work 😛).
- Changed the theme of the documentation from ``classic`` to ``nature``. The
classic theme is heavily customized by Read the Docs whereas the nature theme
more closely matches what is rendered locally by Sphinx versus what is
rendered 'remotely' on Read the Docs.
- Changed the location of the intersphinx mapping for setuptools (it now uses
Read the Docs).
**Internal improvements:**
- Move the finding of shared object files and the dpkg-shlibdeps_ integration
to deb-pkg-tools_ (strictly speaking this is backwards incompatible). This
functionality originated in py2deb but since then I'd wanted to reuse it
outside of py2deb several times and so I eventually reimplemented it in
deb-pkg-tools_. Switching to that implementation now made sense (in order to
reduce code duplication and simplify the py2deb code base). Strictly speaking
this is backwards incompatible because methods have been removed but this
only affects those who extend ``PackageToConvert`` which I don't expect
anyone to have actually done 🙂.
- Switched from cached-property_ to property-manager_. The py2deb project comes
from a time (2013) when Python descriptors were still magic to me and so I
chose to use cached-property_. However since then I created the
property-manager_ project (2015). At this point in time (2018) several of the
dependencies of py2deb (other projects of mine) already use property-manager_
and the integration of property-manager_ in py2deb can help to improve the
project, so this seemed like the logical choice 😇.
.. _Release 2.0: https://github.com/paylogic/py2deb/compare/1.1...2.0
.. _dpkg-shlibdeps: https://manpages.debian.org/dpkg-shlibdeps
.. _cached-property: https://pypi.org/project/cached-property
.. _property-manager: https://pypi.org/project/property-manager
.. _PyPy: https://en.wikipedia.org/wiki/PyPy
.. _Lintian: https://en.wikipedia.org/wiki/Lintian