These release notes are an aggregation of all older pre-releases of conda-build
3.0.0. All changes from 2.1.15 and below have been incorporated.

Breaking changes:
-----------------

* Support for post-build metadata (__conda_version__.txt and the like) has been removed.
* pin_downstream has been renamed to run_exports  #1911
* exclude_from_build_hash has been renamed to ignore_version  #1911
* Package signing and verification have been removed, to follow their removal from conda 4.3.  #1950

Enhancements:
-------------

* greatly extended Jinja2 templating capabilities  #1585
* record environment variables at top of build.sh, similar to what is done with bld.bat in win.  #1765
* use symlinks when copying to improve performance  #1867
* load setup.cfg data in load_setup_py_data  #1878
* calculate checksum and simplify cran skeleton  #1879
* Check that files are executable when finding them #1899
* use rm_rf to remove prefixes for more cleanliness and better speed  #1915
* add support for multiple sources in one meta.yaml  #1929
* allow ``exact`` keyword for pin_compatible jinja2 function  #1929
* allow selectors in variant conda_build_config.yaml files  #1937
* Avoid duplicate recreation of package index.  Speedup of 0-50%, depending on how extensively the recipe uses Jinja2 features.  #1954
* Allow per-subpackage specification of target subdir  #1961
* Add basic environment marker support to conda skeleton pypi  #1984
* allow about section for each subpackage  #1987
* add support for optional dependencies (conda 4.4)  #2001
* fix windows entry point exe's for unicode  #2045
* allow strings for pin_run_as_build values (e.g. x.x) rather than just dictionaries  #2042
* add meta.yaml entry to override run_exports pins  #2073
* add several condarc entries that can be used to control conda-build behavior  #2074
* add new pyldd tool and use it when ldd/otool fail   #2082
* Allow configuration of conda-build's loggers by logging configuration files.  Default to debug,info going to stdout, warn,error going to stderr.  #2078
* rename work dir before tests, rather than removing it, so that build intermediates can be inspected if tests fail.  #2078

Bug fixes:
----------

* fix symlinks to folders in packaging  #1775
* fix detection of patch level when maxlevel=0  #1796
* properly copy permissions when extracting zip files  #1855
* Add more important Windows environment variables to the test environment  #1859, #1863
* remove build and test envs after each packaging step, to avoid unsatisfiable errors  #1866
* remove version pins from requirements added by run_test files (again avoid unsatisfiable errors)  #1866
* fix prefix file detection picking up too many files due to env recreation  #1866
* fix missing r_bin, make run_test.r scripts work  #1869
* fix R's binary path on Windows  #1870
* remove tab completion on CLI for compatibility with conda 4.4  #1795
* reduce scope of git try/except block so that GIT_FULL_HASH is available, even if tags are not  #1873
* Fix "compiler" jinja2 looping, so that it is respected in subpackages #1874
* Fix license family comparison - case matching  #1875
* Fix inspect linkages when multiple packages contain a library  #1884
* avoid unnecessary computation of hashing  #1888
* fix python imports not being run in test phase  #1896
* fix path omission in paths.json for noarch packages  #1895
* standardize entry point script template to match pip  #1908
* fix cleanup happening even when build fails  #1909
* fix bin/conda getting included in conda-build release tarballs  #1913
* fix mmap/file problems on virtualbox shared folders  #1914
* Correct rendering with --dirty flag if recipe name appears as substring of another's name  #1931
* don't set language env vars (PERL, R, LUA, PYTHON) when those packages are not installed  #1932
* exclude language env vars from variant being set  #1944
* Fix cleanup of folders in outer variant loop - was causing incorrect packages on 2nd variant in windows builds  #1950
* Remove variant functionality from bdist_conda.  Its split packaging approach is incompatible.  #1950
* Fix import of _toposort from conda, reroute through conda_interface  #1952
* Match folder substrings more intelligently, for finding previous builds with --dirty  #1953
* Fix type error with --skip-existing and some conda recipes (Conda-build's internal conda.recipe was one).  #1956
* Fix non-python packages creating python tests where they should not have  #1967
* Don't add python.app to run reqs multiple times  #1972
* Fix incorrect removal of cc in conda_interface.py  #1971
* Fix ORIGIN replacement - trailing slash was messing things up  #1982
* Pipe stdin when calling subprocess, in hopes of getting better ctrl-c handling with conda.  #1986
* Ensure that lock files are removed after build exit (or crash) to avoid permission errors on central installs  #2002
* Process line endings in bytes mode rather than text mode  #2035
* add a warning to find_recipe when multiple meta.yaml files are found (bioconda style)  #2040
* When applying patches, try 3 line ending options on the patch: 1. unchanged; 2. convert patch to unix line endings; 3. convert patch to windows line endings.  #2052
* fix empty target_platform variant entry leading to empty builds  #2056
* fix host activation for cross-capable recipes  #2060
* fix handling of circularity in subpackages #2065
* fix subdir handling for subdirs with more than one - character  #2066
* Install build and host deps when using cross-capable recipe on strictly native (not cross) build  #2070
* reduce verbosity of git error messages that people never care about  #2075
* hash only direct inputs of subpackages, rather than all files.  This limits creation of identical packages with similar hashes.  #2079