Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pin setuptools to latest version 39.2.0 #49

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

fstab50
Copy link
Owner

@fstab50 fstab50 commented Jun 15, 2018

This PR pins setuptools to the latest release 39.2.0.

Changelog

Changelog

39.2.0


* 1359: Support using "file:" to load a PEP 440-compliant package version from
a text file.
* 1360: Fixed issue with a mismatch between the name of the package and the
name of the .dist-info file in wheel files
* 1365: Take the package_dir option into account when loading the version from
a module attribute.
* 1353: Added coverage badge to README.
* 1356: Made small fixes to the developer guide documentation.
* 1357: Fixed warnings in documentation builds and started enforcing that the
docs build without warnings in tox.
* 1376: Updated release process docs.
* 1343: The ``setuptools`` specific ``long_description_content_type``,
``project_urls`` and ``provides_extras`` fields are now set consistently
after any ``distutils`` ``setup_keywords`` calls, allowing them to override
values.
* 1352: Added ``tox`` environment for documentation builds.
* 1354: Added ``towncrier`` for changelog managment.
* 1355: Add PR template.
* 1368: Fixed tests which failed without network connectivity.
* 1369: Added unit tests for PEP 425 compatibility tags support.
* 1372: Stop testing Python 3.3 in Travis CI, now that the latest version of
``wheel`` no longer installs on it.```



### 39.1.0
```-------

* 1340: Update all PyPI URLs to reflect the switch to the
new Warehouse codebase.
* 1337: In ``pkg_resources``, now support loading resources
for modules loaded by the ``SourcelessFileLoader``.
* 1332: Silence spurious wheel related warnings on Windows.```



### 39.0.1
```-------

* 1297: Restore Unicode handling for Maintainer fields in
metadata.```



### 39.0.0
```-------

* 1296: Setuptools now vendors its own direct dependencies, no
longer relying on the dependencies as vendored by pkg_resources.

* 296: Removed long-deprecated support for iteration on
Version objects as returned by ``pkg_resources.parse_version``.
Removed the ``SetuptoolsVersion`` and
``SetuptoolsLegacyVersion`` names as well. They should not
have been used, but if they were, replace with
``Version`` and ``LegacyVersion`` from ``packaging.version``.```



### 38.7.0
```-------

* 1288: Add support for maintainer in PKG-INFO.```



### 38.6.1
```-------

* 1292: Avoid generating ``Provides-Extra`` in metadata when
no extra is present (but environment markers are).```



### 38.6.0
```-------

* 1286: Add support for Metadata 2.1 (PEP 566).```



### 38.5.2
```-------

* 1285: Fixed RuntimeError in pkg_resources.parse_requirements
on Python 3.7 (stemming from PEP 479).```



### 38.5.1
```-------

* 1271: Revert to Cython legacy ``build_ext`` behavior for
compatibility.```



### 38.5.0
```-------

* 1229: Expand imports in ``build_ext`` to refine detection of
Cython availability.

* 1270: When Cython is available, ``build_ext`` now uses the
new_build_ext.```



### 38.4.1
```-------

* 1257: In bdist_egg.scan_module, fix ValueError on Python 3.7.```



### 38.4.0
```-------

* 1231: Removed warning when PYTHONDONTWRITEBYTECODE is enabled.```



### 38.3.0
```-------

* 1210: Add support for PEP 345 Project-URL metadata.
* 1207: Add support for ``long_description_type`` to setup.cfg
declarative config as intended and documented.```



### 38.2.5
```-------

* 1232: Fix trailing slash handling in ``pkg_resources.ZipProvider``.```



### 38.2.4
```-------

* 1220: Fix `data_files` handling when installing from wheel.```



### 38.2.3
```-------

* fix Travis' Python 3.3 job.```



### 38.2.2
```-------

* 1214: fix handling of namespace packages when installing
from a wheel.```



### 38.2.1
```-------

* 1212: fix encoding handling of metadata when installing
from a wheel.```



### 38.2.0
```-------

* 1200: easy_install now support installing from wheels:
they will be installed as standalone unzipped eggs.```



### 38.1.0
```-------

* 1208: Improve error message when failing to locate scripts
in egg-info metadata.```



### 38.0.0
```-------

* 458: In order to support deterministic builds, Setuptools no
longer allows packages to declare ``install_requires`` as
unordered sequences (sets or dicts).```



### 37.0.0
```-------

* 878: Drop support for Python 2.6. Python 2.6 users should
rely on 'setuptools < 37dev'.```



### 36.8.0
```-------

* 1190: In SSL support for package index operations, use SNI
where available.```



### 36.7.3
```-------

* 1175: Bug fixes to ``build_meta`` module.```



### 36.7.2
```-------

* 701: Fixed duplicate test discovery on Python 3.```



### 36.7.1
```-------

* 1193: Avoid test failures in bdist_egg when
PYTHONDONTWRITEBYTECODE is set.```



### 36.7.0
```-------

* 1054: Support ``setup_requires`` in ``setup.cfg`` files.```



### 36.6.1
```-------

* 1132: Removed redundant and costly serialization/parsing step
in ``EntryPoint.__init__``.

* 844: ``bdist_egg --exclude-source-files`` now tested and works
on Python 3.```



### 36.6.0
```-------

* 1143: Added ``setuptools.build_meta`` module, an implementation
of PEP-517 for Setuptools-defined packages.

* 1143: Added ``dist_info`` command for producing dist_info
metadata.```



### 36.5.0
```-------

* 170: When working with Mercurial checkouts, use Windows-friendly
syntax for suppressing output.

* Inspired by 1134, performed substantial refactoring of
``pkg_resources.find_on_path`` to facilitate an optimization
for paths with many non-version entries.```



### 36.4.0
```-------

* 1075: Add new ``Description-Content-Type`` metadata field. `See here for
documentation on how to use this field.
<https://packaging.python.org/specifications/description-content-type>`_

* 1068: Sort files and directories when building eggs for
deterministic order.

* 196: Remove caching of easy_install command in fetch_build_egg.
Fixes issue where ``pytest-runner-N.N`` would satisfy the installation
of ``pytest``.

* 1129: Fix working set dependencies handling when replacing conflicting
distributions (e.g. when using ``setup_requires`` with a conflicting
transitive dependency, fix 1124).

* 1133: Improved handling of README files extensions and added
Markdown to the list of searched READMES.

* 1135: Improve performance of pkg_resources import by not invoking
``access`` or ``stat`` and using ``os.listdir`` instead.```



### 36.3.0
```-------

* 1131: Make possible using several files within ``file:`` directive
in metadata.long_description in ``setup.cfg``.```



### 36.2.7
```-------

* fix 1105: Fix handling of requirements with environment
markers when declared in ``setup.cfg`` (same treatment as
for 1081).```



### 36.2.6
```-------

* 462: Don't assume a directory is an egg by the ``.egg``
extension alone.```



### 36.2.5
```-------

* 1093: Fix test command handler with extras_require.
* 1112, 1091, 1115: Now using Trusty containers in
Travis for CI and CD.```



### 36.2.4
```-------

* 1092: ``pkg_resources`` now uses ``inspect.getmro`` to
resolve classes in method resolution order.```



### 36.2.3
```-------

* 1102: Restore behavior for empty extras.```



### 36.2.2
```-------

* 1099: Revert commit a3ec721, restoring intended purpose of
extras as part of a requirement declaration.```



### 36.2.1
```-------

* fix 1086
* fix 1087
* support extras specifiers in install_requires requirements```



### 36.2.0
```-------

* 1081: Environment markers indicated in ``install_requires``
are now processed and treated as nameless ``extras_require``
with markers, allowing their metadata in requires.txt to be
correctly generated.

* 1053: Tagged commits are now released using Travis-CI
build stages, meaning releases depend on passing tests on
all supported Python versions (Linux) and not just the latest
Python version.```



### 36.1.1
```-------

* 1083: Correct ``py31compat.makedirs`` to correctly honor
``exist_ok`` parameter.
* 1083: Also use makedirs compatibility throughout setuptools.```



### 36.1.0
```-------

* 1083: Avoid race condition on directory creation in
``pkg_resources.ensure_directory``.

* Removed deprecation of and restored support for
``upload_docs`` command for sites other than PyPI.
Only warehouse is dropping support, but services like
`devpi <http://doc.devpi.net/latest/>`_ continue to
support docs built by setuptools' plugins. See
`this comment <https://bitbucket.org/hpk42/devpi/issues/388/support-rtd-model-for-building-uploadingcomment-34292423>`_
for more context on the motivation for this change.```



### 36.0.1
```-------

* 1042: Fix import in py27compat module that still
referenced six directly, rather than through the externs
module (vendored packages hook).```



### 36.0.0
```-------

* 980 and others: Once again, Setuptools vendors all
of its dependencies. It seems to be the case that in
the Python ecosystem, all build tools must run without
any dependencies (build, runtime, or otherwise). At
such a point that a mechanism exists that allows
build tools to have dependencies, Setuptools will adopt
it.```



### 35.0.2
```-------

* 1015: Fix test failures on Python 3.7.

* 1024: Add workaround for Jython 2581 in monkey module.```



### 35.0.1
```-------

* 992: Revert change introduced in v34.4.1, now
considered invalid.

* 1016: Revert change introduced in v35.0.0 per 1014,
referencing 436. The approach had unintended
consequences, causing sdist installs to be missing
files.```



### 35.0.0
```-------

* 436: In egg_info.manifest_maker, no longer read
the file list from the manifest file, and instead
re-build it on each build. In this way, files removed
from the specification will not linger in the manifest.
As a result, any files manually added to the manifest
will be removed on subsequent egg_info invocations.
No projects should be manually adding files to the
manifest and should instead use MANIFEST.in or SCM
file finders to force inclusion of files in the manifest.```



### 34.4.1
```-------

* 1008: In MSVC support, use always the last version available for Windows SDK and UCRT SDK.

* 1008: In MSVC support, fix "vcruntime140.dll" returned path with Visual Studio 2017.

* 992: In msvc.msvc9_query_vcvarsall, ensure the
returned dicts have str values and not Unicode for
compatibility with os.environ.```



### 34.4.0
```-------

* 995: In MSVC support, add support for "Microsoft Visual Studio 2017" and "Microsoft Visual Studio Build Tools 2017".

* 999 via 1007: Extend support for declarative package
config in a setup.cfg file to include the options
``python_requires`` and ``py_modules``.```



### 34.3.3
```-------

* 967 (and 997): Explicitly import submodules of
packaging to account for environments where the imports
of those submodules is not implied by other behavior.```



### 34.3.2
```-------

* 993: Fix documentation upload by correcting
rendering of content-type in _build_multipart
on Python 3.```



### 34.3.1
```-------

* 988: Trap ``os.unlink`` same as ``os.remove`` in
``auto_chmod`` error handler.

* 983: Fixes to invalid escape sequence deprecations on
Python 3.6.```



### 34.3.0
```-------

* 941: In the upload command, if the username is blank,
default to ``getpass.getuser()``.

* 971: Correct distutils findall monkeypatch to match
appropriate versions (namely Python 3.4.6).```



### 34.2.0
```-------

* 966: Add support for reading dist-info metadata and
thus locating Distributions from zip files.

* 968: Allow '+' and '!' in egg fragments
so that it can take package names that contain
PEP 440 conforming version specifiers.```



### 34.1.1
```-------

* 953: More aggressively employ the compatibility issue
originally added in 706.```



### 34.1.0
```-------

* 930: ``build_info`` now accepts two new parameters
to optimize and customize the building of C libraries.```



### 34.0.3
```-------

* 947: Loosen restriction on the version of six required,
restoring compatibility with environments relying on
six 1.6.0 and later.```



### 34.0.2
```-------

* 882: Ensure extras are honored when building the
working set.
* 913: Fix issue in develop if package directory has
a trailing slash.```



### 34.0.1
```-------

* 935: Fix glob syntax in graft.```



### 34.0.0
```-------

* 581: Instead of vendoring the growing list of
dependencies that Setuptools requires to function,
Setuptools now requires these dependencies just like
any other project. Unlike other projects, however,
Setuptools cannot rely on ``setup_requires`` to
demand the dependencies it needs to install because
its own machinery would be necessary to pull those
dependencies if not present (a bootstrapping problem).
As a result, Setuptools no longer supports self upgrade or
installation in the general case. Instead, users are
directed to use pip to install and upgrade using the
``wheel`` distributions of setuptools.

Users are welcome to contrive other means to install
or upgrade Setuptools using other means, such as
pre-installing the Setuptools dependencies with pip
or a bespoke bootstrap tool, but such usage is not
recommended and is not supported.

As discovered in 940, not all versions of pip will
successfully install Setuptools from its pre-built
wheel. If you encounter issues with "No module named
six" or "No module named packaging", especially
following a line "Running setup.py egg_info for package
setuptools", then your pip is not new enough.

There's an additional issue in pip where setuptools
is upgraded concurrently with other source packages,
described in pip 4253. The proposed workaround is to
always upgrade Setuptools first prior to upgrading
other packages that would upgrade Setuptools.```



### 33.1.1
```-------

* 921: Correct issue where certifi fallback not being
reached on Windows.```



### 33.1.0
```-------

Installation via pip, as indicated in the `Python Packaging
User's Guide <https://packaging.python.org/installing/>`_,
is the officially-supported mechanism for installing
Setuptools, and this recommendation is now explicit in the
much more concise README.

Other edits and tweaks were made to the documentation. The
codebase is unchanged.```



### 33.0.0
```-------

* 619: Removed support for the ``tag_svn_revision``
distribution option. If Subversion tagging support is
still desired, consider adding the functionality to
setuptools_svn in setuptools_svn 2.```



### 32.3.1
```-------

* 866: Use ``dis.Bytecode`` on Python 3.4 and later in
``setuptools.depends``.```



### 32.3.0
```-------

* 889: Backport proposed fix for disabling interpolation in
distutils.Distribution.parse_config_files.```



### 32.2.0
```-------

* 884: Restore support for running the tests under
`pytest-runner <https://github.com/pytest-dev/pytest-runner>`_
by ensuring that PYTHONPATH is honored in tests invoking
a subprocess.```



### 32.1.3
```-------

* 706: Add rmtree compatibility shim for environments where
rmtree fails when passed a unicode string.```



### 32.1.2
```-------

* 893: Only release sdist in zip format as warehouse now
disallows releasing two different formats.```



### 32.1.1
```-------

* 704: More selectively ensure that 'rmtree' is not invoked with
a byte string, enabling it to remove files that are non-ascii,
even on Python 2.

* 712: In 'sandbox.run_setup', ensure that ``__file__`` is
always a ``str``, modeling the behavior observed by the
interpreter when invoking scripts and modules.```



### 32.1.0
```-------

* 891: In 'test' command on test failure, raise DistutilsError,
suppression invocation of subsequent commands.```



### 32.0.0
```-------

* 890: Revert 849. ``global-exclude .foo`` will not match all
``*.foo`` files any more. Package authors must add an explicit
wildcard, such as ``global-exclude *.foo``, to match all
``.foo`` files. See 886, 849.```



### 31.0.1
```-------

* 885: Fix regression where 'pkg_resources._rebuild_mod_path'
would fail when a namespace package's '__path__' was not
a list with a sort attribute.```



### 31.0.0
```-------

* 250: Install '-nspkg.pth' files for packages installed
with 'setup.py develop'. These .pth files allow
namespace packages installed by pip or develop to
co-mingle. This change required the removal of the
change for 805 and pip 1924, introduced in 28.3.0 and implicated
in 870, but means that namespace packages not in a
site packages directory will no longer work on Python
earlier than 3.5, whereas before they would work on
Python not earlier than 3.3.```



### 30.4.0
```-------

* 879: For declarative config:

- read_configuration() now accepts ignore_option_errors argument. This allows scraping tools to read metadata without a need to download entire packages. E.g. we can gather some stats right from GitHub repos just by downloading setup.cfg.

- packages find: directive now supports fine tuning from a subsection. The same arguments as for find() are accepted.```



### 30.3.0
```-------

* 394 via 862: Added support for `declarative package
config in a setup.cfg file
<https://setuptools.readthedocs.io/en/latest/setuptools.htmlconfiguring-setup-using-setup-cfg-files>`_.```



### 30.2.1
```-------

* 850: In test command, invoke unittest.main with
indication not to exit the process.```



### 30.2.0
```-------

* 854: Bump to vendored Packaging 16.8.```



### 30.1.0
```-------

* 846: Also trap 'socket.error' when opening URLs in
package_index.

* 849: Manifest processing now matches the filename
pattern anywhere in the filename and not just at the
start. Restores behavior found prior to 28.5.0.```



### 30.0.0
```-------

* 864: Drop support for Python 3.2. Systems requiring
Python 3.2 support must use 'setuptools < 30'.

* 825: Suppress warnings for single files.

* 830 via 843: Once again restored inclusion of data
files to sdists, but now trap TypeError caused by
techniques employed rjsmin and similar.```



### 29.0.1
```-------

* 861: Re-release of v29.0.1 with the executable script
launchers bundled. Now, launchers are included by default
and users that want to disable this behavior must set the
environment variable
'SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES' to
a false value like "false" or "0".```



### 29.0.0
```-------

* 841: Drop special exception for packages invoking
win32com during the build/install process. See
Distribute 118 for history.```



### 28.8.0
```-------

* 629: Per the discussion, refine the sorting to use version
value order for more accurate detection of the latest
available version when scanning for packages. See also
829.

* 837: Rely on the config var "SO" for Python 3.3.0 only
when determining the ext filename.```



### 28.7.1
```-------

* 827: Update PyPI root for dependency links.

* 833: Backed out changes from 830 as the implementation
seems to have problems in some cases.```



### 28.7.0
```-------

* 832: Moved much of the namespace package handling
functionality into a separate module for re-use in something
like 789.
* 830: ``sdist`` command no longer suppresses the inclusion
of data files, re-aligning with the expectation of distutils
and addressing 274 and 521.```



### 28.6.1
```-------

* 816: Fix manifest file list order in tests.```



### 28.6.0
```-------

* 629: When scanning for packages, ``pkg_resources`` now
ignores empty egg-info directories and gives precedence to
packages whose versions are lexicographically greatest,
a rough approximation for preferring the latest available
version.```



### 28.5.0
```-------

* 810: Tests are now invoked with tox and not setup.py test.
* 249 and 450 via 764: Avoid scanning the whole tree
when building the manifest. Also fixes a long-standing bug
where patterns in ``MANIFEST.in`` had implicit wildcard
matching. This caused ``global-exclude .foo`` to exclude
all ``*.foo`` files, but also ``global-exclude bar.py`` to
exclude ``foo_bar.py``.```



### 28.4.0
```-------

* 732: Now extras with a hyphen are honored per PEP 426.
* 811: Update to pyparsing 2.1.10.
* Updated ``setuptools.command.sdist`` to re-use most of
the functionality directly from ``distutils.command.sdist``
for the ``add_defaults`` method with strategic overrides.
See 750 for rationale.
* 760 via 762: Look for certificate bundle where SUSE
Linux typically presents it. Use ``certifi.where()`` to locate
the bundle.```



### 28.3.0
```-------

* 809: In ``find_packages()``, restore support for excluding
a parent package without excluding a child package.

* 805: Disable ``-nspkg.pth`` behavior on Python 3.3+ where
PEP-420 functionality is adequate. Fixes pip 1924.```



### 28.1.0
```-------

* 803: Bump certifi to 2016.9.26.```



### 28.0.0
```-------

* 733: Do not search excluded directories for packages.
This introduced a backwards incompatible change in ``find_packages()``
so that ``find_packages(exclude=['foo']) == []``, excluding subpackages of ``foo``.
Previously, ``find_packages(exclude=['foo']) == ['foo.bar']``,
even though the parent ``foo`` package was excluded.

* 795: Bump certifi.

* 719: Suppress decoding errors and instead log a warning
when metadata cannot be decoded.```



### 27.3.1
```-------

* 790: In MSVC monkeypatching, explicitly patch each
function by name in the target module instead of inferring
the module from the function's ``__module__``. Improves
compatibility with other packages that might have previously
patched distutils functions (i.e. NumPy).```



### 27.3.0
```-------

* 794: In test command, add installed eggs to PYTHONPATH
when invoking tests so that subprocesses will also have the
dependencies available. Fixes `tox 330
<https://github.com/tox-dev/tox/issues/330>`_.

* 795: Update vendored pyparsing 2.1.9.```



### 27.2.0
```-------

* 520 and 513: Suppress ValueErrors in fixup_namespace_packages
when lookup fails.

* Nicer, more consistent interfaces for msvc monkeypatching.```



### 27.1.2
```-------

* 779 via 781: Fix circular import.```



### 27.1.1
```-------

* 778: Fix MSVC monkeypatching.```



### 27.1.0
```-------

* Introduce the (private) ``monkey`` module to encapsulate
the distutils monkeypatching behavior.```



### 27.0.0
```-------

* Now use Warehouse by default for
``upload``, patching ``distutils.config.PyPIRCCommand`` to
affect default behavior.

Any config in .pypirc should be updated to replace

 https://pypi.python.org/pypi/

with

 https://upload.pypi.org/legacy/

Similarly, any passwords stored in the keyring should be
updated to use this new value for "system".

The ``upload_docs`` command will continue to use the python.org
site, but the command is now deprecated. Users are urged to use
Read The Docs instead.

* 776: Use EXT_SUFFIX for py_limited_api renaming.

* 774 and 775: Use LegacyVersion from packaging when
detecting numpy versions.```



### 26.1.1
```-------

* Re-release of 26.1.0 with pytest pinned to allow for automated
deployment and thus proper packaging environment variables,
fixing issues with missing executable launchers.```



### 26.1.0
```-------

* 763: ``pkg_resources.get_default_cache`` now defers to the
`appdirs project <https://pypi.org/project/appdirs>`_ to
resolve the cache directory. Adds a vendored dependency on
appdirs to pkg_resources.```



### 26.0.0
```-------

* 748: By default, sdists are now produced in gzipped tarfile
format by default on all platforms, adding forward compatibility
for the same behavior in Python 3.6 (See Python 27819).

* 459 via 736: On Windows with script launchers,
sys.argv[0] now reflects
the name of the entry point, consistent with the behavior in
distlib and pip wrappers.

* 752 via 753: When indicating ``py_limited_api`` to Extension,
it must be passed as a keyword argument.```



### 25.4.0
```-------

* Add Extension(py_limited_api=True). When set to a truthy value,
that extension gets a filename appropriate for code using Py_LIMITED_API.
When used correctly this allows a single compiled extension to work on
all future versions of CPython 3.
The py_limited_api argument only controls the filename. To be
compatible with multiple versions of Python 3, the C extension
will also need to set -DPy_LIMITED_API=... and be modified to use
only the functions in the limited API.```



### 25.3.0
```-------

* 739 Fix unquoted libpaths by fixing compatibility between `numpy.distutils` and `distutils._msvccompiler` for numpy < 1.11.2 (Fix issue 728, error also fixed in Numpy).

* 731: Bump certifi.

* Style updates. See 740, 741, 743, 744, 742, 747.

* 735: include license file.```



### 25.2.0
```-------

* 612 via 730: Add a LICENSE file which needs to be provided by the terms of
the MIT license.```



### 25.1.6
```-------

* 725: revert `library_dir_option` patch (Error is related to `numpy.distutils` and make errors on non Numpy users).```



### 25.1.5
```-------

* 720
* 723: Improve patch for `library_dir_option`.```



### 25.1.4
```-------

* 717
* 713
* 707: Fix Python 2 compatibility for MSVC by catching errors properly.
* 715: Fix unquoted libpaths by patching `library_dir_option`.```



### 25.1.3
```-------

* 714 and 704: Revert fix as it breaks other components
downstream that can't handle unicode. See 709, 710,
and 712.```



### 25.1.2
```-------

* 704: Fix errors when installing a zip sdist that contained
files named with non-ascii characters on Windows would
crash the install when it attempted to clean up the build.
* 646: MSVC compatibility - catch errors properly in
RegistryInfo.lookup.
* 702: Prevent UnboundLocalError when initial working_set
is empty.```



### 25.1.1
```-------

* 686: Fix issue in sys.path ordering by pkg_resources when
rewrite technique is "raw".
* 699: Fix typo in msvc support.```



### 25.1.0
```-------

* 609: Setuptools will now try to download a distribution from
the next possible download location if the first download fails.
This means you can now specify multiple links as ``dependency_links``
and all links will be tried until a working download link is encountered.```



### 25.0.2
```-------

* 688: Fix AttributeError in setup.py when invoked not from
the current directory.```



### 25.0.1
```-------

* Cleanup of setup.py script.

* Fixed documentation builders by allowing setup.py
to be imported without having bootstrapped the
metadata.

* More style cleanup. See 677, 678, 679, 681, 685.```



### 25.0.0
```-------

* 674: Default ``sys.path`` manipulation by easy-install.pth
is now "raw", meaning that when writing easy-install.pth
during any install operation, the ``sys.path`` will not be
rewritten and will no longer give preference to easy_installed
packages.

To retain the old behavior when using any easy_install
operation (including ``setup.py install`` when setuptools is
present), set the environment variable:

 SETUPTOOLS_SYS_PATH_TECHNIQUE=rewrite

This project hopes that that few if any environments find it
necessary to retain the old behavior, and intends to drop
support for it altogether in a future release. Please report
any relevant concerns in the ticket for this change.```



### 24.3.1
```-------

* 398: Fix shebang handling on Windows in script
headers where spaces in ``sys.executable`` would
produce an improperly-formatted shebang header,
introduced in 12.0 with the fix for 188.

* 663, 670: More style updates.```



### 24.3.0
```-------

* 516: Disable ``os.link`` to avoid hard linking
in ``sdist.make_distribution``, avoiding errors on
systems that support hard links but not on the
file system in which the build is occurring.```



### 24.2.1
```-------

* 667: Update Metadata-Version to 1.2 when
``python_requires`` is supplied.```



### 24.2.0
```-------

* 631: Add support for ``python_requires`` keyword.```



### 24.1.1
```-------

* More style updates. See 660, 661, 641.```



### 24.1.0
```-------

* 659: ``setup.py`` now will fail fast and with a helpful
error message when the necessary metadata is missing.
* More style updates. See 656, 635, 640,
644, 650, 652, and 655.```



### 24.0.3
```-------

* Updated style in much of the codebase to match
community expectations. See 632, 633, 634,
637, 639, 638, 642, 648.```



### 24.0.2
```-------

* If MSVC++14 is needed ``setuptools.msvc`` now redirect
user to Visual C++ Build Tools web page.```



### 24.0.1
```-------

* 625 and 626: Fixes on ``setuptools.msvc`` mainly
for Python 2 and Linux.```



### 24.0.0
```-------

* Pull Request 174: Add more aggressive support for
standalone Microsoft Visual C++ compilers in
msvc9compiler patch.
Particularly : Windows SDK 6.1 and 7.0
(MSVC++ 9.0), Windows SDK 7.1 (MSVC++ 10.0),
Visual C++ Build Tools 2015 (MSVC++14)
* Renamed ``setuptools.msvc9_support`` to
``setuptools.msvc``.```



### 23.2.1
```-------

Re-release of v23.2.0, which was missing the intended
commits.

* 623: Remove used of deprecated 'U' flag when reading
manifests.```



### 23.1.0
```-------

* 619: Deprecated ``tag_svn_revision`` distribution
option.```



### 23.0.0
```-------

* 611: Removed ARM executables for CLI and GUI script
launchers on Windows. If this was a feature you cared
about, please comment in the ticket.
* 604: Removed docs building support. The project
now relies on documentation hosted at
https://setuptools.readthedocs.io/.```



### 22.0.5
```-------

* 604: Restore repository for upload_docs command
to restore publishing of docs during release.```



### 22.0.4
```-------

* 589: Upload releases to pypi.io using the upload
hostname and legacy path.```



### 22.0.3
```-------

* 589: Releases are now uploaded to pypi.io (Warehouse)
even when releases are made on Twine via Travis.```



### 22.0.2
```-------

* 589: Releases are now uploaded to pypi.io (Warehouse).```



### 22.0.1
```-------

* 190: On Python 2, if unicode is passed for packages to
``build_py`` command, it will be handled just as with
text on Python 3.```



### 22.0.0
```-------

Intended to be v21.3.0, but jaraco accidentally released as
a major bump.

* 598: Setuptools now lists itself first in the User-Agent
for web requests, better following the guidelines in
`RFC 7231
<https://tools.ietf.org/html/rfc7231section-5.5.3>`_.```



### 21.2.2
```-------

* Minor fixes to changelog and docs.```



### 21.2.1
```-------

* 261: Exclude directories when resolving globs in
package_data.```



### 21.2.0
```-------

* 539: In the easy_install get_site_dirs, honor all
paths found in ``site.getsitepackages``.```



### 21.1.0
```-------

* 572: In build_ext, now always import ``_CONFIG_VARS``
from ``distutils`` rather than from ``sysconfig``
to allow ``distutils.sysconfig.customize_compiler``
configure the OS X compiler for ``-dynamiclib``.```



### 21.0.0
```-------

* Removed ez_setup.py from Setuptools sdist. The
bootstrap script will be maintained in its own
branch and should be generally be retrieved from
its canonical location at
https://bootstrap.pypa.io/ez_setup.py.```



### 20.10.0
```--------

* 553: egg_info section is now generated in a
deterministic order, matching the order generated
by earlier versions of Python. Except on Python 2.6,
order is preserved when existing settings are present.
* 556: Update to Packaging 16.7, restoring support
for deprecated ``python_implmentation`` marker.
* 555: Upload command now prompts for a password
when uploading to PyPI (or other repository) if no
password is present in .pypirc or in the keyring.```



### 20.9.0
```-------

* 548: Update certify version to 2016.2.28
* 545: Safely handle deletion of non-zip eggs in rotate
command.```



### 20.8.1
```-------

* Issue 544: Fix issue with extra environment marker
processing in WorkingSet due to refactor in v20.7.0.```



### 20.8.0
```-------

* Issue 543: Re-release so that latest release doesn't
cause déjà vu with distribute and setuptools 0.7 in
older environments.```



### 20.7.0
```-------

* Refactored extra environment marker processing
in WorkingSet.
* Issue 533: Fixed intermittent test failures.
* Issue 536: In msvc9_support, trap additional exceptions
that might occur when importing
``distutils.msvc9compiler`` in mingw environments.
* Issue 537: Provide better context when package
metadata fails to decode in UTF-8.```



### 20.6.8
```-------

* Issue 523: Restored support for environment markers,
now honoring 'extra' environment markers.```



### 20.6.7
```-------

* Issue 523: Disabled support for environment markers
introduced in v20.5.```



### 20.6.6
```-------

* Issue 503: Restore support for PEP 345 environment
markers by updating to Packaging 16.6.```



### 20.6.0
```-------

* New release process that relies on
`bumpversion <https://github.com/peritus/bumpversion>`_
and Travis CI for continuous deployment.
* Project versioning semantics now follow
`semver <https://semver.org>`_ precisely.
The 'v' prefix on version numbers now also allows
version numbers to be referenced in the changelog,
e.g. http://setuptools.readthedocs.io/en/latest/history.htmlv20-6-0.```



### 20.5
```----

* BB Pull Request 185, 470: Add support for environment markers
in requirements in install_requires, setup_requires,
tests_require as well as adding a test for the existing
extra_requires machinery.```



### 20.4
```----

* Issue 422: Moved hosting to
`Github <https://github.com/pypa/setuptools>`_
from `Bitbucket <https://bitbucket.org/pypa/setuptools>`_.
Issues have been migrated, though all issues and comments
are attributed to bb-migration. So if you have a particular
issue or issues to which you've been subscribed, you will
want to "watch" the equivalent issue in Github.
The Bitbucket project will be retained for the indefinite
future, but Github now hosts the canonical project repository.```



### 20.3.1
```------

* Issue 519: Remove import hook when reloading the
``pkg_resources`` module.
* BB Pull Request 184: Update documentation in ``pkg_resources``
around new ``Requirement`` implementation.```



### 20.3
```----

* BB Pull Request 179: ``pkg_resources.Requirement`` objects are
now a subclass of ``packaging.requirements.Requirement``,
allowing any environment markers and url (if any) to be
affiliated with the requirement
* BB Pull Request 179: Restore use of RequirementParseError
exception unintentionally dropped in 20.2.```



### 20.2.2
```------

* Issue 502: Correct regression in parsing of multiple
version specifiers separated by commas and spaces.```



### 20.2.1
```------

* Issue 499: Restore compatibility for legacy versions
by bumping to packaging 16.4.```



### 20.2
```----

* Changelog now includes release dates and links to PEPs.
* BB Pull Request 173: Replace dual PEP 345 _markerlib implementation
and PEP 426 implementation of environment marker support from
packaging 16.1 and PEP 508. Fixes Issue 122.
See also BB Pull Request 175, BB Pull Request 168, and
BB Pull Request 164. Additionally:

- ``Requirement.parse`` no longer retains the order of extras.
- ``parse_requirements`` now requires that all versions be
  PEP-440 compliant, as revealed in 499. Packages released
  with invalid local versions should be re-released using
  the proper local version syntax, e.g. ``mypkg-1.0+myorg.1``.```



### 20.1.1
```------

* Update ``upload_docs`` command to also honor keyring
for password resolution.```



### 20.1
```----

* Added support for using passwords from keyring in the upload
command. See `the upload docs
<https://setuptools.readthedocs.io/en/latest/setuptools.htmlupload-upload-source-and-or-egg-distributions-to-pypi>`_
for details.```



### 20.0
```----

* Issue 118: Once again omit the package metadata (egg-info)
from the list of outputs in ``--record``. This version of setuptools
can no longer be used to upgrade pip earlier than 6.0.```



### 19.7
```----

* `Off-project PR <https://github.com/jaraco/setuptools/pull/32>`_:
For FreeBSD, also honor root certificates from ca_root_nss.```



### 19.6.2
```------

* Issue 491: Correct regression incurred in 19.4 where
a double-namespace package installed using pip would
cause a TypeError.```



### 19.6.1
```------

* Restore compatibility for PyPy 3 compatibility lost in
19.4.1 addressing Issue 487.
* ``setuptools.launch`` shim now loads scripts in a new
namespace, avoiding getting relative imports from
the setuptools package on Python 2.```



### 19.6
```----

* Added a new entry script ``setuptools.launch``,
implementing the shim found in
``pip.util.setuptools_build``. Use this command to launch
distutils-only packages under setuptools in the same way that
pip does, causing the setuptools monkeypatching of distutils
to be invoked prior to invoking a script. Useful for debugging
or otherwise installing a distutils-only package under
setuptools when pip isn't available or otherwise does not
expose the desired functionality. For example::

 $ python -m setuptools.launch setup.py develop

* Issue 488: Fix dual manifestation of Extension class in
extension packages installed as dependencies when Cython
is present.```



### 19.5
```----

* Issue 486: Correct TypeError when getfilesystemencoding
returns None.
* Issue 139: Clarified the license as MIT.
* BB Pull Request 169: Removed special handling of command
spec in scripts for Jython.```



### 19.4.1
```------

* Issue 487: Use direct invocation of ``importlib.machinery``
in ``pkg_resources`` to avoid missing detection on relevant
platforms.```



### 19.4
```----

* Issue 341: Correct error in path handling of package data
files in ``build_py`` command when package is empty.
* Distribute 323, Issue 141, Issue 207, and
BB Pull Request 167: Another implementation of
``pkg_resources.WorkingSet`` and ``pkg_resources.Distribution``
that supports replacing an extant package with a new one,
allowing for setup_requires dependencies to supersede installed
packages for the session.```



### 19.3
```----

* Issue 229: Implement new technique for readily incorporating
dependencies conditionally from vendored copies or primary
locations. Adds a new dependency on six.```



### 19.2
```----

* BB Pull Request 163: Add get_command_list method to Distribution.
* BB Pull Request 162: Add missing whitespace to multiline string
literals.```



### 19.1.1
```------

* Issue 476: Cast version to string (using default encoding)
to avoid creating Unicode types on Python 2 clients.
* Issue 477: In Powershell downloader, use explicit rendering
of strings, rather than rely on ``repr``, which can be
incorrect (especially on Python 2).```



### 19.1
```----

* Issue 215: The bootstrap script ``ez_setup.py`` now
automatically detects
the latest version of setuptools (using PyPI JSON API) rather
than hard-coding a particular value.
* Issue 475: Fix incorrect usage in _translate_metadata2.```



### 19.0
```----

* Issue 442: Use RawConfigParser for parsing .pypirc file.
Interpolated values are no longer honored in .pypirc files.```



### 18.8.1
```------

* Issue 440: Prevent infinite recursion when a SandboxViolation
or other UnpickleableException occurs in a sandbox context
with setuptools hidden. Fixes regression introduced in Setuptools
12.0.```



### 18.8
```----

* Deprecated ``egg_info.get_pkg_info_revision``.
* Issue 471: Don't rely on repr for an HTML attribute value in
package_index.
* Issue 419: Avoid errors in FileMetadata when the metadata directory
is broken.
* Issue 472: Remove deprecated use of 'U' in mode parameter
when opening files.```



### 18.7.1
```------

* Issue 469: Refactored logic for Issue 419 fix to re-use metadata
loading from Provider.```



### 18.7
```----

* Update dependency on certify.
* BB Pull Request 160: Improve detection of gui script in
``easy_install._adjust_header``.
* Made ``test.test_args`` a non-data property; alternate fix
for the issue reported in BB Pull Request 155.
* Issue 453: In ``ez_setup`` bootstrap module, unload all
``pkg_resources`` modules following download.
* BB Pull Request 158: Honor PEP-488 when excluding
files for namespace packages.
* Issue 419 and BB Pull Request 144: Add experimental support for
reading the version info from distutils-installed metadata rather
than using the version in the filename.```



### 18.6.1
```------

* Issue 464: Correct regression in invocation of superclass on old-style
class on Python 2.```



### 18.6
```----

* Issue 439: When installing entry_point scripts under development,
omit the version number of the package, allowing any version of the
package to be used.```



### 18.5
```----

* In preparation for dropping support for Python 3.2, a warning is
now logged when pkg_resources is imported on Python 3.2 or earlier
Python 3 versions.
* `Add support for python_platform_implementation environment marker
<https://github.com/jaraco/setuptools/pull/28>`_.
* `Fix dictionary mutation during iteration
<https://github.com/jaraco/setuptools/pull/29>`_.```



### 18.4
```----

* Issue 446: Test command now always invokes unittest, even
if no test suite is supplied.```



### 18.3.2
```------

* Correct another regression in setuptools.findall
where the fix for Python 12885 was lost.```



### 18.3.1
```------

* Issue 425: Correct regression in setuptools.findall.```



### 18.3
```----

* BB Pull Request 135: Setuptools now allows disabling of
the manipulation of the sys.path
during the processing of the easy-install.pth file. To do so, set
the environment variable ``SETUPTOOLS_SYS_PATH_TECHNIQUE`` to
anything but "rewrite" (consider "raw"). During any install operation
with manipulation disabled, setuptools packages will be appended to
sys.path naturally.

Future versions may change the default behavior to disable
manipulation. If so, the default behavior can be retained by setting
the variable to "rewrite".

* Issue 257: ``easy_install --version`` now shows more detail
about the installation location and Python version.

* Refactor setuptools.findall in preparation for re-submission
back to distutils.```



### 18.2
```----

* Issue 412: More efficient directory search in ``find_packages``.```



### 18.1
```----

* Upgrade to vendored packaging 15.3.```



### 18.0.1
```------

* Issue 401: Fix failure in test suite.```



### 18.0
```----

* Dropped support for builds with Pyrex. Only Cython is supported.
* Issue 288: Detect Cython later in the build process, after
``setup_requires`` dependencies are resolved.
Projects backed by Cython can now be readily built
with a ``setup_requires`` dependency. For example::

 ext = setuptools.Extension('mylib', ['src/CythonStuff.pyx', 'src/CStuff.c'])
 setuptools.setup(
     ...
     ext_modules=[ext],
     setup_requires=['cython'],
 )

For compatibility with older versions of setuptools, packagers should
still include ``src/CythonMod.c`` in the source distributions or
require that Cython be present before building source distributions.
However, for systems with this build of setuptools, Cython will be
downloaded on demand.
* Issue 396: Fixed test failure on OS X.
* BB Pull Request 136: Remove excessive quoting from shebang headers
for Jython.```



### 17.1.1
```------

* Backed out unintended changes to pkg_resources, restoring removal of
deprecated imp module (`ref
<https://bitbucket.org/pypa/setuptools/commits/f572ec9563d647fa8d4ffc534f2af8070ea07a8bcomment-1881283>`_).```



### 17.1
```----

* Issue 380: Add support for range operators on environment
marker evaluation.```



### 17.0
```----

* Issue 378: Do not use internal importlib._bootstrap module.
* Issue 390: Disallow console scripts with path separators in
the name. Removes unintended functionality and brings behavior
into parity with pip.```



### 16.0
```----

* BB Pull Request 130: Better error messages for errors in
parsed requirements.
* BB Pull Request 133: Removed ``setuptools.tests`` from the
installed packages.
* BB Pull Request 129: Address deprecation warning due to usage
of imp module.```



### 15.2
```----

* Issue 373: Provisionally expose
``pkg_resources._initialize_master_working_set``, allowing for
imperative re-initialization of the master working set.```



### 15.1
```----

* Updated to Packaging 15.1 to address Packaging 28.
* Fix ``setuptools.sandbox._execfile()`` with Python 3.1.```



### 15.0
```----

* BB Pull Request 126: DistributionNotFound message now lists the package or
packages that required it. E.g.::

   pkg_resources.DistributionNotFound: The 'colorama>=0.3.1' distribution was not found and is required by smlib.log.

Note that zc.buildout once dependended on the string rendering of this
message to determine the package that was not found. This expectation
has since been changed, but older versions of buildout may experience
problems. See Buildout 242 for details.```



### 14.3.1
```------

* Issue 307: Removed PEP-440 warning during parsing of versions
in ``pkg_resources.Distribution``.
* Issue 364: Replace deprecated usage with recommended usage of
``EntryPoint.load``.```



### 14.3
```----

* Issue 254: When creating temporary egg cache on Unix, use mode 755
for creating the directory to avoid the subsequent warning if
the directory is group writable.```



### 14.2
```----

* Issue 137: Update ``Distribution.hashcmp`` so that Distributions with
None for pyversion or platform can be compared against Distributions
defining those attributes.```



### 14.1.1
```------

* Issue 360: Removed undesirable behavior from test runs, preventing
write tests and installation to system site packages.```



### 14.1
```----

* BB Pull Request 125: Add ``__ne__`` to Requirement class.
* Various refactoring of easy_install.```



### 14.0
```----

* Bootstrap script now accepts ``--to-dir`` to customize save directory or
allow for re-use of existing repository of setuptools versions. See
BB Pull Request 112 for background.
* Issue 285: ``easy_install`` no longer will default to installing
packages to the "user site packages" directory if it is itself installed
there. Instead, the user must pass ``--user`` in all cases to install
packages to the user site packages.
This behavior now matches that of "pip install". To configure
an environment to always install to the user site packages, consider
using the "install-dir" and "scripts-dir" parameters to easy_install
through an appropriate distutils config file.```



### 13.0.2
```------

* Issue 359: Include pytest.ini in the sdist so invocation of py.test on the
sdist honors the pytest configuration.```



### 13.0.1
```------

Re-release of 13.0. Intermittent connectivity issues caused the release
process to fail and PyPI uploads no longer accept files for 13.0.```



### 13.0
```----

* Issue 356: Back out BB Pull Request 119 as it requires Setuptools 10 or later
as the source during an upgrade.
* Removed build_py class from setup.py. According to 892f439d216e, this
functionality was added to support upgrades from old Distribute versions,
0.6.5 and 0.6.6.```



### 12.4
```----

* BB Pull Request 119: Restore writing of ``setup_requires`` to metadata
(previously added in 8.4 and removed in 9.0).```



### 12.3
```----

* Documentation is now linked using the rst.linker package.
* Fix ``setuptools.command.easy_install.extract_wininst_cfg()``
with Python 2.6 and 2.7.
* Issue 354. Added documentation on building setuptools
documentation.```



### 12.2
```----

* Issue 345: Unload all modules under pkg_resources during
``ez_setup.use_setuptools()``.
* Issue 336: Removed deprecation from ``ez_setup.use_setuptools``,
as it is clearly still used by buildout's bootstrap. ``ez_setup``
remains deprecated for use by individual packages.
* Simplified implementation of ``ez_setup.use_setuptools``.```



### 12.1
```----

* BB Pull Request 118: Soften warning for non-normalized versions in
Distribution.```



### 12.0.5
```------

* Issue 339: Correct Attribute reference in ``cant_write_to_target``.
* Issue 336: Deprecated ``ez_setup.use_setuptools``.```



### 12.0.4
```------

* Issue 335: Fix script header generation on Windows.```



### 12.0.3
```------

* Fixed incorrect class attribute in ``install_scripts``. Tests would be nice.```



### 12.0.2
```------

* Issue 331: Fixed ``install_scripts`` command on Windows systems corrupting
the header.```



### 12.0.1
```------

* Restore ``setuptools.command.easy_install.sys_executable`` for pbr
compatibility. For the future, tools should construct a CommandSpec
explicitly.```



### 12.0
```----

* Issue 188: Setuptools now support multiple entities in the value for
``build.executable``, such that an executable of "/usr/bin/env my-python" may
be specified. This means that systems with a specified executable whose name
has spaces in the path must be updated to escape or quote that value.
* Deprecated ``easy_install.ScriptWriter.get_writer``, replaced by ``.best()``
with slightly different semantics (no force_windows flag).```



### 11.3.1
```------

* Issue 327: Formalize and restore support for any printable character in an
entry point name.```



### 11.3
```----

* Expose ``EntryPoint.resolve`` in place of EntryPoint._load, implementing the
simple, non-requiring load. Deprecated all uses of ``EntryPoint._load``
except for calling with no parameters, which is just a shortcut for
``ep.require(); ep.resolve();``.

Apps currently invoking ``ep.load(require=False)`` should instead do the
following if wanting to avoid the deprecating warning::

 getattr(ep, "resolve", lambda: ep.load(require=False))()```



### 11.2
```----

* Pip 2326: Report deprecation warning at stacklevel 2 for easier diagnosis.```



### 11.1
```----

* Issue 281: Since Setuptools 6.1 (Issue 268), a ValueError would be raised
in certain cases where VersionConflict was raised with two arguments, which
occurred in ``pkg_resources.WorkingSet.find``. This release adds support
for indicating the dependent packages while maintaining support for
a VersionConflict when no dependent package context is known. New unit tests
now capture the expected interface.```



### 11.0
```----

* Interop 3: Upgrade to Packaging 15.0; updates to PEP 440 so that >1.7 does
not exclude 1.7.1 but does exclude 1.7.0 and 1.7.0.post1.```



### 10.2.1
```------

* Issue 323: Fix regression in entry point name parsing.```



### 10.2
```----

* Deprecated use of EntryPoint.load(require=False). Passing a boolean to a
function to select behavior is an anti-pattern. Instead use
``Entrypoint._load()``.
* Substantial refactoring of all unit tests. Tests are now much leaner and
re-use a lot of fixtures and contexts for better clarity of purpose.```



### 10.1
```----

* Issue 320: Added a compatibility implementation of
``sdist._default_revctrl``
so that systems relying on that interface do not fail (namely, Ubuntu 12.04
and similar Debian releases).```



### 10.0.1
```------

* Issue 319: Fixed issue installing pure distutils packages.```



### 10.0
```----

* Issue 313: Removed built-in support for subversion. Projects wishing to
retain support for subversion will need to use a third party library. The
extant implementation is being ported to `setuptools_svn
<https://pypi.org/project/setuptools_svn/>`_.
* Issue 315: Updated setuptools to hide its own loaded modules during
installation of another package. This change will enable setuptools to
upgrade (or downgrade) itself even when its own metadata and implementation
change.```



### 9.1
```---

* Prefer vendored packaging library `as recommended
<https://github.com/jaraco/setuptools/commit/170657b68f4b92e7e1bf82f5e19a831f5744af67commitcomment-9109448>`_.```



### 9.0.1
```-----

* Issue 312: Restored presence of pkg_resources API tests (doctest) to sdist.```



### 9.0
```---

* Issue 314: Disabled support for ``setup_requires`` metadata to avoid issue
where Setuptools was unable to upgrade over earlier versions.```



### 8.4
```---

* BB Pull Request 106: Now write ``setup_requires`` metadata.```



### 8.3
```---

* Issue 311: Decoupled pkg_resources from setuptools once again.
``pkg_resources`` is now a package instead of a module.```



### 8.2.1
```-----

* Issue 306: Suppress warnings about Version format except in select scenarios
(such as installation).```



### 8.2
```---

* BB Pull Request 85: Search egg-base when adding egg-info to manifest.```



### 8.1
```---

* Upgrade ``packaging`` to 14.5, giving preference to "rc" as designator for
release candidates over "c".
* PEP-440 warnings are now raised as their own class,
``pkg_resources.PEP440Warning``, instead of RuntimeWarning.
* Disabled warnings on empty versions.```



### 8.0.4
```-----

* Upgrade ``packaging`` to 14.4, fixing an error where there is a
different result for if 2.0.5 is contained within >2.0dev and >2.0.dev even
though normalization rules should have made them equal.
* Issue 296: Add warning when a version is parsed as legacy. This warning will
make it easier for developers to recognize deprecated version numbers.```



### 8.0.3
```-----

* Issue 296: Restored support for ``__hash__`` on parse_version results.```



### 8.0.2
```-----

* Issue 296: Restored support for ``__getitem__`` and sort operations on
parse_version result.```



### 8.0.1
```-----

* Issue 296: Restore support for iteration over parse_version result, but
deprecated that usage with a warning. Fixes failure with buildout.```



### 8.0
```---

* Implement PEP 440 within
pkg_resources and setuptools. This change
deprecates some version numbers such that they will no longer be installable
without using the ``===`` escape hatch. See `the changes to test_resources
<https://bitbucket.org/pypa/setuptools/commits/dcd552da643c4448056de84c73d56da6d70769d5chg-setuptools/tests/test_resources.py>`_
for specific examples of version numbers and specifiers that are no longer
supported. Setuptools now "vendors" the `packaging
<https://github.com/pypa/packaging>`_ library.```



### 7.0
```---

* Issue 80, Issue 209: Eggs that are downloaded for ``setup_requires``,
``test_requires``, etc. are now placed in a ``./.eggs`` directory instead of
directly in the current directory. This choice of location means the files
can be readily managed (removed, ignored). Additionally,
later phases or invocations of setuptools will not detect the package as
already installed and ignore it for permanent install (See 209).

This change is indicated as backward-incompatible as installations that
depend on the installation in the current directory will need to account for
the new location. Systems that ignore ``*.egg`` will probably need to be
adapted to ignore ``.eggs``. The files will need to be manually moved or
will be retrieved again. Most use cases will require no attention.```



### 6.1
```---

* Issue 268: When resolving package versions, a VersionConflict now reports
which package previously required the conflicting version.```



### 6.0.2
```-----

* Issue 262: Fixed regression in pip install due to egg-info directories
being omitted. Re-opens Issue 118.```



### 6.0.1
```-----

* Issue 259: Fixed regression with namespace package handling on ``single
version, externally managed`` installs.```



### 6.0
```---

* Issue 100: When building a distribution, Setuptools will no longer match
default files using platform-dependent case sensitivity, but rather will
only match the files if their case matches exactly. As a result, on Windows
and other case-insensitive file systems, files with names such as
'readme.txt' or 'README.TXT' will be omitted from the distribution and a
warning will be issued indicating that 'README.txt' was not found. Other
filenames affected are:

 - README.rst
 - README
 - setup.cfg
 - setup.py (or the script name)
 - test/test*.py

Any users producing distributions with filenames that match those above
case-insensitively, but not case-sensitively, should rename those files in
their repository for better portability.
* BB Pull Request 72: When using ``single_version_externally_managed``, the
exclusion list now includes Python 3.2 ``__pycache__`` entries.
* BB Pull Request 76 and BB Pull Request 78: lines in top_level.txt are now
ordered deterministically.
* Issue 118: The egg-info directory is now no longer included in the list
of outputs.
* Issue 258: Setuptools now patches distutils msvc9compiler to
recognize the specially-packaged compiler package for easy extension module
support on Python 2.6, 2.7, and 3.2.```



### 5.8
```---

* Issue 237: ``pkg_resources`` now uses explicit detection of Python 2 vs.
Python 3, supporting environments where builtins have been patched to make
Python 3 look more like Python 2.```



### 5.7
```---

* Issue 240: Based on real-world performance measures against 5.4, zip
manifests are now cached in all circumstances. The
``PKG_RESOURCES_CACHE_ZIP_MANIFESTS`` environment variable is no longer
relevant. The observed "memory increase" referenced in the 5.4 release
notes and detailed in Issue 154 was likely not an increase over the status
quo, but rather only an increase over not storing the zip info at all.```



### 5.6
```---

* Issue 242: Use absolute imports in svn_utils to avoid issues if the
installing package adds an xml module to the path.```



### 5.5.1
```-----

* Issue 239: Fix typo in 5.5 such that fix did not take.```



### 5.5
```---

* Issue 239: Setuptools now includes the setup_requires directive on
Distribution objects and validates the syntax just like install_requires
and tests_require directives.```



### 5.4.2
```-----

* Issue 236: Corrected regression in execfile implementation for Python 2.6.```



### 5.4.1
```-----

* Python 7776: (ssl_support) Correct usage of host for validation when
tunneling for HTTPS.```



### 5.4
```---

* Issue 154: ``pkg_resources`` will now cache the zip manifests rather than
re-processing the same file from disk multiple times, but only if the
environment variable ``PKG_RESOURCES_CACHE_ZIP_MANIFESTS`` is set. Clients
that package many modules in the same zip file will see some improvement
in startup time by enabling this feature. This feature is not enabled by
default because it causes a substantial increase in memory usage.```



### 5.3
```---

* Issue 185: Make svn tagging work on the new style SVN metadata.
Thanks cazabon!
* Prune revision control directories (e.g .svn) from base path
as well as sub-directories.```



### 5.2
```---

* Added a `Developer Guide
<https://setuptools.readthedocs.io/en/latest/developer-guide.html>`_ to the official
documentation.
* Some code refactoring and cleanup was done with no intended behavioral
changes.
* During install_egg_info, the generated lines for namespace package .pth
files are now processed even during a dry run.```



### 5.1
```---

* Issue 202: Implemented more robust cache invalidation for the ZipImporter,
building on the work in Issue 168. Special thanks to Jurko Gospodnetic and
PJE.```



### 5.0.2
```-----

* Issue 220: Restored script templates.```



### 5.0.1
```-----

* Renamed script templates to end with .tmpl now that they no longer need
to be processed by 2to3. Fixes spurious syntax errors during build/install.```



### 5.0
```---

* Issue 218: Re-release of 3.8.1 to signal that it supersedes 4.x.
* Incidentally, script templates were updated not to include the triple-quote
escaping.```



### 4.0
```---

* Issue 210: ``setup.py develop`` now copies scripts in binary mode rather
than text mode, matching the behavior of the ``install`` command.```



### 3.8
```---

* Extend Issue 197 workaround to include all Python 3 versions prior to
3.2.2.```



### 3.7.1
```-------------------------

* Issue 213: Use legacy StringIO behavior for compatibility under pbr.
* Issue 218: Setuptools 3.8.1 superseded 4.0.1, and 4.x was removed
from the available versions to install.```



### 3.7
```---

* Issue 193: Improved handling of Unicode filenames when building manifests.```



### 3.6
```---

* Issue 203: Honor proxy settings for Powershell downloader in the bootstrap
routine.```



### 3.5.2
```-----

* Issue 168: More robust handling of replaced zip files and stale caches.
Fixes ZipImportError complaining about a 'bad local header'.```



### 3.5.1
```-----

* Issue 199: Restored ``install._install`` for compatibility with earlier
NumPy versions.```



### 3.5
```---

* Issue 195: Follow symbolic links in find_packages (restoring behavior
broken in 3.4).
* Issue 197: On Python 3.1, PKG-INFO is now saved in a UTF-8 encoding instead
of ``sys.getpreferredencoding`` to match the behavior on Python 2.6-3.4.
* Issue 192: Preferred bootstrap location is now
https://bootstrap.pypa.io/ez_setup.py (mirrored from former location).```



### 3.4.4
```-----

* Issue 184: Correct failure where find_package over-matched packages
when directory traversal isn't short-circuited.```



### 3.4.3
```-----

* Issue 183: Really fix test command with Python 3.1.```



### 3.4.2
```-----

* Issue 183: Fix additional regression in test command on Python 3.1.```



### 3.4.1
```-----

* Issue 180: Fix regression in test command not caught by py.test-run tests.```



### 3.4
```---

* Issue 176: Add parameter to the test command to support a custom test
runner: --test-runner or -r.
* Issue 177: Now assume most common invocation 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant