Releases: conda/conda
Releases · conda/conda
23.7.2
23.7.1
Bug fixes
Contributors
23.7.0
Enhancements
- Add
conda.deprecations.DeprecationHandler.actionhelper to deprecateargparse.Actions. (#12493) - Add support for the FreeBSD operating system and register
freebsd-64as a known subdirectory for FreeBSD on x86-64. (#12647) - Do not mock
$CONDA_PREFIXwhen--nameor--prefixis provided. (#12696) - Add support for
sha256filters in the MatchSpec syntax (e.g.*[sha256=f453db4ffe2271ec492a2913af4e61d4a6c118201f07de757df0eff769b65d2e]). (#12654 via #12707) - Add a new health check to
conda doctordetecting altered packages in an environment by comparing expected and computedsha256checksums. (#12757) - Add new
pre_commandsandpost_commandsplugin hooks allowing plugins to run code before and aftercondasubcommands. (#12712, #12758, #12864) - Stop using
distutilsdirectly in favor of the vendored version insetuptools60 and later or standard library equivalents. (#11136) - Add a
CITATION.cfffile to the root of the repository to make it easier for users to cite conda. (#12781) - Add optional
CondaSubcommand.configure_parserallowing third-party plugins to hook into conda's argument parser. (#12814) - Only display third-party subcommands in
conda --helpand not for every other subcommand. (#12814, #12740) - Add a new config option,
no_plugins, a--no-pluginscommand line flag, and aCONDA_NO_PLUGINSenvironment variable that disables external plugins for built-in conda commands. (#12748) - Register plugins using their canonical/fully-qualified name instead of the easily spoofable entry point name. (#12869)
- De-duplicate plugin and legacy subcommands in
conda --help. (#12893) - Implement a 2-phase parser to better handle plugin disabling (via
--no-plugins). (#12910) - Refactor subcommand parsing to use a greedy parser since
argparse.REMAINDERhas known issues. (#12910)
Bug fixes
- Use
requests.exceptions.JSONDecodeErrorfor ensuring compatibility with differentjsonimplementations 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. (#12683) - Don't export
__osxvirtual package whenCONDA_OVERRIDE_OSX="". (#12715) - Fix erroneous
conda deactivatebehavior of unsetting preexisting environment variables that are identical to those set duringconda activate. (#12769) - Correct third-party subcommands to receive remaining arguments instead of a blanket
sys.argv[2:]which brokeconda_clitesting. (#12814, #12910)
Deprecations
- Mark
conda.base.context.context.root_diras pending deprecation. Useconda.base.context.context.root_prefixinstead. (#12701) - Mark
conda.plugins.subcommands.doctor.cli.get_prefixas pending deprecation. Useconda.base.context.context.target_prefixinstead. (#12725) - Mark
conda.models.leased_path_entry.LeasedPathEntryas pending deprecation. (#12735) - Mark
conda.models.enums.LeasedPathTypeas pending deprecation. (#12735) - Mark
conda.common.temporary_content_in_fileas pending deprecation. Usetempfileinstead. (#12795) - Mark
conda.cli.python_apias pending deprecation. Useconda.testing.conda_clifixture instead. (#12796)
Docs
- Document how to use the new
pre_commandsandpost_commandsplugin hooks. (#12712, #12758) - Add docstrings to all public modules. (#12792)
- Auto-generate API docs using
sphinx-autoapi. (#12798) - Convert all manual redirects into config using
sphinx-reredirects. (#12798) - Revise the plugins index page to make it easier to understand how to create a conda plugin. (#12802)
- Add missing
conda envCLI docs. (#12841)
Other
- Update
tests/cli/test_main_rename.pyto use latest fixtures. (#12517) - Update
tests/test_activate.pyto test the new behavior. (#12769) - Re-enable all
conda_envtests and remove irrelevant tests. (#12813) - Convert all
unittest-style tests topytest-style. (#12819) - Convert
tests/test-recipesinto local noarch packages instead of relying on conda-test channel and local builds. (#12879)
Contributors
- @beeankha
- @conda-bot
- @dariocurr
- @jaimergp
- @jezdez
- @johanneskoester made their first contribution in #12683
- @jjhelmus
- @kalawac made their first contribution in #12738
- @kenodegard
- @schackartk made their first contribution in #12781
- @lesteve made their first contribution in #12715
- @ForgottenProgramme
- @marcoesters made their first contribution in #12863
- @mpotane made their first contribution in #11740
- @mattkram made their first contribution in #12730
- @morremeyer made their first contribution in #12871
- @mcg1969
- @travishathaway
- @pre-commit-ci[bot]
23.5.2
23.5.1
23.5.0
Enhancements
- Add
conda doctorsubcommand plugin. (#474) - Add Python 3.11 support. (#12256)
- Add
conda list --reverseto return a reversed list of installed packages. (#11954) - Switch from
setup.pytopyproject.tomland use Hatchling for our build system. (#12509) - Optimize which Python modules get imported during
conda activatecalls to make it faster. (#12550) - Add
conda_clifixture to replaceconda.testing.helpers.run_inprocess_conda_commandandconda.testing.integration.run_command. (#12592) - Add
tmp_envfixture to replaceconda.testing.integration.make_temp_env. (#12592) - Add
path_factoryfixture to replace custom prefix logic likeconda.testing.integration._get_temp_prefixandconda.testing.integration.make_temp_prefix. (#12592) - Refactor the way that the
Activatorclasses are defined inconda/activate.py. (#12627) - Warn about misconfiguration when signature verification is enabled. (#12639)
Bug fixes
conda cleanno longer fails if we failed to get the file stats. (#12536)- Provide fallback version if
conda.deprecations.DeprecationHandlerreceives a bad version. (#12541) - Ensure the default value for
defaultsincludesmsys2whencontext.subdiriswin-*on non-Windows platforms. (#12555) - Avoid
TypeErrorwhen non-string types are written to the index cache metadata. (#12562) conda.core.package_cache_data.UrlsData.get_urlno longer fails whenpackage_pathhas.condaextension. (#12516)- Stop pre-converting paths to Unix style on Windows in
conda.sh, so that they are prefix replaceable upon installation, which got broken by #12509. It also relies oncygpathat runtime, which allmsys2/cygwinbash versions on Windows should have available. (#12627)
Deprecations
- Mark
conda_env.pip_util.get_pip_versionas pending deprecation. (#12492) - Mark
conda_env.pip_util.PipPackageas pending deprecation. (#12492) - Mark
conda_env.pip_util.installedas pending deprecation. (#12492) - Mark
conda_env.pip_util._canonicalize_nameas pending deprecation. (#12492) - Mark
conda_env.pip_util.add_pip_installedas pending deprecation. (#12492) - Mark
conda_env.env.load_from_directoryas pending deprecation. (#12492) - Mark
python -m conda_env.cli.mainas pending deprecation. Useconda envinstead. (#12492) - Mark
python -m conda_envas pending deprecation. Useconda envinstead. (#12492) - Mark
conda.auxlib.packagingfor deprecation in 24.3.0. (#12509) - Rename index cache metadata file
.state.jsonto.info.jsonto track draft CEP. (#12669) - Mark
conda.testing.integration.get_conda_list_tupleas pending deprecation. Useconda.core.prefix_data.PrefixData().get()instead. (#12676) - Mark
conda.testing.encode_for_env_varas pending deprecation. (#12677) - Mark
conda.testing.integration.temp_chdiras pending deprecation. Usemonkeypatch.chdirinstead. (#12678)
Docs
- Change the README example from IPython Notebook and NumPy to PyTorch. (#12579)
- Discuss options available to properly configure mirrored channels. (#12583, #12641)
- Add
flake8-docstringstopre-commit. (#12620)
Other
- Update retry language in flexible solve and
repodatalogs to be less ominous. (#12612) - Improve
repodata/subdir_dataprogramming interface (#12521). Index cache metadata has changed to.info.jsonto better align with the draft CEP. Improve cache locking when usingjlap. Improvejlaplogging. (#12572) - Format with
blackand replacedpre-commit'sdarkerhook withblack. (#12554) - Format with
isortand addpre-commitisorthook. (#12554) - Add functional tests around conda's content trust code. (#11805)
- Enable
flake8checks that are now handled byblack. (#12620)
Contributors
- @beeankha
- @chbrandt made their first contribution in #12419
- @chenghlee
- @conda-bot
- @dholth
- @THEdavehogue made their first contribution in #12612
- @HeavenEvolved made their first contribution in #12496
- @eltociear
- @jaimergp
- @jezdez
- @johnnynunez made their first contribution in #12256
- @kenodegard
- @ForgottenProgramme
- @pkmooreanaconda
- @tl-hbk made their first contribution in #12604
- @vic-ma made their first contribution in #12579
- @pre-commit-ci[bot]
- @sausagenoods made their first contribution in #12631
23.3.1
Enhancements
- Fix and re-enable binstar tests. Replace custom property caching with
functools.cached_property. (#12495)
Bug fixes
- Restore default argument for
SubdirDatamethod used byconda-index. (#12513) - Include
conda.gateways.repodata.jlapsubmodule in package. (#12545)
Other
- Add linux-s390x to multi-arch ci/dev container. (#12498)
- Expose a
MINIO_RELEASEenvironment variable to provide a way to pinminioversions in CI setup scripts. (#12525) - Add
jsonpatchdependency to support--experimental=jlapfeature. (#12528)
Contributors
Full Changelog: 23.3.0...23.3.1
23.3.0
Enhancements
- Allow the use of environment variables for channel urls in
environment.yaml. (#10018) - Improved error message for
conda env createif the environment file is missing. (#11883) - Stop using
toolz.dicttoolz.mergeandtoolz.dicttoolz.merge_with. (#12039) - Add support for incremental
repodata.jsonupdates with--experimental=jlapon the command line orexperimental: ["jlap"]in.condarc(#12090). Note: switching between "use jlap" and "don't use jlap" invalidates the cache. - Added a new
conda.deprecationsmodule for easier & standardized deprecation. Includes decorators to mark functions, modules, classes, and arguments for deprecation and functions to mark modules, constants, and topics for deprecation. (#12125) - Adds a new
channel_settingsconfiguration parameter that will be used to override arbitrary settings on per-channel basis. (#12239) - Improve speed of
repodata.jsonparsing by deferring creation of individualPackageRecordobjects. (#8500) - Refactor subcommand argument parsing to make it easier to understand. This calls the plugin before invoking the default argument parsing. (#12285)
- Handle I/O errors raised while retrieving channel notices. (#12312)
- Add support for the 64-bit RISC-V architecture on Linux. (#12319)
- Update vendored version of
py-cpuinfoto 0.9.0. (#12319) - Improved code coverage. (#12346, #12457, #12469)
- Add a note about
use_only_tar_bz2being enabled onPackagesNotFoundErrorexceptions. (#12353) - Added to conda CLI help that
conda remove -n <myenv> --allcan be used to delete environments. (#12378) - Handle Python import errors gracefully when loading conda plugins from entrypoints. (#12460)
Bug fixes
- Fixed errors when renaming without an active environment. (#11915)
- Prevent double solve attempt if
PackagesNotFoundErroris raised. (#12201) - Virtual packages follow
context.subdirinstead ofplatform.system()to enable cross-platform installations. (#12219) - Don't export
__glibcvirtual package whenCONDA_OVERRIDE_GLIBC="". (#12267) - Fix
arg_parsepass-through for--versionand--helpinconda.xsh. (#12344) - Filter out
Nonepath values frompwd.getpwall()on Unix systems, for users without home directories, when running as root. (#12063) - Catch
ChunkedEncodingErrorexceptions to prevent network error tracebacks hitting the output. (#12196 via #12487) - Fix race conditions in
mkdir_p_sudo_safe. (#12490)
Deprecations
- Drop
toolz.itertoolz.uniquein favor of customconda.common.iterators.uniqueimplementation. (#12252) - Stop using
OrderedDict/odictsincedictpreserves insert order since Python 3.7. (#12254) - Mark
conda._vendor.boltonsfor deprecation in 23.9.0. (#12272, #12482) - Mark
conda_exeincontext.pyand a topic inprint_package_infocli/main_info.pyfor official deprecation. (#12398) - Remove unused
chain,methodcaller,mkdtemp,StringIOimports inconda.common.compat; apply other fixes fromruff --fix .in the test suite. (#12294) - Remove unused optimization for searching packages based on
*[track_features=<feature name>]. (#12314) - Remove Notebook spec support from
conda env; this was deprecated already and scheduled to be remove in version 4.5. (#12307) - Mark
conda_exeincontext.pyand a topic inprint_package_infocli/main_info.pyfor official deprecation. (#12276) - Marking
conda.utils.hashsum_fileas pending deprecation. Useconda.gateways.disk.read.compute_suminstead. (#12414) - Marking
conda.utils.md5_fileas pending deprecation. Useconda.gateways.disk.read.compute_sum(path, "md5")instead. (#12414) - Marking
conda.gateways.disk.read.compute_md5sumas pending deprecation. Useconda.gateways.disk.read.compute_sum(path, "md5")instead. (#12414) - Marking
conda.gateways.disk.read.compute_sha256sumas pending deprecation. Useconda.gateways.disk.read.compute_sum(path, "sha256")instead. (#12414) - Drop Python 3.7 support. (#12436)
Docs
- Added docs for
conda.deprecations. (#12452) - Updated some instances of "Anaconda Cloud" to be "Anaconda.org". (#12238)
- Added documentation on the specifications for
conda searchandconda install. (#12304) - Mark
conda.utils.safe_openfor deprecation. Use builtinopeninstead. (#12415)
Other
- Update
<cache key>.json.staterepodata.jsoncache format; checkmtimeagainst cachedrepodata.json. (#12090) - Skip redundant
tar --no-same-ownerwhen running as root on Linux, since newerconda-package-handlingavoids setting ownership from the archive. (#12231) - Add additional extensions to
conda.common.pathfor future use. (#12261) - Pass
--covin test runner scripts but not insetup.cfgdefaults, for easier debugging. (#12268) - Constrain conda-build to at least >=3.18.3, released 2019-06-20. (#12309)
- Improve
start.batWindows development script. (#12311) - Provide conda-forge-based Docker images and fix the bundled
miniobinary. (#12335) - Add support for conda-forge-based CI runtimes. On Linux (all architectures), unit & integration tests will use Python 3.10. On Windows, Python 3.8. On macOS, only the unit tests are run with conda-forge (instead of
defaults!), using Python 3.9. (#12350, #12447 via #12448) - Fix testing data issue where the
subdirentry in some files was mismatched. (#12389) - Initialize conda after installing test requirements during CI. (#12446)
- Speedup pre-commit by a factor of 15 by removing ignored hooks (
pylint/bandit). This locally reduces the pre-commit runtime from ~43sec to 2.9sec and thus makes it possible to run pre-commit in a loop during development to constantly provide feedback and style the code. (#12466)
Contributors
- @AdrianFreundQC made their first contribution in #11883
- @sanzoghenzo made their first contribution in #12074
- @beeankha
- @conda-bot
- @dbast
- @dholth
- @FelisNivalis made their first contribution in #11915
- @gforsyth made their first contribution in #12344
- @eltociear made their first contribution in #12377
- @jaimergp
- @jezdez
- @jjhelmus
- @kannanjayachandran made their first contribution in #12363
- @kathatherine
- @kenodegard
- @ForgottenProgramme
- @ryanskeith made their first contribution in #12439
- @31Sanskrati made their first contribution in #12371
- @travishathaway
- @pre-commit-ci[bot]
Full Changelog: 23.1.0...23.3.0
23.1.0
Bug fixes
- Detect CUDA driver version in subprocess. (#11667)
- Fixes the behavior of the
--no-userflag inconda initso that a user's.bashrc, etc. remains unaltered, as expected. (#11949) - Fix several more user facing
MatchSpeccrashes that were identified by fuzzing efforts. (#12099) - Lock
sys.stdoutto avoid corrupted--jsonmultithreaded download progress. (#12231)
Docs
- Optional Bash completion support has been removed starting in v4.4.0, and not just deprecated. (#11171)
- Documented optional
channel::packagesyntax for specifying dependencies inenvironment.ymlfiles. (#11890)
Other
- Refactor
repodata.jsonfetching; update on-disk cache format. Based on work by @FFY00. (#11600) - Environment variable overwriting WARNING is printed only if the env vars are different from those specified in the OS. (#12128)
- Added
conda-libmamba-solverrun constraint. (#12156) - Updated
ruamel.yamlversion. (#12156) - Added
tqdmdependency. (#12191) - Use
itertools.chain.from_iterableinstead of equivalenttlz.concat. (#12165) - Use
toolz.uniqueinstead of vendored copy. (#12165) - Use
itertools.isliceinstead oftoolz.take. (#12165) - Update CI test workflow to only run test suite when code changes occur. (#12180)
- Added Python 3.10 canary builds. (#12184)
Contributors
- @beeankha
- @dholth
- @dariocurr made their first contribution in #12128
- @jezdez
- @jay-tau made their first contribution in #11738
- @kenodegard
- @pkmooreanaconda
- @sven6002 made their first contribution in #12162
- @ReveStobinson made their first contribution in #12213
- @travishathaway
- @XuehaiPan made their first contribution in #11667
- @xylar made their first contribution in #11949
- @pre-commit-ci[bot]
Full Changelog: 22.11.1...23.1.0
22.11.1
Bug fixes
- Restore default virtual package specs as in 22.9.0 (#12148)
- re-add
__unix/__winpackages - restore
__archspecversion/build string composition
- re-add
Other
- Skip test suite for non-code changes. (#12141)
Contributors
Full Changelog: 22.11.0...22.11.1