|
7 | 7 | To add a new change log entry, please see
|
8 | 8 | https://pip.pypa.io/en/latest/development/contributing/#news-entries
|
9 | 9 |
|
10 |
| -
|
11 | 10 | .. towncrier release notes start
|
12 | 11 |
|
| 12 | +21.3.1 (2021-10-22) |
| 13 | +=================== |
| 14 | + |
| 15 | + |
| 16 | +Bug Fixes |
| 17 | +--------- |
| 18 | + |
| 19 | + |
| 20 | +- Always refuse installing or building projects that have no ``pyproject.toml`` nor |
| 21 | + ``setup.py``. (`#10531 <https://github.com/pypa/pip/issues/10531>`_) |
| 22 | +- Tweak running-as-root detection, to check ``os.getuid`` if it exists, on Unix-y and non-Linux/non-MacOS machines. (`#10565 <https://github.com/pypa/pip/issues/10565>`_) |
| 23 | +- When installing projects with a ``pyproject.toml`` in editable mode, and the build |
| 24 | + backend does not support :pep:`660`, prepare metadata using |
| 25 | + ``prepare_metadata_for_build_wheel`` instead of ``setup.py egg_info``. Also, refuse |
| 26 | + installing projects that only have a ``setup.cfg`` and no ``setup.py`` nor |
| 27 | + ``pyproject.toml``. These restore the pre-21.3 behaviour. (`#10573 <https://github.com/pypa/pip/issues/10573>`_) |
| 28 | +- Restore compatibility of where configuration files are loaded from on MacOS (back to ``Library/Application Support/pip``, instead of ``Preferences/pip``). (`#10585 <https://github.com/pypa/pip/issues/10585>`_) |
| 29 | + |
| 30 | +Vendored Libraries |
| 31 | +------------------ |
| 32 | + |
| 33 | + |
| 34 | +- Upgrade pep517 to 0.12.0 |
| 35 | + |
| 36 | + |
| 37 | +21.3 (2021-10-11) |
| 38 | +================= |
| 39 | + |
| 40 | +Deprecations and Removals |
| 41 | +------------------------- |
| 42 | + |
| 43 | +- Improve deprecation warning regarding the copying of source trees when installing from a local directory. (`#10128 <https://github.com/pypa/pip/issues/10128>`_) |
| 44 | +- Suppress location mismatch warnings when pip is invoked from a Python source |
| 45 | + tree, so ``ensurepip`` does not emit warnings on CPython ``make install``. (`#10270 <https://github.com/pypa/pip/issues/10270>`_) |
| 46 | +- On Python 3.10 or later, the installation scheme backend has been changed to use |
| 47 | + ``sysconfig``. This is to anticipate the deprecation of ``distutils`` in Python |
| 48 | + 3.10, and its scheduled removal in 3.12. For compatibility considerations, pip |
| 49 | + installations running on Python 3.9 or lower will continue to use ``distutils``. (`#10358 <https://github.com/pypa/pip/issues/10358>`_) |
| 50 | +- Remove the ``--build-dir`` option and aliases, one last time. (`#10485 <https://github.com/pypa/pip/issues/10485>`_) |
| 51 | +- In-tree builds are now the default. ``--use-feature=in-tree-build`` is now |
| 52 | + ignored. ``--use-deprecated=out-of-tree-build`` may be used temporarily to ease |
| 53 | + the transition. (`#10495 <https://github.com/pypa/pip/issues/10495>`_) |
| 54 | +- Un-deprecate source distribution re-installation behaviour. (`#8711 <https://github.com/pypa/pip/issues/8711>`_) |
| 55 | + |
| 56 | +Features |
| 57 | +-------- |
| 58 | + |
| 59 | +- Replace vendored appdirs with platformdirs. (`#10202 <https://github.com/pypa/pip/issues/10202>`_) |
| 60 | +- Support `PEP 610 <https://www.python.org/dev/peps/pep-0610/>`_ to detect |
| 61 | + editable installs in ``pip freeze`` and ``pip list``. The ``pip list`` column output |
| 62 | + has a new ``Editable project location`` column, and the JSON output has a new |
| 63 | + ``editable_project_location`` field. (`#10249 <https://github.com/pypa/pip/issues/10249>`_) |
| 64 | +- ``pip freeze`` will now always fallback to reporting the editable project |
| 65 | + location when it encounters a VCS error while analyzing an editable |
| 66 | + requirement. Before, it sometimes reported the requirement as non-editable. (`#10410 <https://github.com/pypa/pip/issues/10410>`_) |
| 67 | +- ``pip show`` now sorts ``Requires`` and ``Required-By`` alphabetically. (`#10422 <https://github.com/pypa/pip/issues/10422>`_) |
| 68 | +- Do not raise error when there are no files to remove with ``pip cache purge/remove``. |
| 69 | + Instead log a warning and continue (to log that we removed 0 files). (`#10459 <https://github.com/pypa/pip/issues/10459>`_) |
| 70 | +- When backtracking during dependency resolution, prefer the dependencies which are involved in the most recent conflict. This can significantly reduce the amount of backtracking required. (`#10479 <https://github.com/pypa/pip/issues/10479>`_) |
| 71 | +- Cache requirement objects, to improve performance reducing reparses of requirement strings. (`#10550 <https://github.com/pypa/pip/issues/10550>`_) |
| 72 | +- Support editable installs for projects that have a ``pyproject.toml`` and use a |
| 73 | + build backend that supports :pep:`660`. (`#8212 <https://github.com/pypa/pip/issues/8212>`_) |
| 74 | +- When a revision is specified in a Git URL, use git's partial clone feature to speed up source retrieval. (`#9086 <https://github.com/pypa/pip/issues/9086>`_) |
| 75 | +- Add a ``--debug`` flag, to enable a mode that doesn't log errors and propagates them to the top level instead. This is primarily to aid with debugging pip's crashes. (`#9349 <https://github.com/pypa/pip/issues/9349>`_) |
| 76 | +- If a host is explicitly specified as trusted by the user (via the --trusted-host option), cache HTTP responses from it in addition to HTTPS ones. (`#9498 <https://github.com/pypa/pip/issues/9498>`_) |
| 77 | + |
| 78 | +Bug Fixes |
| 79 | +--------- |
| 80 | + |
| 81 | +- Present a better error message, when a ``file:`` URL is not found. (`#10263 <https://github.com/pypa/pip/issues/10263>`_) |
| 82 | +- Fix the auth credential cache to allow for the case in which |
| 83 | + the index url contains the username, but the password comes |
| 84 | + from an external source, such as keyring. (`#10269 <https://github.com/pypa/pip/issues/10269>`_) |
| 85 | +- Fix double unescape of HTML ``data-requires-python`` and ``data-yanked`` attributes. (`#10378 <https://github.com/pypa/pip/issues/10378>`_) |
| 86 | +- New resolver: Fixes depth ordering of packages during resolution, e.g. a dependency 2 levels deep will be ordered before a dependency 3 levels deep. (`#10482 <https://github.com/pypa/pip/issues/10482>`_) |
| 87 | +- Correctly indent metadata preparation messages in pip output. (`#10524 <https://github.com/pypa/pip/issues/10524>`_) |
| 88 | + |
| 89 | +Vendored Libraries |
| 90 | +------------------ |
| 91 | + |
| 92 | +- Remove appdirs as a vendored dependency. |
| 93 | +- Upgrade distlib to 0.3.3 |
| 94 | +- Upgrade distro to 1.6.0 |
| 95 | +- Patch pkg_resources to use platformdirs rather than appdirs. |
| 96 | +- Add platformdirs as a vendored dependency. |
| 97 | +- Upgrade progress to 1.6 |
| 98 | +- Upgrade resolvelib to 0.8.0 |
| 99 | +- Upgrade urllib3 to 1.26.7 |
| 100 | + |
| 101 | +Improved Documentation |
| 102 | +---------------------- |
| 103 | + |
| 104 | +- Update links of setuptools as setuptools moved these documents. The Simple Repository link now points to PyPUG as that is the canonical place of packaging specification, and setuptools's ``easy_install`` is deprecated. (`#10430 <https://github.com/pypa/pip/issues/10430>`_) |
| 105 | +- Create a "Build System Interface" reference section, for documenting how pip interacts with build systems. (`#10497 <https://github.com/pypa/pip/issues/10497>`_) |
| 106 | + |
| 107 | + |
13 | 108 | 21.2.4 (2021-08-12)
|
14 | 109 | ===================
|
15 | 110 |
|
|
0 commit comments