Changelog
### 60.9.0
```
-------
Changes
^^^^^^^
* 2876: In the build backend, allow single config settings to be supplied.
* 2993: Removed workaround in distutils hack for get-pip now that pypa/get-pip137 is closed.
* 3085: Setuptools no longer relies on ``pkg_resources`` for entry point handling.
* 3098: Bump vendored packaging to 21.3.
* Removed bootstrap script.
```
### 60.8.2
```
-------
Misc
^^^^
* 3091: Make ``concurrent.futures`` import lazy in vendored ``more_itertools``
package to a avoid importing threading as a side effect (which caused
`gevent/gevent1865 <https://github.com/gevent/gevent/issues/1865>`__).
-- by :user:`maciejp-ro`
```
### 60.8.1
```
-------
Misc
^^^^
* 3084: When vendoring jaraco packages, ensure the namespace package is converted to a simple package to support zip importer.
```
### 60.8.0
```
-------
Changes
^^^^^^^
* 3085: Setuptools now vendors importlib_resources and importlib_metadata and jaraco.text. Setuptools no longer relies on pkg_resources for ensure_directory nor parse_requirements.
```
### 60.7.1
```
-------
Misc
^^^^
* 3072: Remove lorem_ipsum from jaraco.text when vendored.
```
### 60.7.0
```
-------
Changes
^^^^^^^
* 3061: Vendored jaraco.text and use line processing from that library in pkg_resources.
Misc
^^^^
* 3070: Avoid AttributeError in easy_install.create_home_path when sysconfig.get_config_vars values are not strings.
```
### 60.6.0
```
-------
Changes
^^^^^^^
* 3043: Merge with pypa/distutilsbb018f1ac3 including consolidated behavior in sysconfig.get_platform (pypa/distutils104).
* 3057: Don't include optional ``Home-page`` in metadata if no ``url`` is specified. -- by :user:`cdce8p`
* 3062: Merge with pypa/distutilsb53a824ec3 including improved support for lib directories on non-x64 Windows builds.
Documentation changes
^^^^^^^^^^^^^^^^^^^^^
* 2897: Added documentation about wrapping ``setuptools.build_meta`` in a in-tree
custom backend. This is a :pep:`517`-compliant way of dynamically specifying
build dependencies (e.g. when platform, OS and other markers are not enough).
-- by :user:`abravalheri`
* 3034: Replaced occurrences of the defunct distutils-sig mailing list with pointers
to GitHub Discussions.
-- by :user:`ashemedai`
* 3056: The documentation has stopped suggesting to add ``wheel`` to
:pep:`517` requirements -- by :user:`webknjaz`
Misc
^^^^
* 3054: Used Py3 syntax ``super().__init__()`` -- by :user:`imba-tjd`
```
### 60.5.4
```
-------
Misc
^^^^
* 3009: Remove filtering of distutils warnings.
* 3031: Suppress distutils replacement when building or testing CPython.
```
### 60.5.3
```
-------
Misc
^^^^
* 3026: Honor sysconfig variables in easy_install.
```
### 60.5.2
```
-------
Misc
^^^^
* 2993: In _distutils_hack, for get-pip, simulate existence of setuptools.
```
### 60.5.1
```
-------
Misc
^^^^
* 2918: Correct support for Python 3 native loaders.
```
### 60.5.0
```
-------
Changes
^^^^^^^
* 2990: Set the ``.origin`` attribute of the ``distutils`` module to the module's ``__file__``.
```
### 60.4.0
```
-------
Changes
^^^^^^^
* 2839: Removed `requires` sorting when installing wheels as an egg dir.
* 2953: Fixed a bug that easy install incorrectly parsed Python 3.10 version string.
* 3006: Fixed startup performance issue of Python interpreter due to imports of
costly modules in ``_distutils_hack`` -- by :user:`tiran`
Documentation changes
^^^^^^^^^^^^^^^^^^^^^
* 2674: Added link to additional resources on packaging in Quickstart guide
* 3008: "In-tree" Sphinx extension for "favicons" replaced with ``sphinx-favicon``.
* 3008: SVG images (logo, banners, ...) optimised with the help of the ``scour``
package.
Misc
^^^^
* 2862: Added integration tests that focus on building and installing some packages in
the Python ecosystem via ``pip`` -- by :user:`abravalheri`
* 2952: Modified "vendoring" logic to keep license files.
* 2968: Improved isolation for some tests that where inadvertently using the project
root for builds, and therefore creating directories (e.g. ``build``, ``dist``,
``*.egg-info``) that could interfere with the outcome of other tests
-- by :user:`abravalheri`.
* 2968: Introduced new test fixtures ``venv``, ``venv_without_setuptools``,
``bare_venv`` that rely on the ``jaraco.envs`` package.
These new test fixtures were also used to remove the (currently problematic)
dependency on the ``pytest_virtualenv`` plugin.
* 2968: Removed ``tmp_src`` test fixture. Previously this fixture was copying all the
files and folders under the project root, including the ``.git`` directory,
which is error prone and increases testing time.
Since ``tmp_src`` was used to populate virtual environments (installing the
version of ``setuptools`` under test via the source tree), it was replaced by
the new ``setuptools_sdist`` and ``setuptools_wheel`` fixtures (that are build
only once per session testing and can be shared between all the workers for
read-only usage).
```
### 60.3.1
```
-------
Misc
^^^^
* 3002: Suppress AttributeError when detecting get-pip.
```
### 60.3.0
```
-------
Changes
^^^^^^^
* 2993: In _distutils_hack, bypass the distutils exception for pip when get-pip is being invoked, because it imports setuptools.
Misc
^^^^
* 2989: Merge with pypa/distutils788cc159. Includes fix for config vars missing from sysconfig.
```
### 60.2.0
```
-------
Changes
^^^^^^^
* 2974: Setuptools now relies on the Python logging infrastructure to log messages. Instead of using ``distutils.log.*``, use ``logging.getLogger(name).*``.
* 2987: Sync with pypa/distutils2def21c5d74fdd2fe7996ee4030ac145a9d751bd, including fix for missing get_versions attribute (2969), more reliance on sysconfig from stdlib.
Misc
^^^^
* 2962: Avoid attempting to use local distutils when the presiding version of Setuptools on the path doesn't have one.
* 2983: Restore 'add_shim' as the way to invoke the hook. Avoids compatibility issues between different versions of Setuptools with the distutils local implementation.
```
### 60.1.1
```
-------
Misc
^^^^
* 2980: Bypass distutils loader when setuptools module is no longer available on sys.path.
```
### 60.1.0
```
-------
Changes
^^^^^^^
* 2958: In distutils_hack, only add the metadata finder once. In ensure_local_distutils, rely on a context manager for reliable manipulation.
* 2963: Merge with pypa/distutilsa5af364910. Includes revisited fix for pypa/distutils15 and improved MinGW/Cygwin support from pypa/distutils77.
```
### 60.0.5
```
-------
Misc
^^^^
* 2960: Install schemes fall back to default scheme for headers.
```
### 60.0.4
```
-------
Misc
^^^^
* 2954: Merge with pypa/distutilseba2bcd310. Adds platsubdir to config vars available for substitution.
```
### 60.0.3
```
-------
Misc
^^^^
* 2940: Avoid KeyError in distutils hack when pip is imported during ensurepip.
```
### 60.0.2
```
-------
Misc
^^^^
* 2938: Select 'posix_user' for the scheme unless falling back to stdlib, then use 'unix_user'.
```
### 60.0.1
```
-------
Misc
^^^^
* 2944: Add support for extended install schemes in easy_install.
```
### 60.0.0
```
-------
Breaking Changes
^^^^^^^^^^^^^^^^
* 2896: Setuptools once again makes its local copy of distutils the default. To override, set SETUPTOOLS_USE_DISTUTILS=stdlib.
```
### 59.8.0
```
-------
Changes
^^^^^^^
* 2935: Merge pypa/distutils460b59f0e68dba17e2465e8dd421bbc14b994d1f.
```
### 59.7.0
```
-------
Changes
^^^^^^^
* 2930: Require Python 3.7
```
### 59.6.0
```
-------
Changes
^^^^^^^
* 2925: Merge with pypa/distutils92082ee42c including introduction of deprecation warning on Version classes.
```
### 59.5.0
```
-------
Changes
^^^^^^^
* 2914: Merge with pypa/distutils8f2df0bf6.
```
### 59.4.0
```
-------
Changes
^^^^^^^
* 2893: Restore deprecated support for newlines in the Summary field.
```
### 59.3.0
```
-------
Changes
^^^^^^^
* 2902: Merge with pypa/distutils85db7a41242.
Misc
^^^^
* 2906: In ensure_local_distutils, re-use DistutilsMetaFinder to load the module. Avoids race conditions when _distutils_system_mod is employed.
```
### 59.2.0
```
-------
Changes
^^^^^^^
* 2875: Introduce changes from pypa/distutils514e9d0, including support for overrides from Debian and pkgsrc, unlocking the possibility of making SETUPTOOLS_USE_DISTUTILS=local the default again.
```
### 59.1.1
```
-------
Misc
^^^^
* 2885: Fixed errors when encountering LegacyVersions.
```
### 59.1.0
```
-------
Changes
^^^^^^^
* 2497: Update packaging to 21.2.
* 2877: Back out deprecation of setup_requires and replace instead by a deprecation of setuptools.installer and fetch_build_egg. Now setup_requires is still supported when installed as part of a PEP 517 build, but is deprecated when an unsatisfied requirement is encountered.
* 2879: Bump packaging to 21.2.
Documentation changes
^^^^^^^^^^^^^^^^^^^^^
* 2867: PNG/ICO images replaced with SVG in the docs.
* 2867: Added support to SVG "favicons" via "in-tree" Sphinx extension.
```
### 59.0.1
```
-------
Misc
^^^^
* 2880: Removed URL requirement for ``pytest-virtualenv`` in ``setup.cfg``.
PyPI rejects packages with dependencies external to itself.
Instead the test dependency was overwritten via ``tox.ini``
```
### 59.0.0
```
-------
Deprecations
^^^^^^^^^^^^
* 2856: Support for custom commands that inherit directly from ``distutils`` is
**deprecated**. Users should extend classes provided by setuptools instead.
Breaking Changes
^^^^^^^^^^^^^^^^
* 2870: Started failing on invalid inline description with line breaks :class:`ValueError` -- by :user:`webknjaz`
Changes
^^^^^^^
* 2698: Exposed exception classes from ``distutils.errors`` via ``setuptools.errors``.
* 2866: Incorporate changes from pypa/distutilsf1b0a2b.
Documentation changes
^^^^^^^^^^^^^^^^^^^^^
* 2227: Added sphinx theme customisations to display the new logo in the sidebar and
use its colours as "accent" in the documentation -- by :user:`abravalheri`
* 2227: Added new setuptools logo, including editable files and artwork documentation
-- by :user:`abravalheri`
* 2698: Added mentions to ``setuptools.errors`` as a way of handling custom command
errors.
* 2698: Added instructions to migrate from ``distutils.commands`` and
``distutils.errors`` in the porting guide.
* 2871: Added a note to the docs that it is possible to install
``setup.py``-less projects in editable mode with :doc:`pip v21.1+
<pip:index>`, only having ``setup.cfg`` and ``pyproject.toml`` in
project root -- by :user:`webknjaz`
```
### 58.5.3
```
-------
Misc
^^^^
* 2849: Add fallback for custom ``build_py`` commands inheriting directly from
:mod:`distutils`, while still handling ``include_package_data=True`` for
``sdist``.
```
### 58.5.2
```
-------
Misc
^^^^
* 2847: Suppress 'setup.py install' warning under bdist_wheel.
```
### 58.5.1
```
-------
Misc
^^^^
* 2846: Move PkgResourcesDeprecationWarning above implicitly-called function so that it's in the namespace when version warnings are generated in an environment that contains them.
```
### 58.5.0
```
-------
Changes
^^^^^^^
* 1461: Fix inconsistency with ``include_package_data`` and ``packages_data`` in sdist
by replacing the loop breaking mechanism between the ``sdist`` and
``egg_info`` commands -- by :user:`abravalheri`
```
### 58.4.0
```
-------
Changes
^^^^^^^
* 2497: Officially deprecated PEP 440 non-compliant versions.
Documentation changes
^^^^^^^^^^^^^^^^^^^^^
* 2832: Removed the deprecated ``data_files`` option from the example in the
declarative configuration docs -- by :user:`abravalheri`
* 2832: Change type of ``data_files`` option from ``dict`` to ``section`` in
declarative configuration docs (to match previous example) -- by
:user:`abravalheri`
```
### 58.3.0
```
-------
Changes
^^^^^^^
* 917: ``setup.py install`` and ``easy_install`` commands are now officially deprecated. Use other standards-based installers (like pip) and builders (like build). Workloads reliant on this behavior should pin to this major version of Setuptools. See `Why you shouldn't invoke setup.py directly <https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html>`_ for more background.
* 1988: Deprecated the ``bdist_rpm`` command. Binary packages should be built as wheels instead.
-- by :user:`hugovk`
* 2785: Replace ``configparser``'s ``readfp`` with ``read_file``, deprecated since Python 3.2.
-- by :user:`hugovk`
* 2823: Officially deprecated support for ``setup_requires``. Users are encouraged instead to migrate to PEP 518 ``build-system.requires`` in ``pyproject.toml``. Users reliant on ``setup_requires`` should consider pinning to this major version to avoid disruption.
Misc
^^^^
* 2762: Changed codecov.yml to configure the threshold to be lower
-- by :user:`tanvimoharir`
```
### 58.2.0
```
-------
Changes
^^^^^^^
* 2757: Add windows arm64 launchers for scripts generated by easy_install.
* 2800: Added ``--owner`` and ``--group`` options to the ``sdist`` command,
for specifying file ownership within the produced tarball (similarly
to the corresponding distutils ``sdist`` options).
Documentation changes
^^^^^^^^^^^^^^^^^^^^^
* 2792: Document how the legacy and non-legacy versions are compared, and reference to the `PEP 440 <https://www.python.org/dev/peps/pep-0440/>`_ scheme.
```
### 58.1.0
```
-------
Changes
^^^^^^^
* 2796: Merge with pypa/distutils02e9f65ab0
```
### 58.0.4
```
-------
Misc
^^^^
* 2773: Retain case in setup.cfg during sdist.
```
### 58.0.3
```
-------
Misc
^^^^
* 2777: Build does not fail fast when ``use_2to3`` is supplied but set to a false value.
```
### 58.0.2
```
-------
Misc
^^^^
* 2769: Build now fails fast when ``use_2to3`` is supplied.
```
### 58.0.1
```
-------
Misc
^^^^
* 2765: In Distribution.finalize_options, suppress known removed entry points to avoid issues with older Setuptools.
```
### 58.0.0
```
-------
Breaking Changes
^^^^^^^^^^^^^^^^
* 2086: Removed support for 2to3 during builds. Projects should port to a unified codebase or pin to an older version of Setuptools using PEP 518 build-requires.
Documentation changes
^^^^^^^^^^^^^^^^^^^^^
* 2746: add python_requires example
```
### 57.5.0
```
-------
Changes
^^^^^^^
* 2712: Added implicit globbing support for `[options.data_files]` values.
Documentation changes
^^^^^^^^^^^^^^^^^^^^^
* 2737: fix various syntax and style errors in code snippets in docs
```
### 57.4.0
```
-------
Changes
^^^^^^^
* 2722: Added support for ``SETUPTOOLS_EXT_SUFFIX`` environment variable to override the suffix normally detected from the ``sysconfig`` module.
```
### 57.3.0
```
-------
Changes
^^^^^^^
* 2465: Documentation is now published using the Furo theme.
```
### 57.2.0
```
-------
Changes
^^^^^^^
* 2724: Added detection of Windows ARM64 build environments using the ``VSCMD_ARG_TGT_ARCH`` environment variable.
```
### 57.1.0
```
-------
Changes
^^^^^^^
* 2692: Globs are now sorted in 'license_files' restoring reproducibility by eliminating variance from disk order.
* 2714: Update to distutils at pypa/distutilse2627b7.
* 2715: Removed reliance on deprecated ssl.match_hostname by removing the ssl support. Now any index operations rely on the native SSL implementation.
Documentation changes
^^^^^^^^^^^^^^^^^^^^^
* 2604: Revamped the backward/cross tool compatibility section to remove
some confusion.
Add some examples and the version since when ``entry_points`` are
supported in declarative configuration.
Tried to make the reading flow a bit leaner, gather some information
that were a bit dispersed.
```
Links
- PyPI: https://pypi.org/project/setuptools
- Changelog: https://pyup.io/changelogs/setuptools/
- Repo: https://github.com/pypa/setuptools
This PR updates setuptools from 57.0.0 to 60.9.0.
Changelog
### 60.9.0 ``` ------- Changes ^^^^^^^ * 2876: In the build backend, allow single config settings to be supplied. * 2993: Removed workaround in distutils hack for get-pip now that pypa/get-pip137 is closed. * 3085: Setuptools no longer relies on ``pkg_resources`` for entry point handling. * 3098: Bump vendored packaging to 21.3. * Removed bootstrap script. ``` ### 60.8.2 ``` ------- Misc ^^^^ * 3091: Make ``concurrent.futures`` import lazy in vendored ``more_itertools`` package to a avoid importing threading as a side effect (which caused `gevent/gevent1865 <https://github.com/gevent/gevent/issues/1865>`__). -- by :user:`maciejp-ro` ``` ### 60.8.1 ``` ------- Misc ^^^^ * 3084: When vendoring jaraco packages, ensure the namespace package is converted to a simple package to support zip importer. ``` ### 60.8.0 ``` ------- Changes ^^^^^^^ * 3085: Setuptools now vendors importlib_resources and importlib_metadata and jaraco.text. Setuptools no longer relies on pkg_resources for ensure_directory nor parse_requirements. ``` ### 60.7.1 ``` ------- Misc ^^^^ * 3072: Remove lorem_ipsum from jaraco.text when vendored. ``` ### 60.7.0 ``` ------- Changes ^^^^^^^ * 3061: Vendored jaraco.text and use line processing from that library in pkg_resources. Misc ^^^^ * 3070: Avoid AttributeError in easy_install.create_home_path when sysconfig.get_config_vars values are not strings. ``` ### 60.6.0 ``` ------- Changes ^^^^^^^ * 3043: Merge with pypa/distutilsbb018f1ac3 including consolidated behavior in sysconfig.get_platform (pypa/distutils104). * 3057: Don't include optional ``Home-page`` in metadata if no ``url`` is specified. -- by :user:`cdce8p` * 3062: Merge with pypa/distutilsb53a824ec3 including improved support for lib directories on non-x64 Windows builds. Documentation changes ^^^^^^^^^^^^^^^^^^^^^ * 2897: Added documentation about wrapping ``setuptools.build_meta`` in a in-tree custom backend. This is a :pep:`517`-compliant way of dynamically specifying build dependencies (e.g. when platform, OS and other markers are not enough). -- by :user:`abravalheri` * 3034: Replaced occurrences of the defunct distutils-sig mailing list with pointers to GitHub Discussions. -- by :user:`ashemedai` * 3056: The documentation has stopped suggesting to add ``wheel`` to :pep:`517` requirements -- by :user:`webknjaz` Misc ^^^^ * 3054: Used Py3 syntax ``super().__init__()`` -- by :user:`imba-tjd` ``` ### 60.5.4 ``` ------- Misc ^^^^ * 3009: Remove filtering of distutils warnings. * 3031: Suppress distutils replacement when building or testing CPython. ``` ### 60.5.3 ``` ------- Misc ^^^^ * 3026: Honor sysconfig variables in easy_install. ``` ### 60.5.2 ``` ------- Misc ^^^^ * 2993: In _distutils_hack, for get-pip, simulate existence of setuptools. ``` ### 60.5.1 ``` ------- Misc ^^^^ * 2918: Correct support for Python 3 native loaders. ``` ### 60.5.0 ``` ------- Changes ^^^^^^^ * 2990: Set the ``.origin`` attribute of the ``distutils`` module to the module's ``__file__``. ``` ### 60.4.0 ``` ------- Changes ^^^^^^^ * 2839: Removed `requires` sorting when installing wheels as an egg dir. * 2953: Fixed a bug that easy install incorrectly parsed Python 3.10 version string. * 3006: Fixed startup performance issue of Python interpreter due to imports of costly modules in ``_distutils_hack`` -- by :user:`tiran` Documentation changes ^^^^^^^^^^^^^^^^^^^^^ * 2674: Added link to additional resources on packaging in Quickstart guide * 3008: "In-tree" Sphinx extension for "favicons" replaced with ``sphinx-favicon``. * 3008: SVG images (logo, banners, ...) optimised with the help of the ``scour`` package. Misc ^^^^ * 2862: Added integration tests that focus on building and installing some packages in the Python ecosystem via ``pip`` -- by :user:`abravalheri` * 2952: Modified "vendoring" logic to keep license files. * 2968: Improved isolation for some tests that where inadvertently using the project root for builds, and therefore creating directories (e.g. ``build``, ``dist``, ``*.egg-info``) that could interfere with the outcome of other tests -- by :user:`abravalheri`. * 2968: Introduced new test fixtures ``venv``, ``venv_without_setuptools``, ``bare_venv`` that rely on the ``jaraco.envs`` package. These new test fixtures were also used to remove the (currently problematic) dependency on the ``pytest_virtualenv`` plugin. * 2968: Removed ``tmp_src`` test fixture. Previously this fixture was copying all the files and folders under the project root, including the ``.git`` directory, which is error prone and increases testing time. Since ``tmp_src`` was used to populate virtual environments (installing the version of ``setuptools`` under test via the source tree), it was replaced by the new ``setuptools_sdist`` and ``setuptools_wheel`` fixtures (that are build only once per session testing and can be shared between all the workers for read-only usage). ``` ### 60.3.1 ``` ------- Misc ^^^^ * 3002: Suppress AttributeError when detecting get-pip. ``` ### 60.3.0 ``` ------- Changes ^^^^^^^ * 2993: In _distutils_hack, bypass the distutils exception for pip when get-pip is being invoked, because it imports setuptools. Misc ^^^^ * 2989: Merge with pypa/distutils788cc159. Includes fix for config vars missing from sysconfig. ``` ### 60.2.0 ``` ------- Changes ^^^^^^^ * 2974: Setuptools now relies on the Python logging infrastructure to log messages. Instead of using ``distutils.log.*``, use ``logging.getLogger(name).*``. * 2987: Sync with pypa/distutils2def21c5d74fdd2fe7996ee4030ac145a9d751bd, including fix for missing get_versions attribute (2969), more reliance on sysconfig from stdlib. Misc ^^^^ * 2962: Avoid attempting to use local distutils when the presiding version of Setuptools on the path doesn't have one. * 2983: Restore 'add_shim' as the way to invoke the hook. Avoids compatibility issues between different versions of Setuptools with the distutils local implementation. ``` ### 60.1.1 ``` ------- Misc ^^^^ * 2980: Bypass distutils loader when setuptools module is no longer available on sys.path. ``` ### 60.1.0 ``` ------- Changes ^^^^^^^ * 2958: In distutils_hack, only add the metadata finder once. In ensure_local_distutils, rely on a context manager for reliable manipulation. * 2963: Merge with pypa/distutilsa5af364910. Includes revisited fix for pypa/distutils15 and improved MinGW/Cygwin support from pypa/distutils77. ``` ### 60.0.5 ``` ------- Misc ^^^^ * 2960: Install schemes fall back to default scheme for headers. ``` ### 60.0.4 ``` ------- Misc ^^^^ * 2954: Merge with pypa/distutilseba2bcd310. Adds platsubdir to config vars available for substitution. ``` ### 60.0.3 ``` ------- Misc ^^^^ * 2940: Avoid KeyError in distutils hack when pip is imported during ensurepip. ``` ### 60.0.2 ``` ------- Misc ^^^^ * 2938: Select 'posix_user' for the scheme unless falling back to stdlib, then use 'unix_user'. ``` ### 60.0.1 ``` ------- Misc ^^^^ * 2944: Add support for extended install schemes in easy_install. ``` ### 60.0.0 ``` ------- Breaking Changes ^^^^^^^^^^^^^^^^ * 2896: Setuptools once again makes its local copy of distutils the default. To override, set SETUPTOOLS_USE_DISTUTILS=stdlib. ``` ### 59.8.0 ``` ------- Changes ^^^^^^^ * 2935: Merge pypa/distutils460b59f0e68dba17e2465e8dd421bbc14b994d1f. ``` ### 59.7.0 ``` ------- Changes ^^^^^^^ * 2930: Require Python 3.7 ``` ### 59.6.0 ``` ------- Changes ^^^^^^^ * 2925: Merge with pypa/distutils92082ee42c including introduction of deprecation warning on Version classes. ``` ### 59.5.0 ``` ------- Changes ^^^^^^^ * 2914: Merge with pypa/distutils8f2df0bf6. ``` ### 59.4.0 ``` ------- Changes ^^^^^^^ * 2893: Restore deprecated support for newlines in the Summary field. ``` ### 59.3.0 ``` ------- Changes ^^^^^^^ * 2902: Merge with pypa/distutils85db7a41242. Misc ^^^^ * 2906: In ensure_local_distutils, re-use DistutilsMetaFinder to load the module. Avoids race conditions when _distutils_system_mod is employed. ``` ### 59.2.0 ``` ------- Changes ^^^^^^^ * 2875: Introduce changes from pypa/distutils514e9d0, including support for overrides from Debian and pkgsrc, unlocking the possibility of making SETUPTOOLS_USE_DISTUTILS=local the default again. ``` ### 59.1.1 ``` ------- Misc ^^^^ * 2885: Fixed errors when encountering LegacyVersions. ``` ### 59.1.0 ``` ------- Changes ^^^^^^^ * 2497: Update packaging to 21.2. * 2877: Back out deprecation of setup_requires and replace instead by a deprecation of setuptools.installer and fetch_build_egg. Now setup_requires is still supported when installed as part of a PEP 517 build, but is deprecated when an unsatisfied requirement is encountered. * 2879: Bump packaging to 21.2. Documentation changes ^^^^^^^^^^^^^^^^^^^^^ * 2867: PNG/ICO images replaced with SVG in the docs. * 2867: Added support to SVG "favicons" via "in-tree" Sphinx extension. ``` ### 59.0.1 ``` ------- Misc ^^^^ * 2880: Removed URL requirement for ``pytest-virtualenv`` in ``setup.cfg``. PyPI rejects packages with dependencies external to itself. Instead the test dependency was overwritten via ``tox.ini`` ``` ### 59.0.0 ``` ------- Deprecations ^^^^^^^^^^^^ * 2856: Support for custom commands that inherit directly from ``distutils`` is **deprecated**. Users should extend classes provided by setuptools instead. Breaking Changes ^^^^^^^^^^^^^^^^ * 2870: Started failing on invalid inline description with line breaks :class:`ValueError` -- by :user:`webknjaz` Changes ^^^^^^^ * 2698: Exposed exception classes from ``distutils.errors`` via ``setuptools.errors``. * 2866: Incorporate changes from pypa/distutilsf1b0a2b. Documentation changes ^^^^^^^^^^^^^^^^^^^^^ * 2227: Added sphinx theme customisations to display the new logo in the sidebar and use its colours as "accent" in the documentation -- by :user:`abravalheri` * 2227: Added new setuptools logo, including editable files and artwork documentation -- by :user:`abravalheri` * 2698: Added mentions to ``setuptools.errors`` as a way of handling custom command errors. * 2698: Added instructions to migrate from ``distutils.commands`` and ``distutils.errors`` in the porting guide. * 2871: Added a note to the docs that it is possible to install ``setup.py``-less projects in editable mode with :doc:`pip v21.1+ <pip:index>`, only having ``setup.cfg`` and ``pyproject.toml`` in project root -- by :user:`webknjaz` ``` ### 58.5.3 ``` ------- Misc ^^^^ * 2849: Add fallback for custom ``build_py`` commands inheriting directly from :mod:`distutils`, while still handling ``include_package_data=True`` for ``sdist``. ``` ### 58.5.2 ``` ------- Misc ^^^^ * 2847: Suppress 'setup.py install' warning under bdist_wheel. ``` ### 58.5.1 ``` ------- Misc ^^^^ * 2846: Move PkgResourcesDeprecationWarning above implicitly-called function so that it's in the namespace when version warnings are generated in an environment that contains them. ``` ### 58.5.0 ``` ------- Changes ^^^^^^^ * 1461: Fix inconsistency with ``include_package_data`` and ``packages_data`` in sdist by replacing the loop breaking mechanism between the ``sdist`` and ``egg_info`` commands -- by :user:`abravalheri` ``` ### 58.4.0 ``` ------- Changes ^^^^^^^ * 2497: Officially deprecated PEP 440 non-compliant versions. Documentation changes ^^^^^^^^^^^^^^^^^^^^^ * 2832: Removed the deprecated ``data_files`` option from the example in the declarative configuration docs -- by :user:`abravalheri` * 2832: Change type of ``data_files`` option from ``dict`` to ``section`` in declarative configuration docs (to match previous example) -- by :user:`abravalheri` ``` ### 58.3.0 ``` ------- Changes ^^^^^^^ * 917: ``setup.py install`` and ``easy_install`` commands are now officially deprecated. Use other standards-based installers (like pip) and builders (like build). Workloads reliant on this behavior should pin to this major version of Setuptools. See `Why you shouldn't invoke setup.py directly <https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html>`_ for more background. * 1988: Deprecated the ``bdist_rpm`` command. Binary packages should be built as wheels instead. -- by :user:`hugovk` * 2785: Replace ``configparser``'s ``readfp`` with ``read_file``, deprecated since Python 3.2. -- by :user:`hugovk` * 2823: Officially deprecated support for ``setup_requires``. Users are encouraged instead to migrate to PEP 518 ``build-system.requires`` in ``pyproject.toml``. Users reliant on ``setup_requires`` should consider pinning to this major version to avoid disruption. Misc ^^^^ * 2762: Changed codecov.yml to configure the threshold to be lower -- by :user:`tanvimoharir` ``` ### 58.2.0 ``` ------- Changes ^^^^^^^ * 2757: Add windows arm64 launchers for scripts generated by easy_install. * 2800: Added ``--owner`` and ``--group`` options to the ``sdist`` command, for specifying file ownership within the produced tarball (similarly to the corresponding distutils ``sdist`` options). Documentation changes ^^^^^^^^^^^^^^^^^^^^^ * 2792: Document how the legacy and non-legacy versions are compared, and reference to the `PEP 440 <https://www.python.org/dev/peps/pep-0440/>`_ scheme. ``` ### 58.1.0 ``` ------- Changes ^^^^^^^ * 2796: Merge with pypa/distutils02e9f65ab0 ``` ### 58.0.4 ``` ------- Misc ^^^^ * 2773: Retain case in setup.cfg during sdist. ``` ### 58.0.3 ``` ------- Misc ^^^^ * 2777: Build does not fail fast when ``use_2to3`` is supplied but set to a false value. ``` ### 58.0.2 ``` ------- Misc ^^^^ * 2769: Build now fails fast when ``use_2to3`` is supplied. ``` ### 58.0.1 ``` ------- Misc ^^^^ * 2765: In Distribution.finalize_options, suppress known removed entry points to avoid issues with older Setuptools. ``` ### 58.0.0 ``` ------- Breaking Changes ^^^^^^^^^^^^^^^^ * 2086: Removed support for 2to3 during builds. Projects should port to a unified codebase or pin to an older version of Setuptools using PEP 518 build-requires. Documentation changes ^^^^^^^^^^^^^^^^^^^^^ * 2746: add python_requires example ``` ### 57.5.0 ``` ------- Changes ^^^^^^^ * 2712: Added implicit globbing support for `[options.data_files]` values. Documentation changes ^^^^^^^^^^^^^^^^^^^^^ * 2737: fix various syntax and style errors in code snippets in docs ``` ### 57.4.0 ``` ------- Changes ^^^^^^^ * 2722: Added support for ``SETUPTOOLS_EXT_SUFFIX`` environment variable to override the suffix normally detected from the ``sysconfig`` module. ``` ### 57.3.0 ``` ------- Changes ^^^^^^^ * 2465: Documentation is now published using the Furo theme. ``` ### 57.2.0 ``` ------- Changes ^^^^^^^ * 2724: Added detection of Windows ARM64 build environments using the ``VSCMD_ARG_TGT_ARCH`` environment variable. ``` ### 57.1.0 ``` ------- Changes ^^^^^^^ * 2692: Globs are now sorted in 'license_files' restoring reproducibility by eliminating variance from disk order. * 2714: Update to distutils at pypa/distutilse2627b7. * 2715: Removed reliance on deprecated ssl.match_hostname by removing the ssl support. Now any index operations rely on the native SSL implementation. Documentation changes ^^^^^^^^^^^^^^^^^^^^^ * 2604: Revamped the backward/cross tool compatibility section to remove some confusion. Add some examples and the version since when ``entry_points`` are supported in declarative configuration. Tried to make the reading flow a bit leaner, gather some information that were a bit dispersed. ```Links
- PyPI: https://pypi.org/project/setuptools - Changelog: https://pyup.io/changelogs/setuptools/ - Repo: https://github.com/pypa/setuptools