You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+117-2Lines changed: 117 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,118 @@
1
+
2025.0.1 (2025-05-02)
2
+
=====================
3
+
2025.0.2 2025.0.1 (2025-05-02)
4
+
==============================
5
+
6
+
7
+
Bug Fixes
8
+
---------
9
+
10
+
- Cleanup unused dependencies when upgrading packages. `#6386 <https://github.com/pypa/pipenv/issues/6386>`_
11
+
- Fix for ``UnboundLocalError`` in ``ensure_python`` when ``SESSION_IS_INTERACTIVE=False``, using pyenv, and python version in Pipfile not available. `#6389 <https://github.com/pypa/pipenv/issues/6389>`_
12
+
13
+
14
+
2025.0.1 (2025-04-24)
15
+
=====================
16
+
Pipenv 2025.0.1 (2025-04-24)
17
+
============================
18
+
19
+
20
+
Bug Fixes
21
+
---------
22
+
23
+
- Fix for broken import requirements in ``2025.0.0```#6385 <https://github.com/pypa/pipenv/issues/6385>`_
24
+
25
+
26
+
27
+
2025.0.0 (2025-04-24)
28
+
=====================
29
+
Pipenv 2025.0.0 (2025-04-24)
30
+
============================
31
+
32
+
33
+
Features & Improvements
34
+
-----------------------
35
+
36
+
-# Refactor pythonfinder for improved efficiency and PEP 514 support
37
+
38
+
## Summary
39
+
This PR completely refactors the pythonfinder module to improve efficiency, reduce logical errors, and fix support for PEP 514 (Python registration in the Windows registry). The refactoring replaces the complex object hierarchy with a more modular, composition-based approach that is easier to maintain and extend.
40
+
41
+
## Motivation
42
+
The original pythonfinder implementation had several issues:
43
+
* Complex object wrapping with paths as objects, leading to excessive recursion
44
+
* Tight coupling between classes making the code difficult to follow and maintain
45
+
* Broken Windows registry support (PEP 514)
46
+
* Performance issues due to redundant path scanning and inefficient caching
47
+
48
+
## Changes
49
+
***Architecture**: Replaced inheritance-heavy design with a composition-based approach using specialized finders
50
+
***Data Model**: Simplified the data model with a clean ``PythonInfo`` dataclass
51
+
***Windows Support**: Implemented proper PEP 514 support for Windows registry
52
+
***Performance**: Improved caching and reduced redundant operations
53
+
***Error Handling**: Added more specific exceptions and better error handling
54
+
55
+
## Features
56
+
The refactored implementation continues to support all required features:
57
+
* System and user PATH searches
58
+
* pyenv installations
59
+
* asdf installations
60
+
* Windows registry (PEP 514) - now working correctly `#6360 <https://github.com/pypa/pipenv/issues/6360>`_
61
+
- Almost finished with conversion off click echo/secho to rich console outputs. `#6366 <https://github.com/pypa/pipenv/issues/6366>`_
62
+
- Make safety an optional dependency via extras
63
+
64
+
- Removed vendored safety package from pipenv/patched
65
+
- Added safety as an optional dependency via pipenv[safety]
66
+
- Modified check.py to prompt for safety installation if not present
67
+
- Safety installation will not modify user's Pipfile or lockfile `#safety-extras <https://github.com/pypa/pipenv/issues/safety-extras>`_
68
+
69
+
Bug Fixes
70
+
---------
71
+
72
+
- Fix launching PowerShell on UNC paths `#6322 <https://github.com/pypa/pipenv/issues/6322>`_
73
+
- Check if we need to upgrade a package in more than one category. `#6361 <https://github.com/pypa/pipenv/issues/6361>`_
74
+
- Fix issue with default constraints not applying to other package categories. `#6364 <https://github.com/pypa/pipenv/issues/6364>`_
75
+
- Fix for parsing and using the star specifier in install and update/upgrade commands. `#6378 <https://github.com/pypa/pipenv/issues/6378>`_
76
+
- Fixed KeyError when installing packages with invalid Python version specifiers in their metadata. `#6380 <https://github.com/pypa/pipenv/issues/6380>`_
77
+
- Fixed an issue with installing local packages that have spaces in their path names. `#6381 <https://github.com/pypa/pipenv/issues/6381>`_
78
+
-# Improved virtualenv scripts path resolution
79
+
80
+
## Summary
81
+
82
+
This PR refactors the logic for determining virtual environment script paths
83
+
by leveraging ``sysconfig``'s built-in mechanisms. By removing
84
+
platform-dependent logic, ``pipenv`` now offers enhanced compatibility with
85
+
POSIX-like environments, including Cygwin and MinGW. The fix also mitigates
86
+
execution inconsistencies in non-native Windows environments, improving
87
+
portability across platforms.
88
+
89
+
## Motivation
90
+
91
+
The original logic for determining the scripts path was unable to handle the
92
+
deviations of MSYS2 MinGW CPython identifying as ``nt`` platform, yet using a
93
+
POSIX ``{base}/bin`` path, instead of ``{base}/Scripts``.
94
+
95
+
## Changes
96
+
97
+
Removed custom logic for determining virtualenv scripts path in favor of
98
+
retrieving the basename of the path string returned by
The ``check`` command has been deprecated and will be unsupported beyond June 1, 2025.
104
+
Instead of adding a separate ``scan`` command, we've updated the ``check`` command to include a ``--scan`` option.
105
+
106
+
Key changes:
107
+
- Added a ``--scan`` option to the ``check`` command to use the new scan functionality
108
+
- Added a deprecation warning explaining that in future versions, ``check`` will run the scan command by default
109
+
- Better temporary file handling using the ``tempfile`` module to ensure proper cleanup
110
+
- More robust error handling
111
+
112
+
Users are encouraged to start using the ``--scan`` option with the ``check`` command to prepare for the future change.
113
+
This option requires users to obtain and configure an API key from https://pyup.io. `#safety-command <https://github.com/pypa/pipenv/issues/safety-command>`_
114
+
115
+
1
116
2024.4.0 (2025-01-22)
2
117
=====================
3
118
Pipenv 2024.4.0 (2025-01-22)
@@ -16,9 +131,9 @@ Vendored Libraries
16
131
------------------
17
132
18
133
- Remove click.echo from exceptions.py `#6216 <https://github.com/pypa/pipenv/issues/6216>`_
Copy file name to clipboardExpand all lines: docs/cli.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -263,6 +263,7 @@ Checks for security vulnerabilities and PEP 508 marker compliance.
263
263
```bash
264
264
pipenv check [OPTIONS]
265
265
```
266
+
**Note**: The check command is deprecated and will be unsupported beyond 01 June 2025. In future versions, the check command will run the scan command by default. Use the `--scan` option to run the new scan command now.
0 commit comments