|
| 1 | +21.2.2 (2021-07-31) |
| 2 | +=================== |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | +Bug Fixes |
| 7 | +--------- |
| 8 | + |
| 9 | +- New resolver: When a package is specified with extras in constraints, and with |
| 10 | + extras in non-constraint requirements, the resolver now correctly identifies the |
| 11 | + constraint's existence and avoids backtracking. (`#10233 <https://github.com/pypa/pip/issues/10233>`_) |
| 12 | + |
| 13 | + |
| 14 | +21.2.1 (2021-07-25) |
| 15 | +=================== |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | +Process |
| 20 | +------- |
| 21 | + |
| 22 | +- The source distribution re-installation feature removal has been delayed to 21.3. |
| 23 | + |
| 24 | + |
| 25 | +21.2 (2021-07-24) |
| 26 | +================= |
| 27 | + |
| 28 | + |
| 29 | + |
| 30 | +Process |
| 31 | +------- |
| 32 | + |
| 33 | +- ``pip freeze``, ``pip list``, and ``pip show`` no longer normalize underscore |
| 34 | + (``_``) in distribution names to dash (``-``). This is a side effect of the |
| 35 | + migration to ``importlib.metadata``, since the underscore-dash normalization |
| 36 | + behavior is non-standard and specific to setuptools. This should not affect |
| 37 | + other parts of pip (for example, when feeding the ``pip freeze`` result back |
| 38 | + into ``pip install``) since pip internally performs standard PEP 503 |
| 39 | + normalization independently to setuptools. |
| 40 | + |
| 41 | +Deprecations and Removals |
| 42 | +------------------------- |
| 43 | + |
| 44 | +- Git version parsing is now done with regular expression to prepare for the |
| 45 | + pending upstream removal of non-PEP-440 version parsing logic. (`#10117 <https://github.com/pypa/pip/issues/10117>`_) |
| 46 | +- Re-enable the "Value for ... does not match" location warnings to field a new |
| 47 | + round of feedback for the ``distutils``-``sysconfig`` transition. (`#10151 <https://github.com/pypa/pip/issues/10151>`_) |
| 48 | +- Remove deprecated ``--find-links`` option in ``pip freeze`` (`#9069 <https://github.com/pypa/pip/issues/9069>`_) |
| 49 | + |
| 50 | +Features |
| 51 | +-------- |
| 52 | + |
| 53 | +- New resolver: Loosen URL comparison logic when checking for direct URL reference |
| 54 | + equivalency. The logic includes the following notable characteristics: |
| 55 | + |
| 56 | + * The authentication part of the URL is explicitly ignored. |
| 57 | + * Most of the fragment part, including ``egg=``, is explicitly ignored. Only |
| 58 | + ``subdirectory=`` and hash values (e.g. ``sha256=``) are kept. |
| 59 | + * The query part of the URL is parsed to allow ordering differences. (`#10002 <https://github.com/pypa/pip/issues/10002>`_) |
| 60 | +- Support TOML v1.0.0 syntax in ``pyproject.toml``. (`#10034 <https://github.com/pypa/pip/issues/10034>`_) |
| 61 | +- Added a warning message for errors caused due to Long Paths being disabled on Windows. (`#10045 <https://github.com/pypa/pip/issues/10045>`_) |
| 62 | +- Change the encoding of log file from default text encoding to UTF-8. (`#10071 <https://github.com/pypa/pip/issues/10071>`_) |
| 63 | +- Log the resolved commit SHA when installing a package from a Git repository. (`#10149 <https://github.com/pypa/pip/issues/10149>`_) |
| 64 | +- Add a warning when passing an invalid requirement to ``pip uninstall``. (`#4958 <https://github.com/pypa/pip/issues/4958>`_) |
| 65 | +- Add new subcommand ``pip index`` used to interact with indexes, and implement |
| 66 | + ``pip index version`` to list available versions of a package. (`#7975 <https://github.com/pypa/pip/issues/7975>`_) |
| 67 | +- When pip is asked to uninstall a project without the dist-info/RECORD file |
| 68 | + it will no longer traceback with FileNotFoundError, |
| 69 | + but it will provide a better error message instead, such as:: |
| 70 | + |
| 71 | + ERROR: Cannot uninstall foobar 0.1, RECORD file not found. You might be able to recover from this via: 'pip install --force-reinstall --no-deps foobar==0.1'. |
| 72 | + |
| 73 | + When dist-info/INSTALLER is present and contains some useful information, the info is included in the error message instead:: |
| 74 | + |
| 75 | + ERROR: Cannot uninstall foobar 0.1, RECORD file not found. Hint: The package was installed by rpm. |
| 76 | + |
| 77 | + (`#8954 <https://github.com/pypa/pip/issues/8954>`_) |
| 78 | +- Add an additional level of verbosity. ``--verbose`` (and the shorthand ``-v``) now |
| 79 | + contains significantly less output, and users that need complete full debug-level output |
| 80 | + should pass it twice (``--verbose --verbose`` or ``-vv``). (`#9450 <https://github.com/pypa/pip/issues/9450>`_) |
| 81 | +- New resolver: The order of dependencies resolution has been tweaked to traverse |
| 82 | + the dependency graph in a more breadth-first approach. (`#9455 <https://github.com/pypa/pip/issues/9455>`_) |
| 83 | +- Make "yes" the default choice in ``pip uninstall``'s prompt. (`#9686 <https://github.com/pypa/pip/issues/9686>`_) |
| 84 | +- Add a special error message when users forget the ``-r`` flag when installing. (`#9915 <https://github.com/pypa/pip/issues/9915>`_) |
| 85 | +- New resolver: A distribution's ``Requires-Python`` metadata is now checked |
| 86 | + before its Python dependencies. This makes the resolver fail quicker when |
| 87 | + there's an interpreter version conflict. (`#9925 <https://github.com/pypa/pip/issues/9925>`_) |
| 88 | +- Suppress "not on PATH" warning when ``--prefix`` is given. (`#9931 <https://github.com/pypa/pip/issues/9931>`_) |
| 89 | +- Include ``rustc`` version in pip's ``User-Agent``, when the system has ``rustc``. (`#9987 <https://github.com/pypa/pip/issues/9987>`_) |
| 90 | + |
| 91 | +Bug Fixes |
| 92 | +--------- |
| 93 | + |
| 94 | +- Update vendored six to 1.16.0 and urllib3 to 1.26.5 (`#10043 <https://github.com/pypa/pip/issues/10043>`_) |
| 95 | +- Correctly allow PEP 517 projects to be detected without warnings in ``pip freeze``. (`#10080 <https://github.com/pypa/pip/issues/10080>`_) |
| 96 | +- Strip leading slash from a ``file://`` URL built from an path with the Windows |
| 97 | + drive notation. This fixes bugs where the ``file://`` URL cannot be correctly |
| 98 | + used as requirement, constraint, or index URLs on Windows. (`#10115 <https://github.com/pypa/pip/issues/10115>`_) |
| 99 | +- New resolver: URL comparison logic now treats ``file://localhost/`` and |
| 100 | + ``file:///`` as equivalent to conform to RFC 8089. (`#10162 <https://github.com/pypa/pip/issues/10162>`_) |
| 101 | +- Prefer credentials from the URL over the previously-obtained credentials from URLs of the same domain, so it is possible to use different credentials on the same index server for different ``--extra-index-url`` options. (`#3931 <https://github.com/pypa/pip/issues/3931>`_) |
| 102 | +- Fix extraction of files with utf-8 encoded paths from tars. (`#7667 <https://github.com/pypa/pip/issues/7667>`_) |
| 103 | +- Skip distutils configuration parsing on encoding errors. (`#8931 <https://github.com/pypa/pip/issues/8931>`_) |
| 104 | +- New resolver: Detect an unnamed requirement is user-specified (by building its |
| 105 | + metadata for the project name) so it can be correctly ordered in the resolver. (`#9204 <https://github.com/pypa/pip/issues/9204>`_) |
| 106 | +- Fix :ref:`pip freeze` to output packages :ref:`installed from git <vcs support>` |
| 107 | + in the correct ``git+protocol://git.example.com/MyProject#egg=MyProject`` format |
| 108 | + rather than the old and no longer supported ``git+git@`` format. (`#9822 <https://github.com/pypa/pip/issues/9822>`_) |
| 109 | +- Fix warnings about install scheme selection for Python framework builds |
| 110 | + distributed by Apple's Command Line Tools. (`#9844 <https://github.com/pypa/pip/issues/9844>`_) |
| 111 | +- Relax interpreter detection to quelch a location mismatch warning where PyPy |
| 112 | + is deliberately breaking backwards compatibility. (`#9845 <https://github.com/pypa/pip/issues/9845>`_) |
| 113 | + |
| 114 | +Vendored Libraries |
| 115 | +------------------ |
| 116 | + |
| 117 | +- Upgrade certifi to 2021.05.30. |
| 118 | +- Upgrade idna to 3.2. |
| 119 | +- Upgrade packaging to 21.0 |
| 120 | +- Upgrade requests to 2.26.0. |
| 121 | +- Upgrade resolvelib to 0.7.1. |
| 122 | +- Upgrade urllib3 to 1.26.6. |
| 123 | + |
| 124 | + |
1 | 125 | .. note
|
2 | 126 |
|
3 | 127 | You should *NOT* be adding new change log entries to this file, this
|
|
0 commit comments