Skip to content

Releases: conda/conda-libmamba-solver

23.11.0

02 Nov 21:03
082a163
Compare
Choose a tag to compare

Bug fixes

  • Do not use libmamba's default signal handler so users can Ctrl-C from conda. (#337 via #340)
  • Defer conda-build-specific exception definition and import until it is needed by the solver. (#342)
  • Interpret "excluded by strict priority" solver errors as proper satisfiability conflicts and avoid printing related yet uninformative warnings. (#343)
  • Ensure that historic specs are kept in the environment, even if that means raising a conflict. (#341 via #345)

Docs

  • Document environment variables used for advanced configuration. (#349)

Other

  • Require libmambapy >=1.5.3 for improved signal handling and MatchSpec syntax compliance. (#347)

Contributors

23.9.3

24 Oct 15:43
52b84ac
Compare
Choose a tag to compare

Bug fixes

  • Massage bracket-containing specs (e.g. ca-certificates[version='>=2023']) so they are understood by libmambapy.Query, fixing a bug where conda would erroneously complain about no package records matching the configured pinned specs. (#327 via #328)

Contributors

Full Changelog: 23.9.2...23.9.3

23.9.2

19 Oct 15:37
d137ca5
Compare
Choose a tag to compare

Bug fixes

  • Use the conda version reported at runtime (instead of the one reported by conda list) to figure out whether there are conda updates available. (#316)
  • Allow the index to be empty in --offline runs with no local cache available for the configured channels. (#323)

Contributors

23.9.1

29 Sep 08:51
17c8338
Compare
Choose a tag to compare

Enhancements

  • Increase performance of notify_conda_outdated logic. (#298)

Bug fixes

  • Prevent solver from bouncing between two compatible solutions when the same command is run twice in a row. (#302)

Contributors

23.9.0

28 Sep 08:20
0a5e1d6
Compare
Choose a tag to compare

Enhancements

  • Expose libmamba's repoquery search features as a conda subcommand plugin. (#258)
  • Rewrite how we create tasks for libsolv, making use of libmamba's add_pin features. Requires libmambapy >=1.5.1. (#270, #288)
  • Name-only pins will lock the corresponding package if installed. (conda#13031 via #289)
  • Use the .solv cache for repodata if available and recent. (#295)

Bug fixes

  • Handle commands with no channels passed gracefully. (#256)
  • Workaround for missing noarch field in returned PackageRecord payload. (#257)
  • Port logic from conda/conda#9614, which fixes
    a bug where the --prune flag was not working correctly in conda env update commands.
    (#270)
  • Ensure environments are not aggressively updated to higher priority channels under some conditions. (#240 via #270, #285)
  • Do not inject those channels from installed packages that do not exist or are unavailable. (#262 via #274)
  • Correctly print all configured channels in PackagesNotFoundError exceptions. (#284)
  • Do not crash if a MatchSpec with a build string is specified in the CLI and there's a pinned spec for the same package name. (#286 via #289)
  • Only apply defaults::pkg workarounds for the default value default_channels. (#292)

Deprecations

  • Users won't be able to override pinned specs with incompatible CLI specs anymore. Instead they must modify their pinned specs explicitly. (conda#9016 via #289, #294)

Docs

  • Document intentional deviations from conda's classic solver behavior. (#289)

Other

  • Explain why defaults::pkg_name is broken libmamba 1.5.x (details). (#266)

23.7.0

31 Jul 19:05
dcea516
Compare
Choose a tag to compare

Enhancements

  • Add basic integrations for local channels in conda-build. (#194)

Bug fixes

  • Add backwards-compatible support for the new namespaced settings in libmamba.Context. (#192 via #193)
  • Fixes an error where a user-supplied package in the CLI would get dropped if the argument happened to match a larger string in the argument list. (#221 via #222)
  • Fix authentication in package downloads. (#216 via #226)
  • Fix unhandled channels coming from injected virtual packages in conda-lock. (#230 via #234)
  • Handle URL-encoded channels correctly with recent libmamba versions. (#247 via #248)

Docs

  • Added notes about development workflows with libmamba from source. (#191)

Other

  • Adding libmamba/libmambapy as development dependencies within docker images. (#191)

Contributors

23.5.0

25 May 15:12
da392c8
Compare
Choose a tag to compare

Enhancements

  • Provide a CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED environment variable to prevent
    channels from being injected from installed packages. This is useful for air-gapped environments
    where outside channels are not available. (#108 via #184)
  • Simplify libmambapy.Context initialization so we only set the bits that we use. (#209)
  • Use the new RepoInterface and remove the SubdirData subclass workarounds, which requires conda 23.5.0.
    (#210)

Bug fixes

  • Fix an issue where running conda update <package> would result in the package being downgraded if no newer versions were available. (#71 via #158)
  • Ensure unauthenticated channels are not re-injected in the channel lists from installed packages
    if an authenticated equivalent is already present. (#108 via #184)
  • Honor context.repodata_threads. (#200)
  • Do not set quiet manually when context.json is true. (#187)

Deprecations

  • Remove unneeded user-agent tests. (#183)

Docs

  • Document known solver behavior differences. (#115, #131 via #197)
  • Update development docs to reflect changes in build system and other inaccuracies. (#208)

Other

  • Add tests reproducing the known solver differences. (#115, #131 via #197)
  • Skip tests on libmamba 1.4.2 temporarily to workaround some test failures. Tracked by #186. (#187)

Contributors

23.3.0

31 Mar 12:52
e4d1f4e
Compare
Choose a tag to compare

Enhancements

  • Simplify exception parsing and enable new (experimental) conflict reports in libmamba. (#102 via #103, #160)
  • Use conda's SubdirData for all repodata fetching and caching. (#59, #68 via #65, #171)

Bug fixes

  • Disable lockfiles within libmambapy to conform with conda's behavior of not using them. (#120)
  • Fix JSON serialization errors in some exceptions. (#140 via #142)
  • Fix API breakage upstream: SubdirData.cache_path_json property changed from str to PrefixPath. Depend directly on boltons.setutils.IndexedSet. (#151)
  • Updated bundled conda recipe and corresponding CI workflow. (#166)
  • Bumped minimum conda version from 22.11.1 -> 23.3.0 due to change in boltons IndexedSet. (#170)
  • Add workaround for defaults::<pkg_name> specs. (#173 via #172)

Deprecations

  • Python 3.7 is no longer supported. The minimum version is now 3.8. (#174)

Other

  • Change the build-system to hatchling + hatch-cvs for a setuptools-scm-like versioning setup. (#128 via #127)
  • Add conda-forge based CI environments. (#133)
  • Fix cache directory in flaky test. (#157)
  • CI: Pin minio to 2023-03-13T19-46-17Z to avoid breaking changes. (#159)
  • Require libmamba 1.4.1 or greater and remove unused code paths. (#165)

Contributors

Full Changelog: 23.1.0...23.3.0

23.1.0

31 Jan 12:31
f7b559f
Compare
Choose a tag to compare

Bug fixes

  • Fix "Packages Not Found" error messages to be more accurate and informative. (#96 via #101)
  • Ensure solves are deterministic and input order independent. (#75 via #111)
  • Fix compatibility errors with newer conda versions >=23.1.0 since we are using an internal API SubdirData. (#118 via #119)

Docs

  • Mention expected versions and how to upgrade from experimental builds. (#89 via #93)

Other

  • CI: Add scheduled runs with self-reported issues. (#60 via #106)
  • Fix typo in workflow documentation so it is consistent with the setup page. (#110)

Contributors

22.12.0

01 Dec 17:00
eed448a
Compare
Choose a tag to compare

Upgrade notice

To upgrade to conda-libmamba-solver 22.12.0 please update to conda 22.11.0 using the "classic" solver first:

$ CONDA_EXPERIMENTAL_SOLVER=classic conda install -n base conda=22.11.0

and then install a new version of conda-libmamba-solver:

$ CONDA_EXPERIMENTAL_SOLVER=classic conda install -n base conda-libmamba-solver=22.12.0

Added

Changed

  • The conda-libmamba-solver package is now generally available, removes the experimental label. (#53)
  • The index will also load channels only listed as part the installed packages in the active prefix. (#52)
  • Updated compatibility to mamba 1.0.0 and conda 22.11.0. (#78)

Deprecated

  • Deprecate support for Python 3.6.x.

Fixed

  • Fixed a wrong dependency on libmambapy. (#90)
  • If missing or empty, package records will have their subdir field populated by the channel platform. (#53)

New Contributors

Full Changelog: 22.8.1...22.12.0