Skip to main content

9 posts tagged with "announcement"

View All Tags

Β· 7 min read
Ken Odegard

The January 2024 releases included updates to four conda community projects: conda, conda-build, conda-libmamba-solver, and conda-index! πŸŽ‰ Each of these have been released to both main and conda-forge.

Changes in Conda 24.1.0/24.1.1/24.1.2​

To update conda, run:

conda install -n base conda=24.1.2

✨ What's New? βœ¨β€‹

  • Verify signatures on to-be-installed packages instead of on all packages.
  • Add new pre-solves and post-solves plugin hooks.
  • Add support for Python 3.12.
  • Check repodata.json.zst for faster repodata downloads.
  • Add --skip-flexible-search option in conda search to skip flexible search.
  • Provide a more useful warning when attempting to rename a non-existent prefix.
  • Add a new flag --keep-env to be used with conda remove --all. It allows users to delete all packages in the environment while retaining the environment itself.
  • Add a Y/N prompt warning users that conda env remove and conda remove --all deletes not only the conda packages but the entirety of the specified environment.
  • Add --repodata-use-zst/--no-repodata-use-zst flag to control repodata.json.zst check; corresponding repodata_use_zst: true/false setting for .condarc. Default is to check for repodata.json.zst. Disable if remote returns unparsable repodata.json.zst instead of correct data or 404.

πŸ”§ What Got Fixed? πŸ”§β€‹

  • Create the ~/.conda directory before trying to write to the environments.txt file.
  • Ensure PackageRecord.timestamp is dumped in milliseconds.
  • Fix error when setting a non-default repodata filename via CONDA_REPODATA_FNS.
  • Fix the config file location where the integrated Anaconda client gateway loads user configuration from. This is a regression introduced in conda 23.11.0 when the platformdirs library was adopted.
  • Interpret missing Cache-Control header as max-age=0 instead of exception.
  • (24.1.1) Fallback to repodata.json if repodata.json.zst cannot be decompressed as zstandard.
  • (24.1.1) Fallback to repodata.json from repodata.json.zst on most 4xx error codes.
  • (24.1.2) Fix conda.core.subdir_data.fetch_repodata_remote_request failure when repodata_use_zst is enabled.

πŸŒ… What's Marked for Deprecation? πŸŒ…β€‹

The conda_env.* modules have been merged into the conda package!

To improve the integration of the conda env subcommand (previously standalone), we've moved its code into the conda package, while allowing old conda env commands to still work via Python import redirects. This is a first step of many to improving the user experience of the conda command line interface related to environment management.

πŸ“„ What's New in Documentation? πŸ“„β€‹

  • Update Getting Started documentation in User Guide.
  • Add GoatCounter for docs site analytics.
  • Improve type hints and doc strings.

Changes in Conda-Build 24.1.0/24.1.1/24.1.2​

To update conda-build, run:

conda install -n base conda-build=24.1.2

✨ What's New? βœ¨β€‹

  • Update conda inspect channels to use updated solver/transaction logic.
  • Relax script_env error in outputs when variable referenced in script_env is not defined. This unifies current behavior with the top-level build.
  • Add support for Python 3.12.
  • Adopt calendar versioning (CalVer) per CEP-8 for consistency with conda.
  • Adopt expedited CEP-9 deprecation policy.

πŸ”§ What Got Fixed? πŸ”§β€‹

  • (24.1.1) Fix nonzero exitcode on success.
  • (24.1.2) Fix rpaths patcher being run on symbolic links.
  • (24.1.2) Fix corrupted package cache for outputs in subpackage tests.

πŸŒ… What's Marked for Deprecation? πŸŒ…β€‹

This is the first release of conda-build removing code previously marked as deprecated per the expedited deprecation schedule. The following is a list of what was removed:

  • conda_build.api.update_index
  • conda_build.cli.main_build.main
  • conda_build.cli.main_convert.main
  • conda_build.cli.main_debug.main
  • conda_build.cli.main_develop.main
  • conda_build.cli.main_index
  • conda_build.cli.main_inspect.main
  • conda_build.cli.main_metapackage.main
  • conda_build.cli.main_render.main
  • conda_build.cli.main_skeleton.main
  • conda_build.conda_interface.IndexRecord
  • conda_build.conda_interface.CrossPlatformStLink
  • conda_build.conda_interface.SignatureError
  • conda_build.conda_interface.which_package
  • conda_build.conda_interface.which_prefix
  • conda_build.conda_interface.get_installed_version
  • conda_build.config.python2_fs_encode
  • conda_build.config._ensure_dir
  • conda_build.config.Config.CONDA_LUA
  • conda_build.config.Config.CONDA_PY
  • conda_build.config.Config.CONDA_NPY
  • conda_build.config.Config.CONDA_PERL
  • conda_build.config.Config.CONDA_R
  • conda_build.environ.clean_pkg_cache
  • conda_build.index.update_index
  • conda_build.inspect_pkg.dist_files
  • conda_build.inspect_pkg.which_package(avoid_canonical_channel_name)
  • conda_build.inspect_pkg._installed
  • conda_build.metadata.Metadata.name(fail_ok)
  • conda_build.os_utils.ldd.get_package_files
  • conda_build.os_utils.liefldd.is_string
  • conda_build.os_utils.liefldd.codefile_type_liefldd
  • conda_build.os_utils.liefldd.codefile_type_pyldd
  • conda_build.os_utils.liefldd.codefile_type
  • conda_build.os_utils.pyldd.mach_o_change
  • conda_build.os_utils.pyldd.is_codefile
  • conda_build.os_utils.pyldd.codefile_type
  • conda_build.os_utils.pyldd.inspect_rpaths
  • conda_build.os_utils.pyldd.get_runpaths
  • conda_build.os_utils.pyldd.otool_sys
  • conda_build.os_utils.pyldd.ldd_sys
  • conda_build.plugin.index
  • conda_build.post.determine_package_nature
  • conda_build.post.library_nature(subdir)
  • conda_build.post.library_nature(bldpkgs_dirs)
  • conda_build.post.library_nature(output_folder)
  • conda_build.post.library_nature(channel_urls)
  • conda_build.post.dists_from_names
  • conda_build.post.FakeDist
  • conda_build.post._get_fake_pkg_dist
  • conda_build.utils.relative
  • conda_build.utils.samefile

In addition, we continued with the effort to remove any remaining usage of the legacy conda.models.dist.Dist object:

  • Mark conda inspect channels --test-installable as pending deprecation.
  • Mark conda_build.inspect_pkg.check_install(package) as pending deprecation in favor of conda_build.inspect_pkg.check_install(subdir).
  • Mark conda_build.inspect_pkg.check_install(prepend) as pending deprecation.
  • Mark conda_build.inspect_pkg.check_install(minimal_hint) as pending deprecation.
  • Mark conda_build.conda_interface.Dist as pending deprecation.
  • Mark conda_build.conda_interface.display_actions as pending deprecation.
  • Mark conda_build.conda_interface.execute_actions as pending deprecation.
  • Mark conda_build.conda_interface.execute_plan as pending deprecation.
  • Mark conda_build.conda_interface.get_index as pending deprecation.
  • Mark conda_build.conda_interface.install_actions as pending deprecation.
  • Mark conda_build.conda_interface.linked as pending deprecation.
  • Mark conda_build.conda_interface.linked_data as pending deprecation.
  • Mark conda_build.utils.linked_data_no_multichannels as pending deprecation.
  • Mark conda_build.environ.get_install_actions as pending deprecation in favor of conda_build.environ.get_package_records.
  • Mark conda_build.environ.create_env(specs_or_actions) as pending deprecation in favor of conda_build.environ.create_env(specs_or_precs).
  • Mark conda_build.index.channel_data as pending deprecation.
  • Mark conda_build.index._determine_namespace as pending deprecation.
  • Mark conda_build.index._make_seconds as pending deprecation.
  • Mark conda_build.index.REPODATA_VERSION as pending deprecation.
  • Mark conda_build.index.CHANNELDATA_VERSION as pending deprecation.
  • Mark conda_build.index.REPODATA_JSON_FN as pending deprecation.
  • Mark conda_build.index.REPODATA_FROM_PKGS_JSON_FN as pending deprecation.
  • Mark conda_build.index.CHANNELDATA_FIELDS as pending deprecation.
  • Mark conda_build.index._clear_newline_chars as pending deprecation.
  • Mark conda_build.index._apply_instructions as pending deprecation.
  • Mark conda_build.index._get_jinja2_environment as pending deprecation.
  • Mark conda_build.index._maybe_write as pending deprecation.
  • Mark conda_build.index._maybe_build_string as pending deprecation.
  • Mark conda_build.index._warn_on_missing_dependencies as pending deprecation.
  • Mark conda_build.index._cache_post_install_details as pending deprecation.
  • Mark conda_build.index._cache_recipe as pending deprecation.
  • Mark conda_build.index._cache_run_exports as pending deprecation.
  • Mark conda_build.index._cache_icon as pending deprecation.
  • Mark conda_build.index._make_subdir_index_html as pending deprecation.
  • Mark conda_build.index._make_channeldata_index_html as pending deprecation.
  • Mark conda_build.index._get_source_repo_git_info as pending deprecation.
  • Mark conda_build.index._cache_info_file as pending deprecation.
  • Mark conda_build.index._alternate_file_extension as pending deprecation.
  • Mark conda_build.index._get_resolve_object as pending deprecation.
  • Mark conda_build.index._get_newest_versions as pending deprecation.
  • Mark conda_build.index._add_missing_deps as pending deprecation.
  • Mark conda_build.index._add_prev_ver_for_features as pending deprecation.
  • Mark conda_build.index._shard_newest_packages as pending deprecation.
  • Mark conda_build.index._build_current_repodata as pending deprecation.
  • Mark conda_build.index.ChannelIndex as pending deprecation.
  • Mark conda_build.render.actions_to_pins as pending deprecation.
  • Mark conda_build.render.execute_download_actions(actions) as pending deprecation in favor of conda_build.render.execute_download_actions(precs).
  • Mark conda_build.render.get_upstream_pins(actions) as pending deprecation in favor of conda_build.render.get_upstream_pins(precs).

πŸ“„ What's New in Documentation? πŸ“„β€‹


Changes in Conda-Libmamba-Solver 24.1.0​

To update conda-libmamba-solver, run:

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

✨ What's New? βœ¨β€‹

  • 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).
  • Load pkgs_dirs records when called in offline mode.

πŸ”§ What Got Fixed? πŸ”§β€‹

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

Changes in Conda-Index 0.4.0​

To update conda-index, run:

conda install -n base conda-index=0.4.0

✨ What's New? βœ¨β€‹

  • Add --compact-json/--no-compact-json option, default to compact.
  • Add an index subcommand using conda's new subcommand plugin hook, allowing conda index instead of python -m conda_index. Note the CLI has changed compared to old conda-index. When conda-build < 24.1.0 is installed, the older conda-index code will still be used instead of this plugin.

πŸ”§ What Got Fixed? πŸ”§β€‹

  • Check size in addition to mtime when deciding which packages to index.
  • Update cached index.json, not just stat values, for changed packages that are already indexed.

We ❀️ Our Community​

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

If you have ideas or want to help improve any of the conda community projects, we love to see new (and returning) contributors! πŸ˜„

Β· One min read
Dave Clements

Conda is moving our social media presence from Twitter/X to Mastodon and LinkedIn at the start of 2024. It's past time to move into spaces that are welcoming and more in line with our community values.

Going forward, you can find us at

If you are on either platform then please follow and link to those accounts, or, just use the #conda hashtag.

We won't close the Twitter account. We will update it to say it is no longer active, and point users to the conda communities on Mastodon and LinkedIn. If you are active on Twitter, we encourage you to also use the #conda hashtag.

We hope to see you on Mastodon and LinkedIn in 2024!

PS: conda-forge is discussing making the same move.

Β· 6 min read
Ken Odegard

The November 2023 releases included updates to three conda community projects: conda, conda-build, and conda-libmamba-solver! πŸŽ‰ Each of these have been released to both main and conda-forge.

Changes in Conda 23.11.0​

To update conda, run:

conda install -n base conda=23.11.0

πŸ“’ Special Announcement πŸ“’β€‹

New menuinst v2 support!

Β· 3 min read
Jaime RodrΓ­guez-Guerra
Jannis Leidel

With this 23.10.0 release we are changing the default solver of conda to conda-libmamba-solver! πŸ₯³ πŸš€β€‹

libmamba builds on libsolv, a much faster solver from openSUSE. The previous "classic" solver is based on pycosat/Picosat and will remain part of conda for the foreseeable future. A fallback is possible and available.

Β· 6 min read
Ken Odegard

The September 2023 releases included updates to five conda community projects: conda, conda-build, conda-libmamba-solver, conda-index, and pycosat! πŸŽ‰ Each of these have been released to both main and conda-forge.

Changes in Conda 23.9.0​

To update conda, run:

conda install -n base conda=23.9.0

πŸ“’ Special Announcement πŸ“’β€‹

info

Conda's default solver will change to conda-libmamba-solver in a special 23.10.0 release in the near future!

You can already benefit from conda-libmamba-solver today by configuring your conda installation to use it (e.g. by running conda config --set solver libmamba).

The current "classic" solver is based on pycosat/Picosat and will remain part of conda for the foreseeable future. A fallback is possible and available.

Additional details on this change as well as the full announcement can be found in the conda 23.9.0 changelog.

Β· 5 min read
Bianca Henderson

The July 2023 releases are here! 🎊 Conda 23.7.0, 23.7.1, 23.7.2, and conda-build 3.26.0 are now available on both main and conda-forge channels.

Changes in Conda 23.7.0/23.7.1/23.7.2​

To update conda, run:

conda install -n base conda=23.7.2

✨ What's New? βœ¨β€‹

In the latest release of conda, new pre- and post-command plugin hooks that allow you to run your code before or after a conda subcommand are now available, along with a much improved subcommand plugin hook and plugin infrastructure. There is also a new health check for conda doctor that detects altered packages in an environment by comparing expected and computed sha256 checksums, as well as a much-expanded API and command docs (conda env!).

Β· 3 min read
Pinak Datta
Dave Clements

Welcome to conda Community Spaces!, Your gateway to a vibrant community where connections are forged, knowledge is shared, and inspiration flourishes. At conda, we are passionate about fostering open collaboration, embracing diverse perspectives, and creating a supportive environment for everyone. Join us on this exciting journey as we delve into the multitude of conda spaces designed to bring our community closer, empower your learning, and ignite your creativity.

Β· 5 min read
Bianca Henderson

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.

Β· 2 min read
Travis Hathaway

Image credit: Nico Smit on Unsplash


Welcome to conda.org! This website was created by and for the conda community and aims to support the greater conda ecosystem. As a site visitor, these are just some of the things you can expect to find here going forward:

  • News and updates for many projects within the conda ecosystem; from organizations such as conda, mamba, and conda-forge
  • Information on how to get involved with our projects (check out the Community page)
  • Emerging trends and technologies within the ecosystem; this site will be a platform to promote cutting edge work going on in the community
  • Plus more!