May releases are here! ๐ Conda 23.5.0, conda-build 3.25.0, and conda-libmamba-solver 23.5.0 are now available on both main and conda-forge:
Changes in Condaโ
To update conda, run:
conda install -n base conda=23.5.0
โจ What's New? โจโ
The long-awaited conda doctor subcommand plugin has been implemented! The related conda issue is over nine years old and has been a regularly requested feature. The conda doctor command enables conda users to detect any packages with files missing (i.e., corrupt packages) in their conda environment.
Additionally, the following features and changes can be found in conda 23.5.0:
conda list --reverseis a new option for theconda listcommand which returns a reversed list of installed packages.- Folks who have signature verification enabled will get warnings instead of an
info-level message about misconfiguration. - More functional tests have been added around conda's content trust code.
- For our build system, we switched from
setup.pytopyproject.tomland use Hatchling. - Which Python modules get imported during
conda activatecalls are now optimized for speed. - The
conda_clipytest fixture has been added in order to replaceconda.testing.helpers.run_inprocess_conda_commandandconda.testing.integration.run_command. - The
tmp_envpytest fixture has been added in order to replaceconda.testing.integration.make_temp_env. - The
path_factorypytest fixture has been added to replace custom prefix logic likeconda.testing.integration._get_temp_prefixandconda.testing.integration.make_temp_prefix. - All three of the above pytest fixtures have been documented in the article Integration Tests.
- The way that the
Activatorclasses are defined inconda/activate.pyhas been refactored. - The index cache metadata file
.state.jsonwas renamed to.info.jsonto track draft Repodata Metadata.info.jsonCEP. - Improved cache locking and logging when using
jlap. - The project's README example has changed from IPython Notebook and NumPy to PyTorch.
- Retry language in flexible solve and
repodatalogs are now more user friendly. - Python 3.11 is now supported.
๐ง What Got Fixed? ๐งโ
The following bug fixes were implemented in the 23.5.0 version of conda:
conda cleanno longer fails if it was unable to get the file stats.- If
conda.deprecations.DeprecationHandlerreceives a bad version, a fallback version is provided. - The default value for
defaultsincludesmsys2whencontext.subdiriswin-*on non-Windows platforms. TypeErrors are avoided when non-string types are written to the index cache metadata.conda.core.package_cache_data.UrlsData.get_urlno longer fails whenpackage_pathhas a.condaextension.- No more pre-converting of paths to Unix style on Windows in
conda.sh; this done to make them prefix-replaceable upon installation.
๐ What's Marked for Deprecation? ๐ โ
The following modules and functions were marked for deprecation:
conda_env.pip_util.get_pip_versionconda_env.pip_util.PipPackageconda_env.pip_util.installedconda_env.pip_util._canonicalize_nameconda_env.pip_util.add_pip_installedconda_env.env.load_from_directorypython -m conda_env.cli.main(useconda envinstead)python -m conda_env(useconda envinstead)conda.auxlib.packagingconda.testing.integration.get_conda_list_tuple(useconda.core.prefix_data.PrefixData().get()instead)conda.testing.encode_for_env_varconda.testing.integration.temp_chdir(usemonkeypatch.chdirinstead)
Changes in Conda-Buildโ
To update conda-build, run:
conda install -n base conda-build=3.25.0
โจ What's New? โจโ
In the latest version of conda-build, noarch packages that use virtual packages can now be added to the hash contents of a package. This facilitates the building of noarch packages multiple times for different platforms with platform-specific dependencies. In conda-build 3.25.0, different variants can be built for __linux, __osx, or __win and get non-clashing package file names.
Additionally, the following features and changes can be found in conda-build 3.25.0:
- Support for
svnsource credentials (svn_usernameandsvn_password). - Standalone
conda-indexis now utilized instead of bundled indexing code. - For our build system, we switched from
setup.pytopyproject.tomland use Hatchling. - Minor code simplification for
conda_build.index.ChannelIndex._ensuredirs. xattrtest is enabled on MacOS.- Python 3.11 is now supported.
๐ง What Got Fixed? ๐งโ
The following bug fixes were implemented in the 3.25.0 version of conda-build:
tests/commandscan also run in the presence ofrun_test.*.- When rendering a recipe that uses the
load_file_dataJinja2 function, the source is now required. - Download packages during build into the correct
subdirfolder. - A unique
subdirvariable name is used when rebuilding the index for multi-output builds, which fixes an error that occurs during true cross-compilation ofosx-arm64packages fromosx-64.
๐ What's Marked for Deprecation? ๐ โ
- Inline
conda indexlogic (conda-buildstill providesconda-indexa.k.a.conda indexCLI, but uses standaloneconda-indexduring builds). - Prefer the standalone conda-index package, instead of
conda-build indexorconda index, to use faster indexing code. conda_build.metadata.ns_cfg(useconda_build.get_selectors.get_selectorsinstead). (#4837)conda_build.config.python2_fs_encodeconda_build.config._ensure_dir(usestdlib'spathlib.Path.mkdir(exist_ok=True)oros.makedirs(exist_ok=True)instead).
Changes in Conda-Libmamba-Solverโ
To update conda-libmamba-solver, run:
conda install -n base conda-libmamba-solver=23.5.0
โจ What's New? โจโ
Amongst other improvements and bug fixes, the latest version of the conda-libmamba-solver provides a CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED environment variable to prevent channels from being injected from installed packages, which is useful for air-gapped environments where external channel servers are not reachable.
Additionally, the following features and changes can be found in conda-libmamba-solver 23.5.0:
- Simplify
libmambapy.Contextinitialization so that we only set the parts that we use. - Use the new
RepoInterfaceand remove theSubdirDatasubclass workarounds, which requires conda 23.5.0. - Known solver behavior differences are now documented.
- Development docs have been updated to reflect changes in build system and other inaccuracies.
- Tests reproducing the known solver differences were added.
- Some tests on
libmamba1.4.2 are now skipped temporarily to workaround some test failures.
๐ง What Got Fixed? ๐งโ
The following bug fixes were implemented in the 23.5.0 version of conda-libmamba-solver:
- An issue where running
conda update <package>would result in the package being downgraded if no newer versions were available has been fixed. - conda-libmamba-solver 23.5.0 ensures that unauthenticated channels are not re-injected in the channel lists from installed packages if an authenticated equivalent is already present.
context.repodata_threadsare honored.
๐ What's Marked for Deprecation? ๐ โ
- Unnecessary user-agent tests were removed.
