Resolvelib

Latest version: v1.1.0

Safety actively analyzes 701507 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 4

0.5.3

==================

Bug Fixes
---------

- Fix a state management bug that causes the resolver to enter an infinite loop
in certain backtracking cases. `62 <https://github.com/sarugaku/resolvelib/issues/62>`_

0.5.2

==================

Bug Fixes
---------

- Fix a performance regression if ``find_matches()`` returns a non-built-in sequence instance.

0.5.1

==================

Features
--------

- ``find_matches()`` now may return a ``Callable[[], Iterator[Candidate]]`` to avoid needing to provide all candidates eagerly for the resolver. This improves performance when fetching candidates is costly, but not always required. `57 <https://github.com/sarugaku/resolvelib/issues/57>`_

0.4.0

==================

Features
--------

- Add ``parent`` argument to the ``add_requirement()`` reporter hook. `46 <https://github.com/sarugaku/resolvelib/issues/46>`_

- Redesign ``find_matches()`` to support a requirement "adding" candidates to the set, and nudge the provider away from implementing ``find_matches()`` and ``is_satisfied_by()`` with incorrect set properties. `49 <https://github.com/sarugaku/resolvelib/issues/49>`_

0.3.0

==================

Features
--------

- Provide both the requirements and their parents as exceptiondata for the ``ResolutionImpossible`` exception, via a ``causes`` attribute that replaces the previous ``requirements`` attribute. `42 <https://github.com/sarugaku/resolvelib/issues/42>`_


Bug Fixes
---------

- Make resolver backtrack when none of the candidates requested for a package are able to resolve due to them requesting unworkable requirements, or a package has no candidates at all. Previously the resolver would give up on the spot. `18 <https://github.com/sarugaku/resolvelib/issues/18>`_

- Ensure the result returned by the resolver only contains candidates that are actually needed. This is done by tracing the graph after resolution completes, snipping nodes that don’t have a route to the root. `4 <https://github.com/sarugaku/resolvelib/issues/4>`_

0.2.2

==================

Features
--------

- Remove reporting callbacks `adding_requirements`, `adding_candidate`, and `replacing_candidate` added in 0.2.1. These are not useful, and it’s better to remove them while we can. `6 <https://github.com/sarugaku/resolvelib/issues/6>`_

Page 3 of 4

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.