Features
--------
- Configuration files may now also be stored under ``sys.prefix``.
- Avoid creating an unnecessary local clone of a Bazaar branch when exporting.
- Include in pip's User-Agent string whether it looks like pip is running
under CI.
- A custom (JSON-encoded) string can now be added to pip's User-Agent
using the ``PIP_USER_AGENT_USER_DATA`` environment variable.
- For consistency, passing ``--no-cache-dir`` no longer affects whether wheels
will be built. In this case, a temporary directory is used.
- Command arguments in ``subprocess`` log messages are now quoted using
``shlex.quote()``.
- Prefix warning and error messages in log output with `WARNING` and `ERROR`.
- Using ``--build-options`` in a PEP 517 build now fails with an error,
rather than silently ignoring the option.
- Error out with an informative message if one tries to install a
``pyproject.toml``-style (PEP 517) source tree using ``--editable`` mode.
- When downloading a package, the ETA and average speed now only update once per second
for better legibility.
Bug Fixes
---------
- The stdout and stderr from VCS commands run by pip as subprocesses (e.g.
``git``, ``hg``, etc.) no longer pollute pip's stdout.
- Fix handling of requests exceptions when dependencies are debundled.
- Make pip's self version check avoid recommending upgrades to prereleases if the
currently-installed version is stable.
- Fixed crash when installing a requirement from a URL that comes from a
dependency without a URL.
- Improve handling of file URIs: correctly handle `file://localhost/...` and don't
try to use UNC paths on Unix.
- Fix ``utils.encoding.auto_decode()`` ``LookupError`` with invalid encodings.
``utils.encoding.auto_decode()`` was broken when decoding Big Endian BOM
byte-strings on Little Endian or vice versa.
- Fix incorrect URL quoting of IPv6 addresses.
- Redact the password from the extra index URL when using ``pip -v``.
- The spinner no longer displays a completion message after subprocess calls
not needing a spinner. It also no longer incorrectly reports an error after
certain subprocess calls to Git that succeeded.
- Fix the handling of editable mode during installs when ``pyproject.toml`` is
present but PEP 517 doesn't require the source tree to be treated as
``pyproject.toml``-style.
- Fix ``NameError`` when handling an invalid requirement.
Vendored Libraries
------------------
- Updated certifi to 2019.3.9
- Updated distro to 1.4.0
- Update progress to 1.5
- Updated pyparsing to 2.4.0
- Updated pkg_resources to 41.0.1 (via setuptools)
Improved Documentation
----------------------
- Make dashes render correctly when displaying long options like
``--find-links`` in the text.