Check https://github.com/conan-io/conan for issues and more details about development, contributors, etc.

Important Conan 1.29 shouldn’t break any existing 1.0 recipe or command line invocation. If it does, please submit a report on GitHub. Read more about the Conan stability commitment.

1.29.2 (21-Sept-2020)¶ Feature: Add support for apple-clang 12.0. #7722 . Docs here

1.29.1 (17-Sept-2020)¶ Bugfix: Fix pkg_config generator adding to .pc files empty include and lib dirs. #7703

generator adding to .pc files empty include and lib dirs. #7703 Bugfix: Fix non existing (failed import) tools.remove_files_by_mask . #7700

. #7700 BugFix: Removed lockfile checking build_requires when they come from 2 different origins: profiles and recipes. #7698

Bugfix: CMake build helper: Use actual CMake generator version to append platform generator, instead of the Conan setting compiler.version . #7684

1.29.0 (02-Sept-2020)¶ Feature: Add QNX Neutrino version 7.1 to settings. #7627

Feature: Added support for cpp_info.system_libs , cpp_info.framework_paths and cpp_info.frameworks for qbs generator. #7619

, and for generator. #7619 Feature: Provide useful information trying to compute the build order using a –base lockfile. #7551

lockfile. #7551 Feature: Add user_info_build field to JSON generator. #7550

field to JSON generator. #7550 Feature: PkgConfig tools now exposes the packages’s version as property. #7534 . Docs here

tools now exposes the packages’s version as property. #7534 . Docs here Feature: Support from iOS 13.2 to 13.6. #7507 . Docs here

Feature: Add an experimental toolchain for gnu make. #7430 . Docs here

Feature: New tools.rename function to rename a file or folder to avoid ‘Access is denied’ on Windows. #6774 . Docs here

function to rename a file or folder to avoid ‘Access is denied’ on Windows. #6774 . Docs here Fix: Fix conan info –build-order deprecation message. #7632

deprecation message. #7632 Fix: Set CMake targets compile options based on language #7600

Fix: Support installing configs from non-regular files. #7583 . Docs here

Fix: Update docs in conan info -bo command. #7570

command. #7570 Fix: Relax python six dependency to allow 1.15. #7538

Fix: Add pre-release versions when resolving required_conan_version . #7535

. #7535 Fix: Adds support of URL-like git ssh syntax. #7509

Fix: Improve message of missing dependencies for components. #7483

Fix: Changed _requirements.txt_ to include distro package version 1.5.0. #7461

Fix: Avoid requiring the existence of all conanbuildinfo_xxx.cmake files in cmake_multi generator. #7376

files in generator. #7376 Bugfix: Fix cpp_info filename in FindPackageHandleStandardArgs for cmake_find_package generator. #7610

filename in FindPackageHandleStandardArgs for cmake_find_package generator. #7610 Bugfix: Avoid marking as “modified” packages in a lockfile computed from a base lockfile. #7592

Bugfix: Update correctly “Package_ID_Unknown” nodes when using conan lock update and package_revision_mode . #7592

and . #7592 Bugfix: Respect winsdk_version for WindowsStore. #7584

for WindowsStore. #7584 Bugfix: Fix frameworks usage with components for cmake_find_package_multi generator. #7580

generator. #7580 Bugfix: Support frameworks and framework_paths in _qmake_ generator. #7579

and in _qmake_ generator. #7579 Bugfix: Provide a more descriptive error when an unknown statement is added to a profile #7577

Bugfix: Add support for cpp_info.system_libs to _QMake_ generator. #7563

to _QMake_ generator. #7563 Bugfix: Make frogarian show up as a whole (not sliced) on linux terminal. #7553

Bugfix: Fix import of collections.Iterable compatible with Python2. #7545

compatible with Python2. #7545 Bugfix: Propagate the global version of the recipe for components. #7524

Bugfix: Use CMAKE_FIND_ROOT_PATH_BOTH to locate frameworks. #7515

1.28.2 (31-Aug-2020)¶ Fix: Fix import of six.moves.collections_abc non existing for some six versions. #7622

non existing for some six versions. #7622 Fix: Add system libs and frameworks to components targets in cmake_find_package and cmake_find_package_multi generators. #7611

and generators. #7611 Bugfix: Fix cpp_info filename in FindPackageHandleStandardArgs for cmake_find_package generator. #7625

filename in FindPackageHandleStandardArgs for cmake_find_package generator. #7625 Bugfix: Fix regression in deps_cpp_info incorrectly adding directories when reading from conanbuildinfo.txt file. #7599

1.28.1 (06-Aug-2020)¶ Feature: Add user_info_build attribute to txt generator. #7488

attribute to generator. #7488 Fix: Attribute user_info_build is available for commands in the local development workflow. #7488

is available for commands in the local development workflow. #7488 Fix: Do not override value of public_deps in pkg_config generator. #7482

in generator. #7482 Bugfix: correctly set CMAKE_OSX_SYSROOT and CMAKE_OSX_ARCHITECTURES . #7512

and . #7512 Bugfix: When using build_requires defined in a profile that is passed as profile_host , it was not being applied to build_requires that live in the host context (with force_host_context=True ). #7500

defined in a profile that is passed as , it was not being applied to that live in the host context (with ). #7500 Bugfix: Fix broken cmake_find_package_multi when using components, as different configurations were being resolved to the same name, overwriting each other. #7492

when using components, as different configurations were being resolved to the same name, overwriting each other. #7492 Bugfix: Powershell files generated by virtualenv generators use proper path separators. #7472

1.28.0 (31-Jul-2020)¶ Feature: Show Conan version on HTML output. #7443 . Docs here

Feature: Support for cpp_info.components in pkg_config generator. #7413 . Docs here

in generator. #7413 . Docs here Feature: Adds ps1 virtualenv to other OS for use with powershell 7. #7407 #7408 . Docs here

Feature: Propose init() method to unconditionally initialize class attributes like license or description . #7404 . Docs here

method to unconditionally initialize class attributes like or . #7404 . Docs here Feature: add deprecated attribute #7399 . Docs here

Feature: Allow conan.conf user configuration of paths to client certificate and key, outside of the Conan cache. #7398 . Docs here

user configuration of paths to client certificate and key, outside of the Conan cache. #7398 . Docs here Feature: Document return value of self.copy() in the package() method. #7389 . Docs here

in the method. #7389 . Docs here Feature: Complete cli2.0 framework to handle sub-commands and add conan user command for cli 2.0 #7372

command for cli 2.0 #7372 Feature: Implement required_conan_version in conanfile.py , will raise if the current Conan version does not match the defined version range. #7360 . Docs here

in , will raise if the current Conan version does not match the defined version range. #7360 . Docs here Feature: Add provides attribute to ConanFile : recipes can declare what they provide and Conan will fail if several recipes provide the same functionality (ODR violation). #7337 . Docs here

attribute to : recipes can declare what they provide and Conan will fail if several recipes provide the same functionality (ODR violation). #7337 . Docs here Feature: When using CONAN_V2_MODE if build_type or compiler are not defined Conan will raise an error. #7327 . Docs here

if build_type or compiler are not defined Conan will raise an error. #7327 . Docs here Feature: Adds “filenames” to cppinfo attribute, and changes cmake_find_package and cmake_find_package_multi generators so that they support it. #7320 . Docs here

and generators so that they support it. #7320 . Docs here Feature: Define recipe_folder attribute pointing to the folder containing conanfile.py #7314 . Docs here

attribute pointing to the folder containing #7314 . Docs here Feature: Checking if a Linux distro uses apt is now based on the existence of apt in the system, instead of checking if the distro currently being used is in a hard-coded list of distros known to use apt . #7309

is now based on the existence of in the system, instead of checking if the distro currently being used is in a hard-coded list of distros known to use . #7309 Feature: Add commands management for cli 2.0. #7278

Feature: Complete revamp of the lockfiles feature. Including version-only lockfiles, partial lockfiles, new command line syntax, improved management of build-order and many pending fixes. #7243 . Docs here

feature. Including version-only lockfiles, partial lockfiles, new command line syntax, improved management of build-order and many pending fixes. #7243 . Docs here Feature: More detailed description for –update argument. #7167 . Docs here

argument. #7167 . Docs here Feature: improve compiler detection for CONAN_V2_MODE . #5740 . Docs here

. #5740 . Docs here Feature: Add settings for clang-cl (clang on Windows). #5705 . Docs here

Fix: Relax pluginbase requirement to pluginbase>=0.5 , including latest 1.0.0 . #7441

requirement to , including latest 1.0.0 . #7441 Fix: Make explicit the file writing of toolchain() helpers, so the method can be used to save custom files. #7435 . Docs here

helpers, so the method can be used to save custom files. #7435 . Docs here Fix: Fixing –help for commands in proposal for command line v2.0. #7394

for commands in proposal for command line v2.0. #7394 Fix: Show outdated packages when running search –table . #7364 . Docs here

. #7364 . Docs here Fix: Relax msbuild generator to not raise in Linux. #7361

generator to not raise in Linux. #7361 Fix: Conan config install does not trigger scheduled config command. #7311

Fix: Implement missing __contains__ method, so checking if "myoption" in self.info.options is possible in package_id() . #7303

method, so checking is possible in . #7303 Fix: Build first ocurrence of a node in a lockfile when it is repeated (build requires) #7144

BugFix: Only add User-Agent to headers dict if it was not provided by the user. #7390

Bugfix: cppstd was missing in settings.yml for the qcc compiler and updates to 8.3. #7384

was missing in for the qcc compiler and updates to 8.3. #7384 BugFix: Fix missing download of conan_sources.tgz created using export_sources() method. #7380

created using method. #7380 Bugfix: Intel Compiler install location detection on Windows. #7370

Bugfix: Avoid crash while computing package_id when using package_revision_mode , and also incorrectly using installed binaries and reporting them installed after the re-computation of package_id resolved to a different binary. #7353

when using , and also incorrectly using installed binaries and reporting them installed after the re-computation of resolved to a different binary. #7353 Bugfix: cmake_multi generator used with Xcode CMake generator. #7341

Bugfix: Do not fail for conan remove -r remote -p when there are no packages in the remote. #7338

when there are no packages in the remote. #7338 Bugfix: Add system_libs to scons generator. #7302

1.27.1 (10-Jul-2020)¶ Bugfix: Recover quotes around linker flags in CMake generators, fix failure with Macos frameworks #7322

1.27.0 (01-Jul-2020)¶ Feature: (Only if using two profiles) Information from the self.user_info field is provided to consumers: information from the _host_ context is accessible via deps_user_info attribute, and information from the _build_ context via user_info_build attribute. #7266 . Docs here

field is provided to consumers: information from the _host_ context is accessible via attribute, and information from the _build_ context via attribute. #7266 . Docs here Feature: New conan config install --list and conan config install --remove=index arguments to display and remove conan config install origins. #7263 . Docs here

and arguments to display and remove conan config install origins. #7263 . Docs here Feature: Support components for cmake_find_package_multi generator. #7259 . Docs here

generator. #7259 . Docs here Feature: Add Pop!_OS to the list of APT based distributions. #7237

Feature: Use Bootstrap in search table template style. #7224

Feature: Added support for template dir in conan new . #7215 . Docs here

. #7215 . Docs here Feature: Configuration for checking the required Conan client version. #7183 . Docs here

Feature: Adds tool to fix symlinks in the package_folder . #7178 . Docs here

. #7178 . Docs here Feature: Templates for conan search –table and conan info –graph can be overridden by the user. #7176 . Docs here

and can be overridden by the user. #7176 . Docs here Feature: Add support for the CLICOLOR / CLICOLOR_FORCE / NO_COLOR output colorization control variables. #7154 . Docs here

/ / output colorization control variables. #7154 . Docs here Fix: Remove message from the qmake generator. #7228

Fix: Allow --build=Pkg/0.1@ to match the Pkg/0.1 package, so the conan install Pkg/0.1@ --build=Pkg/0.1@ also works. #7219

to match the package, so the also works. #7219 Fix: Improve error message when svn or git are not in the installed or in the path. #7194

Fix: Graph created for the test_package/conanfile.py recipe takes the profile:build if given. #7182

recipe takes the if given. #7182 Fix: Define user variables in the conan_toolchain.cmake file, not in the project-include file. #7160

file, not in the project-include file. #7160 Fix: Set toolset for MSBuild in case of Intel C++. #6809

Bugfix: Allow to extend classes with python_requires_extend from packages that contain “.” dots in the package name. #7262

from packages that contain “.” dots in the package name. #7262 Bugfix: Correctly inherit scm definitions from python_requires base classes. #7238

definitions from base classes. #7238 Bugfix: Change GNU triplet for iOS, watchOS, tvOS to allow simulator builds. #6748

SCM mode with scm_to_conandata and revisions marked as stable. Docs here

1.26.1 (23-Jun-2020)¶ Fix: Add missing migrations. #7213

Fix: Packages listed as build_requires in recipes that belong to the _host_ context don’t add as build_requires those listed in the _host_ profile. #7169

1.26.0 (10-Jun-2020)¶ Feature: Expose msvs_toolset tool. #7134 . Docs here

tool. #7134 . Docs here Feature: Add components to cmake_find_package generator. #7108 . Docs here

generator. #7108 . Docs here Feature: Add stdcpp_library tool. #7082 . Docs here

tool. #7082 . Docs here Feature: Add remove_files_by_mask helper #7080 . Docs here

Feature: New toolchain() recipe method, as a new paradigm for integrating build systems, and simplifying developer flows. #7076 . Docs here

recipe method, as a new paradigm for integrating build systems, and simplifying developer flows. #7076 . Docs here Feature: New experimental msvc generator that generates a .props file per dependency and is also multi-configuration. #7035 . Docs here

generator that generates a .props file per dependency and is also multi-configuration. #7035 . Docs here Feature: Add conan config init command. #6959 . Docs here

command. #6959 . Docs here Feature: Add export() and export_sources() methods, that provide the self.copy() helper to add files to recipe or sources in the same way as the corresponding attributes. #6945 . Docs here

and methods, that provide the helper to add files to recipe or sources in the same way as the corresponding attributes. #6945 . Docs here Feature: Allow access to self.name and self.version in set_name() and set_version() methods. #6940 . Docs here

and in and methods. #6940 . Docs here Feature: Use a template approach for the html and dot output of the Conan graph. #6833

and output of the Conan graph. #6833 Feature: Handle C++ standard flag for Intel C++ compiler. #6766

Feature: Call compilervars.sh within CMake helper (Intel C++). #6735 . Docs here

Feature: Pass command to Runner as a sequence instead of string. #5583 . Docs here

Fix: JSON-serialize sets as a list when using conan inspect –json . #7151

. #7151 Fix: Update the lockfile passed as an argument to the install command instead of the default conan.lock . #7127

. #7127 Fix: Adding a package as editable stores full path to conanfile.py . #7079

. #7079 Fix: Fix broken test PkgGeneratorTest . #7065

. #7065 Fix: Fix wrong naming of variables in the pkg_config generator. #7059

generator. #7059 Fix: Do not modify scm attribute when the origin remote cannot be deduced. #7048

attribute when the remote cannot be deduced. #7048 Fix: vcvars_dict should accept a conanfile too. #7010 . Docs here

should accept a conanfile too. #7010 . Docs here Fix: conan config install can overwrite read-only files and won’t copy permissions. #7004

can overwrite read-only files and won’t copy permissions. #7004 Fix: Better error message for missing binaries, including multiple “–build=xxx” outputs. #7003

Fix: Add quotes to folders to accept paths with spaces when calling pyinstaller. #6955

Fix: Previously conan always set cpp_std option in meson project, even if cppstd option was not set in conan profile. Now it sets the option only if cppstd profile option has a concrete value. #6895

always set option in project, even if option was not set in profile. Now it sets the option only if profile option has a concrete value. #6895 Fix: Handle compiler flags for Intel C++ (AutoToolsBuildEnvironment, Meson). #6819

Fix: Set the default CMake generator and toolset for Intel C++. #6804

Bugfix: Fix iOS CMake architecture. #7164

Bugfix: Getting attribute of self.deps_user_info["dep"] now raise AttributeError instead of a (wrong) KeyError , enabling hasattr() and correct getattr() behaviors. #7131

now raise instead of a (wrong) , enabling and correct behaviors. #7131 Bugfix: Fix crash while computing the package_id of a package when different package_id_mode are mixed and include package_revision_mode . #7051

of a package when different are mixed and include . #7051 Bugfix: Do not allow uploading packages with missing information in the scm attribute. #7048

attribute. #7048 Bugfix: Fixes an issue where Apple Framework lookup wasn’t working on RelWithDebInfo CMake build types. #7024

CMake build types. #7024 Bugfix: Do not check patch compiler version in the cmake generators. #6976

1.25.2 (19-May-2020)¶ Bugfix: Previously conan always set cpp_std option in meson project, even if cppstd option was not set in conan profile. Now it sets the option only if cppstd profile option has a concrete value. #7047

option in meson project, even if option was not set in conan profile. Now it sets the option only if profile option has a concrete value. #7047 Bugfix: Fix deploy generator management of relative symlinks. #7044

Bugfix: Fixes an issue where Apple Framework lookup wasn’t working on RelWithDebInfo. #7041

Bugfix: Fix broken AutoToolsBuildEnvironment when a profile:build is defined. #7032

1.25.1 (13-May-2020)¶ Feature: Add missing gcc versions: 6.5, 7.5, 8.4, 10.1. #6993 . Docs here

Bugfix: Resumable download introduced a bug when there is a fronted (like Apache) to Artifactory or other server that gzips the returned files, returning an incorrect Content-Length header that doesn’t match the real content length. #6996

header that doesn’t match the real content length. #6996 Bugfix: Set shared_linker_flags to CMake MODULE targets too in cmake generators, not only to SHARED_LIBRARIES . #6983

to CMake targets too in generators, not only to . #6983 Bugfix: Fix conan_get_policy return value. #6982

return value. #6982 Bugfix: Fix json output serialization for cpp_info.components . #6966

1.25.0 (06-May-2020)¶ Feature: Consume settings_build to get the value of the OS and arch from the build machine (only when --profile:build is provided). #6916 . Docs here

to get the value of the OS and arch from the machine (only when is provided). #6916 . Docs here Feature: Implements cpp_info.components dependencies. #6871 . Docs here

dependencies. #6871 . Docs here Feature: Change HTML output for conan search –table command. #6832 . Docs here

command. #6832 . Docs here Feature: Execute periodic config install command. #6824 . Docs here

Feature: Add build_modules to markdown generator output. #6800

to markdown generator output. #6800 Feature: Resume interrupted file downloads if server supports it. #6791

Feature: Using CONAN_V2_MODE the version attribute in a ConanFile is always a string (already documented). #6782 . Docs here

the attribute in a is always a string (already documented). #6782 . Docs here Feature: Support GCC 9.3. #6772 . Docs here

Feature: Populate settings_build and settings_target in conanfile (only if provided --profile:build ). #6769 . Docs here

and in conanfile (only if provided ). #6769 . Docs here Feature: handle C++ standard for Intel C++ compiler #6766

Feature: add Intel 19.1 (2020). #6733

Fix: tools.unix_path is noop in all platforms but Windows (already documented behavior). #6935

is noop in all platforms but Windows (already documented behavior). #6935 Fix: Preserve symbolic links for deploy generator. #6922 . Docs here

Fix: Adds missing version GCC 10 to default settings. #6911 . Docs here

Fix: Populate requires returned by the servers from the search endpoint using requires (Artifactory) or full_requires (conan_server) fields. #6861

returned by the servers from the search endpoint using (Artifactory) or (conan_server) fields. #6861 Fix: Avoid failures that happen when Conan runs in a non-existing folder. #6825

Fix: Use pep508 environment markers for defining Conan pip requirements. #6798

Fix: Improve error message when [options] are not specified correctly in conanfile.txt. #6794

are not specified correctly in conanfile.txt. #6794 Fix: add missing compiler version check for Intel. #6734

Bugfix: Prevent crash when mixing package_id modes for the same dependency. #6947

BugFix: Propagate arch parameter to tools.vcvars_command() in MSBuild() build helper. #6928

in build helper. #6928 Bugfix: Fix the output of conan info package folder when using build_id() method. #6917

package folder when using method. #6917 Bugfix: Generate correct PACKAGE_VERSION in cmake_find_package_multi generator for multi-config packages. #6914

generator for multi-config packages. #6914 Bugfix: enable C++20 on Apple Clang. #6858

Bugfix: Variable package_name in conan new -t <template> command contains a _CamelCase_ version of the name of the package. #6821 . Docs here

in command contains a _CamelCase_ version of the name of the package. #6821 . Docs here Bugfix: Changed the CMake generator template to properly handle exelinkflags and sharedlinkflags using generator expressions. #6780

1.24.1 (21-Apr-2020)¶ Bugfix: correct the cmake generator target name in the markdown generator output. #6788

generator target name in the generator output. #6788 Bugfix: Avoid FileNotFoundError as it is not compatible with Python 2. #6786

1.24.0 (31-Mar-2020)¶ Feature: Add the needed command-line arguments to existing commands to provide information about host and build profiles. #5594 . Docs: here

Feature: Add markdown generator, it exposes useful information to consume the installed packages. #6758 . Docs here

generator, it exposes useful information to consume the installed packages. #6758 . Docs here Feature: Add new tool cppstd_flag to retrieve the compiler flag for the given settings. #6744 . Docs here

to retrieve the compiler flag for the given settings. #6744 . Docs here Feature: Short paths feature is available for Cygwin. #6741 . Docs here

Feature: Add Apple Clang as a base compiler for Intel C++. #6740 . Docs here

Feature: Make settings.get_safe and options.get_safe accept a default value. #6739 . Docs here

and accept a default value. #6739 . Docs here Feature: CONAN_V2_MODE deprecates two legacy ways of reusing python code: the <cache>/python path and the automatic PYTHONPATH environment variable. #6737 . Docs here

deprecates two legacy ways of reusing python code: the path and the automatic environment variable. #6737 . Docs here Feature: Add the _description_ field to the output of the conan info command. #6724 . Docs here

command. #6724 . Docs here Feature: Add more detailed information when there are missing packages. #6700 . Docs here

packages. #6700 . Docs here Feature: Support mirrors for tools.download and tools.get . #6679 . Docs here

and . #6679 . Docs here Feature: Modify the default behaviour in SystemPackageTool to be able to create a recipe that does not install system requirements by default if the CONAN_SYSREQUIRES_MODE is not set. #6677 . Docs here

to be able to create a recipe that does not install system requirements by default if the is not set. #6677 . Docs here Feature: Add cpp_info.components package creator interface to model internal dependencies inside a recipe. #6653 . Docs here

package creator interface to model internal dependencies inside a recipe. #6653 . Docs here Feature: Add a new init() method to conanfile.py recipes that can be used to add extra logic when inheriting from python_requires classes. #6614 . Docs here

method to recipes that can be used to add extra logic when inheriting from classes. #6614 . Docs here Fix: Add Sun C compiler version 5.15 into default settings.yml. #6767

Fix: Raises ConanException when package folder is invalid for export-pkg . #6720 . Docs here

when package folder is invalid for . #6720 . Docs here Fix: Added print to stderr and exit into pyinstaller script when it detects python usage of python 3.8 or higher as currently pyinstaller does not support python 3.8. #6686

Fix: Improve the command line help for the conan install –build option. #6681 . Docs here

option. #6681 . Docs here Fix: Add build policy help for –build argument when used in conan graph build-order command. #6650

argument when used in command. #6650 Fix: Remove file before copying in conan config install to avoid permission issues. #6601

to avoid permission issues. #6601 Fix: check_min_cppstd raises an exception for an unknown compiler. #6548 . Docs here

Fix: cmake_find_package no longer seeks to find packages which are already found. #6389

Bugfix: Fixes the auto-detection of sun-cc compiler when it outputs Studio 12.5 Sun C . #6757

compiler when it outputs . #6757 Bugfix: Add values to definitions passed to MSBuild build helper which values are not None (0, False…). #6730

passed to build helper which values are not None (0, False…). #6730 Bugfix: Include name and version in the data from conanbuildinfo.txt , so it is available in self.deps_cpp_info["dep"].version and self.deps_cpp_info["dep"].name , so it can be used in conan build and in test_package/conanfile.py . #6723 . Docs here

, so it is available in and , so it can be used in and in . #6723 . Docs here Bugfix: Fix check_output_runner() to handle dirs with whitespaces. #6703

to handle dirs with whitespaces. #6703 Bugfix: Fix vcvars_arch usage before assignment, that can cause a crash in tools.vcvars_command() that is also used internally by MSBuild helper. #6675

that is also used internally by helper. #6675 Bugfix: Silent output from cmake_find_package generator with CONAN_CMAKE_SILENT_OUTPUT . #6672

. #6672 Bugfix: Use always LF line separator for .sh scripts generated by virtualenv generators. #6670

generators. #6670 Bugfix: Use the real settings value to check the compiler and compiler version in the cmake generator local flow when the package_id() method changes values. #6659

1.23.0 (10-Mar-2020)¶ Feature: New general.parallel_download=<num threads> configuration, for parallel installation of binaries, to speed up populating packages in a cache. #6632 . Docs here

configuration, for parallel installation of binaries, to speed up populating packages in a cache. #6632 . Docs here Feature: Fixed inability to run execute test and install separately, that is, without build step. Added meson_test() method, which executes meson test (compared to ninja test in test() ). Added meson_install() method, which executes meson install (compared to ninja install in install() ). #6574 . Docs here

and separately, that is, without step. Added method, which executes (compared to in ). Added method, which executes (compared to in ). #6574 . Docs here Feature: Update python six dependency to 1.14.0. #6507

Feature: Add environment variable ‘CONAN_V2_MODE’ to enable Conan v2 behavior. #6490 . Docs here

Feature: Implement conan graph clean-modified subcommand to be able to clean the modified state of a lockfile and re-use it later for more operations. #6465 . Docs here

subcommand to be able to clean the modified state of a lockfile and re-use it later for more operations. #6465 . Docs here Feature: Allow building dependency graphs when using lockfiles even if some requirements are not in the lockfiles. This can happen for example when test_package/conanfile.py has other requirements, as they will not be part of the lockfile. #6457 . Docs here

has other requirements, as they will not be part of the lockfile. #6457 . Docs here Feature: Implement a new package-ID computation that includes transitive dependencies even when the direct dependencies have remove them, for example when depending on a header-only library that depends on a static library. #6451 . Docs here

Fix: inspect command can be executed without remote.json (#6558) #6559

Fix: Raise an error if MSBuild argument targets is not a list, instead of splitting a string passed as argument instead of a list. #6555

argument is not a list, instead of splitting a string passed as argument instead of a list. #6555 Bugfix: Check the CMP0091 policy and set CMAKE_MSVC_RUNTIME_LIBRARY accordingly to CONAN_LINK_RUNTIME if it’s set to NEW . #6626

policy and set accordingly to if it’s set to . #6626 Bugfix: Fix error parsing system_libs from conanbuildinfo.txt file. #6616

from file. #6616 Bugfix: Environment variables from the profiles are not set in the _conaninfo.txt_ file of the packages exported with the export-pkg command. #6607

command. #6607 BugFix: Set the self.develop=True attribute for recipes when they are used with conan export-pkg , in all methods, it was previously only setting it for the package() method. #6585

attribute for recipes when they are used with , in all methods, it was previously only setting it for the method. #6585 Bugfix: set CMAKE_OSX_DEPLOYMENT_TARGET for iOS, watchOS and tvOS. #6566

Bugfix: Parse function of GCC version from command line now works with versions >=10 . #6551

. #6551 Bugfix: improve Apple frameworks lookups with CMake integration #6533

1.22.3 (05-Mar-2020)¶ Bugfix: Fixed crashing of recipes using both python_requires and build_id() . #6618

and . #6618 Bugfix: Conan should not append generator_platform to the Visual Studio generator if it is already specified by the user. #6549

1.22.2 (13-Feb-2020)¶ Bugfix: Do not re-evaluate lockfiles nodes, only update the package reference, otherwise the build-requires are broken. #6529

Bugfix: Fixing locking system for metadata file so it can be accessed concurrently. #6524

1.22.1 (11-Feb-2020)¶ Fix: Increase six version to allow more modern releases. #6509

version to allow more modern releases. #6509 Fix: remove GLOBAL from targets to avoid conflicts when using add_subdirectory . #6488 . Docs here

from targets to avoid conflicts when using . #6488 . Docs here Fix: Avoid caching revision “0” under api V2 (revisions enabled) in the download cache. #6475 . Docs here

Bugfix: Manage the dirty state of the cache package folder with conan export-pkg . #6498

state of the cache package folder with . #6498 BugFix: Add system_libs to premake generator. #6495

to generator. #6495 Bugfix: Upload was silently skipping exceptions that could leave the packages dirty. Long uploads or large compressing times in non-terminals (piped output, like in CI systems) crashed, leaving packages dirty too, but not reporting any error. #6486

BugFix: Add quotes to virtualenv scripts, so they don’t crash in pure sh shells. #6265

1.22.0 (05-Feb-2020)¶ Feature: Set conan generated CMake targets as GLOBAL so that they can be used with an ALIAS for consumers. #6438 . Docs here

so that they can be used with an for consumers. #6438 . Docs here Feature: Deduce compiler.base.runtime for Intel compiler settings when using Visual Studio as the base compiler. #6424

for Intel compiler settings when using Visual Studio as the base compiler. #6424 Feature: Allow defining an extra user-defined properties .props file in MSBuild build helper. #6374 . Docs here

build helper. #6374 . Docs here Feature: Force the user to read that Python 2 has been deprecated. #6336 . Docs here

Feature: Add opt-in scm_to_conandata for the SCM feature: Conan will store the data from the SCM attribute in the conandata.yml file (except the fields username and password ). #6334 . Docs here

for the SCM feature: Conan will store the data from the SCM attribute in the file (except the fields and ). #6334 . Docs here Feature: Implement a download cache, which can be shared and concurrently used among different conan user homes, selectable configuring storage.download_cache in conan.conf . #6287 . Docs here

in . #6287 . Docs here Feature: Some improvements in the internal of lockfiles. Better ordering of nodes indexes. Separation of requires and build-requires . Better status field, with explicit exported , built values. #6237

and . Better field, with explicit , values. #6237 Feature: imports functionality can import from “symbolic” names, preceded with @, like @bindirs, @libdirs, etc. This allows importing files from variable package layouts, including custom package_info() layouts (like cpp_info.bindirs = ["mybin"] can be used with src="@bindirs" ), and editable package layouts #6208 . Docs here

functionality can import from “symbolic” names, preceded with @, like @bindirs, @libdirs, etc. This allows importing files from variable package layouts, including custom layouts (like can be used with ), and editable package layouts #6208 . Docs here Feature: Improve output messages for parallel uploads: the text of the uploaded files contains to which packages they belong and the output for CI is clearer. #6184

Feature: Adds vcvars_append variable (defaulting to False ) to CMake and Meson build helpers constructors, so when they need to activate the Visual Studio environment via vcvars (for Ninja and NMake generators), the vcvars environment is appended at the end, giving precedence to the environment previously defined. #6000 . Docs here

variable (defaulting to ) to and build helpers constructors, so when they need to activate the Visual Studio environment via (for Ninja and NMake generators), the environment is appended at the end, giving precedence to the environment previously defined. #6000 . Docs here Fix: Use CCI package reference for example command. #6463

Fix: Generators cmake and cmake_multi use the name defined in cpp_info.name (reverts change from 1.21.1 as stated). #6429

and use the name defined in (reverts change from 1.21.1 as stated). #6429 Fix: Cleaning LD_LIBRARY_PATH environment in SCM commands for “pyinstaller” installations, as SSL can fail due to using old SSL stuff from Conan instead from git/svn. #6380

environment in commands for “pyinstaller” installations, as SSL can fail due to using old SSL stuff from Conan instead from git/svn. #6380 Fix: Recipe substitution for scm (old behavior) fixed for multiline comments in Python 3.8. #6355 . Docs here

(old behavior) fixed for multiline comments in Python 3.8. #6355 . Docs here Fix: Avoid warning in “detect” process with Python 3.8, due to Popen with bufsize=1 #6333

#6333 Fix: Propagate server error (500) in checksum_deploy . #6324

. #6324 Fix: Fixed wrong CMake command line with -G Visual Studio 15 ARM for armv8 architectures. #6312

for architectures. #6312 Fix: Add all the system_libs and requirements to the CMake targets constructed by the generators. It will impact header-only libraries that are consumed using targets (previously they were missing some information). #6298

Fix: Avoid WindowsStore tools.vcvars() management when the environment is already set. #6296

management when the environment is already set. #6296 Fix: When the token is empty, and conan user myuser -p=mypass -r=remote is used, the user-password are send in HttpBasic so it can be used for completely protected servers that do not expose the ping endpoint. #6254

is used, the user-password are send in HttpBasic so it can be used for completely protected servers that do not expose the ping endpoint. #6254 Fix: Add cpp_info.<config> information to cmake_find_package_multi and cmake_find_package generators. #6230 . Docs here

information to and generators. #6230 . Docs here Fix: Multi-generators cannot be used without build_type setting. A failure is forced to cmake_find_package_multi and visual_studio_multi as it was in cmake_multi . #6228

setting. A failure is forced to and as it was in . #6228 Fix: Fix typo in error message from tools.get() . #6204

. #6204 Fix: Raise error for symlinks in Windows that point to a different unit. #6201

BugFix: Avoid included profiles overwriting variables in the current profile. #6398

Bugfix: Lockfiles were not correctly applying locked options to packages, which produced incorrect evaluation of requirements() method. #6395

to packages, which produced incorrect evaluation of method. #6395 Bugfix: Fix broken compression of .tgz files due to Python 3.8 changing tar default schema. #6355 . Docs here

Bugfix: Include MacOS frameworks definitions in autotools LDFLAGS (also Meson). #6309

Bugfix: Apply system_libs information in autotools build helper. #6309

information in autotools build helper. #6309 Bugfix: The environment_append() helper does not modify the argument anymore, which caused problems if the argument was reused. #6285

helper does not modify the argument anymore, which caused problems if the argument was reused. #6285 Bugfix: Include “Package ID Unknown” nodes in conan graph build-order , as they need to be processed in that order. #6251

, as they need to be processed in that order. #6251 Bugfix: –raw argument is ignored when searching for a specific reference. #6241

argument is ignored when searching for a specific reference. #6241 Bugfix: Avoid raising a version conflict error when aliases have not been resolved yet, typically for aliased build-requires that are also in the requires . #6236

that are also in the . #6236 Bugfix: conan inspect now is able to properly show name and version coming from set_name() and set_version() methods. #6214

1.21.3 (03-Mar-2020)¶ Bugfix: Fixing locking system for metadata file so it can be accessed concurrently. #6543

Bugfix: Manage the dirty state of the cache package folder with conan export-pkg. #6517

Bugfix: BugFix: Add quotes to virtualenv scripts, so they don’t crash in pure sh shells. #6516

Bugfix: Upload was silently skipping exceptions, which could result in packages not uploaded, but user not realizing about the error. #6515

BugFix: Add system_libs to premake generator. #6496

1.21.2 (31-Jan-2020)¶ Fix: Recipe substitution for scm (old behavior) fixed for multiline comments in Python 3.8 #6439

Bugfix: Fix broken compression of .tgz files due to Python 3.8 changing tar default schema. #6439

Bugfix: Append CONAN_LIBS in cmake generator to avoid overwriting user-defined libs. #6433

1.21.1 (14-Jan-2020)¶ Fix: Fix options type detection using six.string_types . #6322

. #6322 Fix: Fix minor issues in cmake and cmake_multi generators: wrong variable used in conan_find_apple_frameworks macro. #6295

and generators: wrong variable used in macro. #6295 Fix: Generators cmake and cmake_multi use the name of the package instead of cpp_info.name (this change is to be reverted in 1.22) #6288

and use the name of the package instead of (this change is to be reverted in 1.22) #6288 Bugfix: Fixing readout of backslashes for virtualenv generator files so they are not interpreted as escape characters. #6320

Bugfix: Fix uninformative crash when tools.download() gets a 403 and it is not providing an auth field. #6317

gets a 403 and it is not providing an field. #6317 Bugfix: Enhance validation of the short_paths_home property to correctly handle the scenarios where it is set to a path that contains the value of the Conan cache path, but is not a subdirectory of it. #6304

property to correctly handle the scenarios where it is set to a path that contains the value of the Conan cache path, but is not a subdirectory of it. #6304 Bugfix: Fixes cpp_info.name vs. cpp_info.names issue in pkg_config generator #6223

1.21.0 (10-Dec-2019)¶ Feature: The generator cmake_find_package_multi generates a PackageConfigVersion.cmake file that allows using find_package with the VERSION argument. #6063 . Docs here

generates a file that allows using with the argument. #6063 . Docs here Feature: Settings support for Intel compiler. #6052 . Docs here

Feature: Allow setting different cpp_info name for each generator that supports that property using the new cpp_info.names[“generator_name”] property. #6033 . Docs here

Feature: Provide _INCLUDE_DIR variables in the cmake_find_package generator #6017

variables in the generator #6017 Feature: Information in the artifacts.properties file is sent using matrix-params too when a package is uploaded to a server (if it has the capability). This will be the recommended way to send these properties to Artifactory (release TBD) to bypass Nginx blocking properties with periods. #6014 . Docs here

file is sent using matrix-params too when a package is uploaded to a server (if it has the capability). This will be the recommended way to send these properties to Artifactory (release TBD) to bypass Nginx blocking properties with periods. #6014 . Docs here Feature: New tools.check_min_cppstd and tools.valid_min_cppstd to check if the cppstd version is valid for a specific package. #5997 . Docs here

and to check if the cppstd version is valid for a specific package. #5997 . Docs here Feature: New parameter for tools.patch to opt-in applying fuzzy patches. #5996 . Docs here

to opt-in applying fuzzy patches. #5996 . Docs here Feature: Environment variables for virtual environments are stored in .env files containing just the key-value pairs. It will help other processes that need to read these variables to run their own commands. #5989

files containing just the key-value pairs. It will help other processes that need to read these variables to run their own commands. #5989 Feature: New argument of conan upload command –parallel to upload packages using multithreading. #5856 . Docs here

command to upload packages using multithreading. #5856 . Docs here Feature: New python_requires declared as Conanfile class attributes. Includes extension of base class, they affect the binary packageID with minor_mode default mode. They are also locked in lockfiles. #5804 . Docs here

declared as Conanfile class attributes. Includes extension of base class, they affect the binary packageID with default mode. They are also locked in lockfiles. #5804 . Docs here Feature: Accept logging level as logging names #5772 . Docs here

Fix: Add the RES_DIRS as variable to the variables when using the cmake_find_package generator. #6166

generator. #6166 Fix: Fix SyntaxWarning when comparing a literal with for identity in Python 3.8 #6165

Fix: Remove recipe linter from codebase, it is no longer a built-in feature. It has been moved to hooks. Install the hook and update your “conan.conf” to activate it. #6152 . Docs here

Fix: Make lockfiles invariant when the graph doesn’t change. Now 2 different lockfiles captured with the same resulting graph in 2 different instants will be identical. #6139

Fix: Make the compatible_packages feature to follow the --build=missing build policy. Packages that find a compatible binary will not fire a binary build with the “missing” build policy. #6134 . Docs here

feature to follow the build policy. Packages that find a compatible binary will not fire a binary build with the “missing” build policy. #6134 . Docs here Fix: Fix create command build policy help message to reflect correct behavior. #6131 . Docs here

Fix: Improved error message when sources can’t be retrieved from remote #6085

Fix: Raise a meaningful error when the settings.yml file is invalid #6059

file is invalid #6059 Fix: Move the warning about mixing ‘os’ and ‘os_build’ to just before the pre_export stage #6021

Bugfix: Implement SystemPackageTool.installed(package_name) as described in the documentation. #6198

as described in the documentation. #6198 Bugfix: Remove carriage returns from build info .json file to avoid Artifactory errors in some cases when publishing the build info to the remote. #6180

file to avoid Artifactory errors in some cases when publishing the build info to the remote. #6180 Bugfix: Upload correct packages when specifying revisions and fail with incorrect ones. #6143

Bugfix: Fix different problems when using conan download with revisions. #6138

with revisions. #6138 Bugfix: Make sure set_version() runs in the conanfile.py folder, not in the current folder, so relative paths are not broken if executing from a different location. #6130 . Docs here

runs in the folder, not in the current folder, so relative paths are not broken if executing from a different location. #6130 . Docs here Bugfix: Fix the help message for conan export-pkg command for the –options parameter. #6092

command for the –options parameter. #6092 Bugfix: Use a context manager to change the folder during build_package to avoid propagating the directory change to other tasks. #6060

to avoid propagating the directory change to other tasks. #6060 Bugfix: The AutoToolsBuildEnvironment build helper now uses the win_bash parameter of the constructor when calling to configure() . #6026

build helper now uses the parameter of the constructor when calling to . #6026 Bugfix: Conan’s virtualenvironments restore the environment to the state it was before activating them (previously it was restored to the state it was when the conan install was run). #5989

1.20.5 (3-Dec-2019)¶ Bugfix: Removing –skip-env and –multi-module arguments for conan_build_info –v2 . Now the environment is not captured (will be handled by the Artifactory plugin) and recipes and packages are saved as different modules in build info. #6169 . Docs here

1.20.4 (19-Nov-2019)¶ Feature: Added traces to check_output internal call to log the called command and the output as INFO traces (can be adjusted with export CONAN_LOGGING_LEVEL=20 ) #6091

internal call to log the called command and the output as INFO traces (can be adjusted with ) #6091 Bugfix: Using scm with auto values with a conanfile.py not being in the root scm folder it failed to export the right source code directory if not using –ignore-dirty and the repo was not pristine. #6098

with values with a not being in the root scm folder it failed to export the right source code directory if not using and the repo was not pristine. #6098 Bugfix: Fix conan_build_info command when conan_sources.tgz not present in remote. #6088

1.20.3 (11-Nov-2019)¶ Bugfix: Using the scm feature with auto fields was not using correctly the freeze sources from the local user directory from the second call to conan create . #6048

feature with fields was not using correctly the freeze sources from the local user directory from the second call to . #6048 Bugfix: Each Apple framework found using CMake find_library is stored in a different CONAN_FRAMEWORK_<name>_FOUND variable #6042

1.20.2 (6-Nov-2019)¶ Bugfix: Fix Six package version to be compatible with Astroid #6031

1.20.1 (5-Nov-2019)¶ Bugfix: Fixed authentication with an Artifactory repository without anonymous access enabled. #6022

1.20.0 (4-Nov-2019)¶ Feature: Provide CONAN_FRAMEWORKS and CONAN_FRAMEWORKS_FOUND for Apple frameworks in CMake generators and conan_find_apple_frameworks() macro helper in CMake generators. #6003 . Docs here

and for Apple frameworks in CMake generators and macro helper in CMake generators. #6003 . Docs here Feature: Saving profile list as a json file #5954 . Docs here

Feature: Improve conan_build_info command maintaining old functionality. #5950 . Docs here

command maintaining old functionality. #5950 . Docs here Feature: Add –json `argument to the `config home subcommand to output the result to a JSON file. #5946 . Docs here

subcommand to output the result to a JSON file. #5946 . Docs here Feature: Add cpp_info.build_modules to manage build system modules like additional CMake functions in packages #5940 . Docs here

to manage build system modules like additional CMake functions in packages #5940 . Docs here Feature: Add support for Clang 10. #5936

Feature: Store md5 and sha1 checksums of downloaded and uploaded packages in metadata.json . #5910

and checksums of downloaded and uploaded packages in . #5910 Feature: Allow the possibility to avoid x86_64 to x86 building when cross-building. #5904 . Docs here

to building when cross-building. #5904 . Docs here Feature: Allow to specify encoding for tools.load , tools.save and tools.replace_in_files . #5902 . Docs here

, and . #5902 . Docs here Feature: Add support for gcc 7.4. #5898 . Docs here

Feature: New set_name() and set_version() member methods to dynamically obtain the name and version (at export time). #5881 . Docs here

and member methods to dynamically obtain the name and version (at export time). #5881 . Docs here Feature: New binary compatibility mode. Recipes can define in their package_id() an ordered list of binary package variants that would be binary compatible with the default one. These variants will be checked in order if the main package ID is not found (missing), and the first one will be installed and used. #5837 . Docs here

an ordered list of binary package variants that would be binary compatible with the default one. These variants will be checked in order if the main package ID is not found (missing), and the first one will be installed and used. #5837 . Docs here Feature: Support for DNF system package manager (Fedora 31+ and others) when present. #5791 . Docs here

Feature: Refactor Conan Upload, Download and Compress progress bars. #5763

Feature: Add system_deps attribute for cpp_info and deps_cpp_info. #5582 . Docs here

attribute for cpp_info and deps_cpp_info. #5582 . Docs here Feature: The scm feature does not replace the scm.revision=”auto” field with the commit when uncommitted changes unless --scm-dirty argument is specified. The recipe in the local cache will be kept with revision=auto . #5543 . Docs here

feature does not replace the field with the commit when uncommitted changes unless argument is specified. The recipe in the local cache will be kept with . #5543 . Docs here Feature: The conan upload command forbids to upload a recipe that uses the scm feature containing revision=auto or url=auto , unless –force is used. #5543 . Docs here

command forbids to upload a recipe that uses the feature containing or , unless is used. #5543 . Docs here Feature: The scm feature captures the local sources in the local cache during the export, avoiding later issues of modified local sources. #5543 . Docs here

feature captures the local sources in the local cache during the export, avoiding later issues of modified local sources. #5543 . Docs here Fix: Deprecate argument –build-order in conan info command. #5965 . Docs here

in command. #5965 . Docs here Fix: Avoid doing complex conan search --query in the server, do them always in the client. #5960

in the server, do them always in the client. #5960 Fix: Improved conan remove --help message for --packages #5899

message for #5899 Fix: Improved cmake compiler check message to explain the problem with different compiler versions when installing dependencies #5858

Fix: Adds support for transitive dependencies to b2 generator. #5812

Fix: Add support for recipes without settings.compiler in b2 generator. #5810

in b2 generator. #5810 Fix: Add and remove out-of-tree git patches (#5320) #5761

Fix: Add quiet output for inspect –raw . #5702

. #5702 Bugfix: Allow conan download for packages without user/channel #6010

for packages without user/channel #6010 Bugfix: Avoid erroneous case-sensitive conflict for packages without user/channel. #5981

Bugfix: Fix crashing when using lockfiles with a conanfile.txt instead of conanfile.py . #5894

instead of . #5894 Bugfix: Fix incorrect propagation of build-requires to downstream consumers, resulting in missing dependencies in deps_cpp_info . #5886

. #5886 Bugfix: Adds the short_paths_home property to ConanClientConfigParser to validate that it is not a subdirectory of the conan cache. #5864 . Docs here

property to to validate that it is not a subdirectory of the conan cache. #5864 . Docs here Bugfix: Use imported python requires’ short_path value instead of the defined in the conanfile that imports it. #5841

value instead of the defined in the that imports it. #5841 Bugfix: Avoid repeated copies of absolute paths when using self.copy() . #5792

. #5792 Bugfix: Downstream overrides to exact dependencies versions are always used, even if the upstream has a version range that does not satisfy the override. #5713

1.19.3 (29-Oct-2019)¶ Fix: Fixed range of pylint and astroid requirements to keep compatibility with python 2 #5987

Fix: Force conan search --query queries to be resolved always in the client to avoid servers failures due to unsupported syntax #5970

queries to be resolved always in the client to avoid servers failures due to unsupported syntax #5970 Bugfix: Use cpp_info.name lower case in pkg-config generator when defined #5988

Bugfix: Fix cpp_info.name not used in cmake find generators for dependencies #5973

not used in cmake find generators for dependencies #5973 Bugfix: Fixed bug when overriden dependencies that don’t exist and make the CMake generated code crash #5971

Bugfix: Fixed bug when overriden dependencies that don’t exist and make the CMake generated code crash #5945

1.19.2 (16-Oct-2019)¶ Feature: Implement self.info.shared_library_package_id() to better manage shared libraries package-ID, specially when they depend on static libraries #5893 . Docs here

to better manage shared libraries package-ID, specially when they depend on static libraries #5893 . Docs here Bugfix: Allow conan install pkg/[*]@user/channel resolving to a reference, not a path. #5908

resolving to a reference, not a path. #5908 Bugfix: The dependency overriding mechanism was not working properly when using the same version with different build metadata ( 1.2.0+xyz vs 1.2.0+abc ). #5903

vs ). #5903 Bugfix: Artifactory was returning an error on the first login attempt because the server capabilities were not assigned correctly. #5880

Bugfix: conan export failed if there is no user/channel and a lockfile is applied #5875

Bugfix: SCM component failed for url pointing to local path in Windows with backslash. #5875

Bugfix: Fix conan graph build-order output so it uses references including its recipe revision #5863

1.19.1 (3-Oct-2019)¶ Bugfix: Use imported python requires’ short_path value instead of the defined in the conanfile that imports it. #5849

value instead of the defined in the that imports it. #5849 Bugfix: Fix regression in visual_studio generator adding a <Lib> task. #5846 . Docs here

1.19.0 (30-Sept-2019)¶ Feature: Update settings.yml file with macOS, watchOS, tvOS, iOS version numbers #5823

Feature: Add clang 9 to the settings.yml file #5786 . Docs here

Feature: Show suggestions when typing an incorrect command conan command. #5725

Feature: Client support for using refresh tokens in the auth process with Artifactory. #5662

Feature: Add GCC 9.2 to default settings.yml file #5650 . Docs here

Feature: Add subcommand for enabling and disabling remotes #5623 . Docs here

Feature: New conan config home command for getting Conan home directory #5613 . Docs here

command for getting Conan home directory #5613 . Docs here Feature: Adds name attribute to CppInfo and use cpp_info.name in all CMake and pkg-config generators as the find scripts files names, target names, etc. #5598 . Docs here

attribute to and use in all CMake and pkg-config generators as the find scripts files names, target names, etc. #5598 . Docs here Feature: Enhanced vs-generator by providing more properties that can be referenced by other projects; added library paths also to <Lib> so it’s possible to compile static libraries that reference other libs #5564

Feature: Better support OSX frameworks by declaring cppinfo.frameworks . #5552 . Docs here

. #5552 . Docs here Feature: Virtual environment generator for gathering only the PYTHONPATH. #5511 . Docs here

Fix: conan upload with a reference without user and channel and package id name/version:package_id should work #5824

with a reference without user and channel and package id should work #5824 Fix: Dropped support for python 3.4. That version is widely being dropped by the python community. Since Conan 1.19, the tests won’t be run with python 3.4 and we won’t be aware if something is not working correctly. #5820 . Docs here

Fix: Apply lockfile to the node before updating with downstream requirements #5771

Fix: Make conan new generate default options as a dictionary #5767

generate default options as a dictionary #5767 Fix: Output search result for remotes in order by version, as local search #5723

Fix: Excluded also ftp_proxy and all_proxy variables from the environment when proxy configuration is specified in the conan.conf file. #5697

and variables from the environment when proxy configuration is specified in the file. #5697 Fix: Relax restriction on the future python dependency #5692

Fix: Call post_package hook before computing the manifest #5647

hook before computing the manifest #5647 Fix: Show friendly message when can’t get remote path #5638

Fix: Detect the number of CPUs used by Docker (#5464) #5466 . Docs here

Bugfix: Set Ninja to use cpu_count value when building with parallel option with CMake #5832

value when building with option with CMake #5832 Bugfix: output of references without user/channel is done with _/_, like in lockfiles. #5817

Bugfix: A lockfile generated from a consumer should be able to generate a build-order too. #5800

Bugfix: Fix system detection on Solaris. #5630

Bugfix: SVN uses username and password if provided #5601

uses and if provided #5601 Bugfix: Use the final package folder as the conanfile.package_folder attribute for the pre_package hook. #5600

attribute for the hook. #5600 BugFix: Fix crash with custom generators using install_folder #5569

1.18.5 (24-Sept-2019)¶ Bugfix: A bug in urllib3 caused bad encoded URLs causing failures when using any repository from Bintray, like conan-center . #5801

1.18.4 (12-Sept-2019)¶ Fix: package_id should be used for recipe_revision_mode #5729 . Docs here

1.18.3 (10-Sept-2019)¶ Fix: Version ranges resolution using references without user/channel #5707

1.18.2 (30-Aug-2019)¶ Feature: Add opt-out for Git shallow clone in SCM feature #5677 . Docs here

feature #5677 . Docs here Fix: Use the value of argument useEnv provided by the user to the MSBuild helper also to adjust /p:UseEnv=false when the arg is False . #5609

provided by the user to the helper also to adjust when the arg is . #5609 Bugfix: Fixed assertion when using nested build_requires that depend on packages that are also used in the main dependency graph #5689

Bugfix: When Artifactory doesn’t have the anonymous access activated, the conan client wasn’t able to capture the server capabilities and therefore never used the revisions mechanism. #5688

mechanism. #5688 Bugfix: When no user/channel is specified creating a package, upload it to a remote using None as the “folder” in the storage, instead of _ . #5671

is specified creating a package, upload it to a remote using as the “folder” in the storage, instead of . #5671 Bugfix: Using the version ranges mechanism Conan wasn’t able to resolve the correct reference if a library with the same name but different user/channel was found in an earlier remote. #5657

Bugfix: Broken cache package collection for packages without user/channel #5607

1.18.1 (8-Aug-2019)¶ Bugfix: The scm feature was trying to run a checkout after a shallow clone. #5571

1.18.0 (30-Jul-2019)¶ Feature: The “user/channel” fields are now optional. e.g: conan create . is valid if the name and version are declared in the recipe. e.g: conan create . lib/1.0@ to omit user and channel. The same for other commands. The user and channel can also be omitted while specifying requirements in the conanfiles. #5381 . Docs here

is valid if the and are declared in the recipe. e.g: to omit user and channel. The same for other commands. The and can also be omitted while specifying requirements in the conanfiles. #5381 . Docs here Feature: Output current revision from references in local cache when using a pattern #5537 . Docs here

Feature: New parameter --skip-auth for the conan user command to avoid trying to authenticate when the client already has credentials stored. #5532 . Docs here

for the command to avoid trying to authenticate when the client already has credentials stored. #5532 . Docs here Feature: Allow patterns in per-package settings definitions, not only the package name #5523 . Docs here

Feature: Search custom settings (#5378) #5521 . Docs here

Feature: shallow git clone #5514 . Docs here

Fix: Remove conan graph clean-modified command, it is automatic and no longer necessary. #5533 . Docs here

command, it is automatic and no longer necessary. #5533 . Docs here Fix: Incomplete references (for local conanfile.py files) are not printed with @None/None anymore. #5509

anymore. #5509 Fix: Discard empty string values in SCM including subfolder #5459

#5459 Bugfix: The stderr was not printed when a command failed running the tools.check_output function. #5548

was not printed when a command failed running the function. #5548 Bugfix: Avoid dependency (mainly build-requires) being marked as skipped when another node exists in the graph that is being skipped because of being private #5547

Bugfix: fix processing of UTF-8 files with BOM #5506

Bugfix: apply http.sslVerify to the current Git command only #5470

Bugfix: Do not raise when accessing the metadata of editable packages #5461

Bugfix: Use cxxFlags instead of cppFlags in qbs generator. #5452 . Docs here

1.17.2 (25-Jul-2019)¶ Bugfix: Lock transitive python-requires in lockfiles, not only direct ones. #5531

1.17.1 (22-Jul-2019)¶ Feature: support 7.1 clang version #5492

Bugfix: When a profile was detected, for GCC 5.X the warning message about the default libcxx was not shown. #5524

was not shown. #5524 Bugfix: Update python-dateutil dependency to ensure availability of dateutil.parser.isoparse #5485

#5485 Bugfix: Solve regression in conan info <ref> command, incorrectly reading the graph_info.json and lockfiles #5481

command, incorrectly reading the graph_info.json and lockfiles #5481 Bugfix: Trailing files left when packages are not found in conan info and install, restricted further installs with different case in Windows, without rm -rf ~/.conan/data/pkg_name #5480

#5480 Bugfix: The lock files mechanism now allows to update a node providing new information, like a retrieved package revision, if the “base” reference was the same. #5467

Bugfix: search command table output has invalid HTML code syntax #5460

1.17.0 (9-Jul-2019)¶ Feature: Better UX for no_proxy (#3943) #5438 . Docs here

Feature: Show warning when URLs for remotes is invalid (missing schema, host, etc). #5418

Feature: Implementation of lockfiles. Lockfiles store in a file all the configuration, exact versions (including revisions), necessary to achieve reproducible builds, even when using version-ranges or package revisions. #5412 . Docs here

Feature: Change progress bar output to tqdm to make it look better #5407

Feature: Define 2 new modes and helpers for the package binary ID: recipe_revision_mode and package_revision_mode , that take into account the revisions. The second one will use all the information from dependencies, resulting in fully deterministic and complete package IDs: if some dependency change, it will be necessary to build a new binary of consumers #5363 . Docs here

and , that take into account the revisions. The second one will use all the information from dependencies, resulting in fully deterministic and complete package IDs: if some dependency change, it will be necessary to build a new binary of consumers #5363 . Docs here Feature: Add apple-clang 11.0 to settings.yml (#5328) #5357 . Docs here

Feature: SystemPackageTool platform detection (#5026) #5215 . Docs here

Fix: Enable the definition of revisions in conanfile.txt #5435

Fix: Improve resolution of version ranges for remotes #5433

Fix: The conan process returns 6 when a ConanInvalidConfiguration is thrown during conan info . #5421

when a is thrown during . #5421 Fix: Inspect missing attribute is not an error (#3953) #5419

Fix: Allow –build-order and –graph together for conan info (#3447) #5417

Fix: Handling error when reference not found using conan download #5399

Fix: Update Yum cache (#5370) #5387

Fix: Remove old folder for conan install (#5376) #5384

Fix: Add missing call to super constructor to VirtualEnvGenerator . #5375

. #5375 Fix: Force forward slashes in the variable $PROFILE_DIR #5373 . Docs here

#5373 . Docs here Fix: Accept a list for the requires attribute #5371 . Docs here

Fix: Remove packages when version is asterisk (#5297) #5346

Fix: Make conan_data visible to pylint (#5327) #5337

Fix: Improve the output to show the remote (or cache) that a version range is resolved to. #5336

Fix: Deprecated conan copy|download|upload <ref> -p=ID , use conan .... <pref> instead #5293 . Docs here

, use instead #5293 . Docs here Fix: AutoToolsBuildEnvironment is now aware of os_target and arch_target to calculate the gnu triplet when declared. #5283

is now aware of and to calculate the gnu triplet when declared. #5283 Fix: Better message for gcc warning of libstdc++ at default profile detection #5275

Bugfix: verify_ssl field in SCM being discarded when used with False value. #5441

field in SCM being discarded when used with value. #5441 Bugfix: enable retry for requests #5400

Bugfix: Allow creation and deletion of files in tools.patch with strip>0 #5334

with #5334 Bugfix: Use case insensitive comparison for SHA256 checksums #5306

1.16.1 (14-Jun-2019)¶ Feature: Print nicer error messages when receive an error from Artifactory. #5326

Fix: Make conan config get storage.path return an absolute, resolved path #5350

return an absolute, resolved path #5350 Fix: Skipped the compiler version check in the cmake generator when a -s compiler.toolset is specified (Visual Studio). #5348

is specified (Visual Studio). #5348 Fix: Constraint transitive dependency typed-ast (required by astroid) in python3.4, as they stopped releasing wheels, and it fails to build in some Windows platforms with older SDKs. #5324

(required by astroid) in python3.4, as they stopped releasing wheels, and it fails to build in some Windows platforms with older SDKs. #5324 Fix: Accept v140 and VS 15.0 for CMake generator (#5318) #5321

Fix: Accept only .lib and .dll as Visual extensions (#5316) #5319

Bugfix: Do not copy directories inside a symlinked one #5342

Bugfix: Conan was retrying the upload when failed with error 400 (request error). #5326

1.16.0 (4-Jun-2019)¶ Feature: The conan upload command can receive now the full package reference to upload a binary package. The -p argument is now deprecated. #5224 . Docs here

command can receive now the full package reference to upload a binary package. The argument is now deprecated. #5224 . Docs here Feature: Add hooks pre_package_info and post_package_info #5223 . Docs here

and #5223 . Docs here Feature: New build mode –build cascade that forces building from sources any node with dependencies also built from sources. #5218 . Docs here

that forces building from sources any node with dependencies also built from sources. #5218 . Docs here Feature: Print errors and warnings to stderr #5206

#5206 Feature: New conan new --template=mytemplate to initialize recipes with your own templates #5189 . Docs here

to initialize recipes with your own templates #5189 . Docs here Feature: Allow using wildcards to remove system requirements sentinel from cache. #5176 . Docs here

Feature: Implement conan.conf retry and retry-wait and CONAN_RETRY and CONAN_RETRY_WAIT to configure all retries for all transfers, including upload, download, and tools.download() . #5174 . Docs here

and and and to configure all retries for all transfers, including upload, download, and . #5174 . Docs here Feature: Support yaml lists in workspace root field. #5156 . Docs here

field. #5156 . Docs here Feature: Add gcc 8.3 and 9.1 new versions to default settings.yml #5112

Feature: Retry upload or download for error in response message (e.g. status is ‘500’) #4984

Fix: Do not retry file transfer operations for 401 and 403 auth and permissions errors. #5278

Fix: Copy symlinked folder when using merge_directories function #5237

function #5237 Fix: Add the ability to avoid the /verbosity argument in CMake command line for MSBuild #5220 . Docs here

argument in CMake command line for MSBuild #5220 . Docs here Fix: self.copy with symlinks=True does not copy symlink if the .conan directory is a symlink #5114 #5125

Fix: Export detected_os from tools.oss (#5101) #5102 . Docs here

Fix: Use revision as the SVN’s peg_revision (broken for an edge case) #5029

as the SVN’s (broken for an edge case) #5029 Bugfix: --update was not updating python_requires using version ranges. #5265

was not updating using version ranges. #5265 Bugfix: visual_studio generator only adds “.lib” extension for lib names without extension, otherwise (like “.a”) respect it. #5254

generator only adds “.lib” extension for lib names without extension, otherwise (like “.a”) respect it. #5254 Bugfix: Fix conan search command showing revisions timestamps in a different time offset than UTC. #5232

command showing revisions timestamps in a different time offset than UTC. #5232 Bugfix: Meson build-helper gets correct compiler flags, AutoTools build environment adds compiler.runtime flags #5222

Bugfix: The cmake_multi generator was not managing correctly the RelWithDebInfo and MinSizeRel build types. #5221

generator was not managing correctly the and build types. #5221 Bugfix: Check that registry file exists before removing it #5219

Bugfix: do not append “-T ” if generator doesn’t support it #5201

Bugfix: conan download always retrieve the sources, also with --recipe argument, which should only skip download binaries, not the sources. #5194

always retrieve the sources, also with argument, which should only skip download binaries, not the sources. #5194 Bugfix: Using scm declared in a superclass failed exporting the recipe with the error ERROR: The conanfile.py defines more than one class level ‘scm’ attribute . #5185

declared in a superclass failed exporting the recipe with the error . #5185 Bugfix: Conan command returns 6 (Invalid configuration) also when the settings are restricted in the recipe #5178

Bugfix: Make sure that proxy “http_proxy”, “https_proxy”, “no_proxy” vars are correctly removed if custom ones are defined in the conan.conf. Also, avoid using urllib.request.getproxies() , they are broken. #5162

, they are broken. #5162 Bugfix: Use copy() for deploy generator so that permissions of files are preserved. Required if you want to use the deploy generator to deploy executables. #5136

1.15.4¶ Fix: Accept v140 and VS 15.0 for CMake generator (#5318) #5331

Fix: Constraint transitive dependency typed-ast (required by astroid) in python3.4, as they stopped releasing wheels, and it fails to build in some Windows platforms with older SDKs. #5331

1.15.3¶ Please, do not use this version, there was a critical error in the release process and changes from the 1.16 branch were merged.

1.15.2 (31-May-2019)¶ Bugfix: Fix bug with python-requires not being updated with --update if using version-ranges. #5266

if using version-ranges. #5266 Bugfix: Fix computation of ancestors performance regression #5260

1.15.1 (16-May-2019)¶ Fix: Fix regression of conan remote update --insert using the same URL it had before #5110

using the same URL it had before #5110 Fix: Fix migration of registry.json|txt file including reference to non existing remotes. #5103

Bugfix: Avoid crash of commands copy, imports, editable-add for packages using python_requires #5150

1.15.0 (6-May-2019)¶ Feature: Updated the generated conanfile.py in conan new to the new conan-io/hello repository #5069 . Docs here

to the new conan-io/hello repository #5069 . Docs here Feature: The MSBuild build helper allows the parameter toolset with False value to skip the toolset adjustment. #5052 . Docs here

build helper allows the parameter with value to skip the toolset adjustment. #5052 . Docs here Feature: Add GCC 9 to default settings.yml #5046 . Docs here

Feature: You can disable broken symlinks checks when packaging using CONAN_SKIP_BROKEN_SYMLINKS_CHECK env var or config.skip_broken_symlinks_check=1 #4991 . Docs here

env var or #4991 . Docs here Feature: New deploy generator to export files from a dependency graph to an installation folder #4972 . Docs here

generator to export files from a dependency graph to an installation folder #4972 . Docs here Feature: Create tools.Version with _limited_ capabilities #4963 . Docs here

with _limited_ capabilities #4963 . Docs here Feature: Default filename for workspaces: conanws.yml (used in install command) #4941 . Docs here

(used in install command) #4941 . Docs here Feature: Add install folder to command ‘conan workspace install’ #4940 . Docs here

Feature: Add compiler.cppstd setting (mark cppstd as deprecated) #4917 . Docs here

setting (mark as deprecated) #4917 . Docs here Feature: Add a –raw argument to conan inspect command to get an output only with the value of the requested attributes #4903 . Docs here

argument to command to get an output only with the value of the requested attributes #4903 . Docs here Feature: tools.get() and tools.unzip() now handle also .gz compressed files #4883 . Docs here

and now handle also compressed files #4883 . Docs here Feature: Add argument –force to command profile new to overwrite existing one #4880 . Docs here

to command to overwrite existing one #4880 . Docs here Feature: Get commit message #4877 . Docs here

Fix: Remove sudo from Travis CI template #5073 . Docs here

Fix: Handle quoted path and libraries in the premake generator #5051

Fix: A simple addition to ensure right compiler version is found on windows. #5041

Fix: Include CMAKE_MODULE_PATH for CMake find_dependency (#4956) #5021

Fix: Add default_package_id_mode in the default conan.conf (#4947) #5005 . Docs here

Fix: Use back slashes for visual_studio generator instead of forward slashes #5003

generator instead of forward slashes #5003 Fix: Adding subparsers.required = True makes both Py2 and Py3 print an error when no arguments are entered in commands that have subarguments #4902

makes both Py2 and Py3 print an error when no arguments are entered in commands that have subarguments #4902 Fix: Example bare package recipe excludes conanfile.py from copy #4892

from copy #4892 Fix: More meaningful error message when a remote communication fails to try to download a binary package. #4888

Bugfix: conan upload --force force also the upload of package binaries, not only recipes #5088

force also the upload of package binaries, not only recipes #5088 BugFix: MSYS 3.x detection #5078

Bugfix: Don’t crash when an editable declare a build_folder in the layout, but not used in a workspace #5070

in the layout, but not used in a workspace #5070 Bugfix: Made compatible the cmake_find_package_multi generator with CMake < 3.9 #5042

generator with #5042 Bugfix: Fix broken local development flow ( conan source , conan build , conan package , conan export-pkg ) with recipes with python-requires #4979

, , , ) with recipes with #4979 Bugfix: ‘tar_extract’ function was failing if there was a linked folder in the working dir that matches one inside the tar file. Now we use the destination_dir as base directory to check this condition. #4965

as base directory to check this condition. #4965 Bugfix: Remove package folder in conan create even when using --keep-build #4918

1.14.5 (30-Apr-2019)¶ Bugfix: Uncompressing a tgz package with a broken symlink failed while touching the destination file. #5065

package with a broken symlink failed while touching the destination file. #5065 Bugfix: The symlinks compressed in a tgz had invalid nonzero size. #5064

had invalid nonzero size. #5064 Bugfix: Fixing exception of transitive build-requires mixed with normal requires #5056

1.14.4 (25-Apr-2019)¶ Bugfix: Fixed error while using Visual Studio 2019 with Ninja generator. #5028

Bugfix: Fixed error while using Visual Studio 2019 with Ninja generator. #5025

Bugfix: Solved errors in concurrent uploads of same recipe #5014

Bugfix: Fixed a bug that intermittently raised ERROR: ‘NoneType’ object has no attribute ‘file_sums’ when uploading a recipe. #5012

when uploading a recipe. #5012 Bugfix: Bug in cmake_find_package_multi caused CMake to find incorrect modules in CMake modules paths when only Config files should be taken into account. #4995

caused to find incorrect modules in modules paths when only files should be taken into account. #4995 Bugfix: Fix skipping binaries because of transitive private requirements #4987

requirements #4987 Bugfix: Fix broken local development flow (conan source, conan build, conan package, conan export-pkg) with recipes with python-requires #4983

1.14.3 (11-Apr-2019)¶ Bugfix: build-requires and private requirements that resolve to a dependency that is already in the graph won’t span a new node, nor will be build-requires or private . They can conflict too. #4937

1.14.2 (11-Apr-2019)¶ Bugfix: Run a full metadata migration in the cache to avoid old null revisions in package metadata #4934

1.14.1 (1-Apr-2019)¶ Fix: Print a message for unhandled Conan errors building the API and collaborators #4869

Bugfix: Client does not require credentials for anonymous downloads from remotes. #4872

Bugfix: Fix a migration problem of conan config install for Conan versions 1.9 and older #4870

for Conan versions 1.9 and older #4870 Feature: Now Conan will crush your enemies, see them driven before you, and to hear the lamentation of their women! (April’s fools)

1.14.0 (28-Mar-2019)¶ Feature: support new architectures s390 and s390x #4810 . Docs here

Feature: –build parameter now applies fnmatching onto the whole reference, allowing to control rebuilding in a much broader way. #4787 . Docs here

parameter now applies fnmatching onto the whole reference, allowing to control rebuilding in a much broader way. #4787 . Docs here Feature: Add config variable general.error_on_override and environment variable CONAN_ERROR_ON_OVERRIDE (defaulting to False ) to configure if an overridden requirement should raise an error when overridden from downstream consumers. #4771 . Docs here

and environment variable (defaulting to ) to configure if an overridden requirement should raise an error when overridden from downstream consumers. #4771 . Docs here Feature: Allow to specify revision_mode for each recipe, values accepted are scm or hash (default) #4767 . Docs here

for each recipe, values accepted are or (default) #4767 . Docs here Feature: Sort library list name when calling tools.collect_libs #4761 . Docs here

Feature: Add cmake_find_package_multi generator. #4714 . Docs here

generator. #4714 . Docs here Feature: Implement --source-folder and --target-folder to conan config install command to select subfolder to install from the source origin, and also the destination folder within the cache. #4709 . Docs here

and to command to select subfolder to install from the source origin, and also the destination folder within the cache. #4709 . Docs here Feature: Implement --update argument for python-requires too. #4660

argument for too. #4660 Fix: Apply environment variables from profile and from requirements to conan export-pkg #4852

#4852 Fix: Do not run export_sources automatically for python_requires #4838

automatically for python_requires #4838 Fix: Show the correct profile name when detect a new one (#4818) #4824

Fix: Allow using reference object in workspaces in templates for out of source builds #4812 . Docs here

object in workspaces in templates for out of source builds #4812 . Docs here Fix: Look for vswhere in PATH when using tools.vswhere() #4805

in when using #4805 Fix: SystemPackageTools doesn’t run sudo when it’s not found (#4470) #4774 . Docs here

Fix: Show warning if repo is not pristine and using SCM mode to set the revisions #4764

Fix: avoid double call to package() method #4748 . Docs here

method #4748 . Docs here Fix: The cmake_paths generator now declares the CONAN_XXX_ROOT variables in case some exported cmake module file like XXXConfig.cmake has been patched with the cmake.patch_config_paths() to replace absolute paths to the local cache. #4719 . Docs here

generator now declares the variables in case some exported cmake module file like has been patched with the to replace absolute paths to the local cache. #4719 . Docs here Fix: Do not distribute the tests in the python package nor in the installers. #4713

Fix: add support for CMake generator platform #4708 . Docs here

Fix: Fix corrupted packages with missing conanmanifest.txt files #4662

Fix: Include information about all the configurations in the JSON generator #4657 . Docs here

Bugfix: Fixed authentication management when a server returns 401 uploading a file. #4857

Bugfix: Fixed recipe revision detection when some error output or unexpected output was printed to the stdout running the git command. #4854

command. #4854 Bugfix: The error output was piped to stdout causing issues while running git commands, especially during the detection of the scm revision #4853

Bugfix: conan export-pkg should never resolve build-requires #4851

should never resolve build-requires #4851 bugfix: The –build pattern was case sensitive depending on the os file system, now it is always case sensitive, following the conan search behavior. #4842

pattern was case sensitive depending on the os file system, now it is always case sensitive, following the behavior. #4842 Bugfix: Fix metadata not being updated for conan export-pkg when using --package-folder #4834

when using #4834 Bugfix: –build parameter now is always case-sensitive, previously it depended to the file system type. #4787 . Docs here

parameter now is always case-sensitive, previously it depended to the file system type. #4787 . Docs here Bugfix: Raise an error if source files cannot be correctly copied to build folder because of long paths in Windows. #4766

Bugfix: Use the same interface in conan_basic_setup() for the cmake_multi generator #4721 . Docs here

1.13.3 (27-Mar-2019)¶ Bugfix: Revision computation failed when a git repo was present but without commits #4830

1.13.2 (21-Mar-2019)¶ Bugfix: Installing a reference with “update” and “build outdated” options raised an exception. #4790

Bugfix: Solved bug with build-requires transitive build-requires #4783

Bugfix: Fixed workspace crash when no layout was specified #4783

Bugfix: Do not generate multiple add_subdirectories() for workspaces build-requires #4783

1.13.1 (15-Mar-2019)¶ Bugfix: Fix computation of graph when transitive diamonds are processed. #4737

1.13.0 (07-Mar-2019)¶ Feature: Added with_login parameter to tools.run_in_windows_bash() #4673 . Docs here

Feature: The deb and windows Conan installers now use Python 3. #4663

and Conan installers now use Python 3. #4663 Feature: Allow configuring in conan.conf a different default package_id mode. #4644 . Docs here

mode. #4644 . Docs here Feature: Apply Jinja2 to layout files before parsing them #4596 . Docs here

Feature: Accept a PackageReference for the command conan get (argument -p is accepted, but hidden) #4494 . Docs here

(argument is accepted, but hidden) #4494 . Docs here Feature: Re-implement Workspaces based on Editable packages. #4481 . Docs here

Feature: Removed old “compatibility” mode of revisions. #4462 . Docs here

Fix: When revisions enabled, add the revision to the json output of the info/install commands. #4667

Fix: JSON output for multi_config now works in install and create commands #4656

now works in and commands #4656 Fix: Deprecate ‘cppflags’ in favor of ‘cxxflags’ in class CppInfo #4611 . Docs here

Fix: Return empty list if env variable is an empty string #4594

Fix: conan profile list will now recursively list profiles. #4591

will now recursively list profiles. #4591 Fix: Instance of ‘TestConan’ has no ‘install_folder’ member when exporting recipe #4585

when exporting recipe #4585 Fix: SCM replacement with comments below it #4580

Fix: Remove package references associated to a remote in registry.json when that remote is deleted #4568

Fix: Fixed issue with Artifactory when the anonymous user is enabled, causing the uploads to fail without requesting the user and password. #4526

Fix: Do not allow an alias to override an existing package #4495

Fix: Do not display the warning when there are files in the package folder (#4438). #4464

Fix: Renamed the conan link command to conan editable to put packages into editable mode. #4481 . Docs here

command to to put packages into editable mode. #4481 . Docs here Bugfix: Solve problem with loading recipe python files in Python 3.7 because of module.__file__ = None #4669

#4669 Bugfix: Do not attempt to upload non-existing packages, due to empty short_paths folders, or to explicit upload -p=id command. #4615

command. #4615 Bugfix: Fix LIB overwrite in virtualbuildenv generator #4583

generator #4583 Bugfix: Avoid str(self.settings.xxx) crash when the value is None. #4571 . Docs here

crash when the value is None. #4571 . Docs here Bugfix: Build-requires expand over the closure of the package they apply to, so they can create conflicts too. Previously, those conflicts were silently skipped, and builds would use an undetermined version and configuration of dependencies. #4514

Bugfix: meson build type actually reflects recipe shared option #4489

Bugfix: Fixed several bugs related to revisions. #4462 . Docs here

Bugfix: Fixed several bugs related to the package metadata.json #4462 . Docs here

1.12.3 (18-Feb-2019)¶ Fix: Fix potential downgrade from future 1.13 to 1.12 #4547

Fix: Remove output warnings in MSBuild helper. #4518

Fix: Revert default cmake generator on Windows (#4265) #4509 . Docs here

Bugfix: Fixed problem with conanfile.txt [imports] sections using the ‘@’ character. #4539 . Docs here

Bugfix: Fix search packages function when remote is called all #4502

1.12.2 (8-Feb-2019)¶ Bugfix: Regression in MSBuild helper, incorrectly ignoring the conan_build.props file because of using a relative path instead of absolute one. #4488

1.12.1 (5-Feb-2019)¶ Bugfix: GraphInfo parsing of existing graph_info.json files raises KeyError over “root”. #4458

files raises KeyError over “root”. #4458 Bugfix: Transitive Editable packages fail to install #4448

1.12.0 (30-Jan-2019)¶ Feature: Add JSON output to ‘info’ command #4359 . Docs here

Feature: Remove system requirements conan folders (not installed binaries) from cache #4354 . Docs here

Feature: Updated CONTRIBUTING.md with code style #4348

Feature: Updated OS versions for apple products #4345

Feature: add environment variable CONAN_CACHE_NO_LOCKS to simplify debugging #4309 . Docs here

Feature: The commands conan install , conan info , conan create and conan export-pkg now can receive multiple profile arguments. The applied profile will be the composition of them, prioritizing the latest applied. #4308 . Docs here

, , and now can receive multiple profile arguments. The applied profile will be the composition of them, prioritizing the latest applied. #4308 . Docs here Feature: Added get_tag() methods to tools.Git() and tools.SVN() helpers. #4306 . Docs here

methods to and helpers. #4306 . Docs here Feature: Package reference is now accepted as an argument in conan install --build #4305 . Docs here

#4305 . Docs here Feature: define environment variables for CTest #4299 . Docs here

Feature: Added a configuration entry at the conan.conf file to be able to specify a custom CMake executable. #4298 . Docs here

file to be able to specify a custom executable. #4298 . Docs here Feature: Skip “README.md” and “LICENSE.txt” during the installation of a custom config via conan config install . #4259 . Docs here

. #4259 . Docs here Feature: allow to specify MSBuild verbosity level #4251 . Docs here

Feature: add definitions to MSBuild build helper (and tools.build_sln_command() ) #4239 . Docs here

) #4239 . Docs here Feature: Generate deterministic short paths on Windows #4238

Feature: The tools.environment_append() now accepts unsetting variables by means of appending such variable with a value equal to None. #4224 . Docs here

now accepts unsetting variables by means of appending such variable with a value equal to None. #4224 . Docs here Feature: Enable a new reference argument in conan install <path> <reference> , where reference can be a partial reference too (identical to what is passed to conan create or conan export . This allows defining all pkg,version,user,channel fields of the recipe for the local flow. #4197 . Docs here

argument in , where can be a partial reference too (identical to what is passed to or . This allows defining all pkg,version,user,channel fields of the recipe for the local flow. #4197 . Docs here Feature: Added support for new architecture ppc32 #4195 . Docs here

#4195 . Docs here Feature: Added support for new architecture armv8.3 #4195 . Docs here

#4195 . Docs here Feature: Added support for new architecture armv8_32 #4195 . Docs here

#4195 . Docs here Feature: Add experimental support for packages in editable mode #4181 . Docs here

Fix: Conditionally expand list-like environment variables in virtualenv generator #4396

generator #4396 Fix: get_cross_building_settings for MSYS #4390

Fix: Implemented retrial of output to stdout stream when the OS (Windows) is holding it and producing IOError for output #4375

Fix: Validate CONAN_CPU_COUNT and output user-friendly message for invalid values #4372

Fix: Map cpp_info.cppflags to CONAN_CXXFLAGS in make generator. #4349 . Docs here

to in generator. #4349 . Docs here Fix: Use *_DIRS instead of *_PATHS ending for varaibles generated by the make generator: INCLUDE_DIRS , LIB_DIRS , BIN_DIRS , BUILD_DIRS and RES_DIRS #4349 . Docs here

instead of ending for varaibles generated by the generator: , , , and #4349 . Docs here Fix: Bumped requirement of pyOpenSSL on OSX to >=16.0.0, <19.0.0 #4333

#4333 Fix: Fixed a bug in the migration of the server storage to the revisions layout. #4325

Fix: ensure tools.environment_append doesn’t raise trying to unset variables #4324 . Docs here

Fix: Improve error message when a server (like a proxy), returns 200-OK for a conan api call, but with an unexpected message. #4317

Fix: ensure is_windows, detect_windows_subsystem, uname work under MSYS/Cygwin #4313

Fix: uname shouldn’t use -o flag, which is GNU extention #4311

Fix: get_branch() method of tools.SVN() helper now returns only the branch name, not the tag when present. #4306 . Docs here

method of helper now returns only the branch name, not the tag when present. #4306 . Docs here Fix: Conan client now always include the X-Checksum-Sha1 header in the file uploads, not only when checking if the file is already there with a remote supporting checksum deploy (Artifactory) #4303

header in the file uploads, not only when checking if the file is already there with a remote supporting checksum deploy (Artifactory) #4303 Fix: SCM optimization related to scm_folder.txt is taken into account only for packages under development. #4301

is taken into account only for packages under development. #4301 Fix: Update premake generator, rename conanbuildinfo.premake -> conanbuildinfo.premake.lua, conan_cppdefines -> conan_defines #4296 . Docs here

Fix: Using yaml.safe_load instead of load #4285

instead of #4285 Fix: Fixes default CMake generator on Windows to use MinGW Makefiles. #4281 . Docs here

Fix: Visual Studio toolset is passed from settings to the MSBuild helper #4250 . Docs here

Fix: Handle corner cases related to SCM with local sources optimization #4249

Fix: Allow referring to projects created by b2 generator for dependencies with absolute paths. #4211

Fix: Credentials are removed from SCM url attribute if Conan is automatically resolving it. #4207 . Docs here

attribute if Conan is automatically resolving it. #4207 . Docs here Fix: Remove client/server versions check on every request. Return server capabilities only in ping endpoint. #4205

endpoint. #4205 Fix: Updated contributing guidelines to the new workflow #4173

Bugfix: Fixes config install when copying hooks #4412

BugFix: Meson generator was failing in case of package_folder == None (test_package using Meson) #4391

BugFix: Prepend environment variables are applied twice in conanfile #4380

Bugfix: Caching of several internal loaders broke the conan_api usage #4362

Bugfix: Removing usage of FileNotFoundError which is Py3 only #4361

Bugfix: Custom generator allow to use imports #4358 . Docs here

Bugfix: conanbuildinfo.cmake won’t fail if project() LANGUAGE is None, but the user defines CONAN_DISABLE_CHECK_COMPILER . #4276

LANGUAGE is None, but the user defines . #4276 Bugfix: Fix version ranges containing spaces and not separated by commas. #4273

Bugfix: When running consecutively Conan python API calls to create the default profile object became modified and cached between calls. #4256

the default profile object became modified and cached between calls. #4256 Bugfix: Fixes a bug in the CMake build helper about how flags are appended #4227

Bugfix: Apply the environment to the local conan package command #4204

Bugfix: b2 generator was failing when package recipe didn’t use compiler setting #4202

1.11.2 (8-Jan-2019)¶ Bugfix: The migrated data in the server from a version previous to Conan 1.10.0 was not migrated creating the needed indexes. This fixes the migration and creates the index on the fly for fixing broken migrations. Also the server doesn’t try to migrate while running but warns the user to run conan server –migrate after doing a backup of the data, avoiding issues when running the production servers like gunicorn where the process doesn’t accept input from the user. #4229

1.11.1 (20-Dec-2018)¶ BugFix: Fix conan config install requester for zip file download #4172

1.11.0 (19-Dec-2018)¶ Feature: Store verify_ssl argument in conan config install #4158 . Docs here

argument in #4158 . Docs here Feature: Tox launcher to run the test suite. #4151

Feature: Allow --graph=file.html html output using local vis.min.js and vis.min.css resources if they are found in the local cache (can be deployed via conan config install ) #4133 . Docs here

html output using local vis.min.js and vis.min.css resources if they are found in the local cache (can be deployed via ) #4133 . Docs here Feature: Improve client DEBUG traces with better and more complete messages. #4128

Feature: Server prints the configuration used at startup to help debugging issues. #4128

Feature: Allow hooks to be stored in folders #4106 . Docs here

Feature: Remove files containing Macos meta-data (files beginning by ._ ) #4103 . Docs here

) #4103 . Docs here Feature: Allow arguments in git clone for conan config install #4083 . Docs here

for #4083 . Docs here Feature: Display the version-ranges resolutions in a cleaner way. #4065

Feature: allow conan export . version@user/channel and conan create . version@user/channel #4062 . Docs here

and #4062 . Docs here Fix: cmake_find_package generator not forwarding all dependency properties #4125

generator not forwarding all dependency properties #4125 Fix: Recent updates in python break ConfigParser with % in values, like in path names containing % (jenkins) #4122

with in values, like in path names containing % (jenkins) #4122 Fix: The property file that the MSBuild() is now generated in the build_folder instead of a temporary folder to allow more reproducible builds. #4113 . Docs here

is now generated in the instead of a temporary folder to allow more reproducible builds. #4113 . Docs here Fix: Fixed the check of the return code from Artifactory when using the checksum deploy feature. #4100

Fix: Evaluate always SCM attribute before exporting the recipe #4088 . Docs here

Fix: Reordered Python imports #4064

Bugfix: In ftp_download function there is extra call to ftp.login() with empty args. This causes ftp lib to login again with empty credentials and throwing exception because authentication is required by server. #4092

with empty args. This causes ftp lib to login again with empty credentials and throwing exception because authentication is required by server. #4092 Bugfix: Take into account os_build and arch_build for search queries. #4061

1.10.2 (17-Dec-2018)¶ Bugfix: Fixed bad URL schema in ApiV2 that could cause URLs collisions #4138

1.10.1 (11-Dec-2018)¶ Fix: Handle some corner cases of python_requires #4099

Bugfix: Add v1_only argument in Conan server class #4096

Bugfix: Handle invalid use of python_requires when imported like conans.python_requires #4090

1.10.0 (4-Dec-2018)¶ Feature: Add include_prerelease and loose option to version range expression #3898

and option to version range expression #3898 Feature: Merged “revisions” feature code in develop branch, still disabled by default until it gets stabilized. #3055

Feature: CMake global variable to disable Conan output CONAN_CMAKE_SILENT_OUTPUT #4042

#4042 Feature: Added new make generator. #4003

generator. #4003 Feature: Deploy a conan snapshot package to test.pypi.org for every develop commit. #4000

Fix: Using the scm feature when Conan is not able to read the gitignored files (local optimization mechanism) print a warning to improve the debug information but not crash. #4045

feature when Conan is not able to read the gitignored files (local optimization mechanism) print a warning to improve the debug information but not crash. #4045 Fix: The tools.get tool (download + unzip) now supports all the arguments of the download tool. e.g: verify , retry , retry_wait etc. #4041

tool (download + unzip) now supports all the arguments of the tool. e.g: , , etc. #4041 Fix: Improve make generator test #4018

generator test #4018 Fix: Add space and dot in conan new --help #3999

#3999 Fix: Resolve aliased packages in python_requires #3957

Bugfix: Better checks of package reference pkg/version@user/channel , avoids bugs for conanfile in 4 nested folders and conan install path/to/the/file #4044

, avoids bugs for conanfile in 4 nested folders and #4044 Bugfix: Running Windows subsystem scripts crashed when the PATH environment variable passed as a list. #4039

Bugfix: Fix removal of conanfile.py with conan source command and the removal of source folder in the local cache when something fails #4033

command and the removal of source folder in the local cache when something fails #4033 Bugfix: A conan install with a reference failed when running in the operating system root folder because python tried to create the directory even when nothing is going to be written. #4012

with a reference failed when running in the operating system root folder because python tried to create the directory even when nothing is going 