July 2023 Releases for conda and conda-build
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
!).
Additionally, the following features and changes can be found in conda 23.7.0:
- A new
conda.deprecations.DeprecationHandler.action
helper for easierargparse.Action
s deprecation. - Support for the FreeBSD operating system is now available, plus
freebsd-64
is now a known subdirectory for FreeBSD on x86-64. - No more mocking of
$CONDA_PREFIX
when--name
or--prefix
is provided. - Support for
sha256
filters in the MatchSpec syntax (e.g.*[sha256=f453db4ffe2271ec492a2913af4e61d4a6c118201f07de757df0eff769b65d2e]
). distutils
has been removed in favor of the vendored version insetuptools
60 and later or standard library equivalents, per the PEP 632 migration guide.- There is now a new
CITATION.cff
file in the root of the repository to make it easier for users to cite conda. - There is an optional
CondaSubcommand.configure_parser
that allows third-party plugins to hook into conda's argument parser. - Only third-party subcommands are displayed with
conda --help
; plugin and legacy commands are also de-duplicated with that command. - Plugins are registered using their canonical/fully-qualified name instead of the easily-spoofable entry point name.
- Subcommand parsing has been refactored to use a greedy parser since
argparse.REMAINDER
has known issues.
๐ง What Got Fixed? ๐งโ
The following bug fixes were implemented in conda 23.7.0:
requests.exceptions.JSONDecodeError
is utilized for ensuring compatibility with differentjson
implementations used by requests. This fixes a bug that caused only the first of multiple given source URLs to be tried. This also raises the minimum required requests version to 2.27.0.__osx
virtual package are no longer exported whenCONDA_OVERRIDE_OSX
is set to an empty string.- Erroneous
conda deactivate
behavior that unset pre-existing environment variables that are identical to those set duringconda activate
has been fixed. - Third-party subcommands now correctly receive remaining arguments instead of a blanket
sys.argv[2:]
, which brokeconda_cli
testing.
The following bug fix was implemented in conda 23.7.1/23.7.2:
- Patch a parsing regression for
--json
and--debug
arguments.
๐ What's New in Documentation? ๐โ
pre_commands
andpost_commands
plugin hooks.- Docstrings for all public modules have been added.
- API docs are now auto-generated using
sphinx-autoapi
. - All manual redirects have been converted into config using
sphinx-reredirects
. - The plugins index page has been revised to make it easier to understand how to create a conda plugin.
- Missing
conda env
CLI docs have been added.
๐ What's Marked for Deprecation? ๐ โ
The following modules and functions were marked for deprecation:
conda.base.context.context.root_dir
(useconda.base.context.context.root_prefix
instead)conda.plugins.subcommands.doctor.cli.get_prefix
(useconda.base.context.context.target_prefix
instead)conda.models.leased_path_entry.LeasedPathEntry
conda.models.enums.LeasedPathType
conda.common.temporary_content_in_file
(usetempfile
instead)conda.cli.python_api
(useconda.testing.conda_cli
fixture instead)
Changes in Conda-Build 3.26.0โ
To update conda-build, run:
conda install -n base conda-build=3.26.0