Upgrading pip 18 to 19
Breaking18.1 → 19.3.1Breaking6Security8Platform1Deprecated2New18Changed55Fixed71Other15
BreakingUpgrade verdict
6 breaking changes and a platform requirement change and 7 security fixes.
In plain terms
- The --venv flag on the pip config command is gone. Use the standard virtual environment handling instead.
- The old --process-dependency-links flag no longer exists.
- pip freeze no longer detects SVN editable installs via dependency links.
- If you install from a Subversion repository URL without the svn+ prefix, that no longer works. Add svn+ to the URL to keep the old behavior.
Must act Top 5 of 16 that need code or config changes
Python requirement changed in 19.2: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.* → >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*.
What you must change
Breaking6
Removes the deprecated --venv option from pip config.
pip config--venvRemoves the deprecated --process-dependency-links option.
--process-dependency-linksRemoves the deprecated SVN editable detection based on dependency links during freeze.
freezeRemoves undocumented support for un-prefixed URL requirements pointing to SVN repositories.
svn+Using --build-options in a PEP 517 build now fails with an error instead of silently ignoring the option.
--build-optionsErrors out with an informative message when installing a PEP 517 pyproject.toml source tree using --editable mode.
--editablepyproject.tomlSecurity7
Redacts single-part login credentials from URLs in log messages.
Aborts installation if any archive contains a file which would be placed outside the extraction location.
Hides security-sensitive strings like passwords in log messages related to version control system command invocations.
The pip package before 19.2 for Python allows Directory Traversal when a URL is given in an install command, because a Content-Disposition header can have ../ in a filename, as demonstrated by overwriting the /root/.ssh/authorized_keys file. This occurs in _download_http_url in _internal/download.py.
pip installContent-DispositionHides passwords in output when using --find-links.
--find-linksRedacts the password from the extra index URL when using pip -v.
pip -vRedacts the password from the URL in various log messages.
Platform1
Drops support for EOL Python 3.4.
Deprecations to plan for
Deprecated2
Deprecates support for Python 3.4.
Prints a warning for Python 2.7 about impending End-of-life and prompts migration to Python 3.