Skip to content

Bump pipenv from 2026.2.1 to 2026.4.0#753

Merged
mergify[bot] merged 1 commit intomasterfrom
dependabot/pip/pipenv-2026.4.0
Mar 30, 2026
Merged

Bump pipenv from 2026.2.1 to 2026.4.0#753
mergify[bot] merged 1 commit intomasterfrom
dependabot/pip/pipenv-2026.4.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot bot commented on behalf of github Mar 30, 2026

Bumps pipenv from 2026.2.1 to 2026.4.0.

Release notes

Sourced from pipenv's releases.

Release v2026.4.0

🤖 AI-Generated Changelog

Added

  • --extras CLI option: Specify optional dependency categories directly from the command line
  • --exclude-index flag for requirements command: Exclude index URLs from generated requirements output
  • PIPENV_PYENV_ONLY environment variable: Restrict Python discovery exclusively to pyenv, ignoring other Python installations
  • PIPENV_KEYRING_PROVIDER environment variable: Enable Windows Credential Manager and other keyring backends for private index authentication
  • PEP 440 version specifiers in python_version: Pipfile now accepts full PEP 440 specifiers (e.g., >=3.10) for Python version constraints
  • [build-system] requires support in Pipfile: Define build system requirements directly in Pipfile
  • pipenv sync from pylock.toml: Sync environments using pylock.toml without requiring Pipfile.lock
  • Patch files for pip customizations: Vendored pip customizations are now tracked as patch files for transparency

Changed

  • pipenv sync and install --ignore-pipfile now work without a Pipfile present
  • --system flag support improved across multiple commands
  • --all flag for update and upgrade commands fixed to correctly target all packages
  • PyPI proper_case lookup timeout increased from 0.3s to 3s to reduce failures on slow networks
  • PIPENV_VERSION environment variable is now ignored when running --version flag
  • Fish shell completion now supports file path completion for pipenv run arguments

Fixed

  • Shell detection on Windows: pipenv shell now correctly launches bash or PowerShell instead of defaulting to cmd
  • Shell suspension: pipenv shell now properly suspends with Ctrl+Z (job control restored)
  • Shell startup with interactive prompts: pipenv shell activates correctly even when shell startup scripts produce interactive output
  • PTY echo restore race condition: Fixed synchronization issue in Docker and similar environments
  • Cross-category dependency resolution: Resolved conflicting version pins when resolving dependencies across multiple categories
  • Package name normalization in Pipfile hash: Package names are normalized before computing the Pipfile hash, preventing spurious lockfile invalidation
  • URL-encoded credentials in Pipfile source URLs: Expanded credentials are now URL-encoded to avoid parsing errors
  • sys_platform shorthand markers: Short-form platform markers are now correctly included in pip requirement lines
  • Python version marker evaluation: Fixed resolution failures caused by incorrect python_full_version in marker evaluation, including major-only python_version values
  • Windows py-launcher full-version matching: Correctly matches python_full_version specifiers when using the Windows py launcher
  • Pipfile whitespace and category corruption: Upgrades no longer corrupt unrelated Pipfile sections or strip formatting
  • Symlink preservation: Normalizing the Pipfile path no longer resolves symlinks unexpectedly
  • Transitive PEP 508 file:// URL dependencies: File-scheme dependencies are now correctly recorded during locking
  • Pipfile python_version mismatch with venv: Records the correct Python version when the venv Python and PATH Python disagree
  • Editable local-path handling: Hardened handling of editable installs for local paths
  • distutils missing fallback: Falls back to sysconfig when distutils is unavailable (Python 3.12+)
  • Wheel metadata case preservation: Header install paths now use the wheel metadata package name to preserve original casing
  • pip.conf extra-index hash collection: Hashes from pip.conf extra-index URLs are now collected during locking
  • pip.conf index suppression at install time: Prevents hash mismatch errors caused by pip.conf injecting extra indexes during install
  • Partial updates preserve transitive dependencies: Pinned packages' transitive dependencies are no longer removed during partial updates
  • Private index resolution for dev packages: index_lookup is now populated from all Pipfile sections when locking non-default categories
  • --where exit code: Fixed incorrect exit code for the --where flag
  • _create_builtin_venv_cmd: No longer incorrectly prepends a drive letter to Unix paths when run on Windows
  • venv fallback for alternative interpreters: Falls back to built-in venv when virtualenv fails for non-standard interpreters
  • ResolutionTooDeepError: Fixed excessive recursion caused by incorrect marker evaluation during resolution

... (truncated)

Changelog

Sourced from pipenv's changelog.

2026.4.0 (2026-03-28)

pipenv 2026.4.0 (2026-03-28)

No significant changes.

2026.3.0 (2026-03-28)

pipenv 2026.3.0 (2026-03-28)

Features & Improvements

  • Support --system --python=/path/to/python to install packages to a specific Python interpreter's site-packages. Previously --system always used the default python3 from PATH, ignoring the --python flag. [#3593](https://github.com/pypa/pipenv/issues/3593) <https://github.com/pypa/pipenv/issues/3593>_
  • Add --exclude-index flag to pipenv requirements command to allow users to exclude index URLs (-i and --extra-index-url) from the generated output. This is useful when the index is configured separately in the target environment. [#4398](https://github.com/pypa/pipenv/issues/4398) <https://github.com/pypa/pipenv/issues/4398>_
  • Add --system flag to pipenv update command, allowing system-level package updates without creating a virtualenv. This is useful in Docker environments and other contexts where packages are installed directly to the system Python. [#5584](https://github.com/pypa/pipenv/issues/5584) <https://github.com/pypa/pipenv/issues/5584>_

Bug Fixes

  • pipenv shell now waits for the shell to finish its startup before sending the virtualenv activate script. Previously, interactive prompts during shell startup (e.g. oh-my-zsh's update dialogue) could consume the activate command, leaving the virtualenv unactivated. [#3615](https://github.com/pypa/pipenv/issues/3615) <https://github.com/pypa/pipenv/issues/3615>_

  • pipenv --where now exits with a non-zero exit code (1) when no Pipfile is found, making it suitable for use in scripts and CI pipelines. [#4085](https://github.com/pypa/pipenv/issues/4085) <https://github.com/pypa/pipenv/issues/4085>_

  • Pass through PIP_IGNORE_INSTALLED and PIP_USER environment variables to pip subprocess when using --system. This fixes pipenv install --deploy --system not respecting these environment variables for Docker multi-stage builds.

    Add PIPENV_BREAK_SYSTEM_PACKAGES environment variable to pass --break-system-packages to pip when using --system on PEP 668 externally-managed environments (e.g. Ubuntu 23.04+, Debian 12+). [#4453](https://github.com/pypa/pipenv/issues/4453) <https://github.com/pypa/pipenv/issues/4453>_

  • Fix --system flag causing confusing errors when a stale virtualenv exists from a previously deleted project, or when a virtualenv already exists. When --system is used, pipenv now correctly skips virtualenv creation instead of aborting with "You are attempting to re-create a virtualenv that Pipenv did not create". [#5052](https://github.com/pypa/pipenv/issues/5052) <https://github.com/pypa/pipenv/issues/5052>_

  • Shorthand marker keys in Pipfile entries (e.g. sys_platform = "== 'linux'", platform_machine = "== 'arm64'") now behave identically to the equivalent markers syntax. Previously, using the shorthand form caused pip to resolve and download sub-dependencies on all platforms, even though the top-level package was correctly marked as platform-specific in the lock file. The shorthand keys are now translated to PEP 508 markers before building the pip requirement line, so the resolver skips resolution on non-matching platforms. [#5884](https://github.com/pypa/pipenv/issues/5884) <https://github.com/pypa/pipenv/issues/5884>_

  • Fix Windows py-launcher Python discovery for full version strings such as python_full_version = "3.11.9" in Pipfile and pipenv --python 3.11.9 on the CLI.

... (truncated)

Commits
  • 4cf4758 Release v2026.4.0
  • ddb194c Bumped version to 2026.4.0.
  • 5352f2c Check pt
  • 5ef2f2d Bumped version to 2026.3.0.
  • 7062723 Fix shell detection tests on Windows: patch Path in all os.name-mocked tests
  • 83f9781 Fix shell detection tests: patch Path to PurePosixPath when mocking os.name a...
  • 590c18c Fix shell detection tests: use POSIX paths to avoid WindowsPath on Linux
  • 91d9c55 Add --extras CLI option for optional dependency categories (#6615)
  • a13199a Fix pipenv shell launching wrong shell on Windows (cmd instead of bash/powers...
  • f25caaa Support pipenv sync from pylock.toml without Pipfile.lock (#6614)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [pipenv](https://github.com/pypa/pipenv) from 2026.2.1 to 2026.4.0.
- [Release notes](https://github.com/pypa/pipenv/releases)
- [Changelog](https://github.com/pypa/pipenv/blob/main/CHANGELOG.md)
- [Commits](pypa/pipenv@v2026.2.1...v2026.4.0)

---
updated-dependencies:
- dependency-name: pipenv
  dependency-version: 2026.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Mar 30, 2026
@mergify mergify bot merged commit 42dacbd into master Mar 30, 2026
7 checks passed
@mergify mergify bot deleted the dependabot/pip/pipenv-2026.4.0 branch March 30, 2026 06:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants