Skip to main content

November 2024 Releases

ยท 4 min read
Ken Odegard
Conda Maintainer

The November 2024 releases included updates to conda, conda-build, and conda-libmamba-solver! ๐ŸŽ‰ All of these have been released to both main and conda-forge channels.

Changes in conda 24.11.0โ€‹

To update conda to the latest version, run:

conda install -n base conda=24.11.0

โœจ What's New? โœจโ€‹

  • Add a new plugin hook for reporter backends for customizing conda's output.
  • Add support for CEP-17 that allows specifying the path to the site-packages directory of the the Python package via the repodata.json.
  • Add progress bar support for reporter backends plugin hook.
  • Add support for defining spinners for the reporter backends plugin hook.
  • Add support for confirmation functions for reporter backends plugin hook.
  • Add new plugin hooks (conda_session_headers and conda_request_headers) to add headers to outgoing HTTP requests.

๐Ÿ”ง What Got Fixed? ๐Ÿ”งโ€‹

  • Do not retry solves twice in failed conda env runs.
  • Remove CreateNonAdminAction to prevent conda remove from deleting .nonadmin files.
  • Do not map Python distribution names to conda names in PrefixData(pip_interop_enabled=True).
  • Fix output writing for conda export --json --file.
  • Update deprecated.action() function to account for positional arguments that have no value specified.
  • Fix continuous integration upload of coverage files.

๐ŸŒ… What Got Deprecated or Got Marked for Future Deprecation? ๐ŸŒ…โ€‹

  • Remove __conda_reactivate shell function in favor of __conda_activate reactivate.
  • Mark conda.misc.rel_path as pending deprecation.
  • Require Python 3.9 or greater.

Changes in conda-build 24.11.0/24.11.1/24.11.2โ€‹

To update conda-build to the latest version, run:

conda install -n base conda-build=24.11.2

โœจ What's New? โœจโ€‹

  • Introduce --package-format as a command line argument.
    • This takes precedence over default value and condarc.
    • Normalization occurs so 1, "1", tar.bz2,.tar.bz2, 2, "2", conda, .conda are all recognized and mapped appropriately.
    • Other options are rejected.
  • Add support for CEP-17 that allows specifying the location of the site-packages directory with the python_site_packages_path build option for any packages named python.

๐Ÿ”ง What Got Fixed? ๐Ÿ”งโ€‹

  • Fix regex for Jinja2 set / for statements to be more specific.
  • Fix ruamel.yaml usage to use supported APIs.
  • Fix a bug where variant variables were not defined for the first parsing pass of a recipe.
  • Fix a bug where variants were incorrectly found as being used when they matched a leading substring of another variant.
  • Fix a bug where variants were not found when variables were used in pin_* statements.
  • (24.11.1) Fix TypeError when no CLI arguments are passed.
  • (24.11.2) Fix a bug where .copy() was used on a string instead of copy() when processing variants.

๐ŸŒ… What Got Deprecated or Got Marked for Future Deprecation? ๐ŸŒ…โ€‹

  • Deprecate conda_build.exceptions.UnableToParseMissingJinja2.
  • Deprecate conda_build.index.get_build_index(locking).
  • Deprecate conda_build.index.get_build_index(timeout).
  • Require Python 3.9 or greater.
  • The default value for --package-format and conda_pkg_format will become .conda in 25.1.

๐Ÿ“„ What's New in Documentation? ๐Ÿ“„โ€‹

  • Better document run_test.r.
  • Fix bug in docs build by pinning conda-sphinx-theme version to 0.2.2.

Changes in conda-libmamba-solver 24.11.0rc/24.11.0/24.11.1โ€‹

To update conda-libmamba-solver to the latest version, run:

conda install -n base conda-libmamba-solver=24.11.1

โœจ What's New? โœจโ€‹

  • Require libmambapy v2. This is a big refactor in libmamba internals, which also allowed us to remove a lot of code in conda-libmamba-solver.

๐Ÿ”ง What Got Fixed? ๐Ÿ”งโ€‹

  • Load SOLV repodata cache in offline mode too.
  • (24.11.1) Ensure PackageRecord URLs are percent-decoded before passing them back to conda.

๐ŸŒ… What Got Deprecated or Got Marked for Future Deprecationโ€‹

  • CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED has no effect anymore. Channels coming from installed packages are no longer added to the channel list.
  • Removed conda_libmamba_solver.state.BaseIndexHelper. The base class is now conda_libmamba_solver.index.IndexHelper.
  • Verbose logging in libsolv has a big overhead in libmamba v2, so we have disabled it by default (even if the user adds -vvv flags to the CLI). To opt-in, please set CONDA_LIBMAMBA_SOLVER_DEBUG_LIBSOLV to a truthy value.
  • Python 3.8 is no longer supported. The minimum version is now 3.9.

We โค๏ธ Our Communityโ€‹

Altogether, we had 3 new contributors this release cycle; thank you to all of our open source community members for helping making these improvements possible.