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: falseentry in your.condarcconfigurationCONDA_SHORTCUTS=falseenvironment variable--no-shortcutscommand-line flag
โจ What's New? โจโ
- Introduce a new plugin hook,
CondaHealthCheck, as part ofconda doctor. - Include
activateanddeactivatein the--helpcommand list. - Prioritize download of larger packages to prevent smaller ones from waiting.
- Display the used solver in
conda infooutput for debugging purposes. - Add
__condavirtual package. - Implement resume capability for interrupted package downloads.
๐ง What Got Fixed? ๐งโ
- Log expected JLAP range-request errors at
infolevel, occurring when the remote file has rolled over. - Fix a bug causing an error when options like
--debugare used without specifying a command. - Improve CTRL-C (cancellation) handling for parallel download threads.
- Allow overriding of
CONDA_FETCH_THREADS/fetch_threadsto set parallel package downloads besides the default5. - Require
requests >=2.28for enhancedresponse.json()exception handling. - Apply
callback=reset_contextinconda.planto resolveconda-build+conda-libmamba-solverincompatibilities.
๐ What's Marked for Deprecation? ๐ โ
- Remove
ruamel_yamlfallback; useruamel.yamlexclusively. - Mark
conda.plugins.subcommands.doctor.health_checks.display_health_checksfor pending deprecation. - Mark
conda.plugins.subcommands.doctor.health_checks.display_report_headingfor pending deprecation. - Mark
conda.gateways.anaconda_client.EnvAppDirsfor pending deprecation. Useplatformdirsinstead. - Mark
conda._vendor.cpuinfofor pending deprecation. - Switch from
requests/pip's vendoredchardettocharset_normalizer. - Switch from
conda._vendor.appdirstoplatformdirs. - Switch from
conda._vendor.distrotodistro.
๐ 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
stblibjinja function similar tocompilerto explicitly define sysroot dependencies. - Utilize conda-known subdirs for selector definitions, enabling
conda_buildto support new architectures with only an updatedcondaversion. New OS support requires additional information for properconda_buildfunctionality, 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_packageimplementations and replaceconda.models.dist.Distusage 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.yamlentries when absent in lower prioritycbc.yamls. - Correct the check for a missing anaconda-client to display a useful error message.
- Fix
conda_index.indexverboseDEBUG/INFOmessage logging. - (3.28.1) Relax metadata check for
package/versionwhenoutputsare defined.
๐ What's Marked for Deprecation? ๐ โ
- Mark
conda_build.environ.clean_pkg_cachefor pending deprecation. - Mark
conda_build.conda_interface.IndexRecordfor pending deprecation. Useconda.models.records.PackageRecordinstead. - Mark
conda_build.os_utils.pyldd.is_stringfor pending deprecation. Useisinstance(value, str)instead. - Mark
conda_build.os_utils.pyldd.is_codefilefor pending deprecation. Useconda_build.os_utils.pyldd.codefile_classinstead. - Mark
conda_build.os_utils.pyldd.codefile_typefor pending deprecation. Useconda_build.os_utils.pyldd.codefile_classinstead. - Mark
conda_build.inspect_pkg.dist_filesfor pending deprecation. - Mark
conda_build.inspect_pkg.which_package(avoid_canonical_channel_name)for pending deprecation. - Mark
conda_build.inspect_pkg._installedfor pending deprecation. - Mark
conda_build.os_utils.ldd.get_package_filesfor pending deprecation. - Mark
conda_build.os_utils.pyldd.mach_o_changefor pending deprecation. - Mark
conda_build.os_utils.pyldd.inspect_rpathfor pending deprecation. - Mark
conda_build.os_utils.pyldd.get_runpathsfor pending deprecation. - Mark
conda_build.os_utils.pyldd.otool_sysfor pending deprecation. - Mark
conda_build.os_utils.pyldd.ldd_sysfor pending deprecation. - Mark
conda_build.post.determine_package_naturefor pending deprecation. Useconda_build.post.get_dsosandconda_build.post.get_run_exportsinstead. - Mark
conda_build.post.library_nature(subdir, bldpkgs_dirs, output_folder, channel_urls)for pending deprecation. - Mark
conda_build.post.dist_from_namesfor pending deprecation. Queryconda.core.prefix_data.PrefixDatainstead. - Mark
conda_build.post.FakeDistfor pending deprecation. Useconda.models.records.PrefixRecordinstead. - Mark
conda_build.post._get_fake_pkg_distfor pending deprecation. Useconda.models.records.PrefixRecordinstead. - Mark
conda_build.utils.relativefor pending deprecation. Useos.path.relpathorpathlib.Path.relative_toinstead.
๐ 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
InvalidSpecerror instead ofRuntimeErrorwhen libmamba detects a problem in the configured solver jobs. - (23.11.1) Ensure specs,
SolverInputState.installedandSolverInputState.virtualcontainers, are consistently sorted.
๐ง What Got Fixed? ๐งโ
- Do not use
libmamba's default signal handler so users canCtrl-Cfromconda. - 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
PackageRecordentries for conda-build. Fixes an issue with conda-build and custom multichannels. - (23.11.1) Allow authenticated URLs in
default_channelsand 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! ๐
