Releases: conda/conda
Releases · conda/conda
23.7.3
Bug fixes
- Fix regression for supporting conda executable plugins installed into non-base environments. (#13006)
Contributors
Full Changelog: 23.7.2...23.7.3
23.7.2
Bug fixes
Contributors
23.7.1
Bug fixes
Contributors
23.7.0
Enhancements
- Add
conda.deprecations.DeprecationHandler.action
helper to deprecateargparse.Action
s. (#12493) - Add support for the FreeBSD operating system and register
freebsd-64
as a known subdirectory for FreeBSD on x86-64. (#12647) - Do not mock
$CONDA_PREFIX
when--name
or--prefix
is provided. (#12696) - Add support for
sha256
filters in the MatchSpec syntax (e.g.*[sha256=f453db4ffe2271ec492a2913af4e61d4a6c118201f07de757df0eff769b65d2e]
). (#12654 via #12707) - Add a new health check to
conda doctor
detecting altered packages in an environment by comparing expected and computedsha256
checksums. (#12757) - Add new
pre_commands
andpost_commands
plugin hooks allowing plugins to run code before and afterconda
subcommands. (#12712, #12758, #12864) - Stop using
distutils
directly in favor of the vendored version insetuptools
60 and later or standard library equivalents. (#11136) - Add a
CITATION.cff
file to the root of the repository to make it easier for users to cite conda. (#12781) - Add optional
CondaSubcommand.configure_parser
allowing third-party plugins to hook into conda's argument parser. (#12814) - Only display third-party subcommands in
conda --help
and not for every other subcommand. (#12814, #12740) - Add a new config option,
no_plugins
, a--no-plugins
command line flag, and aCONDA_NO_PLUGINS
environment 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.REMAINDER
has known issues. (#12910)
Bug fixes
- Use
requests.exceptions.JSONDecodeError
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. (#12683) - Don't export
__osx
virtual package whenCONDA_OVERRIDE_OSX=""
. (#12715) - Fix erroneous
conda deactivate
behavior 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_cli
testing. (#12814, #12910)
Deprecations
- Mark
conda.base.context.context.root_dir
as pending deprecation. Useconda.base.context.context.root_prefix
instead. (#12701) - Mark
conda.plugins.subcommands.doctor.cli.get_prefix
as pending deprecation. Useconda.base.context.context.target_prefix
instead. (#12725) - Mark
conda.models.leased_path_entry.LeasedPathEntry
as pending deprecation. (#12735) - Mark
conda.models.enums.LeasedPathType
as pending deprecation. (#12735) - Mark
conda.common.temporary_content_in_file
as pending deprecation. Usetempfile
instead. (#12795) - Mark
conda.cli.python_api
as pending deprecation. Useconda.testing.conda_cli
fixture instead. (#12796)
Docs
- Document how to use the new
pre_commands
andpost_commands
plugin 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 env
CLI docs. (#12841)
Other
- Update
tests/cli/test_main_rename.py
to use latest fixtures. (#12517) - Update
tests/test_activate.py
to test the new behavior. (#12769) - Re-enable all
conda_env
tests and remove irrelevant tests. (#12813) - Convert all
unittest
-style tests topytest
-style. (#12819) - Convert
tests/test-recipes
into 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 doctor
subcommand plugin. (#474) - Add Python 3.11 support. (#12256)
- Add
conda list --reverse
to return a reversed list of installed packages. (#11954) - Switch from
setup.py
topyproject.toml
and use Hatchling for our build system. (#12509) - Optimize which Python modules get imported during
conda activate
calls to make it faster. (#12550) - Add
conda_cli
fixture to replaceconda.testing.helpers.run_inprocess_conda_command
andconda.testing.integration.run_command
. (#12592) - Add
tmp_env
fixture to replaceconda.testing.integration.make_temp_env
. (#12592) - Add
path_factory
fixture to replace custom prefix logic likeconda.testing.integration._get_temp_prefix
andconda.testing.integration.make_temp_prefix
. (#12592) - Refactor the way that the
Activator
classes are defined inconda/activate.py
. (#12627) - Warn about misconfiguration when signature verification is enabled. (#12639)
Bug fixes
conda clean
no longer fails if we failed to get the file stats. (#12536)- Provide fallback version if
conda.deprecations.DeprecationHandler
receives a bad version. (#12541) - Ensure the default value for
defaults
includesmsys2
whencontext.subdir
iswin-*
on non-Windows platforms. (#12555) - Avoid
TypeError
when non-string types are written to the index cache metadata. (#12562) conda.core.package_cache_data.UrlsData.get_url
no longer fails whenpackage_path
has.conda
extension. (#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 oncygpath
at runtime, which allmsys2
/cygwin
bash versions on Windows should have available. (#12627)
Deprecations
- Mark
conda_env.pip_util.get_pip_version
as pending deprecation. (#12492) - Mark
conda_env.pip_util.PipPackage
as pending deprecation. (#12492) - Mark
conda_env.pip_util.installed
as pending deprecation. (#12492) - Mark
conda_env.pip_util._canonicalize_name
as pending deprecation. (#12492) - Mark
conda_env.pip_util.add_pip_installed
as pending deprecation. (#12492) - Mark
conda_env.env.load_from_directory
as pending deprecation. (#12492) - Mark
python -m conda_env.cli.main
as pending deprecation. Useconda env
instead. (#12492) - Mark
python -m conda_env
as pending deprecation. Useconda env
instead. (#12492) - Mark
conda.auxlib.packaging
for deprecation in 24.3.0. (#12509) - Rename index cache metadata file
.state.json
to.info.json
to track draft CEP. (#12669) - Mark
conda.testing.integration.get_conda_list_tuple
as pending deprecation. Useconda.core.prefix_data.PrefixData().get()
instead. (#12676) - Mark
conda.testing.encode_for_env_var
as pending deprecation. (#12677) - Mark
conda.testing.integration.temp_chdir
as pending deprecation. Usemonkeypatch.chdir
instead. (#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-docstrings
topre-commit
. (#12620)
Other
- Update retry language in flexible solve and
repodata
logs to be less ominous. (#12612) - Improve
repodata
/subdir_data
programming interface (#12521). Index cache metadata has changed to.info.json
to better align with the draft CEP. Improve cache locking when usingjlap
. Improvejlap
logging. (#12572) - Format with
black
and replacedpre-commit
'sdarker
hook withblack
. (#12554) - Format with
isort
and addpre-commit
isort
hook. (#12554) - Add functional tests around conda's content trust code. (#11805)
- Enable
flake8
checks 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
SubdirData
method used byconda-index
. (#12513) - Include
conda.gateways.repodata.jlap
submodule in package. (#12545)
Other
- Add linux-s390x to multi-arch ci/dev container. (#12498)
- Expose a
MINIO_RELEASE
environment variable to provide a way to pinminio
versions in CI setup scripts. (#12525) - Add
jsonpatch
dependency to support--experimental=jlap
feature. (#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 create
if the environment file is missing. (#11883) - Stop using
toolz.dicttoolz.merge
andtoolz.dicttoolz.merge_with
. (#12039) - Add support for incremental
repodata.json
updates with--experimental=jlap
on 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.deprecations
module 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_settings
configuration parameter that will be used to override arbitrary settings on per-channel basis. (#12239) - Improve speed of
repodata.json
parsing by deferring creation of individualPackageRecord
objects. (#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-cpuinfo
to 0.9.0. (#12319) - Improved code coverage. (#12346, #12457, #12469)
- Add a note about
use_only_tar_bz2
being enabled onPackagesNotFoundError
exceptions. (#12353) - Added to conda CLI help that
conda remove -n <myenv> --all
can 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
PackagesNotFoundError
is raised. (#12201) - Virtual packages follow
context.subdir
instead ofplatform.system()
to enable cross-platform installations. (#12219) - Don't export
__glibc
virtual package whenCONDA_OVERRIDE_GLIBC=""
. (#12267) - Fix
arg_parse
pass-through for--version
and--help
inconda.xsh
. (#12344) - Filter out
None
path values frompwd.getpwall()
on Unix systems, for users without home directories, when running as root. (#12063) - Catch
ChunkedEncodingError
exceptions to prevent network error tracebacks hitting the output. (#12196 via #12487) - Fix race conditions in
mkdir_p_sudo_safe
. (#12490)
Deprecations
- Drop
toolz.itertoolz.unique
in favor of customconda.common.iterators.unique
implementation. (#12252) - Stop using
OrderedDict
/odict
sincedict
preserves insert order since Python 3.7. (#12254) - Mark
conda._vendor.boltons
for deprecation in 23.9.0. (#12272, #12482) - Mark
conda_exe
incontext.py
and a topic inprint_package_info
cli/main_info.py
for official deprecation. (#12398) - Remove unused
chain
,methodcaller
,mkdtemp
,StringIO
imports 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_exe
incontext.py
and a topic inprint_package_info
cli/main_info.py
for official deprecation. (#12276) - Marking
conda.utils.hashsum_file
as pending deprecation. Useconda.gateways.disk.read.compute_sum
instead. (#12414) - Marking
conda.utils.md5_file
as pending deprecation. Useconda.gateways.disk.read.compute_sum(path, "md5")
instead. (#12414) - Marking
conda.gateways.disk.read.compute_md5sum
as pending deprecation. Useconda.gateways.disk.read.compute_sum(path, "md5")
instead. (#12414) - Marking
conda.gateways.disk.read.compute_sha256sum
as 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 search
andconda install
. (#12304) - Mark
conda.utils.safe_open
for deprecation. Use builtinopen
instead. (#12415)
Other
- Update
<cache key>.json.state
repodata.json
cache format; checkmtime
against cachedrepodata.json
. (#12090) - Skip redundant
tar --no-same-owner
when running as root on Linux, since newerconda-package-handling
avoids setting ownership from the archive. (#12231) - Add additional extensions to
conda.common.path
for future use. (#12261) - Pass
--cov
in test runner scripts but not insetup.cfg
defaults, for easier debugging. (#12268) - Constrain conda-build to at least >=3.18.3, released 2019-06-20. (#12309)
- Improve
start.bat
Windows development script. (#12311) - Provide conda-forge-based Docker images and fix the bundled
minio
binary. (#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
subdir
entry 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-user
flag inconda init
so that a user's.bashrc
, etc. remains unaltered, as expected. (#11949) - Fix several more user facing
MatchSpec
crashes that were identified by fuzzing efforts. (#12099) - Lock
sys.stdout
to avoid corrupted--json
multithreaded download progress. (#12231)
Docs
- Optional Bash completion support has been removed starting in v4.4.0, and not just deprecated. (#11171)
- Documented optional
channel::package
syntax for specifying dependencies inenvironment.yml
files. (#11890)
Other
- Refactor
repodata.json
fetching; 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-solver
run constraint. (#12156) - Updated
ruamel.yaml
version. (#12156) - Added
tqdm
dependency. (#12191) - Use
itertools.chain.from_iterable
instead of equivalenttlz.concat
. (#12165) - Use
toolz.unique
instead of vendored copy. (#12165) - Use
itertools.islice
instead 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