conda v4.2.0 Release Notes

Release Date: 2016-07-28 // almost 8 years ago
  • ๐Ÿ†• New Features

    • ๐Ÿ†• New Configuration Engine: Configuration and "operating context" are the foundation of conda's functionality. Conda now has the ability to pull configuration information from a multitude of on-disk locations, including .d directories and a .condarc file within a conda environment), along with full CONDA_ environment variable support. Helpful validation errors are given for improperly-specified configuration. Full documentation updates pending. (#2537, #3160, #3178)
    • ๐Ÿ†• New Exception Handling Engine: Previous releases followed a pattern of premature exiting (with hard calls to sys.exit() when exceptional circumstances were encountered. This release replaces over 100 sys.exit calls with python exceptions. For conda developers, this will result in tests that are easier to write. For developers using conda, this is a first step on a long path toward conda being directly importable. For conda users, this will eventually result in more helpful and descriptive errors messages. (#2899, #2993, #3016, #3152, #3045)
    • Empty Environments: Conda can now create "empty" environments when no initial packages are specified, alleviating a common source of confusion. (#3072, #3174)
    • Conda in Private Env: Conda can now be configured to live within its own private environment. While it's not yet default behavior, this represents a first step toward separating the root environment into a "conda private" environment and a "user default" environment. (#3068)
    • Regex Version Specification: Regular expressions are now valid version specifiers. For example, ^1\.[5-8]\.1$|2.2. (#2933)

    ๐Ÿ—„ Deprecations/Breaking Changes

    • โœ‚ remove conda init (#2759)
    • โœ‚ remove conda package and conda bundle (#2760)
    • ๐Ÿ—„ deprecate conda-env repo; pull into conda proper (#2950, #2952, #2954, #3157, #3163, #3170)
    • ๐Ÿ‘ฎ force use of ruamel_yaml (#2762)
    • implement conda config --prepend; change behavior of --add to --append (#3041)
    • ๐ŸŒฒ exit on link error instead of logging it (#2639)

    ๐Ÿ‘Œ Improvements

    • ๐Ÿ‘Œ improve locking (#2962, #2989, #3048, #3075)
    • ๐Ÿ“ฆ clean up requests usage for fetching packages (#2755)
    • โœ‚ remove excess output from conda --help (#2872)
    • โœ‚ remove os.remove in update_prefix (#3006)
    • ๐Ÿ‘ better error behavior if conda is spec'd for a non-root environment (#2956)
    • scale back try_write function on unix (#3076)

    ๐Ÿ› Bug Fixes

    • โœ‚ remove psutil requirement, fixes annoying error message (#3135, #3183)
    • ๐Ÿ›  fix #3124 add threading lock to memoize (#3134)
    • ๐Ÿ›  fix a failure with multi-threaded repodata downloads (#3078)
    • ๐Ÿ›  fix windows file url (#3139)
    • โž• address #2800, error with environment.yml and non-default channels (#3164)

    Non-User-Facing Changes

    • project structure enhancement (#2929, #3132, #3133, #3136)
    • clean up channel handling with new channel model (#3130, #3151)
    • โž• add Anaconda Cloud / Binstar auth handler (#3142)
    • โœ‚ remove dead code (#2761, #2969)
    • ๐Ÿ”จ code refactoring and additional tests (#3052, #3020)
    • โœ‚ remove auxlib from project root (#2931)
    • vendor auxlib 0.0.40 (#2932, #2943, #3131)
    • vendor toolz 0.8.0 (#2994)
    • ๐Ÿšš move progressbar to vendor directory (#2951)
    • ๐Ÿ›  fix conda.recipe for new quirks with conda-build (#2959)
    • ๐Ÿšš move captured function to common module (#3083)
    • ๐Ÿ“‡ rename CHANGELOG to md (#3087)