Releases: conda/conda
22.9.0
Special announcement 📢
If you have been following the conda project previously, you will notice a change in our version number for this release. We have officially switched to the CalVer versioning system as agreed upon in CEP 8 (Conda Enhancement Proposal).
Please read that CEP for more information, but here is a quick synopsis. We hope that this versioning system and our release schedule will help make our releases more predictable and transparent to the community going forward. We are now committed to making at least one release every two months, but keep in mind that we can (and most likely will) be making minor version releases within this window.
Enhancements
- Replace vendored toolz with toolz dependency. (#11589, #11700)
- Update bundled Python launchers for Windows (
conda/shell/cli-*.exe) to match the ones found in conda-build. (#11676) - Add
win-arm64as a known platform (subdir). (#11778)
Bug fixes
- Remove extra prefix injection related to the shell interface breaking
conda run. (#11666) - Better support for shebang instructions in prefixes with spaces. (#11676)
- Fix
noarchentry points in Unicode-containing prefixes on Windows. (#11694) - Ensure that exceptions that are raised show up properly instead of resulting in a blank
[y/N]prompt. (#11746)
Deprecations
- Mark
conda._vendor.toolzas pending deprecation. (#11704) - Removes vendored version of urllib3. (#11705)
Docs
- Added conda capitalization standards to CONTRIBUTING file. (#11712)
Other
- Add arm64 support to development script
. ./dev/start. (#11752) - Update canary-release version to resolve canary build issue. (#11761)
- Renamed canary recipe from
conda.recipetorecipe. (#11774)
Contributors
- @beeankha
- @chenghlee
- @conda-bot
- @dholth
- @isuruf
- @jaimergp
- @jezdez
- @razzlestorm made their first contribution in #11736
- @jakirkham
- @kathatherine
- @kenodegard
- @scdub made their first contribution in #11816
- @travishathaway
- @pre-commit-ci[bot]
Full Changelog: 4.14.0...22.9.0
4.14.0
Enhancements
- Only star activated environment in
conda info --envs/conda env list. (#10764) - Adds new sub-command,
conda notices, for retrieving channel notices. (#11462) - Notices will be intermittently shown after running,
install,create,update,env createorenv update. New notices will only be shown once. (#11462) - Implementation of a new
renamesubcommand. (#11496) - Split
SSLErrorfromHTTPErrorto help resolve HTTP 000 errors. (#11564) - Include the invalid package name in the error message. (#11601)
- Bump requests version (
>=2.20.1) and drop monkeypatching. (#11643) - Rename
whitelist_channelstoallowlist_channels. (#11647) - Always mention channel when notifying about a new conda update. (#11671)
Bug fixes
- Correct a misleading
conda --helperror message. (#11625) - Fix support for CUDA version detection on WSL2. (#11626)
- Fixed the bug when providing empty environment.yml to
conda env createcommand. (#11556, #11630) - Fix MD5 hash generation for FIPS-enabled systems. (#11658)
- Fixed
TypeErrorencountered when logging is set to DEBUG and the package's JSON cannot be read. (#11679)
Deprecations
conda.cli.common.ensure_name_or_prefixis pending deprecation in a future release. (#11490)- Mark
conda.lockas pending deprecation. (#11571) - Remove lgtm.com config. (#11572)
- Remove Python 2.7
conda.common.url.is_ipv6_address_win_py27implementation. (#11573) - Remove redundant
conda.resolve.dashlistdefinition. (#11578) - Mark
conda_env.cli.common.get_prefixandconda.base.context.get_prefixas pending deprecation in favor ofconda.base.context.determine_target_prefix. (#11594) - Mark
conda_env.cli.common.stdout_jsonas pending deprecation in favor ofconda.cli.common.stdout_json. (#11595) - Mark
conda_env.cli.common.find_prefix_nameas pending deprecation. (#11596) - Mark
conda.auxlib.decorators.memoizeas pending deprecation in favor offunctools.lru_cache. (#11597) - Mark
conda.exports.memoizedas pending deprecation in favor offunctools.lru_cache. (#11597) - Mark
conda.exports.handle_proxy_407as pending deprecation. (#11597) - Refactor
conda.activate._Activator.get_export_unset_varsto use**kwargsinstead ofOrderedDict. (#11649) - Mark
conda.another_to_unicodeas pending deprecation. (#11678)
Docs
- Corresponding documentation of
noticessubcommand. (#11462) - Corresponding documentation of
renamesubcommand. (#11496) - Correct docs URL to https://docs.conda.io. (#11508)
- Updated the list of environment variables that can now expand in the Use Condarc section. (#11514)
- Include notice that the "All Users" installation option in the Anaconda Installer is no longer available due to security concerns. (#11528)
- Update
conda-zsh-completeionlink. (#11541) - Missing
pipas a dependency when including a pip-installed dependency. (#11543) - Convert
README.rsttoREADME.md. (#11544) - Updated docs and CLI help to include information on
conda initarguments. (#11574) - Added docs for writing integration tests. (#11604)
- Updated
conda env createCLI documentation description and examples to be more helpful. (#11611)
Other
- Display tests summary in CI. (#11558)
- Update
Dockerfileandci-images.ymlflow to build multi arch images. (#11560) - Rename master branch to main. (#11570)
Contributors
- @drewja made their first contribution in #11614
- @beeankha
- @topherocity made their first contribution in #11658
- @conda-bot
- @dandv made their first contribution in #11636
- @dbast
- @dholth
- @deepyaman made their first contribution in #11598
- @dogukanteber made their first contribution in #11556/#11630
- @jaimergp
- @kathatherine
- @kenodegard
- @nps1ngh made their first contribution in #10764
- @pseudoyim made their first contribution in #11528
- @SamStudio8 made their first contribution in #11679
- @SamuelWN made their first contribution in #11543
- @spencermathews made their first contribution in #11508
- @timgates42
- @timhoffm made their first contribution in #11601
- @travishathaway
- @esc
- @pre-commit-ci[bot]
Full Changelog: 4.13.0...4.14.0
4.13.0
Enhancements
- Introducing
conda clean --logfilesto remove logfiles generated by conda-libmamba-solver. (#11387) - Add the solver name and version to the user-agent. (#11415, #11455)
- Attempt parsing HTTP errors as a JSON and extract error details. If present, prefer these details instead of those hard-coded. (#11440)
Bug fixes
- Fix inconsistencies with
conda clean --dryrun(#11385) - Standardize tarball & package finding in
conda clean(#11386, #11391) - Fix
escape_channel_urllogic on Windows (#11416) - Use 'Accept' header, not 'Content-Type' in GET header (#11446)
- Allow extended user-agent collection to fail but log the exception (#11455)
Deprecations
- Removing deprecated
conda.cli.activate. Originally deprecated in conda 4.6.0 in May 2018. (#11309) - Removing deprecated
conda.compat. Originally deprecated in conda 4.6.0 in May 2018. (#11322) - Removing deprecated
conda.install. Originally deprecated in conda 4.6.0 in May 2018. (#11323) - Removing deprecated
conda.cli.main_help. Originally deprecated in conda 4.6.0 in May 2018. (#11325) - Removed unused
conda.auxlib.configuration. (#11349) - Removed unused
conda.auxlib.crypt. (#11349) - Removed unused
conda.auxlib.deprecation. (#11349) - Removed unused
conda.auxlib.factory. (#11349) - Removed minimally used
conda.auxlib.path. (#11349) - Removed
conda.exports.CrossPlatformStLink, a Windows Python <3.2 fix foros.lstat.st_nlink. (#11351) - Remove Python 2.7 and other legacy code (#11364)
conda run --live-streamaliasesconda run --no-capture-output. (#11422)- Removes unused exceptions. (#11424)
- Combines conda_env.exceptions with conda.exceptions. (#11425)
- Drop Python 3.6 support. (#11453)
- Remove outdated test
test_init_dev_and_NoBaseEnvironmentError(#11469)
Docs
- Initial implementation of deep dive docs (#11059)
- Correction of RegisterPython description in Windows Installer arguments. (#11312)
- Added autodoc documentation for
conda compare. (#11336) - Remove duplicated instruction in manage-python.rst (#11381)
- Updated conda cheatsheet. (#11443)
- Fix typos throughout the codebase (#11448)
- Fix
conda activateexample (#11471) - Updated
conda4.12 cheatsheet with new anaconda distribution version (#11479)
Other
- Add Python 3.10 as a test target. (#10992)
- Replace custom
conda._vendorwith vendoring (#11290) - Replace
conda.auxlib.collection.frozendictwith vendoredfrozendict(#11398) - Reorganize and new tests for
conda.cli.main_clean(#11360) - Removing vendored usage of urllib3 and instead implementing our own wrapper around std. lib urllib (#11373)
- Bump vendored
py-cpuinfoversion 4.0.0 → 8.0.0. (#11393) - Add informational Codecov status checks (#11400)
Contributors
- @beeankha made their first contribution in #11469
- @ChrisPanopoulos made their first contribution in #11312
- @conda-bot
- @dholth
- @jaimergp
- @jezdez
- @kathatherine made their first contribution in #11443
- @kenodegard
- @kianmeng made their first contribution in #11448
- @simon9500 made their first contribution in #11381
- @thomasrockhu-codecov made their first contribution in #11400
- @travishathaway made their first contribution in #11373
- @pre-commit-ci[bot]
Full Changelog: 4.12.0...4.13.0
4.12.0
Enhancements
-
Add support for libmamba integrations. (#11193)
This is a new experimental and opt-in feature that allows use of the new conda-libmamba-solver for an improved user experience, based on the libmamba community project – the library version of the mamba package manager.
After updating your conda version to 4.12.0, please follow these steps to try out the new libmamba solver integration:
-
Install the separate conda-libmamba-solver package in your conda base environment:
conda install -n base conda-libmamba-solver -
Try out the solver using the
--experimental-solver=libmambacommand line option.E.g. with a dry-run to install the
scipypacakge:conda create -n demo scipy --dry-run --experimental-solver=libmambaOr install in an activated conda environment:
conda activate my-environment conda install scipy --experimental-solver=libmamba
-
-
Make sure that
conda env update -fsets env vars from the referenced yaml file. (#10652) -
Improve command line argument quoting, especially for
conda run. (#11189) -
Allow
conda runto work in read-only environments. (#11215) -
Add support for prelink_message. (#11123)
-
Added
conda.CONDA_SOURCE_ROOT. (#11182)
Bug fixes
- Refactored
conda.utils.ensure_comspec_setintoconda.utils.get_comspec. (#11168) - Refactored
conda.cli.common.is_valid_prefixintoconda.cli.common.validate_prefix. (#11172) - Instantiate separate S3 session for thread-safety. (#11038)
- Change overly verbose info log to debug. (#11260)
- Remove five.py and update metaclass definitions. (#11267)
- Remove unnecessary conditional in setup.py (#11013)
Docs
- Clarify on AIE messaging in download.rst. (#11221)
- Fix conda environment variable echo, update example versions. (#11237)
- Fixed link in docs. (#11268)
- Update profile examples. (#11278)
- Fix typos. (#11070)
- Document conda run command. (#11299)
Other
- Added macOS to continuous integration. (#10875)
- Added ability to build per-pullrequest review builds. (#11135)
- Improved subprocess handling on Windows. (#11179)
- Add
CONDA_SOURCE_ROOTenv var. (#11182) - Automatically check copyright/license disclaimer & encoding pragma. (#11183)
- Development environment per Python version. (#11233)
- Add concurrency group to cancel GHA runs on repeated pushes to branch/PR. (#11258)
- Only run GHAs on non-forks. (#11265)
Contributors
- @opoplawski
- @FaustinCarter made their first contribution in #10652
- @jaimergp
- @rhoule-anaconda
- @jezdez
- @hajapy
- @erykoff
- @uwuvalon made their first contribution in #11221
- @kenodegard
- @manics made their first contribution in #11237
- @NaincyKumariKnoldus made their first contribution in #11268
- @autotmp made their first contribution in #11278
- @yuvipanda made their first contribution in #11013
- @astrojuanlu
- @marcelotrevisani
Full Changelog: 4.11.0...4.12.0
4.11.0
Enhancements
- Allow channel_alias to interpolate environment variables.
- Support running conda with PyPy on Windows.
- Add ability to add, append and prepend to sequence values when using the conda config subcommand.
- Support Python 3.10 in version parser.
- Add
XDG_CONFIG_HOMEto the conda search path following the XDG Base Directory Specification (XDGBDS).
Bug fixes
- Fix the PowerShell activator to not show an error when unsetting environment variables.
- Remove superfluous
evalstatements in fish shell integration. - Indent the conda fish integration file using fish_indent.
- Fix handling of environment variables containing equal signs (
=). - Handle permission errors when listing all known prefixes.
- Catch Unicode decoding errors when parsing conda-meta files.
- Fix handling write errors when trying to create package cache or env directories.
Docs
- Update path of conda repo in RHEL based systems to
/etc/yum.repos.d/conda.repo. - Fix the advanced pip example to stop using the now invalid
file:prefix. - Minor docs cleanup and adding Code of Conduct.
- Add auto-built architecture documentation for conda based on the C4 Model. See the conda documentation for more information.
- Expand the contributing documentation with a section about static code analysis and code linting.
- Add developer guide section to the documentation, including a conda architecture overview.
- Stop referring to updating anaconda when
conda updatefails with an error.
Other
-
Build Docker images periodically on GitHub Actions for the continuous integration testing on Linux, storing them on GitHub Packages's registry for reduced latency and cost when using Docker Hub.
-
Simplify the Linux GitHub actions workflows by combining used shell scripts.
-
Add periodic GitHub Actions workflow to review old issues in the conda issue tracker and mark them as stale if no feedback is provided in a sensible amount of time, eventually closing them.
-
Add periodic GitHub Actions workflow to lock the comment threads of old issues and pull requests in the conda GitHub repository to surface regressions with new issues instead.
-
Refactor test suite to use more GitHub Actions runners in parallel, reducing total run time by 50%.
-
Switched the issue tracker to use forms with additional questions for bug reporters to help in ticket triage.
-
Add and automatically run pre-commit as part of the CI system to improve the code quality continuously and raise issues in contributed patches early on.
The used code linters are: flake8, pylint and bandit.
The Python code formatter black is used as well but is only enforced on changed code in a commit and not to the whole code base at once.
-
Automatically build the conda package upon the successful merge into the master branch and upload it to the conda-canary channel on anaconda.org.
To try conda out simply run:
conda install -c conda-canary/label/dev conda -
Automate adding new issues to public GitHub project board to facilitate issue triage.
-
Update GitHub issue and pull request labels to be more consistent.
-
Start using rever for release management.
-
(preview) Enable one-click gitpod and GitHub Codespaces setup for Linux development.
Contributors
- Benjamin Bertrand
- Chawye Hsu
- Cheng H. Lee
- Dan Meador
- Daniel Bast
- Daniel Holth
- Gregor Kržmanc
- Hsin-Hsiang Peng
- Ilan Cosman
- Isuru Fernando
- Jaime Rodríguez-Guerra
- Jan-Benedikt Jagusch
- Jannis Leidel
- John Flavin
- Jonas Haag
- Ken Odegard
- Kfir Zvi
- Mervin Fansler
- bfis
- mkincaid
- pre-commit CI
conda 4.10.3
conda 4.10.2
Enhancements
- Add
--dry-runoption toconda env create(#10635) - Print warning about pip-installed dependencies only once (#10638)
- Explicit install now respects
--download-onlyflag (#10688) - Bump vendored tqdm version (#10721)
Bug fixes
- Fix
changeps1handling for PowerShell (#10624) - Handle unbound
$PS1so sh activation does not fail withset -u(#10701) - Fix sh activation so
$PATHis properly restored on errors (#10631) - Fix
-coption handling so defaults channel is not always re-added (#10735) - Fix artifact verification-related warnings and errors (#10627, #10677)
- Fix log level used in
conda/core/prefix_data.py(#9998) - Fix log level used when fetching artifact verification metadata (#10621)
- Don't create an unused S3 client at import time (#10516)
- Don't load
binstar_clientuntil needed (#10692) - Reflect dropping of older Python versions in
setup.py(#10642)
Docs
- Merge release notes and changelog to reduce maintenance burden (#10745)
- Add mentions to PyPy, Anaconda terms of service (#10329, #10712)
- Update Python versions in examples (#10329, #10744)
- Update install macOS instructions (#10728)
Contributors
conda 4.10.1
4.10.1 (2021-04-12)
Bug fixes
- Fix version detection for
__linuxvirtual package (#10599) - Fix import from
conda_content_trust(#10589) - Fix how URL for verification metadata files are constructed (#10617)
- Partially fix profile
$PATHsetup on MSYS2 (#10459) - Remove
.emptydirectory even whenrsyncis not installed (#10331)
Contributors
conda 4.10.0
4.10.0 (2021-03-30)
NOTE: This release formally drops support for Python 2.7 and Python < 3.6.
Enhancements
- Add pilot support for metadata signatures and verification (#10578)
- Add
__linuxvirtual package (#10552, #10561) - Support nested keys when using
conda config --get(#10447, #10572) - Support installing default packages when using
conda env create(#10530) - Support HTTP sources for
conda env update -f(#10536) - Make macOS code signing operations less verbose (#10372)
Bug fixes
- Fix
conda searchcrashing on Python 3.9 (#10542) - Allow
{channel}::pipto satisfy pip requirements (#10550) - Support
{host}:{port}specifications in environment YAML files (#10417) - Fall back to system
.condarcif user.condarcis absent (#10479) - Try UTF-16 if UTF-8 fails when reading environment YAML files (#10356)
- Properly parse Python version >= 3.10 (#10478)
- Fix zsh initialization when
$ZDOTDIRis defined (#10413) - Fix path handling for csh (#10410)
- Fix
setup.pyrequirement for vendoredruamel_yaml_conda(#10441) - Fix errors when pickling vendored
auxlibobjects (#10386)
Docs
- Document the
__unixand__windowsvirtual packages (#10511) - Update list of supported and default versions of Python (#10531)
- Favor using
pipinstead ofsetup.pywhen setting up CI (#10308)
Miscellaneous
- CI: drop Python 2.7 and add Python 3.9 (#10548)