- Pipenv-created virtualenvs will now be associated with a
.project
folder (features can be implemented on top of this later or users may choose to usepipenv-pipes
to take full advantage of this.) #1861 - Virtualenv names will now appear in prompts for most Windows users. #2167
- Added support for cmder shell paths with spaces. #2168
- Added nested JSON output to the
pipenv graph
command. #2199 - Dropped vendored pip 9 and vendored, patched, and migrated to pip 10. Updated patched piptools version. #2255
- PyPI mirror URLs can now be set to override instances of PyPI urls by passing
the
--pypi-mirror
argument from the command line or setting thePIPENV_PYPI_MIRROR
environment variable. #2281 - Virtualenv activation lines will now avoid being written to some shell history files. #2287
- Pipenv will now only search for
requirements.txt
files when creating new projects, and during that time only if the user doesn't specify packages to pass in. #2309 - Added support for mounted drives via UNC paths. #2331
- Added support for Windows Subsystem for Linux bash shell detection. #2363
- Pipenv will now generate hashes much more quickly by resolving them in a single pass during locking. #2384
pipenv run
will now avoid spawning additionalCOMSPEC
instances to run commands in when possible. #2385- Massive internal improvements to requirements parsing codebase, resolver, and error messaging. #2388
pipenv check
now may take multiple of the additional argument--ignore
which takes a parametercve_id
for the purpose of ignoring specific CVEs. #2408
- Pipenv will now parse & capitalize
platform_python_implementation
markers .. warning:: This could cause an issue if you have an out of datePipfile
which lowercases the comparison value (e.g.cpython
instead ofCPython
). #2123 - Pipenv will now only search for
requirements.txt
files when creating new projects, and during that time only if the user doesn't specify packages to pass in. #2309
- Massive internal improvements to requirements parsing codebase, resolver, and error messaging. #1962, #2186, #2263, #2312
- Pipenv will now parse & capitalize
platform_python_implementation
markers. #2123 - Fixed a bug with parsing and grouping old-style
setup.py
extras during resolution #2142 - Fixed a bug causing pipenv graph to throw unhelpful exceptions when running against empty or non-existent environments. #2161
- Fixed a bug which caused
--system
to incorrectly abort when users were in a virtualenv. #2181 - Removed vendored
cacert.pem
which could cause issues for some users with custom certificate settings. #2193 - Fixed a regression which led to direct invocations of
virtualenv
, rather than calling it by module. #2198 - Locking will now pin the correct VCS ref during
pipenv update
runs. Runningpipenv update
with a new vcs ref specified in thePipfile
will now properly obtain, resolve, and install the specified dependency at the specified ref. #2209 pipenv clean
will now correctly ignore comments frompip freeze
when cleaning the environment. #2262- Resolution bugs causing packages for incompatible python versions to be locked have been fixed. #2267
- Fixed a bug causing pipenv graph to fail to display sometimes. #2268
- Updated
requirementslib
to fix a bug in pipfile parsing affecting relative path conversions. #2269 - Windows executable discovery now leverages
os.pathext
. #2298 - Fixed a bug which caused
--deploy --system
to inadvertently create a virtualenv before failing. #2301 - Fixed an issue which led to a failure to unquote special characters in file and wheel paths. #2302
- VCS dependencies are now manually obtained only if they do not match the requested ref. #2304
- Added error handling functionality to properly cope with single-digit
Requires-Python
metatdata with no specifiers. #2377 pipenv update
will now always run the resolver and lock before ensuring your dependencies are in sync with your lockfile. #2379- Resolved a bug in our patched resolvers which could cause nondeterministic
resolution failures in certain conditions. Running
pipenv install
with no arguments in a project with only aPipfile
will now correctly lock first for dependency resolution before installing. #2384 - Patched
python-dotenv
to ensure that environment variables always get encoded to the filesystem encoding. #2386
- Update documentation wording to clarify Pipenv's overall role in the packaging ecosystem. #2194
- Added contribution documentation and guidelines. #2205
- Added instructions for supervisord compatibility. #2215
- Fixed broken links to development philosophy and contribution documentation. #2248
Removed vendored
cacert.pem
which could cause issues for some users with custom certificate settings. #2193Dropped vendored pip 9 and vendored, patched, and migrated to pip 10. Updated patched piptools version. #2255
Updated
requirementslib
to fix a bug in pipfile parsing affecting relative path conversions. #2269Added custom shell detection library
shellingham
, a port of our changes topew
. #2363Patched
python-dotenv
to ensure that environment variables always get encoded to the filesystem encoding. #2386Updated vendored libraries. The following vendored libraries were updated:
- distlib from version
0.2.6
to0.2.7
. - jinja2 from version
2.9.5
to2.10
. - pathlib2 from version
2.1.0
to2.3.2
. - parse from version
2.8.0
to2.8.4
. - pexpect from version
2.5.2
to2.6.0
. - requests from version
2.18.4
to2.19.1
. - idna from version
2.6
to2.7
. - certifi from version
2018.1.16
to2018.4.16
. - packaging from version
16.8
to17.1
. - six from version
1.10.0
to1.11.0
. - requirementslib from version
0.2.0
to1.0.1
.
In addition, scandir was vendored and patched to avoid importing host system binaries when falling back to pathlib2. #2368
- distlib from version