Release Notes


Upgrade Notes

  • The deprecated support for 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.


Bug Fixes

  • Fix an issue where symbols that were indented would produce an incorrect version.


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.


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.


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 and for more details.


Other Notes


New Features

  • Add an option to print only the version of a package


    $ pbr info -s pkgname


Bug Fixes

  • Fixes the handling of spaces in data_files globs. Please see bug 1810934 for more details.


Bug Fixes


Bug Fixes


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 on data_files, see the distutils documentation.

  • PBR now ignores --find-links in requirements files. This option is not a valid install_requires entry for setuptools and thus breaks PBR-based installs.


Bug Fixes

  • The description-content-type was not being set correctly. It will now be correctly populated when using setuptools 39.2.0 and beyond.


New Features

  • Subdirectories can now be included when specfifying a requirement in requirements.txt or test-requirements.txt using VCS URIs. For example:

    -e git+

    For more information, refer to the pip documentation.


New Features

  • Support version parsing of git tag with the v<semver> pattern (or V<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 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 to test on a per-project basis, if necessary. This feature will be removed in a future release.