Skip to content

Releases: conda/conda-libmamba-solver

24.9.0

25 Sep 16:23
bbaab52
Compare
Choose a tag to compare

Bug fixes

  • Use Solver instance configuration to initialize the libmamba context without implicitly relying on the conda context settings. (#525)
  • Fix conda-build compatibility regression where arch-specific outputs can't be found in the test phase if a noarch output was built first. (#531)

Docs

  • Add installation workarounds FAQ with conda-standalone. (#505 via #511)
  • Update user guide to reflect conda-libmamba-solver being the default solver in conda. (#516 via #517)
  • Include mamba-org/mamba as a required cloned repository for setting up a dev environment. (#528)

Contributors

24.7.0

17 Jul 16:52
ec765a8
Compare
Choose a tag to compare

Bug fixes

  • Allow wildcards in package names for conda remove (e.g. conda remove "python-*"). (#434 via #435)
  • Avoid duplicate channel listing when using channel-pinned specs like channel::package. (#449)
  • Fix a performance regression where .solv repodata cache files were not being loaded when available. (#481 via #482)
  • Do not ignore virtual packages as input specs. (#480 via #485)
  • Pin libmambapy <2 to defend against upcoming API changes. (#492)

Docs

  • Document development workflows with devcontainers. (#451)

Other

  • Add DevContainer configurations for local development workflows. (#451)

Contributors

Full Changelog: 24.1.0...24.7.0

24.1.0

29 Jan 16:58
2fe2bb5
Compare
Choose a tag to compare

Enhancements

  • Prioritize explicitly requested specs with stricter constraints over implicit ones or name-only specs (e.g. a CLI-specified name=version=build will be sent to the solver before CLI-specified name=version and name). This happens to fix #391. (#381)
  • Load pkgs_dirs records when called in offline mode. (#396 via #423)

Bug fixes

  • Fix a regression introduced in #378, where certain solves would hard crash due to the given specs input order. (#391 via #381)
  • Properly propagate customized local channels (conda-build workspaces). Requires libmamba 1.5.6 or above. (#398 via #401)
  • Do not raise an error if an unsupported MatchSpec field can be safely dropped instead. Currently ignoring url, md5 and sha256. (#418 via #421, #427 via #429).
  • Do not crash if a stateless repodata cache is accessed with --offline or --use-index-cache. (#396 via #423).

Other

  • Remove old SolverOutputState.specs preparation logic from state.py, which was no longer in use since 23.9.0. Instead, enumerate all known specs in a certain order (see Enhancements for details). This list is then consumed by Solver._specs_to_tasks() as usual. (#381)

Contributors

23.12.0

12 Dec 17:10
4986dca
Compare
Choose a tag to compare

Enhancements

  • Add some boundary checks to CONDA_LIBMAMBA_SOLVER_MAX_ATTEMPTS. (#394, #403)

Bug fixes

  • Instantiate IndexHelper in offline mode for compatibility with conda-build. Otherwise
    the index can get out of sync during long build processes. (#386 via #395)

Docs

  • Use new conda-sphinx-theme for documentation site. (#367 via #370)
  • Reorganize the layout of the documentation site. (#370)

Contributors

23.11.1

16 Nov 15:19
3c861ac
Compare
Choose a tag to compare

23.11.1 (2023-11-16)

Enhancements

  • Raise a friendlier InvalidSpec error instead of RuntimeError when libmamba detects a problem in the configured solver jobs. (#352 via #357)
  • Ensure specs, SolverInputState.installed and SolverInputState.virtual containers are consistently sorted. (#378)

Bug fixes

  • Configure pinned specs just once to avoid solver bugs related with their persistence (i.e. inability to downgrade environments if pinned specs are present and a transient dependency needs to be removed). (#354 via #355)
  • Detect whether a channel is part of a multichannel so the latter is used in the PackageRecord entries for conda-build. Fixes an issue with conda-build and custom multichannels. (#363 via #365)
  • Allow authenticated URLs in default_channels and other multichannels. (#364 via #366)
  • Preserve authentication while reloading local channels. (#366)

Contributors

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)