Skip to content

Commit

Permalink
Rewrite news fragment
Browse files Browse the repository at this point in the history
  • Loading branch information
matteius committed Oct 26, 2024
1 parent fe1741f commit 955034b
Showing 1 changed file with 18 additions and 26 deletions.
44 changes: 18 additions & 26 deletions news/6281.bugfix.rst
Original file line number Diff line number Diff line change
@@ -1,26 +1,18 @@
# This patch series improves Pipenv's reverse dependency handling, JSON output support, and upgrade routines, ensuring more accurate dependency management and better error handling.

## Key Changes

* **Reverse Dependency Graph**:
* ``graph --reverse`` now supports JSON output, consistent with ``pipdeptree``.
* Enhanced JSON-tree format for reverse dependencies, improving compatibility with JSON-processing tools.

* **Improved Upgrade Logic**:
* Pre-sync step added before conflict analysis to ensure accurate dependency resolution.
* Early conflict detection prevents incompatible upgrades, improving lock file integrity.
* Enhanced handling of reverse dependencies to avoid unintended conflicts during updates.

* **Refactoring & Consistent Output**:
* Replaced ``click.echo`` calls with ``console`` and ``err`` utilities for consistent output and error handling.
* Streamlined upgrade logic to reduce installation phases and improve performance.

## Bug Fixes

* Fixed incompatibility when using both ``--json`` and ``--json-tree`` flags simultaneously.
* Addressed #6281: Resolved transitive dependency conflicts (e.g., ``google-api-core`` vs. ``protobuf``).
* Updated tests to cover new JSON outputs and compatibility checks.

## Impact

These changes improve accuracy and reliability in complex dependency trees, ensuring robust updates and clearer error reporting.
Fix dependency resolution edge cases and versioning constraints handling:
* Allow JSON format options for ``--reverse`` dependency graph output matching pipdeptree
* Improve installation and upgrade routines to better handle dependencies
* Add ability to specify json output as pipdeptree does
* Add more consistent handling of VCS dependencies and references
* Fix synchronization of development and default dependencies during updates
* Ensure proper propagation of version constraints during updates
* Fix handling of ``~=`` and other version specifiers during updates

Key Changes:
* Improved reverse dependency analysis to catch conflicts earlier in resolution
* Better handling of VCS package lock data, preserving refs and subdirectories
* Fixed issue where VCS references could be lost in lock file when installed via commit hash
* Better handling of pipfile categories during installation and updates
* Corrected logic for development dependency resolution and constraint propagation
* Improved validation and preservation of version specifiers during updates

This improves stability when working with complex dependency trees and version constraints.

0 comments on commit 955034b

Please sign in to comment.