Releases: conda/conda-libmamba-solver
Releases Β· conda/conda-libmamba-solver
25.11.0
β¨ Special Announcement β¨
This release includes preliminary support for fetching CEP 16 sharded repodata, a substantially more efficient way of distributing the necessary metadata to install packages in your environments.
You can try it by:
- Enabling it in your settings with
conda config --set plugins.use_sharded_repodata true - Setting this environment variable:
CONDA_PLUGINS_USE_SHARDED_REPODATA=1
Note that sharded repodata requires that the target channels expose the necessary metadata too, so it will only work with CEP-16-ready deployments. conda-libmamba-solver will fallback to traditional (monolithic) repodata if not available, so you can mix sharded and non-sharded channels without problems.
Enhancements
- Add experimental support for CEP 16 sharded repodata. Enable it with
conda config --set plugins.use_sharded_repodata trueorCONDA_PLUGINS_USE_SHARDED_REPODATA=1. (#684, #695, #696, #715 via #722, #730, #748, #736, #756, #762)- When sharded repodata is enabled, the solver checks every channel for an index,
repodata_shards.msgpack.zst, and re-checks every 7 days if not found. It builds a subset of
repodata by recursively traversing the dependencies of all installed and requested packages,
using shards to fetch only the package metadata that could possibly be part of the solution from
each channel. This smaller amount of package metadata is sent to the solver. Sharded repodata can
save a significant amount of bandwith, memory, and parse time when installing packages. - Cache shards in a sqlite database in
${CONDA_PREFIX}/pkgs/cache/repodata_shards.db. - This implementation does not use shards for
conda searchor other repodata uses that do not
include a solve.
- When sharded repodata is enabled, the solver checks every channel for an index,
- Add support for CEP 17
python_site_packages_path. (#560 via #628) - Add new messaging for when
condais outdated, environment is frozen, andconda-selfis installed. (#753 via #766) - Add a codspeed benchmarking GitHub action and a few benchmarks. (#754 via #755)
Bug fixes
- Constrain the torchvision version in
test_pytorch_gpu. (#659 via #661) - Correctly record channel platform in conda-meta record files. (#662 via #663)
- Import
CondaSolverfrom its canonical location inconda.plugins.types. (#691) - The
cpuonlymutex now correctly prevents CUDA packages from being installed, matching classic solver behavior. (#131 via #741)
Deprecations
- Replace deprecated
conda.core.index._supplement_index_with_systemwithconda.core.index.Index().system_packages. (#654 via #655) - Drop support for Python 3.9. (#747)
Docs
- Update documentation to reflect that the cudatoolkit/cpuonly issue has been resolved for the libmamba solver. (#131)
- Document the sharded repodata implementation. (#756, #745)
Other
- Improve repository server in test suite. (#700)
- Add Python 3.13 to the CI matrix. (#747)
- Test osx-64 with
conda-forge, and osx-arm64 withdefaults, since Anaconda does not build osx-64 dependencies anymore. (#729, #747)
Contributors
- @agriyakhetarpal made their first contribution in #741
- @dholth
- @jaimergp
- @jezdez
- @jjhelmus
- @kenodegard
- @stacynoland made their first contribution in #766
- @travishathaway
25.4.0
Enhancements
- Use
conda.reporters.get_spinner()to support conda reporter plugins. (#641)
Bug fixes
- Always percent-encode spaces in
file://channel URLs. (#640) - Fix a bug where auto-selection of GPU variants of
pytorchandtorchvisiondidn't work as expected. (#646 via #647) - Avoid
libmambaMatchSpecparsing errors by skipping nameless channel information in passed specs. (#645 via #648)
Contributors
25.3.0
Bug fixes
- Fix issue with content trust post-solve hooks that prevented signatures from being verified when the solved package records didn't include subdir information in their channel metadata. (#616 via #617)
- Protect against
conda.base.context.context.restore_free_channeldeprecation by usinggetattr. (#629) - Remove all packages with
--no-deps, not just the last one to be analyzed. (#632)
Docs
- Mention conda ecosystem's adaptation of
libsolv. (#624)
Contributors
25.1.1
25.1.0
24.11.1
24.11.0
24.11.0rc
Enhancements
- Require
libmambapyv2. This is a big refactor inlibmambainternals, which also allowed us to remove a lot of code inconda-libmamba-solver. (#457)
Deprecations
CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLEDhas no effect anymore. Channels coming from installed packages are no longer added to the channel list. (#411 via #457)- Removed
conda_libmamba_solver.state.BaseIndexHelper. The base class is nowconda_libmamba_solver.index.IndexHelper. (#457) - Verbose logging in
libsolvhas a big overhead inlibmambav2, so we have disabled it by default (even if the user adds-vvvflags to the CLI). To opt-in, please setCONDA_LIBMAMBA_SOLVER_DEBUG_LIBSOLVto a truthy value. (#457) - Python 3.8 is no longer supported. The minimum version is now 3.9. (#457)
Contributors
24.9.0
Bug fixes
- Use
Solverinstance configuration to initialize thelibmambacontext without implicitly relying on thecondacontext settings. (#525) - Fix conda-build compatibility regression where arch-specific outputs can't be found in the test phase if a
noarchoutput 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/mambaas a required cloned repository for setting up a dev environment. (#528)
Contributors
- @jaimergp
- @jjhelmus made their first contribution in #528
- @justmarkham made their first contribution in #510
24.7.0
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
.solvrepodata cache files were not being loaded when available. (#481 via #482) - Do not ignore virtual packages as input specs. (#480 via #485)
- Pin
libmambapy <2to defend against upcoming API changes. (#492)
Docs
- Document development workflows with devcontainers. (#451)
Other
- Add DevContainer configurations for local development workflows. (#451)
Contributors
- @jaimergp
- @tl-hbk made their first contribution in #449
- @zklaus made their first contribution in #476
Full Changelog: 24.1.0...24.7.0