Released v9.0.0

* **BACKWARD INCOMPATIBLE** Remove the attempted autodetection of requirement
  names from URLs, URLs must include a name via `#egg=`.

* **DEPRECATION** ``pip install --egg`` have been deprecated and will be
  removed in the future. This "feature" has a long list of drawbacks where it
  breaks almost all of pip's other features in subtle and hard to diagnose
  ways.

* Add a pip check command to check installed packages dependencies
  (:pull:`3750`).

* Added option to allow user to abort pip operation if file/directory exists

* Added Appveyor CI

* Uninstall existing packages when performing an editable installation of
  the same packages (:issue:`1548`).

* Pip show is less verbose by default. `--verbose` prints multiline fields.
  (:pull:`3858`).

* Added optional column formatting to ``pip list`` (:issue:`3651`).

* Add `--not-required` option to ``pip list`` to list packages that are
  not dependencies of other packages.

* Fix the build on systems with symlinked /tmp directory for custom
  builds such as numpy (:pull:`3701`).

* Fix regression in pip freeze: when there is more than one git remote,
  priority is given to the remote named origin (:pull:`3708`, :issue:`3616`).

* Fix crash when calling pip freeze with invalid requirement installed
  (:pull:`3704`, :issue:`3681`).

* Support multiple --requirement files in pip freeze (:pull:`3703`).

* Implementation of pep-503 ``data-requires-python``. When this field is
  present for a release link, pip will ignore the download when
  installing to a Python version that doesn't satisfy the requirement.

* Pip wheel now works on editable packages too (it was only working on
  editable dependencies before); this allows running pip wheel on the result
  of pip freeze in presence of editable requirements (:pull:`3695`,
  :issue:`3291`).

* Load credentials from .netrc files (:pull:`3715`, :issue:`3569`).

* Add --platform, --python-version, --implementation and --abi parameters to
  ``pip download``. These allow utilities and advanced users to gather
  distributions for interpreters other than the one pip is being run on.
  (:pull:`3760`)

* Skip scanning virtual environments even when venv/bin/python is a dangling
  symlink.

* Added pip completion support for fish shell.

* Fix problems on Windows on Python 2 when username or hostname contains
  non-ASCII characters (:issue:`3463`, :pull:`3970`, :pull:`4000`).

* Use git fetch --tags to fetch tags in addition to everything else that
  is normally fetched; this is necessary in case a git requirement url
  points to a tag or commit that is not on a branch (:pull:`3791`)

* Normalize package names before using in ``pip show`` (:issue:`3976`)

* Raise when Requires-Python do not match the running version and add
  ``--ignore-requires-python`` option as escape hatch (:pull:`3846`).

* Report the correct installed version when performing an upgrade in some
  corner cases (:issue:`2382`)

* Add -i shorthand for --index flag in pip search

* Do not optionally load C dependencies in requests (:issue:`1840`,
  :issue:`2930`, :issue:`3024`)

* Strip authentication from SVN url prior to passing it into svn
  (:pull:`3697`, :issue:`3209`).

* Also install in platlib with --target option (:pull:`3694`, :issue:`3682`).

* Restore the ability to use inline comments in requirements files passed to
  ``pip freeze`` (:issue:`3680`).

* Deprecate --default-vcs option (:issue:`4052`).