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!
conda
has supported Start menu items on Windows for a long time. This is what allows users to open up their Miniconda prompt on CMD (Command Prompt) with an initialized conda
session. This menu item (or shortcut) creation logic is provided by the menuinst
package.
With the release of 23.11.0, conda
now supports menuinst
v2, which enables the same experience across Windows, Linux, and macOS. This means package builders will be able to provide desktop icons across all operating systems, which can be especially useful for GUI applications. See the documentation for more details.
If you don't want conda
to create shortcuts, you can disable it via:
shortcuts: false
entry in your.condarc
configurationCONDA_SHORTCUTS=false
environment variable--no-shortcuts
command-line flag
โจ What's New? โจโ
- Introduce a new plugin hook,
CondaHealthCheck
, as part ofconda doctor
. - Include
activate
anddeactivate
in the--help
command list. - Prioritize download of larger packages to prevent smaller ones from waiting.
- Display the used solver in
conda info
output for debugging purposes. - Add
__conda
virtual package. - Implement resume capability for interrupted package downloads.
๐ง What Got Fixed? ๐งโ
- Log expected JLAP range-request errors at
info
level, occurring when the remote file has rolled over. - Fix a bug causing an error when options like
--debug
are used without specifying a command. - Improve CTRL-C (cancellation) handling for parallel download threads.
- Allow overriding of
CONDA_FETCH_THREADS
/fetch_threads
to set parallel package downloads besides the default5
. - Require
requests >=2.28
for enhancedresponse.json()
exception handling. - Apply
callback=reset_context
inconda.plan
to resolveconda-build
+conda-libmamba-solver
incompatibilities.
๐ What's Marked for Deprecation? ๐ โ
- Remove
ruamel_yaml
fallback; useruamel.yaml
exclusively. - Mark
conda.plugins.subcommands.doctor.health_checks.display_health_checks
for pending deprecation. - Mark
conda.plugins.subcommands.doctor.health_checks.display_report_heading
for pending deprecation. - Mark
conda.gateways.anaconda_client.EnvAppDirs
for pending deprecation. Useplatformdirs
instead. - Mark
conda._vendor.cpuinfo
for pending deprecation. - Switch from
requests
/pip
's vendoredchardet
tocharset_normalizer
. - Switch from
conda._vendor.appdirs
toplatformdirs
. - Switch from
conda._vendor.distro
todistro
.
๐ What's New in Documentation? ๐โ
The https://docs.conda.io/ docs have received a major overhaul! ๐
Go take a look and let us know what you think! ๐คฉ
Changes in Conda-Build 3.28.0/3.28.1โ
To update conda-build, run:
conda install -n base conda-build=3.28.1
๐ข Special Announcement ๐ขโ
In the upcoming January 2024 release of conda-build, significant changes are underway. We're set to transition to the CalVer versioning system. Additionally, we'll be formally embracing CEP 8 to manage our release schedule. Moreover, an expedited version of CEP 9 will be adopted for deprecation handling, omitting the pending deprecation phase and streamlining the period from deprecation to removal to a mere 2 months.
โจ What's New? โจโ
- Add
stblib
jinja function similar tocompiler
to explicitly define sysroot dependencies. - Utilize conda-known subdirs for selector definitions, enabling
conda_build
to support new architectures with only an updatedconda
version. New OS support requires additional information for properconda_build
functionality, including UNIX-like platform designation, shared library prefix, and binary archive format for the platform. - Eliminate unnecessary cache clearing from
conda_build.build.test
. - Consolidate
which_package
implementations and replaceconda.models.dist.Dist
usage withconda.models.records.PrefixRecords
.
๐ง What Got Fixed? ๐งโ
- Display package file name in
get_hash_input
. - Fall back to solved record filename to locate the downloaded tarball in
get_upstream_pins
. - Prevent overwriting of variants in high priority
cbc.yaml
entries when absent in lower prioritycbc.yaml
s. - Correct the check for a missing anaconda-client to display a useful error message.
- Fix
conda_index.index
verboseDEBUG
/INFO
message logging. - (3.28.1) Relax metadata check for
package/version
whenoutputs
are defined.
๐ What's Marked for Deprecation? ๐ โ
- Mark
conda_build.environ.clean_pkg_cache
for pending deprecation. - Mark
conda_build.conda_interface.IndexRecord
for pending deprecation. Useconda.models.records.PackageRecord
instead. - Mark
conda_build.os_utils.pyldd.is_string
for pending deprecation. Useisinstance(value, str)
instead. - Mark
conda_build.os_utils.pyldd.is_codefile
for pending deprecation. Useconda_build.os_utils.pyldd.codefile_class
instead. - Mark
conda_build.os_utils.pyldd.codefile_type
for pending deprecation. Useconda_build.os_utils.pyldd.codefile_class
instead. - Mark
conda_build.inspect_pkg.dist_files
for pending deprecation. - Mark
conda_build.inspect_pkg.which_package(avoid_canonical_channel_name)
for pending deprecation. - Mark
conda_build.inspect_pkg._installed
for pending deprecation. - Mark
conda_build.os_utils.ldd.get_package_files
for pending deprecation. - Mark
conda_build.os_utils.pyldd.mach_o_change
for pending deprecation. - Mark
conda_build.os_utils.pyldd.inspect_rpath
for pending deprecation. - Mark
conda_build.os_utils.pyldd.get_runpaths
for pending deprecation. - Mark
conda_build.os_utils.pyldd.otool_sys
for pending deprecation. - Mark
conda_build.os_utils.pyldd.ldd_sys
for pending deprecation. - Mark
conda_build.post.determine_package_nature
for pending deprecation. Useconda_build.post.get_dsos
andconda_build.post.get_run_exports
instead. - Mark
conda_build.post.library_nature(subdir, bldpkgs_dirs, output_folder, channel_urls)
for pending deprecation. - Mark
conda_build.post.dist_from_names
for pending deprecation. Queryconda.core.prefix_data.PrefixData
instead. - Mark
conda_build.post.FakeDist
for pending deprecation. Useconda.models.records.PrefixRecord
instead. - Mark
conda_build.post._get_fake_pkg_dist
for pending deprecation. Useconda.models.records.PrefixRecord
instead. - Mark
conda_build.utils.relative
for pending deprecation. Useos.path.relpath
orpathlib.Path.relative_to
instead.
๐ What's New in Documentation? ๐โ
The https://docs.conda.io/ docs have received a major overhaul! ๐
Go take a look and let us know what you think! ๐คฉ
Changes in Conda-Libmamba-Solver 23.11.0/23.11.1โ
To update conda-libmamba-solver, run:
conda install -n base conda-libmamba-solver=23.11.1
โจ What's New? โจโ
- (23.11.1) Raise a friendlier
InvalidSpec
error instead ofRuntimeError
when libmamba detects a problem in the configured solver jobs. - (23.11.1) Ensure specs,
SolverInputState.installed
andSolverInputState.virtual
containers, are consistently sorted.
๐ง What Got Fixed? ๐งโ
- Do not use
libmamba
's default signal handler so users canCtrl-C
fromconda
. - Defer conda-build-specific exception definition and import until it is needed by the solver.
- Interpret "excluded by strict priority" solver errors as proper satisfiability conflicts and avoid printing related yet uninformative warnings.
- Ensure that historic specs are kept in the environment, even if that means raising a conflict.
- (23.11.1) Configure pinned specs just once to avoid solver bugs related with their persistence (i.e. inability to downgrade environments if pinned specs are present and a transient dependency needs to be removed).
- (23.11.1) Detect whether a channel is part of a multichannel so the latter is used in the
PackageRecord
entries for conda-build. Fixes an issue with conda-build and custom multichannels. - (23.11.1) Allow authenticated URLs in
default_channels
and other multichannels. - (23.11.1) Preserve authentication while reloading local channels.
๐ What's New in Documentation? ๐โ
The https://conda.github.io/conda-libmamba-solver/ docs have received a major overhaul! ๐
Go take a look and let us know what you think! ๐คฉ
We โค๏ธ Our Communityโ
Altogether, we had 7 (!) new contributors this release cycle; thank you to all of our open source community members for helping making these improvements possible.
- @13rac1 made their first contribution in conda#13191
- @AniketP04 made their first contribution in conda#13224
- @danpetry made their first contribution in conda-build#5039
- @gfggithubleet made their first contribution in conda#13270
- @h-vetinari made their first contribution in conda-build#4999
- @kennethlaskoski made their first contribution in conda#13322
- @scruel made their first contribution in conda#13274
If you have ideas or want to help improve any of the conda community projects, we love to see new (and returning) contributors! ๐