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
โจ What's New? โจโ
In the latest version of conda-build, extra-meta
data is logged to make it easier to verify that the right extra-meta data is burned into packages (which also helps to co-relate packages and their build-log). The feature was first introduced in PR #4303 and is now improved via the logging call.
Additionally, the following features and changes can be found in conda-build 3.26.0:
pip
has been added to theenv-doc make
command so that the function works correctly (pip
is no longer added by default with the python conda package).- Subcommands are implemented as conda plugins.
- Duplicate
get_summary
calls are dropped inconda_build.skeletons.pypi
. resolved_packages
tests that failed due to recent OpenSSL 3.0.8 release to defaults is now fixed.
๐ง What Got Fixed? ๐งโ
The following bug fixes were implemented in conda-build 3.26.0:
- The handling of unknown binaries with newer
(py)lief
versions has been fixed. LIEF
logging to remove "Unknown format" warning message is disabled.enable_static
default value inconda_build.config
to remove "Failed to get_static_lib_exports" warning messages has been reverted.- We now avoid duplicate logging by not propagating the top-level conda-build logger.
- Git cloning for repositories with submodules containing local relative paths has been fixed.
๐ What's New in Documentation? ๐โ
pkg-spec
docs have been updated to mention.conda
package format.- Unnecessary Jinja package name variables from
variants.rst
docs file have been dropped.
๐ What's Marked for Deprecation? ๐ โ
- Executable invocations (e.g.,
conda-build
) - Module-based invocations (e.g.,
python -m conda_build.cli.main_build
)
We โค๏ธ Our Communityโ
Altogether we had 10 (!) new contributors to the conda and conda-build repositories this release cycle; thank you to all of our open source community members for helping make the new versions of conda and conda-build so great.
- @johanneskoester made their first contribution in conda#12683
- @josegonzalez made their first contribution in conda-build#3998
- @kalawac made their first contribution in conda#12738
- @lesteve made their first contribution in conda#12715
- @marcoesters made their first contribution in conda#12863
- @mattkram made their first contribution in conda#12730
- @morremeyer made their first contribution in conda#12871
- @mpotane made their first contribution in conda#11740
- @rfezzani made their first contribution in conda-build#4850
- @schackartk made their first contribution in conda#12781
If you have ideas or want to help improve conda and/or conda-build, we love to see new (and returning) contributors! ๐