Releases: conda/conda
Releases · conda/conda
25.9.1
Bug fixes
- Require
conda-libmamba-solver >=25.4.0. (#15289) - Fix
conda.models.environment.Environment.from_cli's spec grouping to correctly categorize@EXPLICITURLs. (#15306 via #15309)
Contributors
Full Changelog: 25.9.0...25.9.1
25.9.0
✨ Special Announcement ✨
Following feedback from conda users last year about the pre-configuration of the conda code base to favor channels from Anaconda Inc, we've finished removing hardcoding Anaconda's channels as the default set of channels in the conda source code.
It is now up to providers of the conda distributions, such as miniforge or Anaconda (including miniconda), to pre-configure their preferred channels, e.g. by running the necessary conda config --set channels command.
Enhancements
- Add conda doctor check for if the pinned file is ill-formatted. (#7978 via #15022)
- If an HTTP error response includes a field named
detail, relay that as the error message. Stop uppercasing the error message. (#15021 via #15037) - Raise exceptions to prevent renaming or removing the environment specified by
default_activation_env. (#15061) - Make
conda list REGEXraise an exception with exit code 1 when the regular expression does not match any packages in the target environment. (#15074 via #15075) - Add a bytes cache to support sharded repodata. (#15083)
- Add a "file locking" health check to
conda doctor. (#13921 & #14948 via #15114) - Add a new environment spec plugin, called
cep-24, that implements theenvironment.ymlspecification in CEP 24. This is enabled by default. (#15120) - Change the
environment.ymlplugin to be disabled by default. Users can explicitly use it by setting the--environment-specifierflag. (#15120) - Add
conda.models.environment.Environment.extrapolateto extrapolate the environment for a different platform. (#15157 via #15183) - Add
CondaEnvironmentExporter.multiplatform_exportto support export formats with multiple platforms. (#15159 via #15253, #15261) - Update
dev/start/dev\start.batscripts to allow choosing betweenminicondaandminiforgeinstallers via-i/--installerflag,installer_typein~/.condarcconfiguration, or interactive prompt when not specified. (#15084 via #15163) - Report environments marked as frozen (CEP 22) with
+inconda info --envsandconda env list. (#15213)
Bug fixes
- Slash-normalize
PrefixRecord.filesentries on Windows to emit correct output forconda listin environments created by (micro)mamba. (#14523) - Silence error in
fishwhen undefined environment variables are unset. (#14659 via #14660, #15102) - Fix
validate_subdir_configcli validation -- only search config file context sources for subdir configuration. (#15020 via #15038) - Fix
conda install/create/updatecommands to not ignore CLI arguments if an explicit package is specified to install. (#15028) - Override
create_default_packagessetting for specs originating from files. (#15041) - Don't install explicit packages if invoked with
conda update. (#15044) - Update
conda create --cloneto disallow users to specify a--fileCLI argument. (#15702 via #15073) - Ignore explicit packages specified in
create_default_packagessetting and provide a helpful warning message for the setting. (#15115) - Avoid triple-equals string exports when the
MatchSpec.versionfield starts with a single equals. (#15123 via #15141) - Respect
CONDA_PROTECT_FROZEN_ENVSenvironment variable in the absence of--override-frozen. (#15162) - Indicate that a dry run was performed and no changes were made when running
conda init --dry-run. (#15097 via #15211) - Don't load the
environment.ymlenvironment as part of itscan_handlefunction. Just verify if the plugin will be able to interpret the provided file. For theenvironment.ymlplugin, it can read any.yml/.yamlfile. (#15237)
Deprecations
- Mark
conda.cli.common.specs_from_urlkeyword argumentjsonas pending deprecation, to be removed in 26.9. (#15028) - Mark re-exports from
conda.plugins.typesinconda.pluginsas pending deprecation, to be removed in 26.9. Import fromconda.plugins.typesinstead:conda.plugins.CondaAuthHandler→conda.plugins.types.CondaAuthHandlerconda.plugins.CondaEnvironmentSpecifier→conda.plugins.types.CondaEnvironmentSpecifierconda.plugins.CondaHealthCheck→conda.plugins.types.CondaHealthCheckconda.plugins.CondaPostCommand→conda.plugins.types.CondaPostCommandconda.plugins.CondaPostSolve→conda.plugins.types.CondaPostSolveconda.plugins.CondaPostTransactionAction→conda.plugins.types.CondaPostTransactionActionconda.plugins.CondaPreCommand→conda.plugins.types.CondaPreCommandconda.plugins.CondaPrefixDataLoader→conda.plugins.types.CondaPrefixDataLoaderconda.plugins.CondaPreSolve→conda.plugins.types.CondaPreSolveconda.plugins.CondaPreTransactionAction→conda.plugins.types.CondaPreTransactionActionconda.plugins.CondaReporterBackend→conda.plugins.types.CondaReporterBackendconda.plugins.CondaRequestHeader→conda.plugins.types.CondaRequestHeaderconda.plugins.CondaSetting→conda.plugins.types.CondaSettingconda.plugins.CondaSolver→conda.plugins.types.CondaSolverconda.plugins.CondaSubcommand→conda.plugins.types.CondaSubcommandconda.plugins.CondaVirtualPackage→conda.plugins.types.CondaVirtualPackage
- Add deprecation warnings for invalid fields in environment.yml files. (#15120)
- Mark
conda.core.index.calculate_channel_urlsas pending deprecation, to be removed in 26.9. Useconda.models.channel.all_channel_urls(conda.base.context.context.channels)instead. (#15173) - Stop implicitly adding the
defaultschannel to the channel list. (#15196) - Mark
conda.core.index._supplement_index_with_systemas pending deprecation, to be removed in 26.3. - Postpone
conda.utils.unix_path_to_windeprecation to26.3. Useconda.common.path.unix_path_to_wininstead. (#15230) - Constrain minimum compatible conda-build version as >= 25.9 (#15235)
- Mark
conda.auxlib.compat.isiterableas pending deprecation, to be removed in 26.9. Useconda.common.compat.isiterableinstead. (#15252) - Remove
conda.activate._Activator.commands. Useconda commandsinstead. (#15179) - Remove
conda.activate._Activator._parse_and_set_artsargumentarguments. (#15179) - Remove
conda.activate.ensure_binary. Useconda.common.compat.ensure_binaryinstead. (#15179) - Remove
conda.activate.ensure_fs_path_encoding. (#15179) - Remove constants
conda.activate._cygpath,conda.activate.native_path_to_unix,conda.activate.unix_path_to_native,conda.activate.path_identity. (#15179) - Remove
conda.cli.common.confirm. Useconda.reporters.confirm_yninstead. (#15180) - Remove
conda.cli.common.confirm_yn. Useconda.reporters.confirm_yninstead. (#15180) - Remove
conda.cli.common.print_envs_list. Useconda.reporters.render(style='env_list')instead. (#15180) - Remove
conda env createremote_definitionargument. (#15181) - Remove
conda env updateremote_definitionargument. (#15181) - Remove
conda.env.specs.binstar.BinstarSpecclass. (#15181) - Remove experimental Binstar environment spec plugin. (#15181)
- Remove
conda.cli.main_env_remove.execute.Useconda.cli.main_remove.executeinstead. (#15182) - Remove
conda.cli.install.validate_new_prefix. Useconda.cli.install.validate_new_prefixinstead. (#15182) - Remove constant
conda.exports.win_path_to_unix. (#15184) - Remove constant
conda.exports.unix_path_to_win. (#15184) - Remove
conda.exports.iteritems. Use builtindict.items()instead. (#15184) - Remove unused class
conda.exports.Completer. (#15184) - Remove unused class
conda.exports.InstalledPackages. (#15184) - Remove constant
conda.exports.move_to_trash. (#15184) - Remove constant
conda.exports.KEYS. (#15184) - Remove constant
conda.exports.KEYS_DIR. (#15184) - Remove unused method
conda.exports.verify. (#15184) - Remove
conda.exports.symlink_conda. Useconda.activateinstead. (#15184) - Remove
conda.exports._symlink_conda_help. Useconda.activateinstead. (#15184) - Remove
conda.exports.win_conda_bat_redirect. Useconda.activateinstead. (#15184) - Remove constants
conda.testing.CondaCLIFixture,conda.testing.conda_cli,conda.testing.PathFactoryFixture,conda.testing.path_factory,conda.testing.TmpEnvFixture,conda.testing.tmp_env,conda.testing.TmpChannelFixture,conda.testing.tmp_channel,conda.testing.context_aware_monkeypatch,conda.testing.tmp_pkgs_dir,conda.testing.tmp_envs_dir. (#15185) - Remove constant
conda.testing.integration.BIN_DIRECTORY. (#15185) - Remove
conda.misc.rel_path. (#15190) - Remove argument
index_argsconda.misc.explicit. (#15190) - Remove constant
conda.utils.path_identity. Useconda.common.path.path_identityinstead. (#15191) - Remove
conda.utils.win_path_to_cygwin. Useconda.common.path.win_path_to_cygwininstead. (#15191) - Remove
conda.utils.translate_stream. (#15191) - Remove constant
conda.utils._UNIX_SHELL_BASE. Useconda.activateinstead. (#15191) - Remove constant
conda.utils._MSYS2_SHELL_BASE. Useconda.activateinstead. (#15191) - Remove constant
conda.utils._SHELLS. Useconda.activateinstead. (#15191) - Remove free channel from channel configuration. (#15195)
- Remove deprecated property
conda.base.context.restore_free_channel. (#15195) - Remove field
conda.base.context._restore_free_channel. (#15195) - Remove deprecation warning
conda.base.context._warn_defaults_deprecation. (#15196) - Remove deprecated module
conda.cli.python_api. (#15219) - Remove deprecated module
conda.common.disk. (#15219) - Remove deprecated constant
FILESYSTEM_ENCODINGfromconda.common.compat. (#15220) - Remove deprecated function
openfromconda.common.compat. Useconda.common.compat.open_utf8instead. (#15220) - Remove deprecated function
six_with_metaclass...
25.7.0
25.7.0 (2025-08-01)
Enhancements
- Ensure conda does not allow for mixing input file types. (#14684 via #14725)
- Add "environment consistency" health check to
conda doctor. (#14715 via #14799) - Add support for explicit environment specification files as a supported environment spec according to CEP-23, bringing parity between
conda envandconda create/install/update. (#14820) - Add an experimental data model to represent an environment. (#14870)
- Add config option
environment_specifierand CLI argument (--environment-specifier, --env-spec) to allow users to select which environment specifier plugin to use. (#14877) - Enhance
conda exportcommand now supports plugin-based architecture with multiple output formats:environment-yaml(cross-platform YAML, default format)environment-json(cross-platform JSON for programmatic use)explicit(CEP 23 compliant explicit URLs for exact reproduction)requirements(MatchSpec-based requirements format) (#14886)
- Add automatic export format detection based on filename patterns (e.g.,
environment.yaml,explicit.txt,requirements.txt) (#14886) - Add export format aliases for convenience (
yaml,yml,json,reqs,txt) (#14886) - Introduce new dataclass
conda.models.environment.EnvironmentConfigto representEnvironmentsettings, a subset ofcontextsettings that impact environment creation and management. (#14913, #15026) - Allow env spec plugins to opt-out of auto detection. (#14914)
- Handle exceptions coming from environment spec plugins
can_handlefunctions. (#14916) - The
condapackage is included when cloning an environment. (#14917 via #14919) - Lazily evaluate CLI options originating from the plugin manager. (#14925)
- Improve the error message that appears when duplicate records are found in the prefix. (#14927)
- Add virtual packages field to the Environment model. (#14979)
- Add ability to create
EnvironmentConfiginstances from a given context. (#14986) - Add
CondaPluginbase class with name normalization. (#15002) - Enhance
LazyChoicesActionwith dynamic choices property and caching for improved CLI argument validation and help text generation. (#15046)
Bug fixes
- Set default value for
versionparameter whenbuildis set inMatchSpec.conda_build_form(). (#11200 via #15025) - Improve conda notices cache handling for better user experience. (#14229)
- Improve type hints and error handling in conda installer functions. (#14820)
- Fix
conda export --override-channelsbehavior to properly include installed packages' channels (unless--ignore-channelsis also provided), restoring the original intended functionality and improving environment reproducibility. (#15048 via #14886) - Fix
tmp_channelfixture to also include dependencies in the temporary channel. (#14924) - Fix unsetting environment variables when
envvars_force_uppercase = False. (#14934 via #14942) - Respect
--platformoption on subsequent environment operations after initialconda env createcall. (#14949 via #14956) - Apply case normalization to all activation environment variables. (#14960)
- Separate
requirements.txtandexplicitenvironment specs. (#14684 via #14963) - Fix
EnvironmentConfig.aggressive_update_packagestype. It is a list of strings, not a bool. (#14982) - Fix
EnvironmentConfig.channel_settingstype. It is a list of dicts, not a dict. (#14984) - Ensure file types can not be mixed in the conda install command. (#14999)
ProxyErrornow accepts an optional custom message parameter to provide more specific error details. (#14945)
Deprecations
- Mark monkey-patching
jsonto supportfrozendictandobj.to_json()as pending deprecation, to be removed in 26.9. Useconda.common.serialize.json.CondaJSONEncoderinstead. (#14709) - Mark
conda.auxlib.entity.EntityEncoderas pending deprecation, to be removed in 26.9. Useconda.common.serialize.json.CondaJSONEncoderinstead. (#14709) - Mark
conda.auxlib.logz.DumpEncoderas pending deprecation, to be removed in 26.9. Useconda.common.serialize.json.CondaJSONEncoderinstead. (#14709) - Mark
conda.auxlib.logz._DUMPSas pending deprecation, to be removed in 26.9. Useconda.common.serialize.json.CondaJSONEncoder(sort_keys=True).encodeinstead. (#14709) - Mark
conda.auxlib.logz.jsondumpsas pending deprecation, to be removed in 26.9. Useconda.common.serialize.json.CondaJSONEncoder(sort_keys=True).encodeinstead. (#14709) - Mark
conda.common.serialize.EntityEncoderas pending deprecation, to be removed in 26.9. Useconda.common.serialize.json.CondaJSONEncoderinstead. (#14709) - Mark
conda.common.serialize.json_loadas pending deprecation, to be removed in 26.9. Useconda.common.serialize.json.loads(sort_keys=True)instead. (#14709) - Mark
conda.common.serialize.json_dumpas pending deprecation, to be removed in 26.9. Useconda.common.serialize.json.dumps(sort_keys=True)instead. (#14709) - Mark
conda.exports.EntityEncoderas pending deprecation, to be removed in 26.9. Useconda.common.serialize.json.CondaJSONEncoderinstead. (#14709) - Mark
conda.env.specs.binstar.BinstarSpec.environmentas pending deprecation in 26.9. Useconda.env.specs.binstar.BinstarSpec.envinstead. (#14397) - Mark
conda.env.specs.requirements.RequirementsSpec.environmentas pending deprecation in 26.9. Useconda.env.specs.requirements.RequirementsSpec.envinstead. (#14397) - Mark
conda.env.specs.yaml_file.YamlFileSpec.environmentas pending deprecation in 26.9. Useconda.env.specs.yaml_file.YamlFileSpec.envinstead. (#14397) - Mark
conda.env.env.Environmentas pending deprecation in 26.9. Useconda.env.env.EnvironmentYamlinstead. (#14981) - Mark
conda.cli.common.arg2specas pending deprecation, to be removed in 26.9. (#15028) - Mark
conda.cli.common.specs_from_argskeyword argumentjsonas pending deprecation, to be removed in 26.9. (#15028) - Mark
conda.gateways.disk.create.create_application_entry_pointas pending deprecation, to be removed in 26.9. (#15062) - Mark
conda.gateways.disk.create.ProgressFileWrapperas pending deprecation, to be removed in 26.9. (#15062) - Mark
conda.gateways.disk.create.create_fake_executable_softlinkas pending deprecation, to be removed in 26.9. (#15062) - Postpone
conda.env.specs.binstardeprecation to 26.9. (#15062)
Docs
- Add documentation for
conda exportcommand with examples and format specifications. (#14886) - Add environment exporter plugin development guide with examples and best practices. (#14886)
- Update environment management documentation to highlight new export capabilities. (#14886)
- Update cheatsheet with new export formats and commands. (#14886)
- Enhance command comparison table to include new export functionality. (#14886)
- Add glossary entries for CEP 23, environment exporters, explicit format, and requirements format. (#14886)
- Add note about enhanced
conda exportfunctionality alongside existingconda env export. (#14886) - Add docs about environment spec plugin detection. (#14918)
- No longer claim that
noarch/repodata.json.bz2is required. Conda has not usedrepodata.json.bz2for years. (#14965)
Other
- Delay environment activation in dev setup to avoid issues when
default_activation_envis set. (#14910) - Environment Spec plugins should return an Environment model. (#14937)
- EnvironmentConfig lists of values should be tuples. (#15000)
- Avoid modifying
tests/env/supportin test suite and confusing subsequent test runs. (#15011) - Remove unused import of deprecated
DumpEncoder. (#15015)
Contributors
- @conda-bot
- @dholth
- @jaimergp
- @jezdez
- @jjhelmus
- @kathatherine
- @kenodegard
- @ForgottenProgramme
- @mmc1718 made their first contribution in #15025
- @soapy1
- @travishathaway
- @dependabot[bot]
- @pre-commit-ci[bot]
25.5.1
25.5.0
25.5.0 (2025-05-21)
Enhancements
- Add the ability to define pre- and post-transaction hooks. (#14754)
- Adds support for showing and manipulating settings registered via the settings plugin hook to
conda config. (#13661 via #14510) - Raise
conda.exceptions.OfflineErrorinstead of genericRuntimeErrorwhen--offlineis used for better error handling. (#14664 via #14665) - Add
context.default_activation_envsetting, which allows users to customize which environment should get auto activated on initialization (ifcontext.auto_activateis enabled), as well asconda activatecalls without arguments. Defaults tobase. (#14666) - Provide
conda init --condabin, which only adds the$CONDA_PREFIX/condabindirectory to the PATH environment variable instead of installing a shell function. (#14703) - Add
environment_specifiersplugin hooks to allow the creation of plugins to read different file formats and sources. (#14710) - Extend
PrefixDataAPI with two constructors (from_name(),from_context()), a new property (name), several boolean-returning methods (exists(),is_environment(),is_base()), and a few exception-raising methods (assert_exists(),assert_environment(),assert_writable(),validate_path(),validate_name()). An additional methodset_nonadmin()allows to plant the.nonadminmarker on Windows. (#14747 via #14750) - Add support for frozen environment markers (CEP 22). (#14746 via #14766)
- Add a plugin hook for
PrefixDataloaders and use it to wrap the existing PyPI interoperability features. These are now present inconda.plugins.prefix_data_loaders.pypi. (#14780) - Add a
--fieldsflag toconda listthat allows to customize the content of thehumanoutput format. (#14781) - Add debug logs to get visibility into environment spec plugin selection. (#14815)
- Add
conda.models.records.SolvedRecordclass. It is aPackageRecordsubclass augmented with therequested_specfield originally found inPrefixRecord. (#14821)
Bug fixes
- Cleanup references to
DepsModifier.UPDATE_SPECS. (#14807) - Report package variant installation as "REVISED" as opposed to "DOWNGRADED". (#13797 via #14727)
- Add a validation step to check if the target environment is writable when running the
installorupdatecommands. (#12561 via #14668) - Fix cache key in
PrefixData. It will now considerinteroperability. (#14750) - Do not cache
PrefixDatarecords across successiveconda listinvocations. (#14750) environment.yamlspec plugin should only handle yaml files (files with.yamlor.ymlfile extensions). (#14823)- Fix
conda inforendering to display components in a consistent order. (#14829 via #14831)
Deprecations
- Mark
conda.base.context.context.auto_activate_baseas pending deprecation. Useconda.base.context.context.auto_activateinstead. It will be permanently removed in 26.3. (#14666) - Mark
conda.base.context.Context.pip_interop_enabledas pending deprecation, to be removed in 26.3. Useconda.base.context.Context.prefix_data_interoperability. instead. (#14750) - Mark
conda.base.context._first_writable_envs_diras pending deprecation. Useconda.gateways.disk.create.first_writable_envs_dir()andPrefixData.from_name()instead. It will be permanently removed in 26.3. (#14750) - Mark
conda.base.context.validate_prefix_nameas pending deprecation. UsePrefixData.validate_name()andPrefixData.from_name()instead. It will be permanently removed in 26.3. (#14750) - Mark
conda.cli.common.validate_prefixas pending deprecation. UsePrefixData.assert_environment()instead. It will be permanently removed in 26.3. (#14750) - Mark
conda.cli.common.validate_prefix_is_writableas pending deprecation. UsePrefixData.assert_writable()instead. It will be permanently removed in 26.3. (#14750) - Mark
conda.cli.install.check_prefixas pending deprecation. UsePrefixData.exists(),PrefixData.validate_path(),PrefixData.validate_name()instead. It will be permanently removed in 26.3. (#14750) - Mark
conda.cli.install.print_activateas pending deprecation. Useconda.cli.common.print_activateinstead. It will be permanently removed in 26.3. (#14670) - Mark
conda.cli.install.validate_new_prefixas pending deprecation. UsePrefixData.exists()andPrefixData.validate_path()instead. It will be permanently removed in 26.3. (#14750) - Mark
conda.cli.install.validate_prefix_existsas pending deprecation. UsePrefixData.exists()instead. It will be permanently removed in 26.3. (#14750) - Mark
conda.cli.main_info.get_info_componentsas pending deprecation to be removed in 26.3. Useconda.cli.main_info.iter_info_componentsinstead. (#14837) - Mark
conda.cli.main_rename.check_protected_dirsas pending deprecation. UsePrefixData.validate_path()instead. It will be permanently removed in 26.3. (#14750) - Mark
conda.cli.main_rename.validate_srcas pending deprecation. UsePrefixData.validate_path()andPrefixData.validate_name()instead. It will be permanently removed in 26.3. (#14750) - Mark
conda.common.pkg_formats.pythonmodule as pending deprecation, to be removed in 26.3. Useconda.plugins.prefix_data_loaders.pypi.pkg_formatinstead. (#14798) - Mark
conda.common.pkg_formatssubpackage as pending deprecation, to be removed in 26.3. Use theprefix_data_loadersplugin hook instead. (#14798) - Mark
conda.common.url.hex_octal_to_intas pending deprecation. Useint(..., 16)instead. It will be permanently removed in 26.3. (#14750) - Mark
conda.core.link.PrefixActionGroupas pending deprecation. Useconda.core.link.PrefixActionsinstead. It will be permanently removed in 26.3. (#14754) - Mark
conda.core.link.PrefixActionsas deprecated. It will be renamed toconda.core.link.PrefixActionGroupin 26.3. (#14754) - Mark
conda.core.path_actions._Actionas pending deprecation. Useconda.core.path_actions.Actioninstead. It will be permanently removed in 26.3. (#14754) - Mark
conda.core.prefix_data.get_python_version_for_prefix()as pending deprecation, to be removed in 26.3. Useconda.core.prefix_data.PrefixData(prefix).get("python").versioninstead. (#14750) - Mark
conda.core.prefix_data.PrefixDatakeyword argumentpip_interop_enabledas pending deprecation, to be removed in 26.3. Use theinteroperabilitykeyword argument instead. (#14750) - Mark
conda.core.prefix_data.PrefixData._load_site_packages()as pending deprecation, to be removed in 26.3. Useconda.plugins.prefix_data_loaders.pypi.load_site_packages()instead. (#14750) - Mark
conda.core.prefix_data.PrefixData._python_pkg_recordas pending deprecation, to be removed in 26.3. UsePrefixData.get("python")instead. (#14750) - Mark
conda.core.prefix_data.python_record_for_prefix()as pending deprecation. Useconda.core.prefix_data.PrefixData(prefix).get("python")instead. (#14750) - Mark
conda.gateways.disk.read.read_python_recordas pending deprecation, to be removed in 26.3. Useconda.plugins.prefix_data_loaders.pypi.pkg_format.read_python_recordinstead. (#14798) - Mark
conda.gateways.disk.test.is_conda_environmentas pending deprecation. UsePrefixData.is_environment()instead. It will be permanently removed in 26.3. (#14750) - Mark
conda.gateways.disk.test.touch_nonadminas pending deprecation. UsePrefixData.set_nonadmin()instead. It will be permanently removed in 26.3. (#14750) - Mark
conda.models.records.PackageRecord.schannelas pending deprecation. Useconda.models.records.PackageRecord.channel_nameinstead. It will be permanently removed in 26.3. (#14781) - Mark
conda.trust.signature_verificationandconda.trust.constantsmodules for deprecation in version 25.9.0, to be removed in version 26.3.0. The functionality will be moved toconda-content-trustandconda-anaconda-trust-rootpackages respectively. (#14849) - Mark
conda info --licenseas pending deprecation to be removed in 26.3. (#14831) - Mark
conda info --rootas pending deprecation to be removed in 26.3. Useconda info --baseinstead. (#14831)
Docs
- Add type hints and docstrings to
conda.core.portability. (#13820) - Add type hints and docstrings to
conda.core.subdir_data. (#13821) - Add type hints to
conda.base.constants. (#13480) - Add type hints to
conda.base.context. (#14776) - Add type hints to
conda.__init__,conda.exceptionsandconda.exception_handler. (#14776) - Add type hints to
conda.core.prefix_data. (#14779) - Add examples to environment specs plugin docs. (#14814)
- Add type hints to
conda.models.channel.Channel. (#14817) - Update the conda cheatsheet to 25.3.1 version. (#14830)
Other
- Refactor
--repodata-fniteration inconda.cli.installand other smaller cleanups. (#14670) - Refactor command line argument validations from
conda.cli.install.installto the relevantclimodules. (#14742) - Refactor
conda create --clonelogic into a separate function. (#14743) - Use
dict.fromkeysfor sequence deduplication, instead ofIndexedSet(). (#14777)
Contributors
- @conda-bot
- @faithrider
- @jaimergp
- @jezdez
- @kathatherine
- @kenodegard
- @peytondmurray
- @samhaese
- @soapy1
- @travishathaway
- @dependabot[bot]
- @pre-commit-ci[bot]
New Contributors
- @faithrider made their first contribution in #13820
- @peytondmurray made their first contribution in #14754
25.3.1
25.3.0
Enhancements
- Add support for Python 3.13. (#14584)
- Refactor CMD's activation process to use a static shell script instead of a dynamic temporary script. This resolves using
conda activatewith script execution restrictions when Windows AppLocker is enabled. (#13610 via #14607)
Bug fixes
- Fix variable deletion in xonsh. (#14543 via #14550)
- Make
conda.gateways.logging.TokenURLFilter.TOKEN_REPLACEa staticmethod for future Python compatibility. (#14590) - Allow user to specify
--nameor--prefixas part ofconda configcommand. (#12137 via #14648)
Deprecations
- Postpone
conda.base.context.Context.conda_exedeprecation to26.3. (#14647) - Postpone
conda.base.context.Context.restore_free_channeldeprecation to25.9. (#14647) - Postpone implicit
defaultsmultichannel deprecation to25.9. Users relying on this behavior are encouraged to runconda config --add channels defaults. (#14178 via #14662) - Postpone loading subcommands from executables deprecation to
conda 26.3. (#14644) - Mark
conda {create,install,update} -fas pending deprecation. Useconda {create,install,update} --fileinstead. (#14446) - Mark
conda._vendoras pending deprecation. Conda no longer vendors dependencies. (#14562) - Mark
conda.common.io._logger_lockas pending deprecation. Uselogging._lockinstead. (#14584) - Mark
conda.exports.planas pending deprecation. (#14631) - Mark
conda.plan.Channelas pending deprecation. Useconda.models.channel.Channelinstead. (#14603) - Mark
conda.plan.contextas pending deprecation. Useconda.base.context.contextinstead. (#14603) - Mark
conda.plan.dashlistas pending deprecation. Useconda.common.io.dashlistinstead. (#14603) - Mark
conda.plan.defaultdictas pending deprecation. Use builtincollections.defaultdictinstead. (#14603) - Mark
conda.plan.DEFAULTS_CHANNEL_NAMEas pending deprecation. Useconda.base.constants.DEFAULTS_CHANNEL_NAMEinstead. (#14603) - Mark
conda.plan.Distas pending deprecation. Useconda.models.dist.Distinstead. (#14603) - Mark
conda.plan.env_varsas pending deprecation. Useconda.common.io.env_varsinstead. (#14603) - Mark
conda.plan.FETCHas pending deprecation. Useconda.instructions.FETCHinstead. (#14603) - Mark
conda.plan.groupby_to_dictas pending deprecation. Useconda.common.iterators.groupby_to_dictinstead. (#14603) - Mark
conda.plan.human_bytesas pending deprecation. Useconda.utils.human_bytesinstead. (#14603) - Mark
conda.plan.IndexedSetas pending deprecation. Useboltons.setutils.IndexedSetinstead. (#14603) - Mark
conda.plan.LAST_CHANNEL_URLSas pending deprecation. Useconda.core.index.LAST_CHANNEL_URLSinstead. (#14603) - Mark
conda.plan.LINKas pending deprecation. Useconda.instructions.LINKinstead. (#14603) - Mark
conda.plan.LinkTypeas pending deprecation. Useconda.models.enums.LinkTypeinstead. (#14603) - Mark
conda.plan.logas pending deprecation. Use builtinlogginginstead. (#14603) - Mark
conda.plan.MatchSpecas pending deprecation. Useconda.models.match_spec.MatchSpecinstead. (#14603) - Mark
conda.plan.normalized_versionas pending deprecation. Useconda.models.version.normalized_versioninstead. (#14603) - Mark
conda.plan.PackageRecordas pending deprecation. Useconda.models.records.PackageRecordinstead. (#14603) - Mark
conda.plan.PrefixSetupas pending deprecation. Useconda.core.link.PrefixSetupinstead. (#14603) - Mark
conda.plan.prioritize_channelsas pending deprecation. Useconda.models.channel.prioritize_channelsinstead. (#14603) - Mark
conda.plan.reset_contextas pending deprecation. Useconda.base.context.reset_contextinstead. (#14603) - Mark
conda.plan.SYMLINK_CONDAas pending deprecation. Useconda.instructions.SYMLINK_CONDAinstead. (#14603) - Mark
conda.plan.sysas pending deprecation. Use builtinsysinstead. (#14603) - Mark
conda.plan.time_recorderas pending deprecation. Useconda.common.io.time_recorderinstead. (#14603) - Mark
conda.plan.TRACEas pending deprecation. Useconda.common.constants.TRACEinstead. (#14603) - Mark
conda.plan.UNKNOWN_CHANNELas pending deprecation. Useconda.base.constants.UNKNOWN_CHANNELinstead. (#14603) - Mark
conda.plan.UNLINKas pending deprecation. Useconda.instructions.UNLINKinstead. (#14603) - Mark
conda.plan.UnlinkLinkTransactionas pending deprecation. Useconda.core.link.UnlinkLinkTransactioninstead. (#14603) - Mark
conda.planas pending deprecation. (#14603) - Mark
conda.testing.fixtures.session_capsysas pending deprecation. (#14575) - Mark
conda_env.clias pending deprecation. (#14564) - Mark
conda_env.installersas pending deprecation. (#14564) - Mark
conda_envas pending deprecation. (#14564) - Remove
conda create --mkdir. Redundant argument. (#14644) - Remove
conda install --mkdir. Useconda createinstead. (#14644) - Remove
conda rename --force. Useconda rename --yesinstead. (#14644) - Remove
conda._vendor.frozendict. Usefrozendictinstead. (#14562, #14582) - Remove
conda.activate._Activator._get_path_dirs(extra_library_bin). (#14563) - Remove
conda.activate._Activator.add_export_unset_vars. Useconda.activate._Activator.get_export_unset_varsinstead. (#14563) - Remove
conda.activate._Activator.get_scripts_export_unset_vars. Useget_scripts_export_unset_varshelper function intest_activate.pyinstead. (#14563) - Remove
conda.activate.JSONFormatMixin.get_scripts_export_unset_vars. Useconda.activate._Activator.get_export_unset_varsinstead. (#14563) - Remove
conda.auxlib.collection.make_immutable. Usefrozendict.deepfreezeinstead. (#14586) - Remove
conda.cli.main_env.configure_parser(sub_parsers=None). (#14600) - Remove
conda.cli.main_env_list.execute. Useconda.cli.main_info.execute(envs=True)instead. (#14604) - Remove
conda.cli.main_info.get_info_dict(system). (#14604) - Remove
conda.common.compat.encode_arguments. (#14604) - Remove
conda.env.specs.detect(remote_definition). (#14604) - Remove
conda.instructions.PREFIX. (#14604) - Remove
conda.plan._get_best_prec_match. Useconda.misc._get_best_prec_matchinstead. (#14603) - Remove
conda.plan._handle_menuinst. (#14603) - Remove
conda.plan._inject_UNLINKLINKTRANSACTION. (#14603) - Remove
conda.plan._plan_from_actions. (#14603) - Remove
conda.plan._update_old_plan. (#14603) - Remove
conda.plan.add_defaults_to_specs. (#14603) - Remove
conda.plan.add_unlink. (#14603) - Remove
conda.plan.display_actions. (#14603) - Remove
conda.plan.execute_actions. (#14603) - Remove
conda.plan.execute_plan. (#14603) - Remove
conda.plan.execute_plan. (#14603) - Remove
conda.plan.get_blank_actions. (#14603) - Remove
conda.plan.install_actions. (#14603) - Remove
conda.plan.print_dists. (#14603) - Remove
conda.plan.revert_actions. Useconda.cli.install.revert_actionsinstead. (#14603) - Remove
conda.planas an entrypoint. (#14603) - Remove
conda.testing.integration._get_temp_prefix. Usetmp_path,conda.testing.path_factory, orconda.testing.tmp_envinstead. (#14645) - Remove
conda.testing.integration.create_temp_location. Usetmp_pathorconda.testing.fixtures.path_factoryfixtures instead. (#14604) - Remove
conda.testing.integration.FORCE_temp_prefix. Usetmp_path,conda.testing.fixtures.path_factory, orconda.testing.fixtures.tmp_envfixtures instead. (#14604) - Remove
conda.testing.integration.make_temp_channel. Useconda.testing.fixtures.tmp_channelfixture instead. (#14604) - Remove
conda.testing.integration.make_temp_env. Useconda.testing.fixtures.tmp_envfixture instead. (#14604) - Remove
conda.testing.integration.make_temp_package_cache. Useconda.testing.fixtures.tmp_pkgs_dirfixture instead. (#14604) - Remove
conda.testing.integration.make_temp_prefix. Usetmp_path,conda.testing.path_factory, orconda.testing.tmp_envinstead. (#14645) - Remove
conda.testing.integration.run_command. Useconda.testing.conda_cliinstead. (#14645) - Remove
conda.testing.integration.running_a_python_capable_of_unicode_subprocessing. (#14669) - Remove
conda.testing.integration.set_tmpdirfixture. Usetmp_path,conda.testing.path_factory, orconda.testing.tmp_envinstead. (#14645) - Remove
conda.testing.integration.tempdir. Usetmp_pathorconda.testing.fixtures.path_factoryfixtures instead. (#14604) - Remove
conda_env.cli.common. Useconda.env.envinstead. (#14564) - Remove
conda_env.cli.main_config. Useconda.cli.main_env_configinstead. (#14564) - Remove
conda_env.cli.main_create. Useconda.cli.main_env_createinstead. (#14564) - Remove
conda_env.cli.main_export. Useconda.cli.main_exportinstead. (#14564, #14601) - Remove
conda_env.cli.main_list. Useconda.cli.main_env_listinstead. (#14564) - Remove
conda_env.cli.main_remove. Useconda.cli.main_env_removeinstead. (#14564) - Remove
conda_env.cli.main_update. Useconda.cli.main_env_updateinstead. (#14564) - Remove
conda_env.cli.main_vars. Useconda.cli.main_env_varsinstead. (#14564) - Remove
conda_env.env. Useconda.env.envinstead. (#14564) - Remove
conda_env.installers.base. Useconda.env.installers.baseinstead. (#14564) - Remove
conda_env.installers.conda. Useconda.env.installers.condainstead. (#14564) - Remove
conda_env.installers.pip. Useconda.env.installers.pipinstead. (#14564) - Remove
conda_env.pip_util. Useconda.env.pip_utilinstead. (#14564) - Remove
conda_env.specs.binstar. Useconda.env.specs.binstarinstead. (#14564) - Remove
conda_env.specs.requirements. Useconda.env.specs.requirementsinstead. (#14564) - Remove
conda_env.specs.yaml_file. Useconda.env.specs.yaml_fileinstead. (#14564) - Remove
conda_env.specs. Useconda.env.specsinstead. (#14564) - Remove `logging.Logger....
25.1.1
Bug fixes
- Fix PowerShell activation/deactivation to properly unset
$env:_CE_Mand$env:_CE_CONDAenvironment variables. (#14292 via #14517)
Contributors
Full Changelog: 25.1.0...25.1.1
25.1.0
Enhancements
Bug fixes
- Merge overlapping glob build specs instead of raising
Incompatible component merge. (#11612) - Fix a bug when invalid values are being passed to
conda shell.posixcommand (#14398) - Sort suggested subcommands when an incorrect subcommand is provided in the CLI. (#13332 via 14402)
- Fix a bug where the setting
denylist_channelswas not being recognized in certain cases. (#14405) - Do not use native platform version to set
__osxor__linuxversion if the underlying OS is not macOS or Linux, respectively. (#14448 via #14449) - Report real macOS version (11+ instead of 10.16) even if the Python interpreter was linked against SDK 10.15 or earlier. This applies to the
__osxvirtual package and the user agent info. (#13178, #13832 via #14449) - Accept %-encoded URLs as a valid
MatchSpec. (#14481) - Retry failed downloads one time on
ChecksumMismatchErroras caused by bad
partial downloads. User+borw+binstead of "append" mode. Improve test
coverage. (#13488)
Docs
- Use the correct parameter name,
handler, in the CondaAuthHandler example (#14428).
Other
- Require
conda-libmamba-solver >=24.11.0forlibmamba 2.xcompatibility. (#11612) - Added new
PYTHONPATHautoused fixture inconda.testingto ensure developmentcondais used across all tests. The fixture doesn't apply ifPYTHONPATHis already set in the environment. (#14475)
Contributors
- @conda-bot
- @dbast
- @dholth
- @jaimergp
- @jezdez
- @jjhelmus
- @kenodegard
- @ForgottenProgramme
- @minrk
- @travishathaway
- @dependabot[bot]
- @pre-commit-ci[bot]
Full Changelog: 24.11.3...25.1.0
24.11.3
Bug fixes
- Fix recursion error introduced in
__conda_reactivatedeprecation message. (#14468)
Contributors
Full Changelog: 24.11.2...24.11.3