Changelog
### 40.8.0
```
-------
* 1652: Added the ``build_meta:__legacy__`` backend, a "compatibility mode" PEP 517 backend that can be used as the default when ``build-backend`` is left unspecified in ``pyproject.toml``.
* 1635: Resource paths are passed to ``pkg_resources.resource_string`` and similar no longer accept paths that traverse parents, that begin with a leading ``/``. Violations of this expectation raise DeprecationWarnings and will become errors. Additionally, any paths that are absolute on Windows are strictly disallowed and will raise ValueErrors.
* 1536: ``setuptools`` will now automatically include licenses if ``setup.cfg`` contains a ``license_file`` attribute, unless this file is manually excluded inside ``MANIFEST.in``.
```
### 40.7.3
```
-------
* 1670: In package_index, revert to using a copy of splituser from Python 3.8. Attempts to use ``urllib.parse.urlparse`` led to problems as reported in 1663 and 1668. This change serves as an alternative to 1499 and fixes 1668.
```
### 40.7.2
```
-------
* 1666: Restore port in URL handling in package_index.
```
### 40.7.1
```
-------
* 1660: On Python 2, when reading config files, downcast options from text to bytes to satisfy distutils expectations.
```
### 40.7.0
```
-------
* 1551: File inputs for the `license` field in `setup.cfg` files now explicitly raise an error.
* 1180: Add support for non-ASCII in setup.cfg (1062). Add support for native strings on some parameters (1136).
* 1499: ``setuptools.package_index`` no longer relies on the deprecated ``urllib.parse.splituser`` per Python 27485.
* 1544: Added tests for PackageIndex.download (for git URLs).
* 1625: In PEP 517 build_meta builder, ensure that sdists are built as gztar per the spec.
```
### 40.6.3
```
-------
* 1594: PEP 517 backend no longer declares setuptools as a dependency as it can be assumed.
```
### 40.6.2
```
-------
* 1592: Fix invalid dependency on external six module (instead of vendored version).
```
### 40.6.1
```
-------
* 1590: Fixed regression where packages without ``author`` or ``author_email`` fields generated malformed package metadata.
```
### 40.6.0
```
-------
* 1541: Officially deprecated the ``requires`` parameter in ``setup()``.
* 1519: In ``pkg_resources.normalize_path``, additional path normalization is now performed to ensure path values to a directory is always the same, preventing false positives when checking scripts have a consistent prefix to set up on Windows.
* 1545: Changed the warning class of all deprecation warnings; deprecation warning classes are no longer derived from ``DeprecationWarning`` and are thus visible by default.
* 1554: ``build_meta.build_sdist`` now includes ``setup.py`` in source distributions by default.
* 1576: Started monkey-patching ``get_metadata_version`` and ``read_pkg_file`` onto ``distutils.DistributionMetadata`` to retain the correct version on the ``PKG-INFO`` file in the (deprecated) ``upload`` command.
* 1533: Restricted the ``recursive-include setuptools/_vendor`` to contain only .py and .txt files.
* 1395: Changed Pyrex references to Cython in the documentation.
* 1456: Documented that the ``rpmbuild`` packages is required for the ``bdist_rpm`` command.
* 1537: Documented how to use ``setup.cfg`` for ``src/ layouts``
* 1539: Added minimum version column in ``setup.cfg`` metadata table.
* 1552: Fixed a minor typo in the python 2/3 compatibility documentation.
* 1553: Updated installation instructions to point to ``pip install`` instead of ``ez_setup.py``.
* 1560: Updated ``setuptools`` distribution documentation to remove some outdated information.
* 1564: Documented ``setup.cfg`` minimum version for version and project_urls.
* 1572: Added the ``concurrent.futures`` backport ``futures`` to the Python 2.7 test suite requirements.
```
### 40.5.0
```
-------
* 1335: In ``pkg_resources.normalize_path``, fix issue on Cygwin when cwd contains symlinks.
* 1502: Deprecated support for downloads from Subversion in package_index/easy_install.
* 1517: Dropped use of six.u in favor of `u""` literals.
* 1520: Added support for ``data_files`` in ``setup.cfg``.
* 1525: Fixed rendering of the deprecation warning in easy_install doc.
```
### 40.4.3
```
-------
* 1480: Bump vendored pyparsing in pkg_resources to 2.2.1.
```
### 40.4.2
```
-------
* 1497: Updated gitignore in repo.
```
### 40.4.1
```
-------
* 1480: Bump vendored pyparsing to 2.2.1.
```
### 40.4.0
```
-------
* 1481: Join the sdist ``--dist-dir`` and the ``build_meta`` sdist directory argument to point to the same target (meaning the build frontend no longer needs to clean manually the dist dir to avoid multiple sdist presence, and setuptools no longer needs to handle conflicts between the two).
```
### 40.3.0
```
-------
* 1402: Fixed a bug with namespace packages under Python 3.6 when one package in
current directory hides another which is installed.
* 1427: Set timestamp of ``.egg-info`` directory whenever ``egg_info`` command is run.
* 1474: ``build_meta.get_requires_for_build_sdist`` now does not include the ``wheel`` package anymore.
* 1486: Suppress warnings in pkg_resources.handle_ns.
* 1479: Remove internal use of six.binary_type.
```
### 40.2.0
```
-------
* 1466: Fix handling of Unicode arguments in PEP 517 backend
```
### 40.1.1
```
--------
* 1465: Fix regression with `egg_info` command when tagging is used.
```
### 40.1.0
```
-------
* 1410: Deprecated ``upload`` and ``register`` commands.
* 1312: Introduced find_namespace_packages() to find PEP 420 namespace packages.
* 1420: Added find_namespace: directive to config parser.
* 1418: Solved race in when creating egg cache directories.
* 1450: Upgraded vendored PyParsing from 2.1.10 to 2.2.0.
* 1451: Upgraded vendored appdirs from 1.4.0 to 1.4.3.
* 1388: Fixed "Microsoft Visual C++ Build Tools" link in exception when Visual C++ not found.
* 1389: Added support for scripts which have unicode content.
* 1416: Moved several Python version checks over to using ``six.PY2`` and ``six.PY3``.
* 1441: Removed spurious executable permissions from files that don't need them.
```
### 40.0.0
```
-------
* 1342: Drop support for Python 3.3.
* 1366: In package_index, fixed handling of encoded entities in URLs.
* 1383: In pkg_resources VendorImporter, avoid removing packages imported from the root.
* 1379: Minor doc fixes after actually using the new release process.
* 1385: Removed section on non-package data files.
* 1403: Fix developer's guide.
* 1404: Fix PEP 518 configuration: set build requirements in ``pyproject.toml`` to ``["wheel"]``.
```
Links
- PyPI: https://pypi.org/project/setuptools
- Changelog: https://pyup.io/changelogs/setuptools/
- Repo: https://github.com/pypa/setuptools
This PR updates setuptools from 39.2.0 to 40.8.0.
Changelog
### 40.8.0 ``` ------- * 1652: Added the ``build_meta:__legacy__`` backend, a "compatibility mode" PEP 517 backend that can be used as the default when ``build-backend`` is left unspecified in ``pyproject.toml``. * 1635: Resource paths are passed to ``pkg_resources.resource_string`` and similar no longer accept paths that traverse parents, that begin with a leading ``/``. Violations of this expectation raise DeprecationWarnings and will become errors. Additionally, any paths that are absolute on Windows are strictly disallowed and will raise ValueErrors. * 1536: ``setuptools`` will now automatically include licenses if ``setup.cfg`` contains a ``license_file`` attribute, unless this file is manually excluded inside ``MANIFEST.in``. ``` ### 40.7.3 ``` ------- * 1670: In package_index, revert to using a copy of splituser from Python 3.8. Attempts to use ``urllib.parse.urlparse`` led to problems as reported in 1663 and 1668. This change serves as an alternative to 1499 and fixes 1668. ``` ### 40.7.2 ``` ------- * 1666: Restore port in URL handling in package_index. ``` ### 40.7.1 ``` ------- * 1660: On Python 2, when reading config files, downcast options from text to bytes to satisfy distutils expectations. ``` ### 40.7.0 ``` ------- * 1551: File inputs for the `license` field in `setup.cfg` files now explicitly raise an error. * 1180: Add support for non-ASCII in setup.cfg (1062). Add support for native strings on some parameters (1136). * 1499: ``setuptools.package_index`` no longer relies on the deprecated ``urllib.parse.splituser`` per Python 27485. * 1544: Added tests for PackageIndex.download (for git URLs). * 1625: In PEP 517 build_meta builder, ensure that sdists are built as gztar per the spec. ``` ### 40.6.3 ``` ------- * 1594: PEP 517 backend no longer declares setuptools as a dependency as it can be assumed. ``` ### 40.6.2 ``` ------- * 1592: Fix invalid dependency on external six module (instead of vendored version). ``` ### 40.6.1 ``` ------- * 1590: Fixed regression where packages without ``author`` or ``author_email`` fields generated malformed package metadata. ``` ### 40.6.0 ``` ------- * 1541: Officially deprecated the ``requires`` parameter in ``setup()``. * 1519: In ``pkg_resources.normalize_path``, additional path normalization is now performed to ensure path values to a directory is always the same, preventing false positives when checking scripts have a consistent prefix to set up on Windows. * 1545: Changed the warning class of all deprecation warnings; deprecation warning classes are no longer derived from ``DeprecationWarning`` and are thus visible by default. * 1554: ``build_meta.build_sdist`` now includes ``setup.py`` in source distributions by default. * 1576: Started monkey-patching ``get_metadata_version`` and ``read_pkg_file`` onto ``distutils.DistributionMetadata`` to retain the correct version on the ``PKG-INFO`` file in the (deprecated) ``upload`` command. * 1533: Restricted the ``recursive-include setuptools/_vendor`` to contain only .py and .txt files. * 1395: Changed Pyrex references to Cython in the documentation. * 1456: Documented that the ``rpmbuild`` packages is required for the ``bdist_rpm`` command. * 1537: Documented how to use ``setup.cfg`` for ``src/ layouts`` * 1539: Added minimum version column in ``setup.cfg`` metadata table. * 1552: Fixed a minor typo in the python 2/3 compatibility documentation. * 1553: Updated installation instructions to point to ``pip install`` instead of ``ez_setup.py``. * 1560: Updated ``setuptools`` distribution documentation to remove some outdated information. * 1564: Documented ``setup.cfg`` minimum version for version and project_urls. * 1572: Added the ``concurrent.futures`` backport ``futures`` to the Python 2.7 test suite requirements. ``` ### 40.5.0 ``` ------- * 1335: In ``pkg_resources.normalize_path``, fix issue on Cygwin when cwd contains symlinks. * 1502: Deprecated support for downloads from Subversion in package_index/easy_install. * 1517: Dropped use of six.u in favor of `u""` literals. * 1520: Added support for ``data_files`` in ``setup.cfg``. * 1525: Fixed rendering of the deprecation warning in easy_install doc. ``` ### 40.4.3 ``` ------- * 1480: Bump vendored pyparsing in pkg_resources to 2.2.1. ``` ### 40.4.2 ``` ------- * 1497: Updated gitignore in repo. ``` ### 40.4.1 ``` ------- * 1480: Bump vendored pyparsing to 2.2.1. ``` ### 40.4.0 ``` ------- * 1481: Join the sdist ``--dist-dir`` and the ``build_meta`` sdist directory argument to point to the same target (meaning the build frontend no longer needs to clean manually the dist dir to avoid multiple sdist presence, and setuptools no longer needs to handle conflicts between the two). ``` ### 40.3.0 ``` ------- * 1402: Fixed a bug with namespace packages under Python 3.6 when one package in current directory hides another which is installed. * 1427: Set timestamp of ``.egg-info`` directory whenever ``egg_info`` command is run. * 1474: ``build_meta.get_requires_for_build_sdist`` now does not include the ``wheel`` package anymore. * 1486: Suppress warnings in pkg_resources.handle_ns. * 1479: Remove internal use of six.binary_type. ``` ### 40.2.0 ``` ------- * 1466: Fix handling of Unicode arguments in PEP 517 backend ``` ### 40.1.1 ``` -------- * 1465: Fix regression with `egg_info` command when tagging is used. ``` ### 40.1.0 ``` ------- * 1410: Deprecated ``upload`` and ``register`` commands. * 1312: Introduced find_namespace_packages() to find PEP 420 namespace packages. * 1420: Added find_namespace: directive to config parser. * 1418: Solved race in when creating egg cache directories. * 1450: Upgraded vendored PyParsing from 2.1.10 to 2.2.0. * 1451: Upgraded vendored appdirs from 1.4.0 to 1.4.3. * 1388: Fixed "Microsoft Visual C++ Build Tools" link in exception when Visual C++ not found. * 1389: Added support for scripts which have unicode content. * 1416: Moved several Python version checks over to using ``six.PY2`` and ``six.PY3``. * 1441: Removed spurious executable permissions from files that don't need them. ``` ### 40.0.0 ``` ------- * 1342: Drop support for Python 3.3. * 1366: In package_index, fixed handling of encoded entities in URLs. * 1383: In pkg_resources VendorImporter, avoid removing packages imported from the root. * 1379: Minor doc fixes after actually using the new release process. * 1385: Removed section on non-package data files. * 1403: Fix developer's guide. * 1404: Fix PEP 518 configuration: set build requirements in ``pyproject.toml`` to ``["wheel"]``. ```Links
- PyPI: https://pypi.org/project/setuptools - Changelog: https://pyup.io/changelogs/setuptools/ - Repo: https://github.com/pypa/setuptools