Skip to content

2018.10.9 (2018-10-09)

Compare
Choose a tag to compare
@techalchemy techalchemy released this 09 Oct 07:28
acc6d75

2018.10.9 (2018-10-09)

Features & Improvements

  • Added environment variables PIPENV_VERBOSE and PIPENV_QUIET to
    control output verbosity without needing to pass options. #2527
  • Updated test-pypi addon to better support json-api access (forward
    compatibility). Improved testing process for new contributors. #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
  • Added support for pipenv shell on msys and cygwin/mingw/git bash
    for windows. #2641
  • Enhanced resolution of editable and VCS dependencies. #2643
  • Deduplicate and refactor CLI to use stateful arguments and object
    passing. See this issue for reference. #2814

Behavior Changes

  • Virtual environment activation for run is revised to improve
    interpolation with other Python discovery tools. #2503
  • Improve terminal coloring to display better in Powershell. #2511
  • Invoke virtualenv directly for virtual environment creation,
    instead of depending on pew. #2518
  • pipenv --help will now include short help descriptions. #2542
  • Add COMSPEC to fallback option (along with SHELL and
    PYENV_SHELL) if shell detection fails, improving robustness on
    Windows. #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

Bug Fixes

  • Fixed a bug which prevented installation of editable requirements
    using ssh:// style urls #1393

  • VCS Refs for locked local editable dependencies will now update
    appropriately to the latest hash when running pipenv update. #1690

  • .tar.gz and .zip artifacts will now have dependencies installed
    even when they are missing from the lockfile. #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

  • Fixed the ability of pipenv to parse dependency_links from
    setup.py when PIP_PROCESS_DEPENDENCY_LINKS is enabled. #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

  • Fixed non-deterministic resolution issues related to changes to the
    internal package finder in pip 10.
    #2499, #2529, #2589, #2666, #2767, #2785, #2795, #2801, #2824, #2862, #2879, #2894, #2933

  • Fix subshell invocation on Windows for Python 2. #2515

  • Fixed a bug which sometimes caused pipenv to throw a TypeError or
    to run into encoding issues when writing lockfiles on python 2. #2561

  • Improve quoting logic for pipenv run so it works better with
    Windows built-in commands. #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

  • Fixed multiple issues with finding the correct system python
    locations. #2582

  • Catch JSON decoding error to prevent exception when the lock file is
    of invalid format. #2607

  • Fixed a rare bug which could sometimes cause errors when installing
    packages with custom sources. #2610

  • Update requirementslib to fix a bug which could raise an
    UnboundLocalError when parsing malformed VCS URIs. #2617

  • Fixed an issue which prevented passing multiple --ignore
    parameters to pipenv check. #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
  • Fixed a bug which caused paths to be formatted incorrectly when
    using pipenv shell in bash for windows. #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

  • 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

  • Prevent crashing when a virtual environment in WORKON_HOME is
    faulty. #2676

  • Fixed virtualenv creation failure when a .venv file is present in
    the project root. #2680

  • Fixed a bug which could cause the -e/--editable argument on a
    dependency to be accidentally parsed as a dependency itself. #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

  • All markers are now included in pipenv lock --requirements output. #2748

  • Fixed a bug in marker resolution which could cause duplicate and
    non-deterministic markers. #2760

  • Fixed a bug in the dependency resolver which caused regular issues
    when handling setup.py based dependency resolution. #2766

  • Updated vendored dependencies:

    • pip-tools (updated and patched to latest w/ pip 18.0
      compatibilty)
    • 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, #2867, #2880
  • Fixed a bug where pipenv crashes when the WORKON_HOME directory
    does not exist. #2877

  • Fixed pip is not loaded from pipenv's patched one but the system one #2912

  • Fixed various bugs related to pip 18.1 release which prevented
    locking, installation, and syncing, and dumping to a
    requirements.txt file. #2924

Vendored Libraries

  • Pew is no longer vendored. Entry point pewtwo, packages
    pipenv.pew and pipenv.patched.pew are removed. #2521

  • Update pythonfinder to major release 1.0.0 for integration. #2582

  • Update requirementslib to fix a bug which could raise an
    UnboundLocalError when parsing malformed VCS URIs. #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
  • Updated vendored dependencies:

    • pip-tools (updated and patched to latest w/ pip 18.0
      compatibilty)
    • 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, #2935

Improved Documentation

  • Simplified the test configuration process. #2568
  • Updated documentation to use working fortune cookie addon. #2644
  • Added additional information about troubleshooting pipenv shell by
    using the the $PIPENV_SHELL environment variable. #2671
  • Added a link to PEP-440 version specifiers in the documentation
    for additional detail. #2674
  • Added simple example to README.md for installing from git. #2685
  • Stopped recommending --system for Docker contexts. #2762
  • Fixed the example url for doing "pipenv install -e
    some-repo-url#egg=something", it was missing the "egg=" in the
    fragment identifier. #2792
  • Fixed link to the "be cordial" essay in the contribution
    documentation. #2793
  • Clarify pipenv install documentation #2844
  • Replace reference to uservoice with PEEP-000 #2909