Pipenv v2018.10.9 Release Notes

Release Date: 2018-10-09 // almost 2 years ago
  • ๐Ÿ”‹ Features & Improvements

    • Added environment variables PIPENV_VERBOSE and PIPENV_QUIET to control output verbosity without needing to pass options. #2527 <https://github.com/pypa/pipenv/issues/2527>_

    • โšก๏ธ Updated test-PyPI add-on to better support json-API access (forward compatibility). Improved testing process for new contributors. #2568 <https://github.com/pypa/pipenv/issues/2568>_

    • Greatly enhanced python discovery functionality:

      • Added pep514 (windows launcher/finder) support for python discovery.
      • Introduced architecture discovery for python installations which support different architectures. #2582 <https://github.com/pypa/pipenv/issues/2582>_
    • โž• Added support for pipenv shell on msys and cygwin/mingw/git bash for Windows. #2641 <https://github.com/pypa/pipenv/issues/2641>_

    • โœจ Enhanced resolution of editable and VCS dependencies. #2643 <https://github.com/pypa/pipenv/issues/2643>_

    • Deduplicate and refactor CLI to use stateful arguments and object passing. See this issue <https://github.com/pallets/click/issues/108>_ for reference. #2814 <https://github.com/pypa/pipenv/issues/2814>_

    Behavior Changes

    • Virtual environment activation for run is revised to improve interpolation with other Python discovery tools. #2503 <https://github.com/pypa/pipenv/issues/2503>_

    • ๐Ÿ‘Œ Improve terminal coloring to display better in Powershell. #2511 <https://github.com/pypa/pipenv/issues/2511>_

    • Invoke virtualenv directly for virtual environment creation, instead of depending on pew. #2518 <https://github.com/pypa/pipenv/issues/2518>_

    • pipenv --help will now include short help descriptions. #2542 <https://github.com/pypa/pipenv/issues/2542>_

    • โž• Add COMSPEC to fallback option (along with SHELL and PYENV_SHELL) if shell detection fails, improving robustness on Windows. #2651 <https://github.com/pypa/pipenv/issues/2651>_

    • ๐Ÿ Fallback to shell mode if run fails with Windows error 193 to handle non-executable commands. This should improve usability on Windows, where some users run non-executable files without specifying a command, relying on Windows file association to choose the current command. #2718 <https://github.com/pypa/pipenv/issues/2718>_

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixed a bug which prevented installation of editable requirements using ssh:// style URLs #1393 <https://github.com/pypa/pipenv/issues/1393>_

    • โšก๏ธ VCS Refs for locked local editable dependencies will now update appropriately to the latest hash when running pipenv update. #1690 <https://github.com/pypa/pipenv/issues/1690>_

    • .tar.gz and .zip artifacts will now have dependencies installed even when they are missing from the Lockfile. #2173 <https://github.com/pypa/pipenv/issues/2173>_

    • ๐Ÿ“œ The command line parser will now handle multiple -e/--editable dependencies properly via click's option parser to help mitigate future parsing issues. #2279 <https://github.com/pypa/pipenv/issues/2279>_

    • ๐Ÿ”— Fixed the ability of pipenv to parse dependency_links from setup.py when PIP_PROCESS_DEPENDENCY_LINKS is enabled. #2434 <https://github.com/pypa/pipenv/issues/2434>_

    • ๐Ÿ›  Fixed a bug which could cause -i/--index arguments to sometimes be incorrectly picked up in packages. This is now handled in the command line parser. #2494 <https://github.com/pypa/pipenv/issues/2494>_

    • ๐Ÿ›  Fixed non-deterministic resolution issues related to changes to the internal package finder in pip 10. #2499 <https://github.com/pypa/pipenv/issues/2499>, #2529 <https://github.com/pypa/pipenv/issues/2529>, #2589 <https://github.com/pypa/pipenv/issues/2589>, #2666 <https://github.com/pypa/pipenv/issues/2666>, #2767 <https://github.com/pypa/pipenv/issues/2767>, #2785 <https://github.com/pypa/pipenv/issues/2785>, #2795 <https://github.com/pypa/pipenv/issues/2795>, #2801 <https://github.com/pypa/pipenv/issues/2801>, #2824 <https://github.com/pypa/pipenv/issues/2824>, #2862 <https://github.com/pypa/pipenv/issues/2862>, #2879 <https://github.com/pypa/pipenv/issues/2879>, #2894 <https://github.com/pypa/pipenv/issues/2894>, #2933 <https://github.com/pypa/pipenv/issues/2933>_

    • ๐Ÿ›  Fix subshell invocation on Windows for Python 2. #2515 <https://github.com/pypa/pipenv/issues/2515>_

    • ๐Ÿ›  Fixed a bug which sometimes caused pipenv to throw a TypeError or to run into encoding issues when writing a Lockfile on python 2. #2561 <https://github.com/pypa/pipenv/issues/2561>_

    • ๐Ÿ‘Œ Improve quoting logic for pipenv run so it works better with Windows built-in commands. #2563 <https://github.com/pypa/pipenv/issues/2563>_

    • ๐Ÿ›  Fixed a bug related to parsing VCS requirements with both extras and subdirectory fragments. Corrected an issue in the requirementslib parser which led to some markers being discarded rather than evaluated. #2564 <https://github.com/pypa/pipenv/issues/2564>_

    • ๐Ÿ›  Fixed multiple issues with finding the correct system python locations. #2582 <https://github.com/pypa/pipenv/issues/2582>_

    • ๐Ÿ”’ Catch JSON decoding error to prevent exception when the lock file is of invalid format. #2607 <https://github.com/pypa/pipenv/issues/2607>_

    • ๐Ÿ›  Fixed a rare bug which could sometimes cause errors when installing packages with custom sources. #2610 <https://github.com/pypa/pipenv/issues/2610>_

    • โšก๏ธ Update requirementslib to fix a bug which could raise an UnboundLocalError when parsing malformed VCS URIs. #2617 <https://github.com/pypa/pipenv/issues/2617>_

    • ๐Ÿ›  Fixed an issue which prevented passing multiple --ignore parameters to pipenv check. #2632 <https://github.com/pypa/pipenv/issues/2632>_

    • ๐Ÿ›  Fixed a bug which caused attempted hashing of ssh:// style URIs which could cause failures during installation of private ssh repositories.

      • Corrected path conversion issues which caused certain editable VCS paths to be converted to ssh:// URIs improperly. #2639 <https://github.com/pypa/pipenv/issues/2639>_
    • ๐Ÿ›  Fixed a bug which caused paths to be formatted incorrectly when using pipenv shell in bash for windows. #2641 <https://github.com/pypa/pipenv/issues/2641>_

    • ๐Ÿ–จ Dependency links to private repositories defined via ssh:// schemes will now install correctly and skip hashing as long as PIP_PROCESS_DEPENDENCY_LINKS=1. #2643 <https://github.com/pypa/pipenv/issues/2643>_

    • ๐Ÿ“œ Fixed a bug which sometimes caused pipenv to parse the trusted_host argument to pip incorrectly when parsing source URLs which specify verify_ssl = false. #2656 <https://github.com/pypa/pipenv/issues/2656>_

    • Prevent crashing when a virtual environment in WORKON_HOME is faulty. #2676 <https://github.com/pypa/pipenv/issues/2676>_

    • ๐Ÿ›  Fixed virtualenv creation failure when a .venv file is present in the project root. #2680 <https://github.com/pypa/pipenv/issues/2680>_

    • ๐Ÿ›  Fixed a bug which could cause the -e/--editable argument on a dependency to be accidentally parsed as a dependency itself. #2714 <https://github.com/pypa/pipenv/issues/2714>_

    • Correctly pass verbose and debug flags to the resolver subprocess so it generates appropriate output. This also resolves a bug introduced by the fix to #2527. #2732 <https://github.com/pypa/pipenv/issues/2732>_

    • ๐Ÿ”’ All markers are now included in pipenv lock --requirements output. #2748 <https://github.com/pypa/pipenv/issues/2748>_

    • ๐Ÿ›  Fixed a bug in marker resolution which could cause duplicate and non-deterministic markers. #2760 <https://github.com/pypa/pipenv/issues/2760>_

    • ๐Ÿ›  Fixed a bug in the dependency resolver which caused regular issues when handling setup.py based dependency resolution. #2766 <https://github.com/pypa/pipenv/issues/2766>_

    • โšก๏ธ Updated vendored dependencies:

      • pip-tools (updated and patched to latest w/ pip 18.0 compatibility)
      • pip 10.0.1 => 18.0
      • click 6.7 => 7.0
      • toml 0.9.4 => 0.10.0
      • pyparsing 2.2.0 => 2.2.2
      • delegator 0.1.0 => 0.1.1
      • attrs 18.1.0 => 18.2.0
      • distlib 0.2.7 => 0.2.8
      • packaging 17.1.0 => 18.0
      • passa 0.2.0 => 0.3.1
      • pip_shims 0.1.2 => 0.3.1
      • plette 0.1.1 => 0.2.2
      • pythonfinder 1.0.2 => 1.1.0
      • pytoml 0.1.18 => 0.1.19
      • requirementslib 1.1.16 => 1.1.17
      • shellingham 1.2.4 => 1.2.6
      • tomlkit 0.4.2 => 0.4.4
      • vistir 0.1.4 => 0.1.6 #2802 <https://github.com/pypa/pipenv/issues/2802>, #2867 <https://github.com/pypa/pipenv/issues/2867>, #2880 <https://github.com/pypa/pipenv/issues/2880>_
    • Fixed a bug where pipenv crashes when the WORKON_HOME directory does not exist. #2877 <https://github.com/pypa/pipenv/issues/2877>_

    • ๐Ÿ›  Fixed pip is not loaded from pipenv's patched one but the system one #2912 <https://github.com/pypa/pipenv/issues/2912>_

    • ๐Ÿ›  Fixed various bugs related to pip 18.1 release which prevented locking, installation, and syncing, and dumping to a requirements.txt file. #2924 <https://github.com/pypa/pipenv/issues/2924>_

    Vendored Libraries

    • ๐Ÿ“ฆ Pew is no longer vendored. Entry point pewtwo, packages pipenv.pew and pipenv.patched.pew are removed. #2521 <https://github.com/pypa/pipenv/issues/2521>_

    • ๐Ÿš€ Update pythonfinder to major release 1.0.0 for integration. #2582 <https://github.com/pypa/pipenv/issues/2582>_

    • โšก๏ธ Update requirementslib to fix a bug which could raise an UnboundLocalError when parsing malformed VCS URIs. #2617 <https://github.com/pypa/pipenv/issues/2617>_

      • Vendored new libraries vistir and pip-shims, tomlkit, modutil, and plette.
      • Update vendored libraries:
      • scandir to 1.9.0
      • click-completion to 0.4.1
      • semver to 2.8.1
      • shellingham to 1.2.4
      • pytoml to 0.1.18
      • certifi to 2018.8.24
      • ptyprocess to 0.6.0
      • requirementslib to 1.1.5
      • pythonfinder to 1.0.2
      • pipdeptree to 0.13.0
      • python-dotenv to 0.9.1 #2639 <https://github.com/pypa/pipenv/issues/2639>_
    • โšก๏ธ Updated vendored dependencies:

      • pip-tools (updated and patched to latest w/ pip 18.0 compatibility)
      • pip 10.0.1 => 18.0
      • click 6.7 => 7.0
      • toml 0.9.4 => 0.10.0
      • pyparsing 2.2.0 => 2.2.2
      • delegator 0.1.0 => 0.1.1
      • attrs 18.1.0 => 18.2.0
      • distlib 0.2.7 => 0.2.8
      • packaging 17.1.0 => 18.0
      • passa 0.2.0 => 0.3.1
      • pip_shims 0.1.2 => 0.3.1
      • plette 0.1.1 => 0.2.2
      • pythonfinder 1.0.2 => 1.1.0
      • pytoml 0.1.18 => 0.1.19
      • requirementslib 1.1.16 => 1.1.17
      • shellingham 1.2.4 => 1.2.6
      • tomlkit 0.4.2 => 0.4.4
      • vistir 0.1.4 => 0.1.6 #2902 <https://github.com/pypa/pipenv/issues/2902>, #2935 <https://github.com/pypa/pipenv/issues/2935>

    ๐Ÿ‘Œ Improved Documentation

    • ๐Ÿ”ง Simplified the test configuration process. #2568 <https://github.com/pypa/pipenv/issues/2568>_

    • ๐Ÿ“š Updated documentation to use working fortune cookie add-on. #2644 <https://github.com/pypa/pipenv/issues/2644>_

    • Added additional information about troubleshooting pipenv shell by using the the $PIPENV_SHELL environment variable. #2671 <https://github.com/pypa/pipenv/issues/2671>_

    • โž• Added a link to PEP-440 version specifiers in the documentation for additional detail. #2674 <https://github.com/pypa/pipenv/issues/2674>_

    • โž• Added simple example to README.md for installing from git. #2685 <https://github.com/pypa/pipenv/issues/2685>_

    • ๐Ÿณ Stopped recommending --system for Docker contexts. #2762 <https://github.com/pypa/pipenv/issues/2762>_

    • ๐Ÿ›  Fixed the example url for doing "pipenv install -e some-repository-url#egg=something", it was missing the "egg=" in the fragment identifier. #2792 <https://github.com/pypa/pipenv/issues/2792>_

    • ๐Ÿ›  Fixed link to the "be cordial" essay in the contribution documentation. #2793 <https://github.com/pypa/pipenv/issues/2793>_

    • ๐Ÿ“š Clarify pipenv install documentation #2844 <https://github.com/pypa/pipenv/issues/2844>_

    • Replace reference to uservoice with PEEP-000 #2909 <https://github.com/pypa/pipenv/issues/2909>_