conda v4.12.0 Release Notes

Release Date: 2022-03-08 // 2 months ago
  • ✨ 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.

    Please follow these steps to try out the new libmamba solver integration:

    1. Make sure you have conda-libmamba-solver installed in your conda base environment.

    2. Try out the solver using the --experimental-solver=libmamba command line option.

      E.g. with a dry-run to install the scipy pacakge:

       conda create -n demo scipy --dry-run --experimental-solver=libmamba
      

      Or install in an activated conda environment:

       conda activate my-environment
       conda install scipy --experimental-solver=libmamba
      
    • ⚡️ Make sure that conda env update -f sets env vars from the referenced yaml file. (#10652)
    • 👌 Improve command line argument quoting, especially for conda run. (#11189)
    • 👍 Allow conda run to 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_set into conda.utils.get_comspec. (#11168)
    • Refactored conda.cli.common.is_valid_prefix into conda.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_ROOT env 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
    • @jaimergp
    • @rhoule-anaconda
    • @jezdez
    • @hajapy
    • @erykoff
    • @uwuvalon
    • @kenodegard
    • @manics
    • @NaincyKumariKnoldus
    • @autotmp
    • @yuvipanda
    • @astrojuanlu
    • @marcelotrevisani

Previous changes from v4.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_HOME to 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 eval statements 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 update fails 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