Release Notes¶
In Development¶
Upgrade Notes¶
Support for the
[global] compilers
option has been removed. This was an undocumented feature that did not appear to have any use.
The deprecated support for
setup.py test
has been removed. This feature has been deprecated since version 4.0. The two test tools supported,nose
andtestr
, are no longer maintained, and the general concept of distutils commands is itself deprecated. Users should switch to running the test runners directly and ideally migrate to an alternative, supported test runner likestestr
orpytest
.
Deprecation Notes¶
A number of pbr-specific setup.cfg sections and options have been deprecated in order in favour of setuptools native setup.cfg sections and options or their pyproject.toml equivalents:
The [entry_points] section has been deprecated in favour of the [options.entry_points] section (if using setup.cfg) or the [project.scripts] and/or [project.entry-points.{name}] sections (if using pyproject.toml)
The [files] packages_root option has been deprecated in favour of the [options] package_dir option (if using setup.cfg) or the [tools.setuptools] package_dir option (if using pyproject.toml)
The [files] packages option has been deprecated in favour of the [options] packages option (if using setup.cfg) or the [tools.setuptools] packages option (if using pyproject.toml)
The [files] package_data option has been deprecated in favour of the [options.package_data] option (if using setup.cfg) or the [tool.setuptools.package-data] option (if using pyproject.toml)
The [files] namespace_packages option has been deprecated in favour of the [options] namespace_packages option (if using setup.cfg). Alternatively, migrate to PEP 420-style namespace packages
The [files] data_files option has been deprecated, and support for non-package data files in general is deprecated in setuptools and their use is discouraged. For package data files, use [options] package_data (if using setup.cfg) or [tools.setuptools] package_data (if using pyproject.toml) instead. If non-package data files are necessary, use [options] data_files (if using setup.cfg) or [tools.setuptools] data-files (if using pyproject.toml) instead.
The [files] scripts option has been deprecated. There is no direct replacement. Instead, migrate to using the console_scripts entrypoint and use the [options.entry_points] option (if using setup.cfg) or the [project.scripts] option (if using pyproject.toml).
The [files] modules option has been deprecated in favour of the [options] py_modules option (if using setup.cfg) or the [tools.setuptools] py-modules option (if using pyproject.toml)
The [metadata] home_page option has been deprecated in favour of the [metadata] url option (if using setup.cfg) or the [project.urls] option (if using pyproject.toml)
The [metadata] summary option has been deprecated in favour of the [metadata] description option (if using setup.cfg) or the [project] description option (if using pyproject.toml)
The [metadata] classifier option has been deprecated in favour of the [metadata] classifiers option (if using setup.cfg) or the [project] classifiers option (if using pyproject.toml)
The [metadata] platform option has been deprecated in favour of the [metadata] platforms option (if using setup.cfg) or the [tool.setuptools] platforms (if using pyproject.toml)
The [metadata] requires_dist option has been deprecated in favour of the [options] install_requires option (if using setup.cfg) or the [project] dependencies option (if using pyproject.toml)
The [metadata] setup_requires_dist option has been deprecated in favour of the [options] setup_requires option (if using setup.cfg) or the [build-system] requires option (if using pyproject.toml)
The [metadata] python_requires option has been deprecated in favour of the [options] python_requires option (if using setup.cfg) or the [project] requires-python option (if using pyproject.toml)
The [metadata] requires_python option has been deprecated in favour of the [options] python_requires option (if using setup.cfg) or the [project] requires-python option (if using pyproject.toml)
The [metadata] provides_dist option has been deprecated as it is obsolete and is no longer used by pip
The [metadata] provides_extra option has been deprecated as it is obsolete and is no longer used by pip
The [metadata] obsoletes_dist option has been deprecated as it is obsolete and is no longer used by pip
The [backwards_compat] zip_safe option has been deprecated as it is was only relevant in the context of eggs and is therefore obsolete
The [backwards_compat] dependency_links option has been deprecated as it is obsolete and is no longer used by pip
The [backwards_compat] tests_require option has been deprecated as it is obsolete and is no longer used by pip
The [backwards_compat] include_package_data option has been deprecated in favour of the [options] include_package_data option (is using setup.cfg) or the [tools.setuptools] include-package-data option (if using pyproject.toml)
6.0.0¶
Upgrade Notes¶
The deprecated support for
setup.py build_sphinx
has been removed. This feature has been deprecated since version 4.2. Setuptools and sphinx have removed support for this command which breaks PBR’s ability to integrate with those two tools to provide this functionality. Users should switch to building sphinx docs with sphinx directly.
5.11.0¶
Bug Fixes¶
Fix an issue where symbols that were indented would produce an incorrect version.
5.8.1¶
Bug Fixes¶
Packages generated with the 5.8.0 release of PBR failed to incorporate pbr.json metadata files. This is now corrected. Users can rebuild packages with newer PBR if they want that missing metadata generated.
5.7.0¶
New Features¶
PBR now includes a PEP 517 build-backend and can be used in pyproject.toml build-system configuration. Setuptools continues to be the underlying mechanism with PBR acting as a driver via PEP 517 entrypoints.
5.5.1¶
Other Notes¶
The 2to3 conversion utility has been long discouraged in favor of writing multi-version-capable scripts. As of Setuptools 46.2.0 it’s deprecated and slated for removal from the Python 3.10 standard library. Projects which still need it are encouraged to perform conversion prior to packaging. See https://bugs.python.org/issue40360 and https://github.com/pypa/setuptools/issues/2086 for more details.
5.5.0¶
Other Notes¶
Support to generate bdist_wininst packages has been removed. As of Python 3.8 and Setuptools 47.2 it’s deprecated in favor of just using wheels for Windows platform packaging. See https://discuss.python.org/t/deprecate-bdist-wininst/ and https://discuss.python.org/t/remove-distutils-bdist-wininst-command/ for more details.
5.4.0¶
New Features¶
Add an option to print only the version of a package
Example:
$ pbr info -s pkgname 1.2.3
5.2.1¶
Bug Fixes¶
Fixes the handling of spaces in data_files globs. Please see bug 1810934 for more details.
5.2.0¶
Bug Fixes¶
Fix error when
keywords
argument as a cfg list. Previouslykeywords
wereCSV_FIELDS
and with these changeskeywords
are nowMULTI_FIELDS
. Refer to https://bugs.launchpad.net/pbr/+bug/1811475 for more information.
5.1.3¶
Bug Fixes¶
Fix mapping error on values who contains a literal
=
. Example when setup.cfg contains content like the following project urls configuration “project_urls = Documentation = http://foo.bar/?badge=latest”. https://bugs.launchpad.net/pbr/+bug/1817592
5.1.2¶
Bug Fixes¶
Fixes a bug where the directory names of items specified in
data_files
could be renamed if the source prefix glob was contained within the directory name. See bug 1810804 for details. For more information ondata_files
, see the distutils documentation.
PBR now ignores
--find-links
in requirements files. This option is not a validinstall_requires
entry for setuptools and thus breaks PBR-based installs.
5.0.0¶
Bug Fixes¶
The
description-content-type
was not being set correctly. It will now be correctly populated when usingsetuptools
39.2.0 and beyond.
4.3.0¶
New Features¶
Subdirectories can now be included when specfifying a requirement in
requirements.txt
ortest-requirements.txt
using VCS URIs. For example:-e git+https://foo.com/zipball#egg=bar&subdirectory=baz
For more information, refer to the pip documentation.
4.0.0¶
New Features¶
Support version parsing of git tag with the
v<semver>
pattern (orV<semver>
), in addition to<semver>
.
Upgrade Notes¶
Support for entry point command hooks has been removed. This feature was poorly tested, poorly documented, and broken in some environments. Support for global hooks is not affected.
Deprecation Notes¶
Support for
pyN
-suffixed requirement files has been deprecated: environment markers should be used instead.
testr and nose integration has been deprecated. This feature allowed pbr to dynamically configure the test runner used when running
setup.py test
. However, this target has fallen out of favour in both the OpenStack and broader Python ecosystem, and both testr and nose offer native setuptools commands that can be manually aliased totest
on a per-project basis, if necessary. This feature will be removed in a future release.