Changelogļ
Check https://github.com/conan-io/conan for issues and more details about development, contributors, etc.
Important
Conan 1.54 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.54.0 (07-Nov-2022)ļ
- Feature: Make conanfile.build_folder available in generate() for test_package. #12443 
- Feature: Add libcxx settings to meson cpp_link_args. #12397 
- Feature: Do not add architecture to system packages by default, only when cross-compiling. #12349 
- Feature: Added distro to global.conf Jinja rendering. #12311 . Docs here 
- Feature: New - included_files()method in- from conan.tools.scm import Git. #12295 . Docs here
- Feature: Add stdcpp_library to conan.tools.build to get name of C++ standard library to be linked. #12269 . Docs here 
- Feature: New upload_policy=āskipā that not upload binaries (without raising an Exception, simply skip the binaries). #12253 . Docs here 
- Feature: The tool fix_apple_shared_install_name now also patches the <package_id>/bin executables found to point to the libraries at ../lib/xxx.dylib. #12249 . Docs here 
- Feature: New - conanfile.win_bash_runand- tools.microsoft.bash:activeconfig for better Windows bash management. #12178 . Docs here
- Fix: Improve description for verify_ssl parameter in CLI. #12359 . Docs here 
- Fix: Overwrite deactivate script to unset only the last activated virtual environment. #12353 
- Fix: Use settings_target in XCRun instead of settings as default and provide argument use_settings_target ` to select using the active context settings. `#12319 . Docs here 
- Bugfix: Fix issue where find_program does not work for a tool requirement in the build context, when the dependency is also a regular requirement in the host context. #12464 
- Bugfix: Fix - default_cppstd()import error #12446
- Bugfix: When recipes have shared and fPIC as options, define BUILD_SHARED_LIBS and CMAKE_POSITION_INDEPENDENT_CODE as CACHE variables in the generated cmake_toolchain.cmake instead of regular variables, so that they are not masked by further calls to options(). #12401 
- Bugfix: Avoid Conan crash when - tools.env.environment:auto_use=Trueis enabled and no- generate()method. #12386
- Bugfix: Fix MSBuildDeps xml component names. #12365 
- Bugfix: Fix new - VirtualBuildEnvand- VirtualRunEnvgenerators problems with dots in architecture or config. #12294
- Bugfix: Fix Autotools install on Windows. The default argument passed is DESTDIR=unix_path(self, self.package_folder). #12193 . Docs here 
1.53.0 (04-Oct-2022)ļ
- Feature: Implement a new - [runenv]section in the Profile, to define the runtime environment. #12230 . Docs here
- Feature: Add compiler.version 11.3 for GCC in settings. #12215 
- Feature: Make conan.tools.apple.XCRun() public. #12172 . Docs here 
- Feature: Add message to help users that have old CMake versions invoking CMake manually with the same information stored in the CMakePresets. #12169 
- Feature: Make conan.tools.scmGit.run() public. #12165 . Docs here 
- Feature: Add - MSBuildToolchain.propertiesto define extra properties. #12147 . Docs here
- Feature: Update requirements.txt to use distro package version <=1.7.0. #12140 
- Feature: Added method rm_safe to settings and options. #12094 . Docs here 
- Feature: Add missing configurations for conan config list and show the results ordered by key. #12087 . Docs here 
- Feature: Define - source_folderin test_package when- layout()is defined. #12075
- Feature: Support for Xcode 14 and new iOS, watchOS, tvOS and macOS versions. #12064 
- Feature: Add - cpp_info.libdir|bindir|includedirinterface to access- cpp_info.libdirs[0]in recipes #12030 . Docs here
- Feature: Improve Clang support in Windows. #11492 
- Fix: Fix missing binary - conan search dep/1.0 --tablemessage when a binary is missing. #12184
- Fix: Remove too noisy messages from environment files #12168 
- Fix: Add support for windows on ARM64 native platform. #12145 
- Fix: Avoid changing MSBuildDeps filenames with - -while trying to avoid wrong XML formats. #12141
- Fix: Fix XcodeDeps using full package reference in case of package with components. #12097 
- Fix: Fixed a bug when getting the values from the self.conf in the conanfile of a test_package with build_requirements declaring the self.conf_info. #12095 
- Fix: CMakeToolchain.cache_variables parse option value as expected. #12086 
- Fix: Fix XcodeDeps handle hyphen in component requirements. #12084 
- Fix: Add the - test_requiresto- CMakeToolchaindirectories/folders to find cmake files inside them. #12081
- Fix: Set gnu17 as clang 16 cppstd default. #12067 
- Bugfix: Implement correct - libcxxsupport in- MesonToolchain. #12156
- Bugfix: Add āendeavourosā to the list of distros with pacman. #11971 
1.52.0 (31-Aug-2022)ļ
- Feature: Added mechanism to create .pc files for build requirements. #11979 . Docs here 
- Feature: Add - MSBuild().build(.., targets=["target1"])argument to new- MSBuild. #11968 . Docs here
- Feature: Refactored PkgConfigDeps code. #11955 
- Feature: Removed warning messages from PkgConfigDeps if any duplicated *.pc file. #11955 
- Feature: Add - is_msvc(..., build_context=False)argument. #11949 . Docs here
- Feature: Support remotes.json in Conan 1.X. #11936 . Docs here 
- Feature: Add BUILD_TESTING=OFF to CMakeToolchain presets if tools.build:skip_test. #11935 . Docs here 
- Feature: Allow traits in self.requires() for 2.0 compatibility. #11934 . Docs here 
- Feature: Make the version of the Conan client available under conan and make it a Version object so it can be compared. #11928 . Docs here 
- Feature: Add ability to pass additional arguments to conan.tools.scm.Git.clone(). #11921 . Docs here 
- Feature: Promote to_apple_arch in the new conan.tools.apple module. #11915 . Docs here 
- Feature: Add export_conandata_patches tool. #11911 . Docs here 
- Feature: Fail sooner and with a meaningful error if the specified required version is not satisfied. #11908 
- Feature: Implement - cmake_layout(..., build_folder="build)build folder argument. #11889 . Docs here
- Feature: Add new members to - ConanFileInterfacefor- self.dependenciesaccess. #11868 . Docs here
- Feature: Defines the PACKAGE_ROOT_<package> variable in XcodeDeps generated files. #11818 . Docs here 
- Feature: Added clang 16 to settings. #11780 
- Feature: Allow the authorization process in conan_server to be customized, just like authentication. #11776 . Docs here 
- Fix: Change conan.tools.files.get/download default checksums to None, instead of empty string. #11939 
- Fix: When the layout() is declared in the recipe, the files such as conainfo.txt, conanbuildinfo.txt were written in the test_package folder, now there are written in the generators_folder. #11820 
- Bugfix: Fix conversion if options passed in compatibility() method. #11991 . Docs here 
- Bugfix: Prevent mutation of loaded data from conanfile.yml if accesses multiple times during the same run when calling apply_conandata_patches(). #11860 
- Bugfix: Do not skip __pycache__ folder if CONAN_KEEP_PYTHON_FILES. #11828 
- Bugfix: Added + and - symbols to be replaced by _ in XML element names. #11826 
- Bugfix: The tool.scm.Version model has been ported from 2.X to keep the same behavior in Conan 1.X. #11823 
- Bugfix: Fixed cpp_std flags when using C++20. #11819 
- Bugfix: Use āandroid-<level>ā format for the ANDROID_PLATFORM argument to be compatible with old NDK versions. #11799 
- Bugfix: Fix XcodeDeps component handling in transitive dependencies #11772 
1.51.3 (18-Aug-2022)ļ
- Fix: The tool is_apple_os can be imported from conan.tools.apple and receives an instance of Conanfile. #11896 . Docs here 
- Fix: Prevent None folders to be processed in the cpp_info. #11893 
- Fix: CMakeDeps now generates CMake variables as XXX_INCLUDE_DIR in the XXXX-data.cmake for the global cpp_info even if components are declared in the recipe. It is obtained by merging the components cpp_info into a global one. #11874 
- Bugfix: Fixed the cmake_paths`generator to set the root of the packages to the `CMAKE_MODULE_PATH and CMAKE_PREFIX_PATH #11883 
- Bugfix: The CMakeDeps generator was not managing correctly the IMPORTED LOCATION of the libraries for different build_type. #11859 
1.51.2 (11-Aug-2022)ļ
- Bugfix: The tool.scm.Version model has been ported from 2.X to keep the same behavior in Conan 1.X #11830 
1.51.1 (09-Aug-2022)ļ
- Feature: The self.info.settings and self.info.options now allow the get_safe(āfooā) as it is available in self.settings and self.options. #11803 
- Fix: Add conan.errors to hidden pyinstaller imports. #11817 
- Fix: Fix choco install invocation. #11810 
- Fix: Add conan.tools.system.package_manager to hidden pyinstaller imports. #11806 
- Fix: Add conan.tools.system as hidden-import to pyinstaller.py, so it is bundled with the installer. #11805 
- Bugfix: Update cmake_layout build and generators folders to honor os path format. #11809 
- Bugfix: create -kb wasnāt setting up conanfile.generators_folder correctly. #11804 
- Bugfix: Legacy cpp_info for consumers was losing information in case of depending on a package with a layout. #11790 
- Bugfix: Refactored CMakeDep using always targets instead of lists. #11788 
- Bugfix: Fix toolchainFile key not found with CMake presets. #11759 
- Bugfix: The CMakeDeps generator failed for consumers with CMake projects doing an add_subdirectory with two different find_package calls to the same package, one in the main CMakeLists.txt and the other in the subdirectory. #11756 
- Bugfix: The CMakeDeps generator stopped to fill the XXX_LIBRARIES CMake variable, especially when using components. #11756 
1.51.0 (28-Jul-2022)ļ
- Feature: Update system package manager db right before install, instead before check #11716 
- Feature: Do the package manager update just in mode install and ignore if mode is check. #11712 . Docs here 
- Feature: The AutotoolsToolchain attributes .cxxflags, .cflags, .ldflags and .defines can be read at any moment, now is not needed to call .environment() to get them calculated. In the other hand, if you want to add additional flags the following attributes have to be used: .extra_cxxflags, .extra_cflags, .extra_ldflags and .extra_defines #11678 . Docs here 
- Feature: Changed CMakeDeps generator so the global target made for a package with components is a target linked with the targets of the components, instead of a target made from merging cpp_info objects from the components. #11673 . Docs here 
- Feature: Support for components in MSBuildDeps. #11669 . Docs here 
- Feature: The CMakePreset.json now contains toolset and architecture items when using Ninja generator and msvc compiler so the IDE (Visual Studio) can set the correct compiler (vcvars) automatically. #11666 
- Feature: Introduced a new conf tools.cmake.cmaketoolchain.presets:max_schema_version to generate CMakePresets.json and CMakeUserPresets.json compatible with the specified json schema version. The minimum value supported is >=2. #11655 . Docs here 
- Feature: Added objc_args/objc_link_args/objcpp_args/objcpp_link_args to MesonToolchain for Objective-C/C++ language. #11632 . Docs here 
- Feature: Adding default directories to MesonToolchain. #11618 . Docs here 
- Feature: Provide Path accessors in Conanfile. #11585 
- Feature: Introduced a validate_build() method in the recipes to validate if the package can be built according to self.settings and self.options instead of self.info.settings and self.info.options that it is used to validate the binary. #11580 . Docs here 
- Feature: Add ability to download files in the local filesystem using file:// URIs. #11569 . Docs here 
- Feature: Added MesonDeps as a new generator to create an extra file with all the GNU flags from all the dependencies. Meson build-helper will add that one (if exists) to complement the created one by MesonToolchain. #11557 . Docs here 
- Feature: Added a new - self.folders.subprojectfor- layout()to be able to define layouts that goes up to the parent or siblings folders, together with the- self.folders.root = "..". #11556 . Docs here
- Feature: Adding new - msys2_ucrt64,- msys2_mingw64,- msys2_clang64subsystems in- os.subsystemfor Windows. #11530
- Fix: Add conan.tools.scm as hidden-import to _pyinstaller.py_, so it is bundled with the installer. #11677 
- Fix: The cmake_build_modules property can only be declared in the self.cpp_info, not in components, where will be ignored. #11673 . Docs here 
- Fix: Fix Dnf and Yum to accept 100 as a return code. #11668 
- Fix: Get the cpu count for cgroup2 from /sys/fs/cgroup/cpu.max. #11667 . Docs here 
- Fix: Improve opensuse detection in tool.system.package_manager. #11660 
- Fix: Add raspbian to default tools.system.package_manager package manager mapping. #11654 . Docs here 
- Fix: Allow templates for conan new to contain Readme.md and LICENSE.txt files. #11645 
- Fix: Remove - conan_message()in- CMakeDeps. #11625
- Fix: In conans.tools.collect_libs and conan.tools.files.collect_libs, avoids to list other flavors (version, soversion) of the same dylib on macOS, so that behavior is consistent on Linux & macOS. #11527 . Docs here 
- Bugfix: The AutotoolsToolchain now clears None values from the attributes .cxxflags, .cflags, .ldflags and .defines. #11678 . Docs here 
- Bugfix: The CMakePresets.json file contained invalid paths (mixing / and `) for Windows that caused issues when using `Visual Studio. #11652 
- BugFix: Avoid - LocalDebuggerEnvoverflows in- MSBuildDepsdue to addition of PATH env-var. #11631
- Bugfix: Fix frameworkdirs not taken into account in XcodeDeps generator. #11617 
- Bugfix: CMakeToolchain avoid setting CMAKE_INSTALL_XXX variables if the values are not defined. #11614 
- Bugfix: Use correct build target in CMake.test() for the Ninja Multi-Config generator. #11594 
- Bugfix: The CMakeToolchain was crashing when building for Android os a package that is removing the compiler.libcxx (C library). #11586 
1.50.2 (11-Aug-2022)ļ
- Bugfix: The tool.scm.Version model has been ported from 2.X to keep the same behavior in Conan 1.X #11830 
1.50.1 (28-Jul-2022)ļ
- Bugfix: Port #11614. CMakeToolchain avoid setting CMAKE_INSTALL_XXX variables if the values are not defined. #11719 
1.50.0 (29-Jun-2022)ļ
- Feature: - VirtualBuildEnvand- VirtualRunEnvalways generate files, even if empty. #11536
- Feature: Improve dependency-cycle error to show the cycle. #11519 
- Feature: Aggregate transitive components information in the same package for XcodeDeps. #11507 . Docs here 
- Feature: map armv8 arch to ARM64 MSBuild platform in MSBuildDeps generator. #11505 
- Feature: Added CMakeToolchain(self).cache_variables to declare cache_variables in the configurePresets in the CMakePresets.json file. Conan reads them to call cmake with -D when using the CMake(self) build helper. These cache variables doesnāt support multi-configuration generators. #11503 . Docs here 
- Feature: Created self.info.clear() as an alias of self.info.header_only() that will disappear in Conan 2.0. #11478 . Docs here 
- Feature: Allow options having [āANYā] as a list like Conan 2.X. #11449 . Docs here 
- Feature: Ported cppstd related tools from 2.X branch. #11446 . Docs here 
- Feature: Added tool rm at conan.tools.files to remove files by pattern in a folder. #11443 . Docs here 
- Feature: Add support for test_requires in XcodeDeps. #11415 
- Feature: Add relative path support to Git SCM tool. #11407 
- Feature: Changed cmake_layout with a more natural and intuitive folders.build and folders.generators. Also changed the CMakePresets.json preset names. #11391 . Docs here 
- Fix: When using the layout() (as opt-in of some Conan 2.0 features) the default includedirs of the declared components is now [āincludeā] the default of the libdirs is [ālibā] and the default for the bindirs is [ābinā]. Previously, the components always had empty fields. Also the default of cpp_info.resdirs is now empty. #11471 . Docs here 
- Fix: The CMakeToolchain will fail if settings.build_type is specified in the ātools.cmake.cmake_layout:build_folderā conf because the build_type is automatically managed by the CMakeToolchain and CMakeDeps generators by default. #11470 . Docs here 
- Fix: When using the new layout() feature of Conan 2.0, change the default cpp_info.frameworkdirs = [āFrameworksā] to cpp_info.frameworkdirs = [], because it is more common to not have packaged Apple frameworks and declaring a missing folder can cause issues with the new toolchains. #11455 . Docs here 
- Fix: The āincludeā paths list in a CMakeUserPresets.json, when performing a new conan install, are now checked, and in case some of them is a missing path (deleted directory), it is cleaned from the list. #11414 
- Fix: Avoid issues in - VirtualRunEnvfor undefined variables when- set -eis defined. #11361
- Bugfix: Fix logic in the generation of CMakeUserPresets.json - Conan will only generate the file if it did not previously exist, and will modify an existing one if the file was previously generated by conan. Existing CMakeUserPresets.json will be left untouched otherwise. #11452 . Docs here 
- Bugfix: Fix crash in pylint plugin with pylint >= 2.14.0. #11445 
- Bugfix: Allow using - PkgConfigDepsfor- editablepackages, not raising an error cause- package_folderis None. #11440
- Bugfix: The CMakePresets.json file, when performing several conan install commands, ended-up with several entries of duplicated ābuildPresetsā if used with a multi-configuration cmake generator. #11414 
- Bugfix: PkgConfigDeps creates *.pc files for test_requires. #11390 
1.49.0 (02-Jun-2022)ļ
- Feature: Add install_substitutes to system package manager tools to be able to install sets of packages that are equivalent with different names for different distros. #11367 . Docs here 
- Feature: Do not automatically fix the shared libraries to add the rpath in Apple and add an external tool tools.apple.fix_apple_shared_install_name to do it optionally in recipes for packages that do not set the correct LC_ID_DYLIB. #11365 . Docs here 
- Feature: Allow pyyaml 6.0 dependency. #11363 
- Feature: Removed Python 2.7 support, as a result of an unsolvable security vulnerability in pyjwt. #11357 . Docs here 
- Feature: The - conanfile.txtfile now accepts a- [layout]that can be filled with 3 predefined layouts:- cmake_layout,- vs_layoutand- bazel_layout. #11348 . Docs here
- Feature: Remove the parameter - copy_symlink_foldersof the- conan.tool.files.copyfunction and now, any symlink file pointing to a folder will be treated as a regular file. #11330 . Docs here
- Feature: Tools can_run validates if it is possible to run a and application build for a non-native architecture. #11321 . Docs here 
- Feature: Add CMAKE_SYSROOT support for CMakeToolchain. #11317 . Docs here 
- Feature: Add āsysroot support for AutotoolsToolchain and remove support for cpp_info.sysroot in AutotoolsDeps. #11317 . Docs here 
- Feature: Improved cmake_layout and CMakePresets.json feature so you can manage different configurations using the same CMakeUserPresets.json not only for multi-config (Debug/Release) but for any set of settings specified in a new conf tools.cmake.cmake_layout:build_folder_vars that accepts a list of settings to use. e.g tools.cmake.cmake_layout:build_folder_vars=[āsettings.compilerā, āoptions.sharedā] #11308 . Docs here 
- Feature: Adds GCC 9.4 in the list of compilers supported in the settings file. #11296 
- Feature: Raise an error when running CMake if CMAKE_BUILD_TYPE is not defined and the generator is not multi-config. #11294 . Docs here 
- Feature: Implement a - check_min_vs()checker that will work for both- Visual Studioand- msvcto allow migration from 1.X to 2.0 #11292 . Docs here
- Feature: More flexibility in Autotools tools to override arguments and avoid all default arguments for make, autoreconf and configure. #11284 . Docs here 
- Feature: Add components support in XcodeDeps. #11233 . Docs here 
- Feature: Define new - tools.cmake.cmaketoolchain:toolset_archto define VS toolset x64 or x86 architecture #11147 . Docs here
- Feature: Add new xtensalx7 option for the arch_target and arch settings, allowing targeting Espressifās ESP32-S2 and ESP32-S3 microcontrollers. #11143 
- Fix: Use interface_library with shared_library on Windows in BazelDeps. #11355 
- Fix: BazelDeps generator cannot find a lib when itās named with the basename of the lib file. #11343 
- Fix: Avoid empty paths in run environments PATH, LD_LIBRARY_PATH, DYLD_LIBRARY_PATH env-vars. #11298 
- Fix: Use DESTDIR argument in make install step instead of using the āprefix in configure. #11284 . Docs here 
- Fix: Add -DCMAKE_BUILD_TYPE to markdown generator instructions for CMake single config. #11220 
- Fix: Fixing - --require-overrideover conditional- requirements()method. #11209
- Fix: Placing quote marks around echo statement in save_sh function. #11123 
- Bugfix: Force - conan_serverto use- pyjwt>=2.4.0to solve a known vulnerability. #11350
- Bugfix: Fix case where CMakeDeps generator may use the wrong dependency name for transitive dependencies. #11307 
- Bugfix: Link - cpp_info.objectsfirst in- CMakeDepsgenerator, as they can have dependencies to- system_libsthat need to be after them in some platforms to correctly link. #11272
- Bugfix: Update cmake_layout generators folder to honor os path format. #11252 
- Bugfix: Catching KeyError if USERNAME is not set as env variable on Windows. #11223 
- Bugfix: Add Rocky Linux to with_yum. #11212 
1.48.2 (02-Jun-2022)ļ
- Feature: Port https://github.com/conan-io/conan/pull/11365 and https://github.com/conan-io/conan/pull/11284 to 1.48.2 #11381 
1.48.1 (18-May-2022)ļ
- Fix: Add -DCMAKE_BUILD_TYPE to markdown generator instructions for CMake single config. #11234 
- Bugfix: Fix case where CMakeDeps assumes a module dependency when transitive dependencies do not define cmake_find_mode and fallback to a config one. #11240 
- Bugfix: Fixed broken - apple-clang13.0 compatibility. #11231
1.48.0 (03-May-2022)ļ
- Feature: Do not recommend to set PKG_CONFIG_PATH in markdown generator any more as it is already set by the AutotoolsToolchain. #11120 
- Feature: The cmake_layout declares folders.generators = ābuild/generatorsā that is common for different configurations, enabling CMakePresets.json to support different configurePresets and buildPresets for single-config and multi-config generators. #11117 . Docs here 
- Feature: The CMakeToolchain generator will create (if missing) a CMakeUserPresets.json if the CMakeLists.txt file is found in the root folder of the project. That file will include automatically the CMakePresets.json file contained at build/generators folder to allow CMake and IDEs to locate automatically the presets generated by Conan. #11117 . Docs here 
- Feature: The CMAKE_BUILD_TYPE is not adjusted in the conan_toolchain.cmake anymore, the configuration is moved to the CMakePresets.json preparing Conan to support multiple āsingle-configā configurations in one CMakePresets.json file #11112 . Docs here 
- Feature: The CMakePresets.json (file generated when specified the CMakeToolchain generator) is appended with a new buildPresets after a conan install with a different build_type when using a multiconfiguration generator like Visual Studio. #11103 . Docs here 
- Feature: Removed PlatformToolset and added conantoolchain.props from *.vcxproj file. #11101 
- Feature: Append the folder where the Conan generators were installed to PKG_CONFIG_PATH in AutotoolsToolchain. #11063 . Docs here 
- Feature: Adding new - tools.env.virtualenv:powershellconf to opt-in to generate and use powershell scripts instead of .bat ones. #11061 . Docs here
- Feature: Added new configuration fields: tools.apple:enable_bitcode, tools.apple:enable_arc and tools.apple:enable_visibility. #10985 . Docs here 
- Feature: Added new mechanism to inject common Xcode flags in CMakeToolchain generator if enabled Bitcode, ARC, or Visibility configurations. #10985 . Docs here 
- Feature: New templates for autotools exe and lib. #10978 . Docs here 
- Feature: Change build_script_folder argument from the configure to the Autotools build helper constructor. #10978 . Docs here 
- Feature: Replaced add_definitions by add_compile_definitions in conan.tools.cmake.* package. #10974 
- Feature: Added cxxflags, cflags, and ldflags attributes to MSBuildToolchain. #10972 . Docs here 
- Feature: Added mechanism to inject extra flags to MSBuildToolchain via [conf]. #10972 . Docs here 
- Fix: Allow - Version(self.settings.compiler.version)to work for- newtools.scm.Version``. #11119
- Fix: Make shared libraries build with Autotools relocatable in Macos by patching the install name (LC_ID_DYLIB) and setting to @rpath/libname.dylib. #11114 . Docs here 
- Fix: using CMAKE_PROJECT_INCLUDE instead of presets to define variables that donāt work in toolchains #11098 
- Fix: Fix quote escaping for defines in pkg_config generator. #11073 
- Fix: Fix quote escaping for defines in PkgConfigDeps generator. #11073 
- Fix: Quote add_compile_definitions correctly in CMakeToolchain. #11057 
- Fix: Escape quotes in definitions in CMakeToochain. #11057 
- Fix: Renamed self.base_source_folder to self.export_source_folder. That variable was introduced to reference the folder where the export_sources are. Currently, they are copied to the source folder but might be changed in the future to avoid copying them, so self.export_source_folder will always point to the folder containing the exports_sources. #11055 . Docs here 
- Fix: Ensure correct order for libraries in AutotoolsDeps. #11054 
- Fix: Escape quotes in XCodeDeps generator. #11039 
- Fix: The CMakeDeps generator now set INTERFACE_LINK_DIRECTORIES necessary when using auto link ā#pragma comment(lib, āfooā)ā ` when the required library sets the property `cmake_set_interface_link_directories. #10984 . Docs here 
- Fix: Renamed variables from the CMakeToolchain context in blocks to be all lowercase. e.g: CMAKE_OSX_ARCHITECTURES to cmake_osx_architectures. #10981 
- Bugfix: Avoid - BazelDepsto find a library when a directory with the same name exists. #11090
- Bugfix: The binaryDir field at CMakePresets.json is not set if the conanfile.build_folder is not available, avoiding a null value breaking the specification. #11088 
- Bugfix: Fixed unziping while using tools.get or tools.unzip with the strip_root=True in a tgz file with hardlinks inside. #11074 
- Bugfix: The method get_commit from the new conan.tools.scm.Git was capturing a wrong commit, for example, ignoring commits in subfolders when checking the parent folder. #11015 
- Bugfix: The json generator was showing āNoneā in the version field of the dependencies when the layout() method was used. #10960 
- Bugfix: The config default_python_requires_id_mode=unrelated_mode raised an error, it has been fixed. #10959 
- Bugfix: The CMakeToolchain now declares CACHE BOOL variables when a bool is stored in a variable: toolchain.variables[āFOOā] = True. #10941 
1.47.0 (31-Mar-2022)ļ
- Feature: Renamed tools.build:cppflags to tools.build:defines and removed tools.build:ldflags (now itās the union between tools.build:sharedlinkflags and tools.build:exelinkflags in mostly all the cases). #10928 . Docs here 
- Feature: Adding cross-compilation for Android in MesonToolchain. #10908 . Docs here 
- Feature: Add extra flags via [conf] into XcodeToolchain. #10906 . Docs here 
- Feature: Preliminar support for CMakePresets.json. #10903 . Docs here 
- Feature: Added wrap_mode=nofallback project-option into MesonToolchain as default value. #10884 
- Feature: Added basic rmdir tool at conan.tools.files. #10874 . Docs here 
- Feature: Backport of 2.0 compatibility() recipe method. #10868 
- Feature: Add detection in meson toolchain for cross conditions and requirement of needs_exe_wrapper. Users may specify the exe wrapper in their meson.build now. #10846 
- Feature: Allow tested_reference_str to be None. #10834 
- Feature: New templates for the conan new command with bazel examples: bazel_exe and bazel_lib. #10812 . Docs here 
- Feature: Add some support for - msvccompiler older versions. #10808
- Feature: Added mechanism to inject extra flags via [conf] into several toolchains like AutotoolsToolchain, MesonToolchain and CMakeToolchain. #10800 . Docs here 
- Feature: Support selecting the target to build for XcodeBuild helper. #10799 . Docs here 
- Feature: Support for Xcode 13.3, iOS 15.4, watchOS 8.5 and tvOS 15.4. #10797 
- Feature: New modern āconan new ātemplate=msbuild_lib|exeā for modern MSBuild VS integration. #10760 . Docs here 
- Feature: Added a checker for Conan 2.x deprecated from conans imports in pylint_plugin. #10746 . Docs here 
- Feature: New conan.tool.microsoft.unix_path to convert paths to any subsystem when using conanfile.win_bash. #10743 . Docs here 
- Feature: New - from conan.errors import XXXnew namespace to be ready for 2.0. #10734 . Docs here
- Feature: Allow specifying default_options = {āpkg/*:optionā: āvalueā} or default_options = {āpkg*:optionā: āvalueā} instead of default_options = {āpkg:optionā: āvalueā} to make compatible recipes with 2.0. #10731 . Docs here 
- Feature: Add Clang 15 to default settings. #10558 
- Feature: When the layout is declared, the cwd() in the source() method will follow the declared self.folders.source but the exports_sources will still be copied to the base source folder. #10091 . Docs here 
- Fix: Add support for - clangto- msvc_runtime_flag(). It requires defining- compiler.runtime = static/dynamicdefinition, same as modern- msvccompiler setting. #10898 . Docs here
- Fix: Generate the correct ātarget triple when building for Apple catalyst. #10880 
- Fix: The āconan.tools.files.patchā will (by default) look for the patch files in the self.base_source_folder instead of self.source_folder but will apply them with self.source_folder as the base folder. #10875 . Docs here 
- Fix: Setting CMAKE_SYSTEM_PROCESSOR for Apple cross-compiling including M1. #10856 . Docs here 
- Fix: Do not overwrite values for CMAKE_SYSTEM_NAME, CMAKE_SYSTEM_VERSION and CMAKE_SYSTEM_PROCESSOR set from the [conf] or the user_toolchain. #10856 . Docs here 
- Fix: Fix architecture translation from Conan syntax to build system in CMakeToolchain. #10856 . Docs here 
- Fix: Several improvements of the Bazel integration (Bazel, BazelToolchain, BazelDeps), new functional tests in all platforms. #10812 . Docs here 
- Fix: Conf.get() always returns default value if internal conf_value.value is None, i.e., it was unset. #10800 . Docs here 
- Fix: Set -DCMAKE_MAKE_PROGRAM when the generator is for MinGW and the conf tools.gnu:make_program is set. #10770 
- Fix: AutotoolsToolchain adjust the runtime flag of msvc (MTd, MT, MDd or MD) to CFLAGS and CXXFLAGS when using the msvc as settings.compiler. #10755 . Docs here 
- Fix: Removed subsystem_path from the conan.tool.microsoft namespace, superseded by unix_path. #10743 . Docs here 
- Fix: Show an error message at conan install if the - validate()method raises- ConanInvalidConfiguration. #10725
- BugFix: The find_dependency called internally in CMakeDeps generator to locate transitive dependencies now use the MODULE/NO_MODULE following the cmake_find_mode property when declared in the dependency. #10917 
- Bugfix: Fix virtualrunenv wrong - buildscope. #10904
- BugFix: Make - self.folders.rootapply at package- conan install .too. #10842
- Bugfix: Fix call to undefined function for markdown generator when components add system_libs. #10783 
- Bugfix: solve - build_policy=neverbug when- conan export-pkg --forceand there already exists a package in the cache. #10738
- Bugfix: Add transitive dependencies to generated Bazel BUILD files. #10686 
1.46.2 (18-Mar-2022)ļ
1.46.1 (17-Mar-2022)ļ
- Feature: Added a checker for Conan 2.x deprecated from conans imports in pylint_plugin. #10811 
- Feature: Add apple-clang 13 major version to settings. #10807 
- Feature: Make apple-clang 13 version package-id compatible with 13.0. #10807 
- Feature: Autodetect only major version for apple-clang profile starting in version 13. #10807 
- Feature: Add clang 15 version to settings. #10807 
- Bugfix: Fix call to undefined function for markdown generator when components add system_libs. #10810 
1.46.0 (07-Mar-2022)ļ
- Feature: Configuration field tools.cmake.cmaketoolchain:user_toolchain defined as list-like object #10729 . Docs here 
- Feature: Prepare Conan for search remote repos with mix of 1.X and 2.0 binaries. Conan 1.X will not list binaries ( - conan search <ref>) stored in remote repos that were created with Conan 2.0. #10692
- Feature: Adding jinja rendering of global.conf config file. #10687 . Docs here 
- Feature: Improve markdown generator instructions. #10673 . Docs here 
- Feature: The CMakeToolchain and AutotoolsToolchain take into account the cpp.package info to set the output directories for libraries, executables, and so on when running cmake.install or make install. #10672 . Docs here 
- Feature: Added basic_layout, removed meson_layout and added argument src_folder to cmake_layout`as a shortcut for adjusting `conanfile.folders.source. #10659 . Docs here 
- Feature: Adding - self.base_source_folderfor- exports_sourcesexplicit layouts. #10654 . Docs here
- Feature: Adding - rootto layout model to allow conanfile.py in subfolders. #10654 . Docs here
- Feature: Added new property component_version for PkgConfigDeps and legacy PkgConfig. #10633 . Docs here 
- Feature: Changed .pc file description field for components in PkgConfigDeps. #10633 . Docs here 
- Feature: Add sdk_version setting for Macos, iOS, watchOS and tvOS. #10608 . Docs here 
- Feature: Add new XcodeBuild build helper. #10608 . Docs here 
- Feature: Add - compiler.version12 for GCC in settings. #10595
- Feature: Introduce new - conan.tools.scm.Githelper, for direct use in- export()method to capture git url and commit, and to be used in- source()method to clone and checkout a git repo. #10594 . Docs here
- Feature: New - from conan.tools.files import update_conandata()helper to add data to- conandata.ymlin the- export()method. #10586 . Docs here
- Feature: Add CMake variables, cli arguments and native build system arguments to new - conan.tools.cmake.CMakehelper. #10573 . Docs here
- Feature: Adding more functionality to ConfDefinition and Conf, something similar to ProfileEnvironment and Environment ones. #10537 . Docs here 
- Feature: Port conan.tools.Version to Conan 1.X. #10536 . Docs here 
- Feature: Port conan.tools.build.cross_building to Conan 1.X. #10536 . Docs here 
- Feature: New copy tool at conan.tools.files namespace that will replace the self.copy in Conan 2.0. #10530 . Docs here 
- Feature: Add - recipe_folderto pylint plugin. #10527
- Fix: Pin Markupsafe==2.0.1 for py27 and upgrade Jinja2>3 for py3, after Markupsafe latest 2.1 release broke Jinja2 2.11. #10710 
- Fix: Fixed templates for conan new with ātemplate cmake_lib and ātemplate cmake_exe to include Conan 2.0 compatible syntax. #10706 
- Fix: Moved new tool cross_building from conan.tool.cross_building to conan.tool.build to match the location in develop2. #10706 
- Fix: Donāt compose folders in Xcode generator using dep.package_folder, now cpp_info.bindirs, cpp_info.includedirs, etc. are absolute. #10694 
- Fix: When the layout() method is declared, the self.package_folder in the recipe is now available even when doing a conan install . `, pointing to the specified output folder (-of` ) or the path of the conanfile if not specified. #10655 
- Fix: Fix creation path of deactivate scripts. #10653 
- Fix: Add support for [tool_requires] section in conanfile.txt. #10642 
- Fix: When - layout()is defined, the- exportswill not be considered sources anymore, but only the- exports_sources. The- exportsare used exclusively by the recipe, but not as package source. #10625
- Fix: Make the - source()method run inside the- self.source_folder, in the same way- build()runs in- self.build_folder. But only for recipes that define the- layout()method, to not break unless using- layout(). #10612 . Docs here
- Fix: Remove the - --source-foldernew argument to- installand- editable, not necessary at the moment. #10590 . Docs here
- Fix: Fix conf True and False handling in tools.system.package_manage helpers. #10583 
- Fix: Change the - CMakeToolchainmessage to use- CMAKE_CURRENT_LIST_FILE. #10552
- Fix: BazelDeps was generating invalid bazel files cause the static_library paths were absolute and not relative. #10484 
- Fix: BazelDeps was crashing when generating packages without libs cause the context was not checking the array size. #10484 
- Fix: Fix Premake test failing on Linux because the Premake executable isnāt found. #10250 
- Bugfix: Fix - MesonToolchainextra quotes in- cpp_std#10707
- Bugfix: Add missing - system_libsmanagement in- AutotoolsDeps. #10681
- Bugfix: GnuDepsFlags attributes like frameworks and frameworkdirs are only available for Apple OS. #10675 
- Bugfix: Remove tmp folders created in Conan while checking the output of a command and detecting the compiler. #10663 
- Bugfix: Fix - conan_servercircular import do to- conan.toolsnamespace. #10635
- bugfix: Fix - meson_layout()issue with shared folders. #10600
- Bugfix: Fix - SystemPackageToolwhen- mode=verify, it was still installing packages. #10596
- Bugfix: - self.build_foldernot being computed even if- layout()method is defined in local conan install. Close https://github.com/conan-io/conan/issues/10566 #10567
- Bugfix: Fix conan_manifest.txt parse error when the filename has ā:ā in it. #10492 
- Bugfix: Use meson toolchain file from install folder. #8965 
1.45.0 (02-Feb-2022)ļ
- Feature: Add system.package_manager tools to conan config list. #10469 . Docs here 
- Feature: Use system package manager helpers from conan.tools.system.package_manager. #10467 . Docs here 
- Feature: Add - [tool_requires]section to profiles. #10462
- Feature: Add - meson_liband- meson_exe, conan new templates. #10460 . Docs here
- Feature: Add is_msvc_static_runtime method to conan.tools.microsoft.visual to identify when using msvc with static runtime. #10437 . Docs here 
- Feature: Improve support for Visual Studio in - AutotoolsToolchain. #10429
- Feature: Make pkg-config tooling accessible under conan.tools.gnu.PkgConfig and conan.tools.gnu.PkgConfigDeps. #10415 
- Feature: Use .bazel suffix for generated Bazel files. #10391 . Docs here 
- Feature: New tools in conan.tools.system for invoking system package managers in recipes. #10380 . Docs here 
- Feature: Testing the expected PC files created when the component name matches with the root package one using either pkg_config or PkgConfigDeps generators. #10344 . Docs here 
- Feature: Better definition of clang compiler in Windows in CMakeToolchain. #10333 
- Feature: Add VxWorks to OSs in default settings.yml. #10315 . Docs here 
- Feature: Add is_msvc to validate if settings.compiler is Visual Studio and msvc compilers. #10310 . Docs here 
- Feature: os.sdk field is mandatory for CMakeToolchain and OS in (āMacosā, āiOSā, āwatchOSā, ātvOSā). #10300 
- Feature: Adding - --source-folderand- --output-folderto- conan editableand conan install to work with- layout(). #10274 . Docs here
- Feature: Adding clang 14 to - settings.yml. Needed for emsdk package in Conan Center Index. #10269
- Feature: PkgConfigDeps shows WARN messages if there are duplicated pkg_config_name and/or pkg_config_aliases. #10263 . Docs here 
- Feature: Improvements in - MesonToolchain, including some cross-building functionality. #10174
- Feature: Update content created by the markdown generator. #9758 . Docs here 
- Fix: Remove auto-detection of VS 2022 as - msvccompiler, detect it as- Visual Studioversion- 17. #10457 . Docs here
- Fix: Do not report warning for duplicated component names in CMakeDeps. #10456 
- Fix: Let legacy Meson build helper use other backends apart from ninja. #10447 
- Fix: msvc_runtime_flag returns empty string instead of None. #10424 . Docs here 
- Fix: Parsing a url with query args in - conan config installresults in a bad filename that could fail. #10423
- Fix: The argument patch_file from tools.files.patch is now relative to conanfile.source_folder`by default, unless an absolute path to another location is provided, for example, to a path in the `conanfile.build_folder. #10408 . Docs here 
- Fix: Use install folder for Bazel dependency paths. #10391 . Docs here 
- Fix: Enforce CMP0091 policy to NEW in CMakeToolchain. #10390 
- Fix: Add quotes around conan_message output variable so it is not modified. #10388 
- Fix: Add - pathlibas hidden-import to pyinstaller.py, so it is bundled with the installer. #10386
- Fix: Move imports of pre-defined layouts to their build-system domain. #10385 . Docs here 
- Fix: Allow - cmakegenerator checks for Visual Studio 2022. #10361
- Fix: Do not generate transitive .props for MSbuildDeps tool-requires. #10350 
- Fix: Manage spaces in - [buildenv]profile definition. #10343
- Fix: Add - -debugto LDFLAGS in- AutotoolsToolchainwhen necessary. #10339
- Fix: Fix extra } characters in cppstd info message. #10337 
- Fix: Fix quotes in generated environment deactivation scripts. #10325 
- Fix: Fix the - CMakeToolchaingenerated code, so it doesnt fail for- -Werror --warn-uninitialized. #10292
- Fix: Fix spaces in settings.yml to prevent the YAML linter from complaining. #10230 
- Fix: Convert NewCppInfo folders to absolute. #10207 
- Fix: Improved CMakeToolchain robustness regarding - find_file,- find_pathand- find_programcommands allowing better cross-build scenarios and better differentiation of the right context where to get, for example, executables (build vs host). #10186 . Docs here
- Bugfix: Fix - BazelDepsusing absolute- globpaths instead of relative. #10478
- BugFix: Avoid BazelDeps exception when depending on a package without libs. Close https://github.com/conan-io/conan/issues/10471 #10472 
- Bugfix: Fix - AttributeError: 'PackageEditableLayout' object has no attribute 'package_lock'that happened when sing- package_revision_modewith- editablepackages (and lockfiles). #10416
- Bugfix: Visual Studio 2022 auto-detected profile was incomplete. #10322 
- Bugfix: Fix the caching of ConanFile.dependencies at validate() time. #10307 
- Bugfix: Avoid - package_iderrors when using- compatible_packagesof repeated references (which can happen if using- privatedependencies). #10266
1.44.1 (13-Jan-2022)ļ
- Bugfix: The CMakeDeps generator now uses the property cmake_build_modules declared in components of the required packages not only in the root cpp_info. #10326 
- Bugfix: Adding missing hidden-imports to pyinstaller. Close https://github.com/conan-io/conan/issues/10318 #10320 
- Bugfix: Make pkg_config generator listen to root cpp_info properties. #10312 
1.44.0 (29-Dec-2021)ļ
- Feature: Add <PackageName>_LIBRARIES, <PackageName>_INCLUDE_DIRS, <PackageName>_INCLUDE_DIR, <PackageName>_DEFINITIONS and <PackageName>_VERSION_STRING variables in CMakeDeps. #10227 
- Feature: Adding a new Block to the CMakeToolchain now doesnāt require inheriting CMakeToolchainBlock. #10213 . Docs here 
- Feature: Add build_modules and build_modules_paths to JsonGenerator. #10203 . Docs here 
- Feature: The CMakeToolchain is now prepared to apply several user toolchains. #10178 . Docs here 
- Feature: In the conanfile.py of the test_package, the reference being tested is always available at self.tested_reference_str. #10171 . Docs here 
- Feature: Introduced a new test_type value explicit so a user can declare explicitly the requires or build_requires manually (using self.tested_reference_str), it wonāt be automatically injected as a require. In Conan 2.0 the test_type attribute will be ignored, the behavior will be always explicit, so declaring test_type=āexplicitā will make the test recipe compatible with Conan 2.0. #10171 . Docs here 
- Feature: Introduced tool_requires attribute to provide a compatible way to migrate to Conan 2.0, where the current concept of build_requires has been renamed to tool_requires. #10168 . Docs here 
- Feature: Upgrade Conan python jinja requirement to v3.x. #10159 
- Feature: Provided several conan.tools.files functions to manage symlinks: Transform absolute to relative symlinks, remove broken symlinks, remove external symlinks and get the symlinks in a folder. These tools will help migrate to Conan 2.0 where the package files wonāt be automatically cleaned from broken absolute symlinks or external symlinks. #10154 . Docs here 
- Feature: Remove legacy folder setters in - conanfile.xxxx_folder = yyyonly used for testing. #10153
- Feature: Add - Git.versionproperty to check the current git version, aligned with- SVN.version. #10114 . Docs here
- Feature: Add build_requires support in BazelDeps generators. #9876 
- Fix: Fix variable names set by CMakeDeps modules. #10227 
- Fix: Call to find_dependency in module mode to find transitive dependencies. #10227 
- Fix: remove rpath from .pc files generated by pkg_config & PkgConfigDeps generators. #10192 . Docs here 
- Fix: Deleted CMake warning for already existing targets. #10150 
- Bugfix: Fix passing componentās linkflags in CMakeDepes generator #10205 
- Bugfix: AutotoolsToolchain was not passing the compiler to get_gnu_triplet function. #10141 
1.43.4 (18-Feb-2022)ļ
- Fix: Limit markupsafe python dependency to <2.1. #10616 
1.43.3 (13-Jan-2022)ļ
1.43.2 (21-Dec-2021)ļ
1.43.1 (17-Dec-2021)ļ
- Bugfix: Making aggregate_components non-destructive, which was causing errors in generators with components. #10183 
- Bugfix: Fix the definition of D_GLIBCXX_USE_CXX11_ABI in gcc-like compilers for - CMakeToolchainand- AutotoolsToolchain. Define it only to- D_GLIBCXX_USE_CXX11_ABI=0for new compilers, assuming that the default is already 1. #10165
1.43.0 (03-Dec-2021)ļ
- Feature: Remove cmake_target_namespace and cmake_module_target_namespace properties. #10099 . Docs here 
- Feature: Allow CMakeDeps to set cmake_target_name property as an absolute target. #10099 . Docs here 
- Feature: Add warning in CMakeDeps generated CMake files when target names collide. #10099 . Docs here 
- Feature: Legacy cmake generators (cmake_find_package, cmake_find_package_multi) donāt listen to new set_properties model anymore. #10098 . Docs here 
- Feature: pkg_config_name is used as the main name for a package/component and it will be used as the name for the *.pc file. #10084 . Docs here 
- Feature: Added new property`pkg_config_aliases` which admits a list of strings to define different aliases for any package/component. #10084 . Docs here 
- Feature: Define - os=baremetalin- settings.ymlto represent platforms without OS ābare metalā. #10067 . Docs here
- Feature: Modern - tools.gnu.PkgConfigto supersede legacy- tools.PkgConfig. Includes management of PKG_CONFIG_PATH and mapping to a- cpp_infostructure #10065 . Docs here
- Feature: Add - test_requires()for 2.0 migration of force_host_context. #10027 . Docs here
- Feature: Added C++23 support for Visual Studio and GCC 11.2 one. #10021 
- Feature: Enable - from conan import ConanFileto prepare for future namespace. #10016 . Docs here
- Feature: Add backend support to MesonToolchain. #9990 . Docs here 
- Fix: Fix <PackageName>_FIND_COMPONENTS CMake generated variable to the correct value associated with the filename, not the package name. #10098 . Docs here 
- Fix: Updated the ConanException in installer.py to improve the error message handling. #10089 . Docs here 
- Fix: Simplify - paralleldefinition in new- conf, leaving only- tools.build:jobs. Use max number of CPUs by default to build in parallel. #10068 . Docs here
- Fix: Fix the - msvcversion model, which is comparison broken with the āmainā 19.3 version < 19.22. #10057 . Docs here
- Fix: Fix the EnvVar.save_ps1() method. #10049 
- Fix: CMakeToolchain will not crash if build_type not defined. #9984 
- Fix: Avoid raising an exception for - conan info --pathswhen there are editables in the graph. #9944
- Fix: Fix wrong parameter name in CMakeDeps find_library function. #9932 
- Fix: Improve error message when unzipping Conan .tgz artifacts. #9925 
- Fix: Respect error code 6 in some situations. #9905 
- Bugfix: Fix parallel package downloading. While downloading conan locks incorrect package ref. #10038 
- Bugfix: Add import for - CMakeToolchainBlockcustom Blocks in- CMakeToolchain. #10026 . Docs here
- Bugfix: Option ārequire-override is not working for conanfile.txt. #10013 
- Bugfix: Fix unescaped double-quotes for defines in - Premakegenerator. #10008
- Bugfix: Use new tools.cross_building in MesonToolchain . #9992 
- Bugfix: CMakeDeps generated *-data.cmake was not including properly the set of link flags. #9980 
- Bugfix: CMakeDeps was not populating INTERFACE_LINK_OPTIONS to each target. #9980 
- Bugfix: PkgConfigDeps was not adding correctly the Requires for all the package dependencies. #9945 
- Bugfix: - user_toolchainproperly included and path quoted in- CMakeToolchain. #9916
- Bugfix: Solved an issue with the conan config install whereby a cryptic error was raised when a user tried to install a directory that previously was a file and vice-versa. #9908 
- Bugfix: Missing framework for Xcode generator with no compiler setting. #9896 
1.42.2 (22-Nov-2021)ļ
- Bugfix: Legacy cmake_multi generator is not affected by set_property. #10062 
1.42.1 (08-Nov-2021)ļ
- Fix: Fix XcodeDeps architecture name translation from Conan to Apple identifiers. #9955 
- Bugfix: Fix XcodeDeps bad xcconfig generation when using dash-case-named packages #9955 
- Bugfix: Avoid exception if - msvccompiler not defined in settings.yml file. #9954
- Bugfix: legacy cmake generator is not affected by set_property. #9952 
1.42.0 (29-Oct-2021)ļ
- Feature: Remove sdk condition in _.xcconfig_ files generated by _XcodeDeps_. #9887 
- Feature: Add new Macos version 12.0 (Monterey). #9886 
- Feature: Add CMAKE_POSITION_INDEPENDENT_CODE in CMakeToolchain if itās set in the conanfile independently from the value of the shared option. #9868 
- Feature: Generate aggregated deactivation file for aggregated environments. #9862 . Docs here 
- Feature: adding preprocessor definitions to - MSBuildTolchainResourceCompile. #9843
- Feature: Support cmake_module_target_name and cmake_module_file_name properties in _cmake_find_package_ generator. #9832 . Docs here 
- Feature: Define new - conf["tools.microsoft.msbuild:install_path"]for the MSBuild toolchain and remove generation of intel_vars files by- VCVars. #9827 . Docs here
- Feature: New Conan _XcodeDeps_ multi-config generator for _Xcode_. #9807 . Docs here 
- Feature: Refactor conan.tools.gnu.pkgconfigdeps module. #9806 
- Feature: Decoupled - Environmentas an abstract environment representation (do not depend on conanfile), and- EnvVars, as the specialization for a given conanfile, settings/settings_build, and- win_bash. #9755 . Docs here
- Feature: Enabled patch_string when using apply_conandata_patches. #9740 . Docs here 
- Feature: Add property ācmake_target_aliasesā to create some CMake alias targets using CMakeDeps. #8533 
- Fix: Do not fall back for the property āfilenameā to target properties, only to legacy ānamesā definition. #9894 
- Fix: Fix build settings conditional logic to work correctly with Xcode IDE. #9892 
- Fix: Show a more specific error message on āconan searchā when a package version is not valid #9891 
- Fix: Removed the new layout folders.package property as it was not clear the value/usage. #9884 . Docs here 
- Fix: The āconan packageā method now raises an exception when declaring the layout() method. This is part of the migration to Conan 2.0 where the local method āconan packageā is removed. #9884 . Docs here 
- Fix: Moved experimental LayoutPackager to a conan.tools.files.AutoPackager with a new interface. Removed also the conanfile.patterns attribute that now is configured directly in the AutoPackager. #9882 . Docs here 
- Fix: When the layout() method is declared inside the conanfile.py of a test-package, Conan wonāt generate temporary folders at build/_HASH_ anymore. The build folder will follow the structure declared at the layout() method. #9882 . Docs here 
- Fix: Fix frameworks aggregation in XcodeDeps. #9881 
- Fix: Remove python - requestsversion from- User-Agentheader, it can be problematic sometimes and adds no value. #9861
- Fix: Change - MesonToolchainto define- preprocessor_definitionsas- [constant], because Meson 0.60 now raises errors on it defined in- [built-in options]. #9858
- Fix: Rename - ConanFileInterface.new_cpp_infoto- ConanFileInterface.cpp_info(being it a- NewCppInfoobject). The ConanFileInterface object is only used when accessing self.dependencies in a conanfile, so we can make sure that the new develop generators use the final cpp_info name. #9800 . Docs here
- Fix: Renamed - groupargument in- Environmentclasses to- scope, that can get ābuildā and ārunā values. #9755 . Docs here
- Fix: New - win_bashbehavior failed for dual profile, the new computation of subsystem paths completely depend now on defined settings, but not on- platform.system()or auto-detection. #9755 . Docs here
- Bugfix: Avoid lockfile raising because of incorrect options when using - compatible_packages. Close https://github.com/conan-io/conan/issues/9591 #9890
- Bugfix: Avoid VCVars defining - -vcvarsargument for VS<=2015. Close https://github.com/conan-io/conan/issues/9888 #9889
- Bugfix: Respect the previous value of - sys.dont_write_bytecode. #9865
- Bugfix: conan export-pkg now raises an error (ConanInvalidConfiguration exception) if the - validate()method raise that error and results in an invalid package_id. #9818
- Bugfix: Respect the - build_policy="never"even for- --build=missingcli argument. #9817
- Bugfix: Avoid crash in - CMakeToolchainfor custom generator when compiler is not defined. #9801
- Bugfix: Do not force new authentication when a token is expired, it might not be needed. #9781 
- Bugfix: The CMakeToolchain generator always sets fPIC enabled due to a typo where the actual parameter is not templated but instead hard-coded as ON. #9752 
- Bugfix: The path to a patch file in a conandata.yml is also relative to the base source folder when the patches are not associated with a version (list of patches). #9740 . Docs here 
1.41.0 (06-Oct-2021)ļ
- Feature: Added IntelCC as public generator. #9747 . Docs here 
- feature: Prepare - conan.tools.files download, get, ftp_downloadfor adoption. #9715 . Docs here
- Feature: Support multiple toolchains in one recipe. #9688 . Docs here 
- Feature: - MSBuildDepsgenerator learned how to handle- build_requiresto use executables from them. #9686 . Docs here
- Feature: - PkgConfighelper now honors PKG_CONFIG environment variable. #9627
- Feature: Make new environment generators multi-config (Release/Debug and arch). #9543 . Docs here 
- Feature: Environment - activatescripts will generate- deactivatescripts by default. #9539
- Feature: Support remote archives other than zip in - conan config install. #9530
- Feature: New ācompilerā intel-cc with different modes (icx, dpcpp, classic) for Intel oneAPI. #9522 . Docs here 
- Feature: Add Intel oneAPI support for CMakeToolChain, MSBuildToolchain and VCVars. #9522 . Docs here 
- Feature: Add objects attribute to the cpp_info so that we can add object files to the linker without having to add those mixed with linker flags. #9520 . Docs here 
- Feature: New settings: _xtensalx6_ and _xtensalx106_ for ESP32/ESP8266 platforms. #7977 
- Fix: New environment deactivate scripts fail in Windows because env-var different casing. #9741 
- Fix: Avoid āovercrowdingā Windows environment variables with LD_LIBRARY_PATH and DYLD_LIBRARY_PATH, not used in Windows. #9678 
- Fix: Command conan package now works for new - layout()with generators folder. #9674
- Fix: Donāt just print āERROR: Trueā on unresolvable conflict. #9624 
- Fix: Fix migrations settings comparison. #9615 
- Fix: Removed unused - futuredependency from Python- requirements.txt. #9563
- Fix: Make automatic call of - VirtualBuildEnvand- VirtualRunEnvindependent. #9543 . Docs here
- Bugfix: - generator_folderwas using the- cwdinstead of a relative folder to the conanfile, producing layout errors. #9668
- Bugfix: Support components with symbolic imports. #9667 
- Bugfix: Fix - conan.tools.files.patchbug with- stripargument. #9653
- Bugfix: Add support for Xcode 13/Apple clang 13.0 #9642 
- Bugfix: Fixed bad Requires declaration in *.pc files. #9635 
- Bugfix: Fixed bug whereby when a conflict of requirements happens, in some special situations, just a message ERROR: True was printed in the terminal, making it hard to guess what was going on. #9633 
- BugFix: Fixed a bug where using the new layout() the exports went to the conanfile.source_folder instead of the base source folder in the cache and only the exports_sources should go there. #9536 
1.40.4 (05-Oct-2021)ļ
1.40.3 (30-Sept-2021)ļ
- Bugfix: Added root certificate for Letās encrypt. #9697 
1.40.2 (21-Sept-2021)ļ
- Bugfix: Add support for Xcode 13/Apple clang 13.0 #9643 
1.40.1 (14-Sept-2021)ļ
- Feature: Change default cmake_layout() source folder from āsrcā to ā.ā #9596 . Docs here 
- Feature: Recovered base_path argument for conan.tools.files.patch and conan.tools.files.apply_conandata_patches to be able to specify a relative folder from the conanfile.source_folder directory (that follows the layout() method). #9593 . Docs here 
- Fix: Allow user definition of CMAKE_XXX_INIT variables in user toolchains when using CMakeToolchain. #9576 
- Fix: Upgrade minimum - requests>=2.25in requirements.txt to make it compatible with latest upgrade of- urllib3to 1.26.6 #9562
- Bugfix: Aggregate [conf] from build_requires earlier so it is available for generators declared as generators. attribute. Close https://github.com/conan-io/conan/issues/9571 #9573 
- Bugfix: The qmake generator now assigns QMAKE_LFLAGS_SHLIB and QMAKE_LFLAGS_APP variables instead of the incorrect QMAKE_LFLAGS following the official docs. #9568 . Docs here 
1.40.0 (06-Sept-2021)ļ
- Feature: Update conan new modern templates - --template=cmake_liband- --template=cmake_exe. #9516 . Docs here
- Feature: Introduced a new cpp_info property cmake_target_namespace to declare the target namespace for the CMakeDeps generator. This feature allows declaring a global target with a different namespace like Foo::Bar. #9513 . Docs here 
- Feature: Detect Visual Studio 2022 as msvc. #9504 
- Feature: Testing support for Windows CMake + Clang (independent LLVM, not VS) + Ninja/MinGW builds, and CMake + Clang (Visual Studio 16 internal LLVM 11 via ClangCL toolset). #9477 
- Feature: Provide new - [conf]- core:default_build_profileto enable the usage of the build profile as default, and to allow definition of the host profile default in new- [conf]- core:default_profile. #9468 . Docs here
- Feature: CMakeToolchain new member find_builddirs defaulted to True to add the cpp_info.builddirs from the requirements to the CMAKE_PREFIX_PATH/CMAKE_MODULE_PATH. That would allow finding the config files packaged and to be able to include() them from the consumer CMakeLists.txt. #9455 . Docs here 
- Feature: CMakeDeps. Added a new property cmake_find_mode with possible values to config`(default), `module, both or none to control the files to be generated from a package itself. The none replaces the current skip_deps_file property. #9455 . Docs here 
- Feature: CMakeDeps: Added two new properties cmake_module_file_name and cmake_module_target_name, analog to cmake_file_name and cmake_target_name, but to configure the name of FindXXX.cmake file and the target declared inside. #9455 . Docs here 
- Feature: Remove conan-center (https://conan.bintray.com) default remote. #9401 . Docs here 
- Feature: Implement round trip new profile - [buildenv]section, necessary for lockfiles, and specially stdout printing. #9320
- Feature: Allow - -o &:option=valuewildcard for consumer, too, same it was done for settings in 1.39 #9316 . Docs here
- Fix: Adding management of private dependencies, via new - visibletrait compatible with 2.0 for new- CMakeDepsand- MSBuildDeps. #9517
- Fix: Remove unused - deprecationpip dependency #9478
- Fix: Upgrade - distrodependency to allow 1.6.0 #9462
- Fix: Make conan remove accept package reference syntax. #9459 . Docs here 
- Fix: Fixed old CMake build helper to cross-build to iOS when two profiles are specified. #9437 
- Fix: Fix conan export typo in help message. #9408 . Docs here 
- Fix: Relax python six dependency to allow 1.16 #9407 
- Fix: Bump urllib3 version to 1.26.6 #9405 
- Fix: The new Autotools build helper accepts a build_script_folder ` argument in the `configure() method to specify are subfolder where the configure script is. #9393 . Docs here 
- Fix: The tool conan.tools.files.apply_conandata_patches will use the root source folder to find the patch file and the tool conan.tools.files.patch will take the current source folder declared in the layout() method to know where is the source to apply the patches. #9361 . Docs here 
- Fix: Avoid checking other remotes when - -r=remoteis defined and revisions are activated and binary is not found in the defined remote. #9355
- Bugfix: Setting the CMAKE_OSX_DEPLOYMENT_TARGET variable as a cache entry. #9498 
- BugFix: Use topological ordering to define VirtualBuildEnv composition and precedence of appending variables. #9491 
- Bugfix: Bazel build files have an extra ] if there are no dependencies. #9480 
- Bugfix: Add AlmaLinux to with_yum. #9463 
- Bugfix: CMakeToolchain. Fixed a bugfix whereby a variable declared at the .variables containing a boolean ended at CMake with a quoted āTrueā or āFalseā values, instead of ON / OFF #9455 . Docs here 
- Bugfix: Fixed bug whereby Conan failed when using compiler=gcc with compiler.version=5 (without specifying a minor version) and compiler.cppstd=17. #9431 
- Bugfix: No verbose traceback was been printed for conanfile.layout() method. #9384 
- Bugfix: Fix Bazel cc_library: deps and linkopts. #9381 
- Bugfix: Fixed bug whereby using new layout() method together with cppinfo.components in the package_info method caused an exception. #9360 
- Bugfix: Fix PkgConfigDeps that was failing in the case of components with requirements. #9341 
1.39.0 (27-Jul-2021)ļ
- Feature: Use CMAKE_OSX_DEPLOYMENT_TARGET to get -version-min set in _CMakeToolchain_. #9301 
- Feature: Display - python_requiresinformation in the conan info output. #9290
- Feature: Now it is possible to define settings for a downstream consumer using -s &:setting=value or the same syntax in the profile even if the consumer is a conanfile.txt or a conanfile.py not declaring a name. e.g: Building a Debug application with Release dependencies: -s build_type=Release -s &:build_type=Debug #9267 . Docs here 
- Feature: The AutotoolsDeps allows to alter the generated environment corresponding to the information read from the dependencies before calling the generate() method. #9256 . Docs here 
- Feature: new remove and items methods for the Environment objects. #9256 . Docs here 
- Feature: New VCVars generator that generates a conanvcvars.bat that activates the Visual Studio Developer Command Prompt. #9230 . Docs here 
- Feature: Skip build helper test and using [conf]. #9218 . Docs here 
- Feature: Implement a new - requires = "pkg/(alias)"syntax to be able to disambiguate alias requirements and resolve them earlier in the flow, solving some limitations of the previous alias definition. This approach is intended to be the one in Conan 2.0 (issue backported from https://github.com/conan-io/tribe/pull/25). #9217 . Docs here
- Feature: Introduce the - -require-overrideargument to define dependency overrides directly on command line. #9195 . Docs here
- Feature: New self.win_bash mechanism to enable running commands in a bash shell in Windows. It works only with the new environment definition from the dependencies (env_buildinfo and run_buildinfo) as long as the new AutotoolsToolchain, AutotoolsDeps and Autotools build helper. It supports automatic conversion of the environment variables values declared as āpathā according to the declared subsystem in the conf tools.win.bash:subsystem, that is not being auto-detected anymore. #9194 . Docs here 
- Feature: A unique environment launcher (conanenv.bat/sh) is generated to aggregate all the environment generators (VirtualRunEnv, VirtualBuildEnv, AutotoolsToolchain and AutotoolsDeps) that had been generated so the user can easily activate all of them with one command. #9161 . Docs here 
- Feature: Use _CMake_ File API. #9005 
- Fix: Add - bindirsdefinition to- cmake_layout(). #9276
- Fix: Improve error message when - conan search <ref>a package in editable mode. #9262
- Fix: Add - optionsto- conanfile.dependenciesmodel. #9258
- Fix: Fix _CMake_ rejecting library name with special characters. #9245 
- Fix: Use filename [PKG-NAME]-[COMP-NAME] for PkgConfigDeps. #9228 . Docs here 
- Fix: Saving all the toolchain args information into conanbuild.conf instead of json file. #9225 . Docs here 
- Fix: Added warning in the new toolchains (the used in the generate() method) if no build profile is being used. #9206 . Docs here 
- Fix: Implemented check that will raise an error in the CMakeDeps generator when using the build_context_activated, build_context_suffix or build_context_build_modules attributes if no build profile is being used. #9206 . Docs here 
- Fix: The`CMakeDeps` generator will check if the targets specified in the find_package(foo components x y z) exist instead of checking against an internal variable. Also, this check will be done at the end of the xxx-config.cmake so any included build_module can declare the needed targets. #9206 . Docs here 
- Fix: Consistent help message for conan profile (sub-command part). #9204 . Docs here 
- Fix: Consistently put short arguments (-a) before long ones (āargs). #9199 
- Fix: CC=clang āgcc-toolchain is now identified as _clang_. #9198 
- Fix: The new VirtualEnv generator has been split into VirtualRunEnv and VirtualBuildEnv. Both are automatically generated as before but only VirtualBuildEnv will be activated by default. #9161 . Docs here 
- Bugfix: Fixing - workspace installwhen conanfile has- imports(). #9281
- Bugfix: Fix QbsProfile toolchain - qbs.architectureKeyError. #9192
- Bugfix: Do not define CMAKE_GENERATOR_TOOLSET in CMakeToolchain for Ninja generator, and define it in - vcvars_verinstead. #9187
- BugFix: - build_requiresin host context, like gtest, are being propagated downstream by generators in the- dependenciesmodel. #9171 . Docs here
- Bugfix: Fix that overridden requirements _ācannot be found in lockfileā_. #8907 
1.38.0 (30-Jun-2021)ļ
- Feature: Proposal of jinja2 templates for profiles. #9147 . Docs here 
- Feature: Add support for CMAKE_CXX_STANDARD_REQUIRED in _CMakeToolchain_. #9144 
- Feature: Add - contextinformation to conan info output both to stdout and json outputs. #9137 . Docs here
- Feature: Improved the new AutotoolsToolchain, AutotoolsDeps and Autotools build helper. #9131 . Docs here 
- Feature: Initial cross-build support in - CMakeToolchainwith definition of- CMAKE_SYSTEM_NAME,- CMAKE_SYSTEM_PROCESSORand- CMAKE_SYSTEM_VERSION, deduced from- self.settings_build(only using the 2 profiles) and from new- [conf]items. #9115 . Docs here
- Feature: Easier access to modify or update context values in - CMakeToolchainblocks. #9109 . Docs here
- Feature: Provide [conf] command line support. #9103 . Docs here 
- Feature: Added support for using server config from a custom location, setting CONAN_SERVER_HOME env variable or using -d or āserver_dir flag when launching the server with conan_server command. #9099 . Docs here 
- Feature: Support for CMakeDeps generator of a new property āskip_deps_fileā to be declared in the cpp_info of a package to skip creating xxx-config.cmake files for it, allowing to create āsystem wrapperā recipes easily. #9087 . Docs here 
- Feature: New - conanfile.dependenciesmodel, using a dict {requirement: ConanFileInterface} to prepare for Conan 2.0. #9062 . Docs here
- Feature: Allow a explicit - requires = "pkg..#recipe_revision"to update cache revision without- --update. #9058 . Docs here
- Feature: New - cmake_layout()layout helper to define a multi-platform CMake layout that will work for different generators (ninja, xcode, visual, unix), and is multi-config. #9057 . Docs here
- Feature: The conan_toolchain.cmake now includes xxx_DIR variables for the dependencies to ease the find_package mechanism to locate them. The declaration of these directories is a must when cross-building in OSX where CMake ignores CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH to look only at the system framework directories. #9032 . Docs here 
- Feature: Provide access in the recipes to the environment declared with the [new environment system](https://docs.conan.io/en/latest/reference/conanfile/tools/env.html). #9030 . Docs here 
- Fix: Fix Bazel build string defines. #9139 
- Fix: Fixed behavior in the self.folders feature whereby the sources saved or downloaded inside the source(self) were saved at the self.folders.source folder. But self.folders.source is intended to describe where the sources are instead of forcing where the sources are saved. #9124 . Docs here 
- Fix: Properly generate qbs profile for msvc. #9122 
- Fix: Configuration general.user_home_short works with āNoneā value. #9118 
- Fix: Avoid - CMakeToolchainto generate OSX and Apple config for non Apple builds. #9107
- Fix: The new MesonToolchain now takes the declared environment variables (CC, CXXā¦) from build-requires and profiles to set the variables c, cpp, c_ld, cpp_ld etc, into the conan_meson_native.ini #8353 . Docs here 
- Fix: Added new preprocessor_definitions to new Meson build helper. #8353 . Docs here 
- Fix: The new MesonToolchain now allows adjusting any variable before generating the conan_meson_native.ini file. #8353 . Docs here 
- Bugfix: Disabled remotes shouldnāt fail if not used at all #9184 
- BugFix: - ConanFileDependencies.build["dep"]was retrieving the- hostdependency if existing, or failing otherwise, because the default requires was hardcoded to fetch the host (build=False) dependency. #9148 . Docs here
- Bugfix: Now, conan profile {show, update, get, remove} is working fine with new experimental [conf] section. #9114 
1.37.2 (14-Jun-2021)ļ
1.37.1 (08-Jun-2021)ļ
- Fix: Update the experimental - conan new ... -m=v2_cmaketemplate to start using the new- layout()basic info. #9053
- Fix: Do not fail in - CMakeDepswhen there are- build_requireswith same name as host requires, unless- build_context_activatedis enabled for those and a different suffix has not been defined. #9046
- Fix: When using the new self.folders.source (at layout(self) method) the sources (from export, export_sources and scm) are copied to the base source folder and not to the self.folders.source that is intended to describe where the sources are after fetching them. #9043 . Docs here 
- BugFix: Do not quote all values and allow integer and macro referencing in - MSBuildToolchain.preprocessor_definitions#9056
- Bugfix: The new generators like CMakeDeps and CMakeToolchain`write the generated files defaulting to the `install folder if no self.folders.generators is specified in the layout() method. #9050 
- Bugfix: The CMakeToolchain generator now manages correctly a recipe without arch declared in an Apple system. #9045 
1.37.0 (31-May-2021)ļ
- Feature: Remove - CMAKE_SKIP_RPATHSby default to True in- CMakeToolchain, it is not necessary by default, users can opt-in, and new test validates shared libs will work with- VirtualEnvgenerator- conanrunenv. #9024 . Docs here
- Feature: simplified - CMakeToolchainwith only 1 category of blocks, made- try-compiletemplate code as another block, and reordered blocks so relevant flags for try-compile are taken into account. #9009 . Docs here
- Feature: Add new default conancenter remote for https://center.conan.io as first in the list. #8999 . Docs here 
- Feature: Implements a new experimental - conan.tools.googleBazel integration with- BazelDeps,- BazelToolchainand- Bazel. #8991 . Docs here
- Feature: Introduced new options for the CMakeDeps generator allowing to manage build_requires even declaring the same package as a require and build_require avoiding the collision of the config cmake files and enabling to specify which build_modules should be included (e.g protobuf issue) #8985 . Docs here 
- Feature: Expand user-agent string to include OS info. #8947 
- Feature: Implement - build_policy=neverfor conan export-pkg packages that cannot be rebuilt with- --build=xxx. #8946 . Docs here
- Feature: Define - [conf]for defining the user toolchain for- CMakeToolchain, both for injecting a user toolchain in the- CMakeToolchaingenerated- conan_toolchain.cmakeand for completely replacing- conan_toolchain.cmake. #8945 . Docs here
- Feature: add GCC 11 to _settings.yml_. #8924 
- Feature: Add new tools.rename() interface. #8915 . Docs here 
- Feature: Update urlib3 Conan dependency setting version >=1.25.8 to avoid CVE-2020-7212. #8914 
- Feature: Build-requires can define [conf] for its consumers. #8895 . Docs here 
- Feature: support M1 Catalyst. #8818 
- Feature: New - conan install <ref> --build-requireand- conan create <path> --build-require(when not using- test_package) arguments to explicitly define that the installed or created package has to be a- build-require, receiving the build profile instead of the host one. #8627 . Docs here
- Feature: Introduced the layout() method to the recipe to be able to declare the folder structure both for the local development methods (conan source, conan buildā¦) and in the cache. Also, associated to the folders, cppinfo objects to be used in editable packages and file pattern descriptions to enable āauto packagingā. #8554 . Docs here 
- Fix: CMakeDeps generator: The transitive requirements for a build_require are not included in the xxx-config.cmake files generated. #9015 
- Fix: The CMakeToolchain now supports Apple M1 cross-building with a profile without environment declared pointing to the system toolchain. #9011 
- Fix: Set env_info.DYLD_FRAMEWORK_PATH correctly. #8984 
- Fix: Fix some typos in the code. #8977 
- Fix: Improve error message when a directory doesnāt contain a valid repository. #8956 
- Fix: The build_modules defined per generator in cpp_info now are rendered properly using the markdown generator. #8942 
- Fix: Simplify code access to [conf] variables removing attribute based access. #8901 
- Bugfix: Prevent unintended evil insertions into metadata.json resulted in corrupted package and inability to install. #9022 
- Bugfix: Allow - MSBuildDepsto correctly process packages with dots in the package name. #9012
- Bugfix: Avoid errors because of - package_idmismatch in lockfiles when using- compatible_packagesfeature. #9008
- BugFix: Respect order of declared directories when using components. #8927 
- Bugfix: Raise an exception when response header Content-type is different than application/json or application/json; charset=utf-8. #8912 
- Bugfix: Fix exception in CMakeToolchain when settings remove known compilers. #8900 
- Bugfix: Fix current directory definition in - vcvarscommands in new toolchains. #8899
- Bugfix: AptTool: add repo key before running apt-add-repository. #8861 
- BugFix: Prevent evil insertions into metadata.json resulted in corrupted package and inability to install. #8532 
1.36.0 (28-Apr-2021)ļ
- Feature: Add support to - tools.cmake.CMakefor Ninja toolchain defined with- CMakeToolchain. #8887
- Feature: The CMakeDeps generator will print CMake traces with the declared targets. e.g: Target declared: āOpenSSL::Cryptoā. #8843 
- Feature: Add clang 12 support. #8828 
- Feature: List tools and core from profile and _global.conf_. #8821 . Docs here 
- Feature: Add cross-building tests for new AutoTools build helper. #8819 
- Feature: - CMakeToolchaingenerates a- conanbuild.jsonfile with the generator to be used in the- CMakecommand line later, so it is not necessary to duplicate logic, and is explicit what generator should be used. #8815 . Docs here
- Feature: - CMakeToolchainlearned to build with different toolsets, down to the minor compiler version, for the- msvccompiler. #8815 . Docs here
- Feature: Validate checksum and retry download for corrupted downloaded cache files. #8806 
- Feature: - CMakeToolchaindefining CMAKE_GENERATOR_TOOLSET for msvc version different than the default. #8800
- Feature: Implement - test_build_requirein- test_package/conanfile.pyrecipes, so build_requires can be tested as such. #8787 . Docs here
- Feature: Make available the full recipe and package reference to consumers via - .dependencies. #8765
- Feature: New - CMakeToolchaincustomization and extensibility mechanism with blocks of components instead of inheritance. #8749 . Docs here
- Feature: Add set_property and get_property to set properties and access them in generators. Can be set only for a specific generator or as a default value for all of them. #8727 . Docs here 
- Feature: Use set_property and get_property to support custom defined content in pkg_config generator. #8727 . Docs here 
- Feature: Add new property names: cmake_target_name, cmake_file_name, pkg_config_name and cmake_build_modules that can be used for multiple generators of the same type allowing also an easier migration of names, filenames and build_modules properties to this model. #8727 . Docs here 
- Feature: Skip package when building all package from sources at once using ābuild=!<package> syntax. #8483 . Docs here 
- Feature: - CMakeToolchainwill generate- conanvcvars.batfor Ninja builds for- msvc. #8005
- Fix: Remove - tools.gnu.MakeToolchain, superseded by- tools.gnu.AutotoolsToolchain. #8880 . Docs here
- Fix: Allow spaces in the path for new environment files and - conancvvars.batVisual toolchain file. #8847
- Fix: Return deprecated attribute in conan inspect command. #8832 
- Fix: Check if Artifactory url for publishing the build_info has artifactory string as the service context and remove from the API url if it doesnāt. #8826 
- Fix: Recognize - Ninja Multi-Configas a CMake multi-configuration generator. #8814
- Fix: using CMAKE_CURRENT_LIST_DIR in CMakeToolchain to locate CMakeDeps config files. #8810 
- Fix: config_install_interval no longer enter in loop when invalid. #8769 . Docs here 
- Fix: Remove multi-config support for - CMakeDepsgenerator. #8767 . Docs here
- Fix: Accept relative profile path when folder is on same tree level. #8685 . Docs here 
- Bugfix: Fixed test_package/conanfile.py using - build_requiresfor a package belonging to a lockfile. #8793
1.35.2 (19-Apr-2021)ļ
- Bugfix: Revert regression that replaces first - /by- -in- cpp_info.xxxxlinkflagsin _CMake_ generators because it can break passing objects and other paths that start with- /. #8812
1.35.1 (13-Apr-2021)ļ
- Fix: Avoid breaking users calling forbidden private api - conanfile.__init__. #8746
- Bugfix: Fix opensuse SystemPackageTools incorrectly using apt-get when zypper-aptitude. #8747 
- Bugfix: Fix linker flags in cmake (find_package based) generators. #8740 
- Bugfix: Fixed bug in transitive build_requires of MSBuildDeps. #8734 
1.35.0 (30-Mar-2021)ļ
- Feature: - MSBuildDepsgenerator uses new visitor model and handles conditional requirements correctly. #8733 . Docs here
- Feature: CMake toolchain supports include_guard() feature #8728 
- Feature: New - conan lock bundle clean-modifiedcommand. #8726 . Docs here
- Feature: Use - conancvvars.batfile for Meson toolchain #8719
- Feature: Allow arbitrary defines in conan new templates. #8718 . Docs here 
- Feature: Automatically handle CONAN_RUN_TESTS to avoid extra boilerplate. #8687 . Docs here 
- Feature: More fine-grained control (using [conf]) for build parallelization. #8665 . Docs here 
- Feature: Add support for testing with different tools versions. #8656 
- Feature: Add different CMake versions for testing. #8656 
- Feature: Move the definition of CMakeDeps variables to its own file #8655 . Docs here 
- Feature: Added conan.tools.files.patch to apply a single patch (new interface for legacy conans.tools.patch function. #8650 . Docs here 
- Feature: Added conan.tools.files.apply_conandata_patches to apply patches defined in conandata.yml. #8650 . Docs here 
- Feature: Allow integers as - preprocessor_definitionsin- CMakeToolchain. #8645
- Feature: New - Environmentmodel for recipes and profiles #8630 . Docs here
- Feature: Do not remove sh from the path in the new CMake helper. #8625 . Docs here 
- Feature: Allow definition of custom Visual Studio version for msvc compiler in MSBuild helpers. #8603 . Docs here 
- Feature: MSBuildToolchain creates conanvcvars.bat containing vcvars command for command line building. #8603 . Docs here 
- Feature: Set CMAKE_FIND_PACKAGE_PREFER_CONFIG=ON. #8599 
- Feature: Include the recipe name when constrained settings prevent install. #8559 . Docs here 
- Feature: Create new conan.tools.files for 2.0. #8550 
- Feature: New AutotoolsDeps, AutotoolsToolchain helpers in conan.tools.gnu #8457 . Docs here 
- Feature: Experimental - conan lock installthat can install a lockfile in the cache, all the binaries or only the recipes with- --recipes, intended for CI flows. #8021 . Docs here
- Fix: Fix incorrect output of - default_userand- default_channelin- export. #8732
- Fix: remotes not being loaded for the conan alias command, which was preventing conan alias from working if python_requires is used. #8704 
- Fix: Improve error message for - lock createproviding a path instead of full path with filename. #8695
- Fix: Rename tools.microsoft:msbuild_verbosity to tools.microsoft.msbuild:verbosity #8692 . Docs here 
- Fix: Simplifications to - CMakeDepsgenerator to remove legacy code. #8666
- Fix: Add dirty management in download cache, so interrupted downloads doesnāt need a manual cleaning of such download cache. #8664 
- Fix: Build helper qbs install now installs directly into package_folder. #8660 
- Fix: Allow arbitrary template structure. #8641 
- Fix: Restoring the behavior that exports and exports_sources were case sensitive by default. #8585 
- Fix: Remove default dummy value for iOS XCode signature. #8576 
- Fix: Do not order Settings lists, so error messages are in declared order. #8573 
- BugFix: Command conan new accepts short reference with address sign. #8721 
- Bugfix: Fix profile definitions of env-vars per-package using patterns, not only the package name. #8688 
- Bugfix: Preserve the explicit value None for SCM attributes if the default is a different value. #8622 
- Bugfix: Properly detect Amazon Linux 2 distro. #8612 
- Bugfix: Fix config install not working when .git* folder is in the path. #8605 
- Bugfix: Fix: Transitive python requires not working with the new syntax. #8604 
1.34.1 (10-Mar-2021)ļ
- Fix: Allow - cmake_find_package_multiand- CMakeDepsto be aliases for- cpp_info.namesand- cpp_info.filenamesto allow easy migration. #8568
- Bugfix: Restoring the behavior that exports and exports_sources were case sensitive by default. #8621 
- BugFix: Solved issues with already existing packages appearing in - conan lock bundle build-order. #8579
1.34.0 (26-Feb-2021)ļ
- Feature: Add path and repository properties to conan_build_info v2. #8436 
- Feature: Setting _conan_ as name for buildAgent in conan_build_info. #8433 
- Feature: Using actual conan version in version for buildAgent in conan_build_info instead of 1.X. #8433 
- Feature: Add type _conan_ to Conan build info modules. #8433 
- Feature: Add - scmoutput in conan info command. #8380
- Feature: Forked - cmake_find_package_multiinto- CMakeDeps, to allow evolution without breaking. #8371
- Feature: Use built-in retries in requests lib to retry http requests with _5xx_ response code. #8352 
- Feature: New lockfile ābundleā feature that can integrate different lockfiles for different configurations and different graphs into a single lockfile bundle that can be used to vastly optimize CI (specially for multiple products), implementing bundle build-order and bundle update operations. #8344 . Docs here 
- Fix: Renamed generator QbsToolchain to QbsProfile. #8537 . Docs here 
- Fix: Renamed default filename of _QbsProfile_ generated file to _conan_toolchain_profile_.qbs. #8537 . Docs here 
- Fix: Renamed Qbs attribute use_toolchain_profile to profile. #8537 . Docs here 
- Fix: Remove extra spaces in flags and colons in path variables. #8496 
- Fix: conan_v2_error if scm_to_conandata is not enabled. #8447 
- Fix: CONAN_V2_MODE env-var does not longer alter behavior, only raises errors for Conan 2.0 incompatibilities #8399 . Docs here 
- Fix: meson : Add target and jobs arguments. #8384 . Docs here 
- Fix: Set qbs.targetPlatform with qbs toolchain. #8372 
- Fix: Remove warnings for old toolchains imports and - generate_toolchain_files()calls (use new imports and- generate()calls. #8361
- BugFix: Improve tools.unix_path for Cygwin. #8509 
- BugFix: Allow run_in_windows_bash in MSYS/Cygwin. #8506 
- BugFix: Add some sanity check to avoid a vague error for custom architectures. #8502 
- BugFix: Fix Apple M1 detection. #8501 
- Bugfix: Fix repeated - build_requires, including conflicting versions in profile composition or inclusion that repeats- [build_requires]values. #8463
- Bugfix: Fixing a CMakeDeps bug with components, not finding the _conan_macros.cmake_ file. #8445 
- Bugfix: Fix exit code for conan_build_info. #8408 
1.33.1 (02-Feb-2021)ļ
1.33.0 (20-Jan-2021)ļ
- Feature: Introducing a new - [conf]section in profiles that allows a more systematic configuration management for recipes and helpers (build helpers, toolchains). Introducing a new- conan_conf.txtcache configuration file that contains configuration definition with the same syntax as in profiles. #8266 . Docs here
- Feature: Add Apple Catalyst support (as new os.subsystem) #8264 . Docs here 
- Feature: Add os.sdk sub-settings for Apple #8263 . Docs here 
- Feature: Provide support for - msvccompiler in- MSBuildtools #8238 . Docs here
- Feature: Specify build modules by the generator in cpp_info. Added backwards compatibility for *.cmake build modules added at global scope, but not for other file extensions. #8232 . Docs here 
- Feature: The tools.get, tools.unzip and tools.untargz now accept a new argument strip_root=True to unzip moving all the files to the parent folder when all of them belongs to a single folder. #8208 . Docs here 
- Feature: Add new - msvccompiler setting and preliminary support in- conan.tools.cmakegenerator and toolchain. #8201 . Docs here
- Feature: - CMakeDepsnow takes values for configurations from- settings.yml. #8194 . Docs here
- Feature: Implement - ConanXXXRootFolderin- MSBuildDepsgenerator. #8177
- Feature: Add QbsToolchain and a Qbs build helper class (currently working for Mcus, not for Android or iOS). #8125 . Docs here 
- Feature: Add e2k (elbrus) architectures and mcst-lcc compiler #8032 . Docs here 
- Feature: New - CMakeDepsgenerator (at the moment is the- cmake_find_package_multi, that allows custom configurations, like- ReleaseShared. #8024 . Docs here
- Feature: Allow - MSBuildToolchaincustom configurations in- generate()method. #7754 . Docs here
- Fix: Fixed help message in command conan remove āoutdated with reference or pattern #8350 . Docs here 
- Fix: Do not define CMAKE_GENERATOR_PLATFORM and CMAKE_GENERATOR_TOOLSET in the - CMakeToolchainfile unless the CMake generator is āVisual Studioā. Fix https://github.com/conan-io/conan/issues/7485 #8333
- Fix: Remove spurious ā-findā argument to XCodes xcrun tool. #8329 
- Fix: Update pylint plugin, some fields are now available in the base ConanFile. #8320 
- Fix: Remove PyJWT deprecation warning by adding explicitly - algorithmsargument. #8267
- Fix: CMakeās generator name for Visual Studio compiler uses only the major version. #8257 
- Fix: Remove nosetests support, now using pytest for the test suite. #8253 
- Fix: Remove CMAKE_PROJECT_INCLUDE in CMakeToolchain, no longer necessary as the MSVC runtime can be defined with a generator expression in the toolchain. #8251 
- Fix: Temporarily allow - cmake_pathsgenerator for- CMakeToolchain, to allow start using the toolchain for users that depend on that generator. #8230
- Fix: Let CMake generator generate code for checking against āClangCLā msvc toolset. #8218 
- Fix: Include - build_requiresin the global- conandeps.propsfile generated by MSBuildDeps. #8186
- Fix: Change MSBuildDeps file - conan_deps.propsto- conandeps.propsto avoid collision with a package named ādepsā. #8186
- Fix: Throw error when the recipe description is not a string. #8143 
- Fix: Inject build modules after CMake targets are created #8130 . Docs here 
- Fix: Define - package_folderin the- test_packagefolder (defaulting to āpackageā), so the test recipe can execute- cmake.install()in its- build()method. #8117
- Fix: Remove the downloaded file if it doesnāt satisfy provided checksums (modifies tools.download). #8116 . Docs here 
- Bugfix: Solved - assert node.package_id != PACKAGE_ID_UNKNOWNassertion that happened when using- build_requiresthat also exist in- requires, and using- package_revision_modeand- full_transitive_package_id=1#8358
- BugFix: Fix SCM user and password by making them url-encoded #8355 
- Bugfix: Fix bug in definition of - ROOTvariables in- MakeGenerator. #8301
- BugFix: fix -j being passed to _NMake_ in AutotoolsBuildEnvironment. #8285 
- BugFix: Fix per-package settings exact match for packages without user/channel. #8281 
- BugFix: Fix detected_architecture() for Apple M1, mapping to - armv8(from returned- arm64). #8262
- Bugfix: Make prompt names unique when using multiple virtualenv scripts in Powershell. #8228 
- Bugfix: Fix when _conandata.yml_ is empty and scm_to_conandata is enabled #8215 
- Bugfix: Removed a reference to deprecated FlagsForFile function in place of current Settings function. #8167 
- Bugfix: Add test for AutoToolsBuildEnvironment on Apple platforms #8118 
- Bugfix: Change the rpath_flags flag to always use the comma separator instead of ā=ā, because the current behaviour causes linker error messages when attempting to cross-compile to Mac OS, and the comma separator is accepted everywhere. #7716 
1.32.1 (15-Dec-2020)ļ
- Bugfix: Avoid conflict of user custom generators names with new generators. #8183 
- Bugfix: Fix errors when using - conan info --pathsand- short_paths=Truein Windows, due to creation of empty folders in the short-paths storage. #8181
- Bugfix: - conan new <pkg-name>/version -twrong include when not using- -s(using the hardcoded git repo). #8175
- Bugfix: Fix - excludespattern case-insensitive in non Windows platforms. #8155
- Bugfix: Enabling set_name, set_version for lockfile roo not location. #8151 
1.32.0 (03-Dec-2020)ļ
- Feature: Generate <pkgname>-config.cmake files for lowercase packages to improve case compatibility. #8129 . Docs here 
- Feature: Add meson cross-build toolchain. #8111 
- Feature: Temporary acquire write permissions in replace_in_file. #8107 
- Feature: Update conan new to latest guidelines. #8106 
- Feature: Deprecate experimental - toolchain()in favor of more generic- generate()method. Deprecate toolchains- write_toolchain_files()to new- generate()method. #8101 . Docs here
- Feature: Move the - CMakeToolchainand new- CMakeexperimental helpers to the new- from conan.tools.cmakeimport. #8096 . Docs here
- Feature: Move the - MSBuildToolchainand new- MSBuildexperimental helpers to the new- from conan.tools.microsoftimport. #8096 . Docs here
- Feature: Move the - MakeToolchainexperimental helper to the new- from conan.tools.gnuimport. #8096 . Docs here
- Feature: Add - conan remote list_ref --no-remoteto list recipes without a remote defined. #8094 . Docs here
- Feature: Add - conan remote list_pref --no-remoteto list packages without a remote defined. #8094 . Docs here
- Feature: Add - --lockfile-node-idargument to- conan install --lockfileso it can target different packages with same reference (different binary, this can happen with private requirements). #8077 . Docs here
- Feature: Proof that - python_requirescan be used (as a workaround) to affect the- package_idof consumers of- build_requiresthat otherwise will not be rebuilt based on changes. #8076 . Docs here
- Feature: Introduce configuration - general.keep_python_filesto allow packaging of Python .pyc files. #8070 . Docs here
- Feature: Tests for toolchains and Intel compiler. #8062 
- Feature: Add recipe and package revision to show a complete Conan reference when generating the build_info āv2 id fields. #8055 
- Feature: Introduce a new BINARY_INVALID mode for more flexible definition and management of invalid configurations. #8053 . Docs here 
- Feature: Add headers with settings and options to HTTP GET requests when searching for packages. #8046 
- Feature: Preliminary experimental support for toolchains with CMake + Visual + Ninja. #8034 
- Feature: Allow (experimental) custom configuration of the - msbuildgenerator. #8014
- Feature: Rename - msbuildgenerator to- MSBuildDepsand use the new- generate()method. #8014
- Feature: Make the - conan new bye/0.1 -s -tto provide variable filenames and messages that include the package name and version, instead of a hardcoded āhelloā one. #7989
- Feature: Tagged tests and created a conftest.py to run the tests with pytest skipping the tests using not available tools (cmake, visual studioā¦). #7975 
- Feature: Provide correct āpure_c implementation to conan new. #7947 
- Feature: System package tools can install a list of different packages. #7779 . Docs here 
- Feature: Add Conan package name and version to Visual Studio generator properties file. #7645 
- Fix: Remove - __init__.pyin the root of the repo, which was useless, without a purpose, but caused issues with other projects importing Conan Python code. #8132
- Fix: Make variables defined in - CMakeToolchaincache variables, so they can define directly values defined in- CMakeLists.txt. #8124
- Fix: Remove cryptography, pyopenssl and idna from OSX requirements in Python. #8075 
- Fix: Rename the generated file of - MSBuildToolchainto- conantoolchain.propsso it doesnāt collide with a potential- toolchainpackage name and the- msbuildgenerator. #8073 . Docs here
- Fix: Avoid warning in - msbuildgenerator importing multiple times the same .props file due to transitive dependencies. #8072
- Fix: Set username or password individually in git SCM with ssh. #8016 
- Fix: When using lockfiles, allow - config_optionsand- configureto compute different options as long as the final evaluated values match the locked ones. #7993
- Fix: Make the - conan new --pure_cpure C template to remove both- compiler.libcxxand- compiler.cppstdsettings, as described in the docs. #7989
- BugFix: Fix linkage to a same global target of different package components in cmake_find_package/_multi generators. #8114 . Docs here 
- Bugfix: Solve - os.renamecrash when using- short_pathswith a short path storage located in another Windows drive unit. #8103
- BugFix: Allow lockfiles to be relaxed with the ābuild argument. #8054 . Docs here 
- Bugfix: Append existing - LocalDebuggerEnvironmentin- msbuildgenerator. #8040
- Bugfix: Remove correctly short-paths folders in Windows. #7986 
1.31.4 (25-Nov-2020)ļ
- Feature: Add new CONAN_CMAKE_SYSROOT environment variable to enable the definition of sysroot from environment, without abusing CONAN_CMAKE_FIND_ROOT_PATH. #8097 . Docs here 
- Bugfix: remove definition of sysroot from CONAN_CMAKE_FIND_ROOT_PATH. #8097 . Docs here 
- Bugfix: Bugfix: Solve os.rename crash when using short_paths with a short path storage located in another Windows drive unit. Ported from: #8103 
1.31.3 (17-Nov-2020)ļ
- Bugfix: Fix addition of CMAKE_SYSTEM_NAME for SunOS and AIX 64->32 bits builds #8059 
1.31.2 (11-Nov-2020)ļ
- Bugfix: Recent - liburl31.26 library updates is breaking the constraints in Conan- requirements.txtas- requests2.24 has a limitation for- liburl3. This PR constrains- liburl3version to be less than 1.26, so it does not break with requests 2.24. #8042
1.31.1 (10-Nov-2020)ļ
- Fix: Bump _cryptography_ dependency in MacOS to equal or later than 3.2. #7962 
- Bugfix: Fix a problem with the - init()function not being called when the recipe loader uses some cached data, which can happen when using lockfiles and with- python_requires. #8018
- Bugfix: Fixed - self.copy()incorrectly handling- ignore_case. #8009
- Bugfix: Fixed wrong - ignore_casedefault in- [imports]section of conanfile.txt. #8009
- Bugfix: Do not try to encrypt a None value when using CONAN_LOGIN_ENCRYPTION_KEY environment variable. #8004 
1.31.0 (30-Oct-2020)ļ
- Feature: Add argument conanfile to pre_download_package and post_download_package hook functions. #7968 . Docs here 
- Feature: Add CONAN_LOGIN_ENCRYPTION_KEY environment variable to obfuscate stored auth token. #7958 . Docs here 
- Feature: Use profile to filter results in the conan search HTML output. #7956 
- Feature: Changed recommended way to launch test suite, with pytest over nosetests. #7952 
- Feature: Provide a - MSBuildCmdhelper class that encapsulates calling MSBuild. #7941 . Docs here
- Feature: Download and keep the - conan_export.tgzand- conan_source.tgzin the cache, so they are not affected by different Operating Systems compression and de-compression and uploading is way more efficient. #7938
- Feature: Add provides and deprecated fields to conan info output #7916 
- Feature: Including package revision information in output from conan info (when revisions are enabled). #7890 
- Feature: Download and keep the conan_package.tgz in the cache, so they are not affected by different Operating Systems compression and de-compression and uploading is way more efficient. #7886 
- Feature: Add POC on a toolchain for iOS (using CMake XCode generator). #7855 . Docs here 
- Feature: Add POC on a toolchain for Android (using CMake provided modules). #7843 . Docs here 
- Feature: Allow - conan config installof a single file #7840 . Docs here
- Feature: Use Python loggers for Conan output in cli 2.0. #7502 
- Fix: Improve permission error message when migrating cache folder. #7966 
- Fix: Make per-package settings definition complete the existing settings values, not requiring a complete redefinition. #7953 
- Fix: Avoid unnecessary extra loading of conan.conf file in the version migrations check. #7949 
- Fix: Simplified MakeToolchain to remove things that were not checked by tests or unused. #7942 
- Fix: displayed message when settings of the recipe are constrained. #7930 . Docs here 
- Fix: Set CMAKE_SYSTEM_NAME set to iOS, tvOS or watchOS or Darwin depending on the CMake version. #7924 
- Fix: Remove duplicate entries while modifying PATH-like environment variables internally. Especially important for Windows where system PATH size is limited by 8192 characters (when using cmd.exe). #7891 
- Fix: Make default behaviour explicit in search help output. #7877 . Docs here 
- Fix: Automatically add OSX deployment flags in - AutootoolsBuildEnvironmentwith the value of- os_version, unless the values are already defined in environment variables CFLAGS or CXXFLAGS. #7862
- Fix: Remove toolset variability from the - msbuildgenerator and- MSBuildToolchain. #7825
- Fix: Component requirement checking now properly handles private and override requirements. #7585 
- Bugfix: Set default storage_folder to .conan/data in case if storage_path entry fails to be defined by conan.conf. #7910 
- Bugfix: Fix regression in self.run(output=xxxx) that have a write() method but do not wrap a stream. #7905 
- Bugfix: Fix local flow (conan install + build) support for - cpp_info.namesand- cpp_info.filenames. #7867
- Bugfix: Fix - inspect --remoteforcing to retrieve the remote for evaluation, overwriting what is in the local cache. #7749
- Bugfix: Copy symbolic links to directory with deploy generator. #7655 . Docs here 
1.30.2 (15-Oct-2020)ļ
- Bugfix: Fix regression https://github.com/conan-io/conan/issues/7856, - importsfailing to match subfolders in Windows due to backslash differences. #7861
- Bugfix: Allow defining new options values when creating a new lockfile from an existing base lockfile. #7859 
1.30.1 (09-Oct-2020)ļ
- Fix: Use quotes around the install path, it can contain spaces. #7842 
- Fix: prefix intel functions with - intel_because they are now exposed via tools. Fixes https://github.com/conan-io/conan/issues/7820. #7821 . Docs here
- Bugfix: Fix regression introduced in 1.30 (https://github.com/conan-io/conan/pull/7673), with incorrect matches of user/channel for version ranges. #7847 
- Bugfix: Fix - CMakeToolchainwith multiple variables definitions. #7833
- Bugfix: Check comparing the host and the build architecture to decide if cross building and set CMAKE_SYSTEM_NAME in the - CMakebuild helper. #7827
1.30.0 (05-Oct-2020)ļ
- Feature: Implement real detection of - compiler.libcxxvalue for- gcccompiler. Only enabled in CONAN_V2_MODE, otherwise it would be breaking. #7776
- Feature: Added [Depends](https://doc.qt.io/qbs/qml-qbslanguageitems-depends.html) items for every public dependency of conanfiles requires/dependencies. #7729 . Docs here 
- Feature: Instructions on how to run conan tests against a real Artifactory server. #7697 
- Feature: List cpp_info.names and cpp_info.filenames in JSON and Markdown generator. #7690 . Docs here 
- Feature: Add information about components to markdown generator. #7677 
- Feature: New experimental - MSBuildToolchainto generate- conan_toolchain.propsfiles (it is multi-config, will generate one specific toolchain file per configuration) for more transparent integration and better developer experience with Visual Studio. #7674 . Docs here
- Feature: Allow packages that do not declare components to depend on other packages components and manage transitivity correctly, with the new - self.cpp_info.requiresattribute. #7644 . Docs here
- Feature: Add MacOS 11 (āBig Surā) support. #7601 . Docs here 
- Feature: Expose intel_installation_path, compilervars, compilervars_dict, and compilervars_command under tools module in order to support usage of the intel compiler. #7572 . Docs here 
- Feature: Allow user-defined generators to be installed and used from the Conan cache. #7527 . Docs here 
- Feature: Add conan remote proposal for cli 2.0. #7401 
- Fix: Allow usage of MD5 checksums in FIPS systems that would raise error otherwise. #7807 
- Fix: Fix capture output when running tests that call the ConanRunner in the conanfile. #7799 
- Fix: Consider absolute paths when parsing conanbuildinfo.txt #7797 
- Fix: Update parallel uploads help message. #7785 . Docs here 
- Fix: Removed check in lockfiles computed from other lockfile that it should be part of it. Users can check the resulting lockfile themselves if they want to. #7763 . Docs here 
- Fix: Extend help message indicating how to run conan export without user/channel. #7757 . Docs here 
- Fix: Conan copy shows better description when using full reference for destination. #7741 
- Fix: Do not capture output for normal conan run (no logging or testing) when launching processes via ConanRunner so that color from build tools output is not lost. #7740 
- Fix: self.copy() follows ignore_case correctly on Windows. #7704 . Docs here 
- Fix: Use patterns in server query when resolving version ranges. #7673 
- Fix: Raising conflict errors when options doesnāt match in the evaluation of graphs with lockfiles. #7513 
- Bugfix: Fixed bug where uploading to multiple remotes in a single conan upload command would fail. #7781 
- BugFix: Add - armv5hfand- armv5elto the Android ABI architectures. #7730
- Bugfix: Correctly inherit and use - system_requirementswhen using- python_requires. #7721
- Bugfix: Translate settings.os value Macos to Darwin for CMAKE_SYSTEM_NAME to allow compiling CMake-based packages for MacOS. #7695 
1.29.2 (21-Sept-2020)ļ
1.29.1 (17-Sept-2020)ļ
- Bugfix: Fix - pkg_configgenerator adding to .pc files empty include and lib dirs. #7703
- Bugfix: Fix non existing (failed import) - tools.remove_files_by_mask. #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 - qbsgenerator. #7619
- Feature: Provide useful information trying to compute the build order using a ābase lockfile. #7551 
- Feature: Add user_info_build field to JSON generator. #7550 
- Feature: PkgConfig tools now exposes the packagesās version as property. #7534 . Docs here 
- Feature: Add an experimental toolchain for gnu make. #7430 . Docs here 
- Feature: New - tools.renamefunction 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 
- 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 
- Fix: Relax python six dependency to allow 1.15. #7538 
- Fix: Add pre-release versions when resolving required_conan_version. #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.cmakefiles in- cmake_multigenerator. #7376
- Bugfix: Fix cpp_info 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 updateand- package_revision_mode. #7592
- Bugfix: Respect winsdk_version for WindowsStore. #7584 
- Bugfix: Fix frameworks usage with components for cmake_find_package_multi generator. #7580 
- Bugfix: Support frameworks and framework_paths 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 
- Bugfix: Make frogarian show up as a whole (not sliced) on linux terminal. #7553 
- Bugfix: Fix import of collections.Iterable 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_abcnon 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 
- Bugfix: Fix cpp_info filename in FindPackageHandleStandardArgs for cmake_find_package generator. #7625 
- Bugfix: Fix regression in - deps_cpp_infoincorrectly adding directories when reading from- conanbuildinfo.txtfile. #7599
1.28.1 (06-Aug-2020)ļ
- Feature: Add user_info_build attribute to txt generator. #7488 
- Fix: Attribute user_info_build is available for commands in the local development workflow. #7488 
- Fix: Do not override value of public_deps in pkg_config generator. #7482 
- Bugfix: correctly set CMAKE_OSX_SYSROOT and CMAKE_OSX_ARCHITECTURES. #7512 
- Bugfix: When using - build_requiresdefined in a profile that is passed as- profile_host, it was not being applied to- build_requiresthat live in the host context (with- force_host_context=True). #7500
- Bugfix: Fix broken - cmake_find_package_multiwhen 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 
- 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- licenseor- description. #7404 . Docs here
- Feature: Allow - conan.confuser 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 
- Feature: Complete cli2.0 framework to handle sub-commands and add conan user command for cli 2.0 #7372 
- Feature: Implement - required_conan_versionin- conanfile.py, 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 
- Feature: When using CONAN_V2_MODE 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 
- Feature: Define - recipe_folderattribute pointing to the folder containing- conanfile.py#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 
- 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: More detailed description for āupdate argument. #7167 . Docs here 
- Feature: improve compiler detection for CONAN_V2_MODE. #5740 . Docs here 
- Feature: Add settings for clang-cl (clang on Windows). #5705 . Docs here 
- Fix: Relax - pluginbaserequirement to- pluginbase>=0.5, 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
- Fix: Fixing āhelp for commands in proposal for command line v2.0. #7394 
- Fix: Show outdated packages when running search ātable. #7364 . Docs here 
- Fix: Relax - msbuildgenerator 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.optionsis possible in- package_id(). #7303
- Fix: Build first occurrence 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 
- BugFix: Fix missing download of - conan_sources.tgzcreated using- export_sources()method. #7380
- Bugfix: Intel Compiler install location detection on Windows. #7370 
- Bugfix: Avoid crash while computing - package_idwhen using- package_revision_mode, and also incorrectly using installed binaries and reporting them installed after the re-computation of- package_idresolved 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 
- Bugfix: Add - system_libsto- sconsgenerator. #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 
- Feature: New - conan config install --listand- conan config install --remove=indexarguments to display and remove conan config install origins. #7263 . Docs here
- Feature: Support components for cmake_find_package_multi 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 
- 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 
- Feature: Templates for conan search ātable and conan info āgraph 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 
- Fix: Remove message from the qmake generator. #7228 
- Fix: Allow - --build=Pkg/0.1@to match the- Pkg/0.1package, so the- conan install Pkg/0.1@ --build=Pkg/0.1@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 
- Fix: Define user variables in the - conan_toolchain.cmakefile, 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_extendfrom packages that contain ā.ā dots in the package name. #7262
- Bugfix: Correctly inherit - scmdefinitions from- python_requiresbase classes. #7238
- Bugfix: Change GNU triplet for iOS, watchOS, tvOS to allow simulator builds. #6748 
- SCM mode with - scm_to_conandataand revisions marked as stable. Docs here
1.26.1 (23-Jun-2020)ļ
1.26.0 (10-Jun-2020)ļ
- Feature: Add components to cmake_find_package generator. #7108 . Docs here 
- Feature: New - toolchain()recipe method, as a new paradigm for integrating build systems, and simplifying developer flows. #7076 . Docs here
- Feature: New experimental - msvcgenerator that generates a .props file per dependency and is also multi-configuration. #7035 . 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
- Feature: Allow access to - self.nameand- self.versionin- set_name()and- set_version()methods. #6940 . Docs here
- Feature: Use a template approach for the html and dot 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 
- Fix: Update the lockfile passed as an argument to the install command instead of the default conan.lock. #7127 
- Fix: Adding a package as editable stores full path to conanfile.py. #7079 
- Fix: Fix broken test PkgGeneratorTest. #7065 
- Fix: Fix wrong naming of variables in the - pkg_configgenerator. #7059
- Fix: Do not modify scm attribute when the origin remote cannot be deduced. #7048 
- Fix: vcvars_dict should accept a conanfile too. #7010 . Docs here 
- Fix: - conan config installcan 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 
- 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- AttributeErrorinstead of a (wrong)- KeyError, enabling- hasattr()and correct- getattr()behaviors. #7131
- Bugfix: Fix crash while computing the - package_idof a package when different- package_id_modeare mixed and include- package_revision_mode. #7051
- Bugfix: Do not allow uploading packages with missing information in the scm attribute. #7048 
- Bugfix: Fixes an issue where Apple Framework lookup wasnāt working on RelWithDebInfo CMake build types. #7024 
- Bugfix: Do not check patch compiler version in the - cmakegenerators. #6976
1.25.2 (19-May-2020)ļ
- Bugfix: Previously conan always set - cpp_stdoption in meson project, even if- cppstdoption was not set in conan profile. Now it sets the option only if- cppstdprofile 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 - AutoToolsBuildEnvironmentwhen 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-Lengthheader that doesnāt match the real content length. #6996
- Bugfix: Set - shared_linker_flagsto CMake- MODULEtargets too in- cmakegenerators, not only to- SHARED_LIBRARIES. #6983
- Bugfix: Fix conan_get_policy return value. #6982 
- Bugfix: Fix json output serialization for - cpp_info.components. #6966
1.25.0 (06-May-2020)ļ
- Feature: Consume - settings_buildto get the value of the OS and arch from the- buildmachine (only when- --profile:buildis provided). #6916 . Docs here
- Feature: Implements - cpp_info.componentsdependencies. #6871 . Docs here
- Feature: Change HTML output for conan search ātable command. #6832 . Docs here 
- Feature: Execute periodic config install command. #6824 . Docs here 
- Feature: Add build_modules 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 
- Feature: Populate settings_build and settings_target in conanfile (only if provided - --profile:build). #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 
- 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 
- 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
- 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
- Bugfix: Fix the output of conan info package folder when using - build_id()method. #6917
- Bugfix: Generate correct PACKAGE_VERSION in - cmake_find_package_multigenerator 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 
- Bugfix: Changed the CMake generator template to properly handle exelinkflags and sharedlinkflags using generator expressions. #6780 
1.24.1 (21-Apr-2020)ļ
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 
- Feature: Add new tool cppstd_flag 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 
- 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 
- Feature: Add the _description_ field to the output of the conan info command. #6724 . Docs here 
- Feature: Add more detailed information when there are missing packages. #6700 . Docs here 
- Feature: Support mirrors for tools.download and tools.get. #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 
- Feature: Add cpp_info.components package creator interface to model internal dependencies inside a recipe. #6653 . Docs here 
- Feature: Add a new - init()method to- conanfile.pyrecipes that can be used to add extra logic when inheriting from- python_requiresclasses. #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 
- 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 
- Fix: Add build policy help for ābuild argument when used in conan graph build-order command. #6650 
- Fix: Remove file before copying in - conan config installto 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-cccompiler when it outputs- Studio 12.5 Sun C. #6757
- Bugfix: Add values to - definitionspassed to- MSBuildbuild 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"].versionand- self.deps_cpp_info["dep"].name, so it can be used in conan build and in- test_package/conanfile.py. #6723 . Docs here
- Bugfix: Fix check_output_runner() 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- MSBuildhelper. #6675
- Bugfix: Silent output from cmake_find_package generator with CONAN_CMAKE_SILENT_OUTPUT. #6672 
- Bugfix: Use always LF line separator for .sh scripts generated by - virtualenvgenerators. #6670
- Bugfix: Use the real settings value to check the compiler and compiler version in the - cmakegenerator 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
- 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 
- 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 
- 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.pyhas 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 - MSBuildargument- targetsis 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 
- Bugfix: Fix error parsing system_libs from conanbuildinfo.txt 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 
- BugFix: Set the - self.develop=Trueattribute for recipes when they are used with conan export-pkg, in all methods, it was previously only setting it for the- package()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 
- Bugfix: improve Apple frameworks lookups with CMake integration #6533 
1.22.3 (05-Mar-2020)ļ
1.22.2 (13-Feb-2020)ļ
1.22.1 (11-Feb-2020)ļ
- Fix: Increase - sixversion to allow more modern releases. #6509
- Fix: remove GLOBAL from targets to avoid conflicts when using add_subdirectory. #6488 . Docs here 
- Fix: Avoid caching revision ā0ā under api V2 (revisions enabled) in the download cache. #6475 . Docs here 
- Bugfix: Manage the - dirtystate of the cache package folder with conan export-pkg. #6498
- BugFix: Add - system_libsto- premakegenerator. #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 - virtualenvscripts, 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 
- Feature: Deduce compiler.base.runtime for Intel compiler settings when using Visual Studio as the base compiler. #6424 
- Feature: Allow defining an extra user-defined properties .props file in - MSBuildbuild 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 
- Feature: Implement a download cache, which can be shared and concurrently used among different conan user homes, selectable configuring - storage.download_cachein- conan.conf. #6287 . Docs here
- Feature: Some improvements in the internal of lockfiles. Better ordering of nodes indexes. Separation of - requiresand- build-requires. Better- statusfield, with explicit- exported,- builtvalues. #6237
- Feature: - importsfunctionality 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
- 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_appendvariable (defaulting to- False) to- CMakeand- Mesonbuild helpers constructors, so when they need to activate the Visual Studio environment via- vcvars(for Ninja and NMake generators), the- vcvarsenvironment 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 
- Fix: Cleaning - LD_LIBRARY_PATHenvironment in- SCMcommands 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 
- Fix: Avoid warning in ādetectā process with Python 3.8, due to Popen with - bufsize=1#6333
- Fix: Propagate server error (500) in checksum_deploy. #6324 
- Fix: Fixed wrong CMake command line with - -G Visual Studio 15 ARMfor- armv8architectures. #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
- Fix: When the token is empty, and - conan user myuser -p=mypass -r=remoteis 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 
- 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 
- Fix: Fix typo in error message from - tools.get(). #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 - optionsto packages, which produced incorrect evaluation of- requirements()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_libsinformation 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
- Bugfix: Include āPackage ID Unknownā nodes in - conan graph build-order, as they need to be processed in that order. #6251
- Bugfix: āraw 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-requiresthat are also in the- requires. #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_libsto- premakegenerator. #6496
1.21.2 (31-Jan-2020)ļ
1.21.1 (14-Jan-2020)ļ
- Fix: Fix options type detection using six.string_types. #6322 
- Fix: Fix minor issues in cmake and cmake_multi generators: wrong variable used in conan_find_apple_frameworks 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 
- 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- authfield. #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 
- 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 
- 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 
- 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 
- 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 
- Feature: New parameter for tools.patch 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 
- Feature: New argument of conan upload command āparallel to upload packages using multithreading. #5856 . Docs here 
- Feature: New - python_requiresdeclared as Conanfile class attributes. Includes extension of base class, they affect the binary packageID with- minor_modedefault 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_packagegenerator. #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_packagesfeature to follow the- --build=missingbuild 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 
- 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
- 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 
- Bugfix: Upload correct packages when specifying revisions and fail with incorrect ones. #6143 
- Bugfix: Fix different problems when using conan download with revisions. #6138 
- Bugfix: Make sure - set_version()runs in the- conanfile.pyfolder, 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 
- Bugfix: Use a context manager to change the folder during build_package 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 
- 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)ļ
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 
- 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 
- Bugfix: Fix conan_build_info command when conan_sources.tgz not present in remote. #6088 
1.20.3 (11-Nov-2019)ļ
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 
- Feature: Saving profile list as a json file #5954 . Docs here 
- Feature: Improve conan_build_info 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 
- Feature: Add cpp_info.build_modules 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 
- Feature: Allow the possibility to avoid x86_64 to x86 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 
- Feature: New - set_name()and- set_version()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
- 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 
- Feature: The scm feature does not replace the scm.revision=āautoā field with the commit when uncommitted changes unless - --scm-dirtyargument is specified. The recipe in the local cache will be kept with revision=auto. #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 
- 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 
- Fix: Deprecate argument ābuild-order in conan info command. #5965 . Docs here 
- Fix: Avoid doing complex - conan search --queryin the server, do them always in the client. #5960
- Fix: Improved - conan remove --helpmessage for- --packages#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 
- Fix: Add and remove out-of-tree git patches (#5320) #5761 
- Fix: Add quiet output for inspect āraw. #5702 
- Bugfix: Allow conan download 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.txtinstead of- conanfile.py. #5894
- Bugfix: Fix incorrect propagation of build-requires to downstream consumers, resulting in missing dependencies in - deps_cpp_info. #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 
- Bugfix: Use imported python requiresā short_path value instead of the defined in the conanfile that imports it. #5841 
- Bugfix: Avoid repeated copies of absolute paths when using self.copy(). #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 --queryqueries 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.namenot used in cmake find generators for dependencies #5973
- Bugfix: Fixed bug when overridden dependencies that donāt exist and make the CMake generated code crash #5971 
- Bugfix: Fixed bug when overridden 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
- Bugfix: Allow - conan install pkg/[*]@user/channelresolving 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 
- 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)ļ
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 
- 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 
- 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 
- 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_idshould 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 
- 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 
- Fix: Relax restriction on the future python dependency #5692 
- Fix: Call post_package 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 
- 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 
- Bugfix: Use the final package folder as the conanfile.package_folder attribute for the pre_package hook. #5600 
- BugFix: Fix crash with custom generators using - install_folder#5569
1.18.5 (24-Sept-2019)ļ
1.18.4 (12-Sept-2019)ļ
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 
- 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 
- 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 
- 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 
- 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 
- Feature: Output current revision from references in local cache when using a pattern #5537 . Docs here 
- Feature: New parameter - --skip-authfor the conan user 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 
- Fix: Remove - conan graph clean-modifiedcommand, 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 
- Fix: Discard empty string values in SCM including subfolder #5459 
- Bugfix: The stderr was not printed when a command failed running the tools.check_output 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 - qbsgenerator. #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 
- Bugfix: Update python-dateutil dependency to ensure availability of dateutil.parser.isoparse #5485 
- Bugfix: Solve regression in - conan info <ref>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
- 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: 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_modeand- 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
- 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 
- 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 
- Fix: Force forward slashes in the variable $PROFILE_DIR #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
- Fix: AutoToolsBuildEnvironment is now aware of os_target and arch_target 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 
- Bugfix: enable retry for requests #5400 
- Bugfix: Allow creation and deletion of files in - tools.patchwith- strip>0#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.pathreturn 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 
- 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
- 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 
- Feature: Add hooks pre_package_info and post_package_info #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 
- Feature: Print errors and warnings to stderr #5206 
- Feature: New - conan new --template=mytemplateto 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 - retryand- retry-waitand- CONAN_RETRYand- CONAN_RETRY_WAITto configure all retries for all transfers, including upload, download, and- tools.download(). #5174 . Docs here
- Feature: Support yaml lists in workspace - rootfield. #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 
- Fix: Add the ability to avoid the /verbosity 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 
- Bugfix: - --updatewas not updating- python_requiresusing version ranges. #5265
- Bugfix: - visual_studiogenerator 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 
- 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 
- 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 - --recipeargument, 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 
- 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
- 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ļ
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)ļ
1.15.1 (16-May-2019)ļ
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 
- Feature: The MSBuild build helper allows the parameter toolset with False 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 
- Feature: New - deploygenerator to export files from a dependency graph to an installation folder #4972 . Docs here
- Feature: Create tools.Version with _limited_ capabilities #4963 . Docs here 
- Feature: Default filename for workspaces: conanws.yml (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 
- Feature: Add a āraw argument to conan inspect 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- .gzcompressed files #4883 . Docs here
- Feature: Add argument āforce to command profile new to overwrite existing one #4880 . 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_studiogenerator 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 
- Fix: Example bare package recipe excludes conanfile.py from copy #4892 
- Fix: More meaningful error message when a remote communication fails to try to download a binary package. #4888 
- Bugfix: - conan upload --forceforce 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_folderin the layout, but not used in a workspace #5070
- Bugfix: Made compatible the cmake_find_package_multi generator with CMake < 3.9 #5042 
- Bugfix: Fix broken local development flow (conan source, conan build, conan package, conan export-pkg) with recipes with - python-requires#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 
- Bugfix: Remove package folder in conan create even when using - --keep-build#4918
1.14.5 (30-Apr-2019)ļ
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 
- 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 
- Bugfix: Fix skipping binaries because of transitive - privaterequirements #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-requiresand- privaterequirements that resolve to a dependency that is already in the graph wonāt span a new node, nor will be- build-requiresor- private. They can conflict too. #4937
1.14.2 (11-Apr-2019)ļ
- Bugfix: Run a full metadata migration in the cache to avoid old - nullrevisions 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 installfor 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 
- 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 
- Feature: Allow to specify revision_mode for each recipe, values accepted are scm or hash (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 
- Feature: Implement - --source-folderand- --target-folderto- conan config installcommand to select subfolder to install from the source origin, and also the destination folder within the cache. #4709 . Docs here
- Feature: Implement - --updateargument for- python-requirestoo. #4660
- Fix: Apply environment variables from profile and from requirements to conan export-pkg #4852 
- Fix: Do not run export_sources automatically for python_requires #4838 
- Fix: Show the correct profile name when detect a new one (#4818) #4824 
- Fix: Allow using - referenceobject in workspaces in templates for out of source builds #4812 . Docs here
- Fix: Look for - vswherein- PATHwhen using- tools.vswhere()#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
- 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 
- 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 
- 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 
- 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 
- Bugfix: Fix metadata not being updated for conan export-pkg when using - --package-folder#4834
- Bugfix: ābuild 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_multigenerator #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 
- Feature: Allow configuring in conan.conf a different default - package_idmode. #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 
- 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 
- 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 
- Fix: Instance of āTestConanā has no āinstall_folderā member 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 
- Bugfix: Solve problem with loading recipe python files in Python 3.7 because of - module.__file__ = None#4669
- Bugfix: Do not attempt to upload non-existing packages, due to empty short_paths folders, or to explicit - upload -p=idcommand. #4615
- Bugfix: Fix LIB overwrite in - virtualbuildenvgenerator #4583
- Bugfix: Avoid - str(self.settings.xxx)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 - MSBuildhelper, incorrectly ignoring the- conan_build.propsfile because of using a relative path instead of absolute one. #4488
1.12.1 (5-Feb-2019)ļ
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 
- Feature: Added - get_tag()methods to- tools.Git()and- tools.SVN()helpers. #4306 . Docs here
- Feature: Package reference is now accepted as an argument in - conan install --build#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 
- Feature: Skip āREADME.mdā and āLICENSE.txtā during the installation of a custom config via conan config install. #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
- 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 
- Feature: Enable a new - referenceargument in- conan install <path> <reference>, where- referencecan 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
- Feature: Added support for new architecture - ppc32#4195 . Docs here
- Feature: Added support for new architecture - armv8.3#4195 . Docs here
- Feature: Added support for new architecture - armv8_32#4195 . Docs here
- Feature: Add experimental support for packages in editable mode #4181 . Docs here 
- Fix: Conditionally expand list-like environment variables in - virtualenvgenerator #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.cppflagsto- CONAN_CXXFLAGSin- makegenerator. #4349 . Docs here
- Fix: Use - *_DIRSinstead of- *_PATHSending for variables generated by the- makegenerator:- INCLUDE_DIRS,- LIB_DIRS,- BIN_DIRS,- BUILD_DIRSand- RES_DIRS#4349 . Docs here
- Fix: Bumped requirement of pyOpenSSL on OSX to >=16.0.0, <19.0.0 #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 extension #4311 
- Fix: - get_branch()method of- tools.SVN()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 
- Fix: SCM optimization related to scm_folder.txt 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_loadinstead of- load#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 
- Fix: Remove client/server versions check on every request. Return server capabilities only in ping 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
- 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 
- 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_sslargument in conan config install #4158 . Docs here
- Feature: Tox launcher to run the test suite. #4151 
- Feature: Allow - --graph=file.htmlhtml 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
- 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 
- Feature: Allow arguments in git clone for conan config install #4083 . Docs here 
- Feature: Display the version-ranges resolutions in a cleaner way. #4065 
- Feature: allow - conan export . version@user/channeland- conan create . version@user/channel#4062 . Docs here
- Fix: cmake_find_package generator not forwarding all dependency properties #4125 
- Fix: Recent updates in python break - ConfigParserwith- %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
- 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
- Bugfix: Take into account - os_buildand- arch_buildfor 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)ļ
1.10.0 (4-Dec-2018)ļ
- Feature: Add include_prerelease and loose 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
- Feature: Added new - makegenerator. #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 
- Fix: The tools.get tool (download + unzip) now supports all the arguments of the download tool. e.g: verify, retry, retry_wait etc. #4041 
- Fix: Improve - makegenerator test #4018
- Fix: Add space and dot in - conan new --help#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
- 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 
- 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 
- Bugfix: Fix qbs generator mixing sharedlinkflags and exelinkflags #3980 
- Bugfix: - compiler_argsgenerated āmytool.lib.libā for Visual Studio libraries that were defined with the- .libextension in the- self.cpp_info.libsfield of- package_info(). #3976
1.9.2 (20-Nov-2018)ļ
1.9.1 (08-Nov-2018)ļ
- Fix: Fix regression introduced in 1.7, setting - amd64_x86when no- arch_buildis defined. #3918
- Fix: Do not look for binaries in other remotes than the recipe, if it is defined. #3890 
- Bugfix: - sudo --askpassbreaks CentOS 6 package installation. The sudo version on CentOS 6 is 1.8.6. The option of- askpassfor sudo version 1.8.7 or older is sudo -A. #3885
1.9.0 (30-October-2018)ļ
- Feature: Support for - srcdirsin- package_info(). Packages can package sources, and specify their location, which will be propagated to consumers. Includes support for CMake generator. #3857
- Feature: Added remote_name and remote_url to upload json output. #3850 
- Feature: Add environment variable CONAN_USE_ALWAYS_SHORT_PATHS to let the consumer override short_paths behavior from recipes #3846 
- Feature: Added - --jsonoutput to- conan export_pkgcommand #3809
- Feature: Add conan remote clean subcommand #3767 
- Feature: New premake generator incorporated to the Conan code base from the external generator at https://github.com/memsharded/conan-premake. #3751 
- Feature: New conan remote list_pref/add_pref/remove_pref/update_pref commands added to manage the new Registry entries for binary packages. #3726 
- Feature: Add cpp_info data to json output of - installand- createcommands at package level. #3717
- Feature: Now the default templates of the conan new command use the docker images from the conanio organization: https://hub.docker.com/u/conanio #3710 
- Feature: Added - topicsattribute to the ConanFile to specify topics (a.k.a tags, a.k.a keywords) to the recipe. #3702
- Feature: Internal refactor to the remote registry to manage a json file. Also improved internal interface. #3676 
- Feature: Implement reuse of sources ( - exports_sources) in recipes used as- python_requires(). #3661
- Feature: Added support for Clang >=8 and the new versioning schema, where only the major and the patch is used. #3643 
- Fix: Renamed Plugins as Hooks #3867 
- Fix: Adds GCC 8.2 to default settings.yml #3865 
- Fix: Hidden confusing messages download conaninfo.txt when requesting the server to check package manifests. #3861 
- Fix: The - MSBuild()build helper doesnāt adjust the compiler flags for the build_type anymore because they are adjusted by the project itself. #3860
- Fix: Add - neonas linux distro for SystemPackageTools #3845
- Fix: remove error that was raised for custom compiler & compiler version, while checking - cppstdsetting. #3844
- Fix: do not allow wildcards in command - conan download <ref-without-wildcards>#3843
- Fix: do not populate - archnor- arch_buildin autodetected profile if- platform.machinereturns an empty string. #3841
- Fix: The registry wonāt remove a reference to a remote removed recipe or package. #3838 
- Fix: Internal improvements of the ConanFile loader #3837 
- Fix: environment variables are passed verbatim to generators. #3836 
- Fix: Implement dirty checks in the cache build folder, so failed builds are not packaged when there is a - build_id()method. #3834
- Fix: - vcvarsis also called in the- CMake()build helper when clang compiler is used, not only with Visual Studio`compiler. `#3832
- Fix: Ignore empty line when parsing output inside - SVN::excluded_filesfunction. #3830
- Fix: Bump version of - tqdmrequirement to- >=4.28.0#3823
- Fix: Handling corrupted lock files in cache #3816 
- Fix: Implement download concurrency checks, to allow simultaneous download of the same package (as header-only) while installing different configurations that depend on that package. #3806 
- Fix: - vcvarsis also called in the CMake() build helper when using Ninja or NMake generators. #3803
- Fix: Fixed - link_flagsmanagement in- MSBuildbuild helper #3791
- Fix: Allow providing - --profileargument (and settings, options, env, too) to conan export-pkg, so it is able to correctly compute the binary package_id in case the information captured in the installed conaninfo.txt in previous conan install does not contain all information to reconstruct the graph. #3768
- Fix: Upgrade dependency of - tqdmto >=4.27: solves issue with weakref assertion. #3763
- Fix: Use XML output to retrieve information from SVN command line if its client version is less than 1.8 (command - --show-itemis not available). #3757
- Fix: SVN v1.7 does not have - -rargument in- svn status, so functionality- SVN::is_pristinewonāt be available. #3757
- Fix: Add - --askpassargument to- sudoif it is not an interactive terminal #3727
- Fix: The remote used to download a binary package is now stored, so any update for the specific binary will come from the right remote. #3726 
- Fix: Use XML output from SVN command line interface to compute if the repository is pristine. #3653 
- Fix: Updated templates of the conan new command with the latest conan package tools changes. #3651 
- Fix: Improve error messages if conanfile was not found #3554 
- BugFix: Fix conflicting multiple local imports for python_requires #3876 
- Bugfix: do not ask for the username if it is already given when login into a remote. #3839 
- Bugfix: - yum updateneeds userās confirmation, which breaks system update in CentOS non-interactive terminal. #3747
1.8.4 (19-October-2018)ļ
- Feature: Increase debugging information when an error uploading a recipe with different timestamp occurs. #3801 
- Fix: Changed - tqdmdependency to a temporarily forked removing the āmanā directory write permissions issue installing the pip package. #3802
- Fix: Removed ndg-httpsclient and pyasn dependencies from OSX requirements file because they shouldnāt be necessary. #3802 
1.8.3 (17-October-2018)ļ
- Feature: New attributes - default_userand- default_channelthat can be declared in a conanfile to specify the user and channel for conan local methods when neither CONAN_USERNAME and CONAN_CHANNEL environment variables exist. #3758
- Bugfix: AST parsing of - conanfile.pywith shebang and encoding header lines was failing in python 2. This fix also allows non-ascii chars in- conanfile.pyif proper encoding is declared. #3750
1.8.2 (10-October-2018)ļ
1.8.1 (10-October-2018)ļ
1.8.0 (9-October-2018)ļ
- Feature: Allow conan config install to install configuration from a folder and not only from compressed files. #3680 
- Feature: The environment variable CONAN_DEFAULT_PROFILE_PATH allows the user to define the path (existing) to the default profile that will be used by Conan. #3675 
- Feature: New conan inspect command that provides individual attributes of a recipe, like name, version, or options. Work with - -r=remoterepos too, and is able to produce- --jsonoutput. #3634
- Feature: Validate parameter for ConanFileReference objects to avoid unnecessary checks #3623 
- Feature: The environment variable CONAN_DEFAULT_PROFILE_PATH allows the user to define the path (absolute and existing) to the default profile that will be used by Conan. #3615 
- Feature: Warning message printed if Conan cannot deduce an architecture of a GNU triplet. #3603 
- Feature: The - AutotoolsBuildEnvironmentand- CMakebuild helpers now adjust default for the GNU standard installation directories:- bindir,- sbin,- libexec,- includedir,- oldincludedir,- datarootdir#3599
- Feature: Added - use_default_install_dirsin- AutotoolsBuildEnvironment.configure()to opt-out from the defaulted installation dirs. #3599
- Feature: Clean repeated entries in the - PATHwhen- vcvarsis run, mitigating the max size of the env var issues. #3598
- Feature: Allow - vcvarsto run if- clang-clcompiler is detected. #3574
- Feature: Added python 2 deprecation message in the output of the conan commands. #3567 
- Feature: The conan install command now prints information about the applied configuration. #3561 
- Feature: New naming convention for conanfile reserved/public/private attributes. #3560 
- Feature: Experimental support for Conan plugins. #3555 
- Feature: Progress bars for files unzipping. #3545 
- Feature: Improved graph propagation performance from - O(n2)to- O(n). #3528
- Feature: Added - ConanInvalidConfigurationas the standard way to indicate that a specific configuration is not valid for the current package. e.g library not compatible with Windows. #3517
- Feature: Added - libtool()function to the tools.XCRun() tool to locate the system- libtool. #3515
- Feature: The tool - tools.collect_libs()now search into each folder declared in- self.cpp_info.libdirs. #3503
- Feature: Added definition - CMAKE_OSX_DEPLOYMENT_TARGETto the- CMakebuild helper following the- os.versionsetting for- Macos. #3486
- Feature: The upload of files now uses the conanmanifest.txt file to know if a file has to be uploaded or not. It avoids issues associated with the metadata of the files permissions contained in the tgz files. #3480 
- Feature: The default_options in a conanfile.py can be specified now as a dictionary. #3477 
- Feature: The command conan config install now support relative paths. #3468 
- Feature: Added a definition CONAN_IN_LOCAL_CACHE to the CMake() build helper. #3450 
- Feature: Improved AptTool at SystemPackageTool adding a function add_repository to add new apt repositories. #3445 
- Feature: Experimental and initial support for the REST apiv2 that will allow transfers in one step and revisions in the future. #3442 
- Feature: Improve the output of a conan install command printing dependencies when a binary is not found. #3438 
- Feature: New b2 generator. It replaces the old incomplete boost_build generator that is now deprecated. #3416 
- Feature: New - tool.replace_path_in_fileto replace Windows paths in a file doing case-insensitive comparison and indistinct path separators comparison: ā/ā == ā\ā #3399
- Feature: [Experimental] Add SCM support for SVN. #3192 
- Fix: - Noneoption value was not being propagated upstream in the dependency graph #3684
- Fix: Apply - system_requirements()always on install, in case the folder was removed. #3647
- Fix: Included - bottlepackage in the development requirements #3646
- Fix: More complete architecture list in the detection of the gnu triplet and the detection of the build machine architecture. #3581 
- Fix: Avoid downloading the manifest of the recipe twice for uploads. Making this download quiet, without output. #3552 
- Fix: Fixed - Gitscm class avoiding to replace any character in the- get_branch()function. #3496
- Fix: Removed login username syntax checks that were no longer necessary. #3464 
- Fix: Removed bad duplicated messages about dependency overriding when using conan alias. #3456 
- Fix: Improve conan info help message. #3415 
- Fix: The generator files are only written in disk if the content of the generated file changes. #3412 
- Fix: Improved error message when parsing a bad conanfile reference. #3410 
- Fix: Paths are replaced correctly on Windows when using - CMake().patch_config_files(). #3399
- Fix: Fixed AptTool at SystemPackageTool to improve the detection of an installed package. #3033 
- BugFix: Fixes - python_requiresoverwritten when using more than one of them in a recipe #3628
- BugFix: Fix output overlap of decompress progress and plugins #3622 
- Bugfix: Check if the - system_requirements()have to be executed even when the package is retrieved from the local cache. #3616
- Bugfix: All API calls are now logged into the - CONAN_TRACE_FILElog file. #3613
- Bugfix: Renamed - os(reserved symbol) parameter to- os_in the- get_gnu_triplettool. #3603
- Bugfix: conan get command now works correctly with enabled - short paths. #3600
- Bugfix: Fixed - scmreplacement of the variable when exporting a conanfile. #3576
- Bugfix: apiv2 was retrying the downloads even when a 404 error was raised. #3562 
- Bugfix: Fixed - export_sourcesexcluded patterns containing symlinks. #3537
- Bugfix: Fixed bug with transitive private dependencies. #3525 
- Bugfix: - get_cased_pathcrashed when the path didnāt exist. #3516
- BugFix: Fixed failures when Conan walk directories with files containing not ASCCI characters in the file name. #3505 
- Bugfix: The scm feature now looks for the repo root even when the conanfile.py is in a subfolder. #3479 
- Bugfix: Fixed OSInfo.bash_path() when there is no windows_subsystem. #3455 
- Bugfix: AutotoolsBuildEnvironment was not defaulting the output library directory causing broken consumption of packages when rebuilding from sources in different Linux distros using lib64 default. Read more here. #3388 
1.7.4 (18-September-2018)ļ
- Bugfix: Fixed a bug in apiv2. 
- Fix: Disabled apiv2 by default until it gets more stability. 
1.7.3 (6-September-2018)ļ
- Bugfix: Uncontrolled exception was raised while printing the output of an error downloading a file. 
- Bugfix: Fixed *:option pattern for conanfile consumers. 
1.7.2 (4-September-2018)ļ
- Bugfix: Reverted default options initialization to empty string with varname=. 
- Bugfix: Fixed conan build command with ātest and āinstall arguments. 
1.7.1 (31-August-2018)ļ
- Fix: Trailing sentences in Conan help command. 
- Fix: Removed hardcoded -c init.templateDir= argument in git clone for conan config install, in favor of a new --args parameter that allows custom arguments. 
- Fix: SCM can now handle nested subfolders. 
- BugFix: Fix conan export-pkg unnecessarily checking remotes. 
1.7.0 (29-August-2018)ļ
- Feature: Support for C++20 in CMake > 3.12. 
- Feature: Included support for Python 3.7 in all platforms. 
- Feature: [Experimental] New - python_requiresfunction that allows you to reuse Python code by ārequiringā it in Conan packages, even to extend the- ConanFileclass. See: Python requires: reusing python code in recipes
- Feature: - CMakemethod- patch_config_pathsreplaces absolute paths to a Conan packageās dependencies as well as to the Conan package itself.
- Feature: - MSBuildand- VisualStudioBuildEnvironmentbuild helpers adjust the- /MPflag to build code in parallel using multiple cores.
- Feature: Added a - print_errorsparameter to- tools.PkgConfig()helper.
- Feature: Added --query argument to conan upload. 
- Feature: - virtualenv/- virtualbuildenv/- virtualrunenvgenerators now create bash scripts in Windows for use in subsystems.
- Feature: Improved resolution speed for version ranges through caching of remote requests. 
- Feature: Improved the result of - tools.vcvars_dict(only_diff=True)including a ālistā return type that can be used with- tools.environment_append().
- Fix: - AutoToolsBuildEnvironmentbuild helper now keeps the- PKG_CONFIG_PATHSvariable previously set in the environment.
- Fix: The SCM feature keeps the - .gitfolder during the copy of a local directory to the local cache.
- Fix: The SCM feature now correctly excludes the folders ignored by Git during the copy of a local directory to the local cache. 
- Fix: Conan messages now spell āoverriddenā correctly. 
- Fix: - MSBuildbuild helper arguments using quotes.
- Fix: - vcvars_commandand- MSBuildbuild helper use the- amd64_x86parameter when Visual Studio > 12 and when cross building for x86.
- Fix: Disabled - -c init.TemplateDirin conan config install from a Git repository.
- Fix: Clang compiler check in - cmakegenerator.
- Fix: Detection of Zypper package tool on latest versions of openSUSE. 
- Fix: Improved help output of some commands. 
- BugFix: - qmakegenerator hyphen.
- Bugfix: Git submodules are now initialized from repo HEAD after checking out the referenced revision when using the - scmattribute.
- BugFix: Declaration - default_optionswithout value, e.g.- default_options = "config=". Now it will throw an exception.
- BugFix: Deactivate script in - virtualenvgenerator causes PS1 to go unset.
- BugFix: Apply general scope options to a consumer ConanFile first. 
- BugFix: Fixed detection of a valid repository for Git in the SCM feature. 
1.6.1 (27-July-2018)ļ
- Bugfix: conan info --build-order was showing duplicated nodes for build-requires and private dependencies. 
- Fix: Fixed failure with the - aliaspackages when the name of the package (excluded the version) was different from the aliased package. Now it is limited in the conan alias command.
1.6.0 (19-July-2018)ļ
- Feature: Added a new - self.run(..., run_environment=True)argument, that automatically applies- PATH,- LD_LIBRARY_PATHand- DYLD_LIBRARY_PATHenvironment variables from the dependencies, to the execution of the current command.
- Feature: Added a new - tools.run_environment()method as a shortcut to using- tools.environment_appendand- RunEnvironment()together.
- Feature: Added a new - self.run(..., ignore_errors=True)argument that represses launching an exception if the commands fails, so user can capture the return code.
- Feature: Improved - tools.Gitto allow capturing the current branch and enabling the export of a package whose version is based on the branch and commit.
- Feature: The - jsongenerator now outputs settings and options
- Feature: conan remote list --raw prints remote information in a format valid for remotes.txt, so it can be used for - conan config install
- Feature: Visual Studio generator creates the conanbuildinfo.props file using the - $(USERPROFILE)macro.
- Feature: Added a - filenameparameter to- tools.get()in case it cannot be deduced from the URL.
- Feature: Propagated - keep_permissionsand- patternparameters from- tools.get()to- tools.unzip().
- Feature: Added XZ extensions to - unzip(). This will only work in Python 3 with lzma support enabled, otherwise, and error is produced.
- Feature: Added - FRAMEWORK_SEARCH_PATHSvar to the Xcode generator to support packaging Apple Frameworks. Read more here.
- Feature: Added conan build --test and a - should_configureattribute to control the test stage. Read more here.
- Feature: New tools to convert between files with LF and CRLF line endings: tools.unix2dos() and tools.dos2unix(). 
- Feature: Added conan config install [url] --type=git to force cloning of a Git repo for - http://...git urls.
- Feature: Improved output information when a package is missing in a remote to show which package requires the missing one. 
- Feature: Improved the management of an upload interruption to avoid uploads of incomplete tarballs. 
- Feature: Added new - LLVMtoolsets to the base- settings.yml(Visual Studio).
- Feature: Created a plugin for pylint with the previous Conan checks (run in the export) enabling usage of the plugin in IDEs and command line to check if recipes are correct. 
- Feature: Improved the - debinstaller to guarantee that it runs correctly in Debian 9 and other distros.
- Fix: Fixed conan search -q and conan remove -q to not return packages that donāt have the setting specified in the query. 
- Fix: Fixed - SystemPackageToolwhen calling to update with- sudois not enabled and- mode=verify.
- Fix: Removed - pyinstallershared libraries from the linker environment for any Conan subprocess.
- BugFix: The - YumToolnow calls- yum updateinstead of- yum check-update.
- Bugfix: Solved a bug in which using - --manifestparameter with conan create caused the deletion of information in the dependency graph.
- Bugfix: Solved bug in which the - buildmethod of the- Versionmodel was not showing the version build field correctly .
- Bugfix: Fixed a Conan crash caused by a dependency tree containing transitive private nodes. 
1.5.2 (5-July-2018)ļ
- Bugfix: Fixed bug with pre-1.0 packages with sources. 
- Bugfix: Fixed regression in private requirements. 
1.5.1 (29-June-2018)ļ
- Bugfix: Sources in the local cache werenāt removed when using scm pointing to the local source directory, causing changes in local sources not applied to the conan create process. 
- Bugfix: Fixed bug causing duplication of build requires in the dependency graph. 
1.5.0 (27-June-2018)ļ
- Feature: conan search <pkg-ref> -r=all now is able to search for binaries too in all remotes 
- Feature: Dependency graph improvements: - build_requiresare represented in the graph (visible in conan info`, also in the HTML graph). conan install and conan info commands shows extended information of the binaries status (represented in colors in HTML graph). The dependencies declaration order in recipes is respected (as long as it doesnāt break the dependency graph order).
- Feature: improved remote management, it is possible to get binaries from different remotes. 
- Feature: conan user command is now able to show authenticated users. 
- Feature: Added conan user --json json output to the command. 
- Feature: New - patternargument to- tools.unzip()and- tools.untargzfunctions, that allow efficient extraction of certain files only.
- Feature : Added Manjaro support for - SystemPackageTools.
- Feature: Added - Macos- versionsubsetting in the default settings.yml file, to account for the āmin OSX versionā configuration.
- Feature: SCM helper argument to recursively clone submodules 
- Feature: SCM helper management of subfolder, allows using - exportsand- exports_sources, manage symlinks, and do not copy files that are .gitignored. Also, works better in the local development flow.
- Feature: Modifies user agent header to output the Conan client version and the Python version. Example: - Conan/1.5.0 (Python 2.7.1)
- Fix: The - CMake()helper now doesnāt require a compiler input to deduce the default generator.
- Fix: conan search <pattern> now works consistently in local cache and remotes. 
- Fix: Proxy related environment variables are removed if conan.conf declares proxy configuration. 
- Fix: Fixed the parsing of invalid JSON when Microsoft - vswheretool outputs invalid non utf-8 text.
- Fix: Applying - winsdkand- vcvars_verto MSBuild and- vcvars_commandfor VS 14 too.
- Fix: Workspaces now support - build_requires.
- Fix: - CMake()helper now defines by default- CMAKE_EXPORT_NO_PACKAGE_REGISTRY.
- Fix: Settings constraints declared in recipes now donāt error for single strings (instead of a list with a string element). 
- Fix: - cmake_minimum_required()is now before- project()in templates and examples.
- Fix: - CONAN_SYSREQUIRES_MODE=Disablednow doesnāt try to update the system packages registry.
- Bugfix: Fixed SCM origin path of windows folder (with backslashes). 
- Bugfix: Fixed SCM dictionary order when doing replacement. 
- Bugfix: Fixed auto-detection of apple-clang 10.0. 
- Bugfix: Fixed bug when doing a conan search without registry file (just before installation). 
1.4.5 (22-June-2018)ļ
- Bugfix: The package_id recipe method was being called twice causing issues with info objects being populated with wrong information. 
1.4.4 (11-June-2018)ļ
- Bugfix: Fix link order with private requirements. 
- Bugfix: Removed duplicate - -stdflag in CMake < 3 or when the standard is not yet supported by- CMAKE_CXX_STANDARD.
- Bugfix: Check - scmattribute to avoid breaking recipes with already defined one.
- Feature: Conan workspaces. 
1.4.3 (6-June-2018)ļ
- Bugfix: Added system libraries to the cmake_find_package generator. 
- Fix: Added SIGTERM signal handler to quit safely. 
- Bugfix: Fixed miss-detection of gcc 1 when no gcc was on a Linux machine. 
1.4.2 (4-June-2018)ļ
- Bugfix: Fixed multi-config packages. 
- Bugfix: Fixed cppstd management with CMake and 20 standard version. 
1.4.1 (31-May-2018)ļ
- Bugfix: Solved issue with symlinks making recipes to fail with - self.copy.
- Bugfix: Fixed c++20 standard usage with modern compilers and the creation of the settings.yml containing the settings values. 
- Bugfix: Fixed error with cased directory names in Windows. 
- BugFix: Modified confusing warning message in the SCM tool when the remote couldnāt be detected. 
1.4.0 (30-May-2018)ļ
- Feature: Added - scmconanfile attribute, to easily clone/checkout from remote repositories and to capture the remote and commit in the exported recipe when the recipe and the sources lives in the same repository. Read more in āRecipe and sources in a different repoā and āRecipe and sources in the same repoā.
- Feature: Added - cmake_pathsgenerator to create a file setting- CMAKE_MODULE_PATHand- CMAKE_PREFIX_PATHto the packages folders. It can be used as a CMake toolchain to perform a transparent CMake usage, without include any line of cmake code related to Conan. Read more here.
- Feature: Added - cmake_find_packagegenerator that generates one- FindXXX.cmakefile per each dependency both with classic CMake approach and modern using transitive CMake targets. Read more here.
- Feature: Added conan search --json json output to the command. 
- Feature: CMake build helper now sets - PKG_CONFIG_PATHautomatically and receives new parameter- pkg_config_pathsto override it.
- Feature: CMake build helper doesnāt require to specify āarchā nor ācompilerā anymore when the generator is āUnix Makefilesā. 
- Feature: Introduced default settings for GCC 8, Clang 7. 
- Feature: Introduced support for c++ language standard c++20. 
- Feature: Auto-managed - fPICoption in AutoTools build helper.
- Feature: - tools.vcvars_command()and- tools.vcvars_dict()now take- vcvars_verand- winsdk_versionas parameters.
- Feature: - tools.vcvars_dict()gets only the env vars set by vcvars with new parameter- only_diff=True.
- Feature: Generator - virtualbuildenvnow sets Visual Studio env vars via- tool.vcvars_dict().
- Feature: New tools for Apple development including XCRun wrapper. 
- Fix: Message āPackage ā1ā createdā in package commands with - short_paths=Truenow shows package ID.
- Fix: - tools.vcvars_dict()failing to create dictionary due to newlines in vcvars command output.
- Bugfix: - tools.which()returning directories instead of only files.
- Bugfix: Inconsistent local cache when developing a recipe with - short_paths=True.
- Bugfix: Fixed reusing MSBuild() helper object for multi-configuration packages. 
- Bugfix: Fixed authentication using env vars such as - CONAN_PASSWORDwhen- CONAN_NON_INTERACTIVE=True.
- Bugfix: Fixed Android api_level was not used to adjust CMAKE_SYSTEM_VERSION. 
- Bugfix: Fixed MSBuild() build helper creating empty XML node for runtime when the setting was not declared. 
- Bugfix: Fixed - default_optionsnot supporting- =in value when specified as tuple.
- Bugfix: AutoToolsBuildEnvironment build helperās - pkg_config_pathsparameter now sets paths relative to the install folder or absolute ones if provided.
1.3.3 (10-May-2018)ļ
- Bugfix: Fixed encoding issues writing to files and calculating md5 sums. 
1.3.2 (7-May-2018)ļ
- Bugfix: Fixed broken - run_in_windows_bashdue to wrong argument.
- Bugfix: Fixed - VisualStudioBuildEnvironmentwhen toolset was not defined.
- Bugfix: Fixed md5 computation of conan .tgz files for recipe, exported sources and packages due to file ordering and flags. 
- Bugfix: Fixed - conan download -p=wrong_idcommand
- Fix: Added apple-clang 9.1 
1.3.1 (3-May-2018)ļ
- Bugfix: Fixed regression with - AutoToolsBuildEnvironmentbuild helper that raised exception with not supported architectures during the calculation of the GNU triplet.
- Bugfix: Fixed - pkg_configgenerator, previously crashing when there was no library directories in the requirements.
- Bugfix: Fixed - conanfile.run()with- win_bash=Truequoting the paths correctly.
- Bugfix: Recovered parameter āappendā to the - tools.savefunction.
- Bugfix: Added support (documented but missing) to delete options in - package_id()method using- del self.info.options.<option>
1.3.0 (30-April-2018)ļ
- Feature: Added new build types to default - settings.yml: RelWithDebInfo and MinSizeRel. Compiler flags will be automatically defined in build helpers that do not understand them (- MSBuild,- AutotoolsBuildEnvironment)
- Feature: Improved package integrity. Interrupted downloads or builds shouldnāt leave corrupted packages. 
- Feature: Added conan upload --json json output to the command. 
- Feature: new conan remove --locks to clear cache locks. Useful when killing conan. 
- Feature: New CircleCI template scripts can be generated with the conan new command. 
- Feature: The CMake() build helper manages the fPIC flag automatically based on the options - fPICand- sharedwhen present.
- Feature: Allowing requiring color output with - CONAN_COLOR_DISPLAY=1environment variable. If- CONAN_COLOR_DISPLAYis not set rely on tty detection for colored output.
- Feature: New conan remote rename and conan add --force commands to handle remotes. 
- Feature: Added parameter - use_envto the- MSBuild().build()build helper method to control the- /p:UseEnvmsbuild argument.
- Feature: Timeout for downloading files from remotes is now configurable (defaulted to 60 seconds) 
- Feature: Improved Autotools build helper with new parameters and automatic set of - --prefixto- self.package_folder.
- Feature: Added new tool to compose GNU like triplets for cross-building: - tools.get_gnu_triplet()
- Fix: Use International Units for download/upload transfer sizes (Mb, Kb, etc). 
- Fix: Removed duplicated paths in - cmake_multigenerated files.
- Fix: Removed false positive linter warning for local imports. 
- Fix: Improved command line help for positional arguments 
- Fix -ks alias for --keep-source argument in conan create and conan export. 
- Fix: removed confusing warnings when - self.copy()doesnāt copy files in the- package()method.
- Fix: - Noneis now a possible value for settings with nested subsettings in- settings.yml.
- Fix: if - vcvars_commandis called and Visual is not found, raise an error instead of warning.
- Bugfix: - self.env_info.pathsand- self.env_info.PATHSboth map now to PATHS env-var.
- Bugfix: Local flow was not correctly recovering state for option values. 
- Bugfix: Windows NTFS permissions failed in case USERDOMAIN env-var was not defined. 
- Bugfix: Fixed generator - pkg_configwhen there are absolute paths (not use prefix)
- Bugfix: Fixed parsing of settings values with - "="character in conaninfo.txt files.
- Bugfix: Fixed misdetection of MSYS environments (generation of default profile) 
- Bugfix: Fixed string escaping in CMake files for preprocessor definitions. 
- Bugfix: - upload --no-overwritefailed when the remote package didnāt exist.
- Bugfix: Donāt raise an error if - detect_windows_subsystemdoesnāt detect a subsystem.
1.2.3 (10-Apr-2017)ļ
- Bugfix: Removed invalid version field from scons generator. 
1.2.1 (3-Apr-2018)ļ
- Feature: Support for apple-clang 9.1 
- Bugfix: compiler_args generator manage correctly the flag for the cppstd setting. 
- Bugfix: Replaced exception with a warning message (recommending the six module) when using StringIO class from the io module. 
1.2.0 (28-Mar-2018)ļ
- Feature: The command conan build has new - --configure, --build, --installarguments to control the different stages of the- build()method.
- Feature: The command conan export-pkg now has a --package-folder that can be used to export an exact copy of the provided folder, irrespective of the - package()method. It assumes the package has been locally created with a previous conan package or with a conan build using a- cmake.install()or equivalent feature.
- Feature: New - jsongenerator, generates a json file with machine readable information from dependencies.
- Feature: Improved proxies configuration with - no_proxy_matchconfiguration variable.
- Feature: New conan upload parameter --no-overwrite to forbid the overwriting of recipe/packages if they have changed. 
- Feature: Exports are now copied to - source_folderwhen doing conan source.
- Feature: - tools.vcvars()context manager has no effect if platform is different from Windows.
- Feature: conan download has new optional argument --recipe to download only the recipe of a package. 
- Feature: Added - CONAN_NON_INTERACTIVEenvironment variable to disable interactive prompts.
- Feature: Improved - MSbuild()build helper using- vcvars()and generating property file to adjust the runtime automatically. New method- get_command()with the call to- msbuildtool. Deprecates- tools.build_sln_command()and- tools.msvc_build_command().
- Feature: Support for clang 6.0 correctly managing cppstd flags. 
- Feature: Added configuration to specify a client certificate to connect to SSL server. 
- Feature: Improved - ycmgenerator to show json dependencies.
- Feature: Experimental - --jsonparameter for conan install and conan create to generate a JSON file with install information.
- Fix: conan install --build does not absorb more than one parameter. 
- Fix: Made conanfile templates generated with conan new PEP8 compliant. 
- Fix: conan search output improved when there are no packages for the given reference. 
- Fix: Made conan download also retrieve sources. 
- Fix: Pylint now runs as an external process. 
- Fix: Made - self.userand- self.channelavailable in test_package.
- Fix: Made files writable after a - deploy()or- imports()when- CONAN_READ_ONLY_CACHE`/- general.read_only_cacheenvironment/config variable is- True.
- Fix: Linter showing warnings with - cpp_infoobject in- deploy()method.
- Fix: Disabled linter for Conan pyinstaller as it was not able to find the python modules. 
- Fix: conan user -r=remote_name showed all users for all remotes, not the one given. 
- BugFix: Python reuse code failing to import module in - package_info().
- BugFix: Added escapes for backslashes in - cmakegenerator.
- BugFix: conan config install now raises error if git clone fails. 
- BugFix: Alias resolution not working in diamond shaped dependency trees. 
- BugFix: Fixed builds with Cygwin/MSYS2 failing in Windows with self.short_paths=True and NTFS file systems due to ACL permissions. 
- BugFix: Failed to adjust architecture when running Conan platform detection in ARM devices. 
- BugFix: Output to StringIO failing in Python 2. 
- BugFix: conan profile update not working to update - [env]section.
- BugFix: conan search not creating default remotes when running it as the very first command after Conan installation. 
- BugFix: Package folder was not cleaned after the installation and download of a package had failed. 
1.1.1 (5-Mar-2018)ļ
- Feature: - build_sln_command()and- msvc_build_command()receive a new optional parameter- platformsto match the definition of the .sln Visual Studio project architecture. (Typically Win32 vs x86 problem).
- Bugfix: Flags for Visual Studio command (cl.exe) using ā-ā instead of ā/ā to avoid problems in builds using AutoTools scripts with Visual Studio compiler. 
- Bugfix: Visual Studio runtime flags adjusted correctly in - AutoToolsBuildEnvironment()build helper
- Bugfix: - AutoToolsBuildEnvironment()build helper now adjust the correct build flag, not using eabi suffix, for architecture x86.
1.1.0 (27-Feb-2018)ļ
- Feature: New conan create --keep-build option that allows re-packaging from conan local cache, without re-building. 
- Feature: conan search <pattern> -r=all now searches in all defined remotes. 
- Feature: Added setting - cppstdto manage the C++ standard. Also improved build helpers to adjust the standard automatically when the user activates the setting.- AutoToolsBuildEnvironment(),- CMake(),- MSBuild()and- VisualStudioBuildEnvironment().
- Feature: New - compiler_argsgenerator, for directly calling the compiler from command line, for multiple compilers: VS, gcc, clang.
- Feature: Defined - sysrequires_modevariable (- CONAN_SYSREQUIRES_MODEenv-var) with values- enabled, verify, disabledto control the installation of system dependencies via- SystemPackageTooltypically used in system_requirements().
- Feature: automatically apply - pythonpathenvironment variable for dependencies containing python code to be reused to recipe- source(),- build(),- package()methods.
- Feature: - CMakenew- patch_config_paths()methods that will replace absolute paths to conan package path variables, so cmake find scripts are relocatable.
- Feature: new --test-build-folder command line argument to define the location of the test_package build folder, and new conan.conf - temp_test_folderand environment variable- CONAN_TEMP_TEST_FOLDER, that if set to True will automatically clean the test_package build folder after running.
- Feature: Conan manages relative urls for upload/download to allow access the server from different configured networks or in domain subdirectories. 
- Feature: Added - CONAN_SKIP_VS_PROJECTS_UPGRADEenvironment variable to skip the upgrade of Visual Studio project when using tools.build_sln_command() [DEPRECATED], the msvc_build_command and the MSBuild() build helper.
- Feature: Improved detection of Visual Studio installations, possible to prioritize between multiple installed Visual tools with the - CONAN_VS_INSTALLATION_PREFERENCEenv-var and- vs_installation_preferenceconan.conf variable.
- Feature: Added - keep_pathparameter to- self.copy()within the- imports()method.
- Feature: Added - [build_requires]section to conanfile.txt.
- Feature: Added new conan help <command> command, as an alternative to --help. 
- Feature: Added - targetparameter to- AutoToolsBuildEnvironment.makemethod, allowing to select build target on running make
- Feature: The - CONAN_MAKE_PROGRAMenvironment variable now it is used by the- CMake()build helper to set a custom make program.
- Feature: Added --verify-ssl optional parameter to conan config install to allow self-signed SSL certificates in download. 
- Feature: - tools.get_env()helper method to automatically convert environment variables to python types.
- Fix: Added a visible warning about - libcxxcompatibility and the detected one for the default profile.
- Fix: Wrong detection of compiler in OSX for gcc frontend to clang. 
- Fix: Disabled conanbuildinfo.cmake compiler checks for unknown compilers. 
- Fix: - visual_studiogenerator added missing ResourceCompile information.
- Fix: Donāt output password from URL for conan config install command. 
- Fix: Signals exit with error code instead of 0. 
- Fix: Added package versions to generated SCons file. 
- Fix: Error message when package was not found in remotes has been improved. 
- Fix: conan profile help message. 
- Fix: Use gcc architecture flags -m32, -m64 for MinGW as well. 
- Fix: - CMake()helper do not require settings if- CONAN_CMAKE_GENERATORis defined.
- Fix: improved output of package remote origins. 
- Fix: Profiles files use same structure as conan profile show command. 
- Fix: conanpath.bat file is removed after conan Windows installer uninstall. 
- Fix: Do not add GCC-style flags -m32, -m64, -g, -s to MSVC when using - AutoToolsBuildEnvironment
- Fix: āCanāt find a binary packageā message now includes the Package ID. 
- Fix: added clang 5.0 and gcc 7.3 to default settings.yml. 
- Bugfix: - build_id()logic does not apply unless the- build_idis effectively changed.
- Bugfix: - self.install_folderwas not correctly set in all necessary cases.
- Bugfix: --update option does not ignore local packages for version-ranges. 
- Bugfix: Set - self.develop=Truefor- export-pkgcommand.
- Bugfix: Server HTTP responses were incorrectly captured, not showing errors for some server errors. 
- Bugfix: Fixed - configsection update for sequential calls over the python API.
- Bugfix: Fixed wrong - self.developset to- Falsefor conan create with test_package.
- Deprecation: Removed conan-transit from default remotes registry. 
1.0.4 (30-January-2018)ļ
- Bugfix: Fixed default profile defined in conan.conf that includes another profile 
- Bugfix: added missing management of - sysrootin conanbuildinfo.txt affecting conan build and test_package.
- Bugfix: Fixed warning in conan source because of incorrect management of settings. 
- Bugfix: Fixed priority order of environment variables defined in included profiles 
- Bugfix: NMake error for parallel builds from the - CMakebuild helper have been fixed
- Bugfix: Fixed options pattern not applied to root node ( - -o *:shared=Truenot working for consuming package)
- Bugfix: Fixed shadowed options by package name ( - -o *:shared=True -o Pkg:other=Falsewas not applying- sharedvalue to Pkg)
- Fix: Using - filter_known_paths=Falseas default to- vcvars_dict()helper.
- Fix: Fixed wrong package name for output messages regarding build-requires 
- Fix: Added correct metadata to conan.exe when generated via pyinstaller 
1.0.3 (22-January-2018)ļ
- Bugfix: Correct load of stored settings in conaninfo.txt (for conan build) when - configure()remove some setting.
- Bugfix: Correct use of unix paths in Windows subsystems (msys, cygwin) when needed. 
- Fix: fixed wrong message for conan alias --help. 
- Fix: Normalized all arguments to --xxx-folder in command line help. 
1.0.2 (16-January-2018)ļ
- Fix: Adding a warning message for simultaneous use of - osand- os_buildsettings.
- Fix: Do not raise error from conanbuildinfo.cmake for Intel MSVC toolsets. 
- Fix: Added more architectures to default settings.yml - arch_buildsetting.
- Fix: using --xxx-folder in command line help messages. 
- Bugfix: using quotes for Windows bash path with spaces. 
- Bugfix: vcvars/vcvars_dict not including windows and windows/system32 directories in the path. 
1.0.1 (12-January-2018)ļ
- Fix: conan new does not generate cross-building (like - os_build) settings by default. They make only sense for dev-tools used as- build_requires
- Fix: conaninfo.txt file does not dump settings with None values 
1.0.0 (10-January-2018)ļ
- Bugfix: Fixed bug from - remove_from_pathdue to Windows path backslash
- Bugfix: Compiler detection in conanbuildinfo.cmake for Visual Studio using toolchains like LLVM (Clang) 
- Bugfix: Added quotes to bash path. 
1.0.0-beta5 (8-January-2018)ļ
- Fix: Errors from remotes different to a 404 will raise an error. Disconnected remotes have to be removed from remotes or use explicit remote with - -r myremote
- Fix: cross-building message when building different architecture in same OS 
- Fix: conan profile show now shows profile with same syntax as profile files 
- Fix: generated test code in conan new templates will not run example app if cross building. 
- Fix: conan export-pkg uses the conanfile.py folder as the default --source-folder. 
- Bugfix: conan download didnāt download recipe if there are no binaries. Force recipe download. 
- Bugfix: Fixed blocked - self.run()when stderr outputs large tests, due to full pipe.
1.0.0-beta4 (4-January-2018)ļ
- Feature: - run_in_windows_bashaccepts a dict of environment variables to be prioritized inside the bash shell, mainly intended to control the priority of the tools in the path. Use with- vcvarscontext manager and- vcvars_dict, that returns the PATH environment variable only with the Visual Studio related directories
- Fix: Adding all values to - arch_target
- Fix: conan new templates now use new - os_buildand- arch_buildsettings
- Fix: Updated - CMakehelper to account for- os_buildand- arch_buildnew settings
- Fix: Automatic creation of default profile when it is needed by another one (like - include(default))
- BugFix: Failed installation (non existing package) was leaving lock files in the cache, reporting a package for conan search. 
- BugFix: Environment variables are now applied to - build_requirements()for conan install ..
- BugFix: Dependency graph was raising conflicts for diamonds with alias packages. 
- BugFix: Fixed conan export-pkg after a conan install when recipe has options. 
1.0.0-beta3 (28-December-2017)ļ
- Fix: Upgraded pylint and astroid to latest 
- Fix: Fixed - build_requireswith transitive dependencies to other build_requires
- Fix: Improved pyinstaller creation of executable, to allow for py3-64 bits (windows) 
- Deprecation: removed all --some_argument, use instead --some-argument in command line. 
1.0.0-beta2 (23-December-2017)ļ
- Feature: New command line UI. Most commands use now the path to the package recipe, like conan export . user/testing or conan create folder/myconanfile.py user/channel. 
- Feature: Better cross-compiling. New settings model for - os_build,- arch_build,- os_target,- arch_target.
- Feature: Better Windows OSS ecosystem, with utilities and settings model for MSYS, Cygwin, Mingw, WSL 
- Feature: - package()will not warn of not copied files for known use cases.
- Feature: reduce the scope of definition of - cpp_info,- env_info,- user_infoattributes to- package_info()method, to avoid unexpected errors.
- Feature: extended the use of addressing folder and conanfiles with different names for - source,- packageand- export-pkgcommands
- Feature: added support for Zypper system package tool 
- Fix: Fixed application of build requires from profiles that didnāt apply to requires in recipes 
- Fix: Improved ātest packageā message in output log 
- Fix: updated CI templates generated with conan new 
- Deprecation: Removed - self.copy_headersand family for the- package()method
- Deprecation: Removed - self.conanfile_directoryattribute.
Note
This is a beta release, shouldnāt be installed unless you do it explicitly
$ pip install conan==1.0.0b2 āupgrade
Breaking changes
- The new command line UI breaks command line tools and integration. Most cases, just add a . to the command. 
- Removed - self.copy_headers,- self.copy_libs, methods for- package(). Use- self.copy()instead.
- Removed - self.conanfile_directoryattribute. Use- self.source_folder,- self.build_folder, etc. instead
0.30.3 (15-December-2017)ļ
- Reverted - CMake()and- Meson()build helpers to keep old behavior.
- Forced Astroid dependency to < 1.6 because of py3 issues. 
0.30.2 (14-December-2017)ļ
- Fix: - CMake()and- Meson()build helpers and relative directories regression.
- Fix: - ycmgenerator, removed the access of- cpp_infoto generators, keeping the access to- deps_cpp_info.
0.30.1 (12-December-2017)ļ
- Feature: Introduced major versions for gcc (5, 6, 7) as defaults settings for OSS packages, as minors are compatible by default 
- Feature: - VisualStudioBuildEnvironmenthas added more compilation and link flags.
- Feature: new - MSBuild()build helper that wraps the call to- msvc_build_command()with the correct application of environment variables with the improved- VisualStudioBuildEnvironment
- Feature: - CMakeand- Mesonbuild helpers got a new- cache_build_dirargument for- configure(cache_build_dir=None)that will be used to define a build directory while the package is being built in local cache, but not when built locally
- Feature: - conanfilesgot a new- apply_envattribute, defaulted to- True. If false, the environment variables from dependencies will not be automatically applied. Useful if you donāt want some dependency adding itself to the PATH by default, for example
- Feature: allow recipes to use and run python code installed with conan config install. 
- Feature: - conanbuildinfo.cmakenow has- KEEP_RPATHSas argument to keep the RPATHS, as opposed to old SKIP_RPATH which was confusing. Also, it uses set(CMAKE_INSTALL_NAME_DIR āā) to keep the old behavior even for CMake >= 3.9
- Feature: conan info is able to get profile information from the previous install, instead of requiring it as input again 
- Feature: - tools.unix_pathsupport MSYS, Cygwin, WSL path flavors
- Feature: added - destinationfolder argument to- tools.get()function
- Feature: - SystemPackageToolfor apt-get now uses --no-install-recommends automatically.
- Feature: - visual_studio_multigenerator now uses toolsets instead of IDE version to identify files.
- Fix: generators failures print traces to help debugging 
- Fix: typos in generator names, or non-existing generator now raise an Error instead of a warning 
- Fix: - short_pathsfeature is active by default in Windows. If you want to opt-out, you can use- CONAN_USER_HOME_SHORT=None
- Fix: - SystemPackageTooldoesnāt use sudo in Windows
- BugFix: Not using parallel builds for Visual<10 in CMake build helper. 
- Deprecation: - conanfile_directory` shouldn't be used anymore in recipes. Use ``source_folder,- build_folder, etc.
Note
Breaking changes
- scopeshave been completely removed. You can use environment variables, or the- conanfile.developor- conanfile.in_local_cacheattributes instead.
- Command test_package has been removed. Use conan create` instead, and conan test` for just running package tests. 
- werrorbehavior is now by default. Dependencies conflicts will now error, and have to be fixed.
- short_pathsfeature is again active by default in Windows, even with Py3.6 and system LongPathsEnabled.
- ConfigureEnvironmentand- GCCbuild helpers have been completely removed
0.29.2 (2-December-2017)ļ
- Updated python cryptography requirement for OSX due the pyOpenSSL upgrade. See more: https://pypi.org/project/pyOpenSSL/ 
0.29.1 (23-November-2017)ļ
- Support for OSX High Sierra 
- Reverted concurrency locks to counters, removed - psutildependency
- Implemented migration for settings.yml (for new VS toolsets) 
- Fixed encoding issues in conan_server 
0.29.0 (21-November-2017)ļ
- Feature: Support for WindowsStore (WinRT, UWP) 
- Feature: Support for Visual Studio Toolsets. 
- Feature: New - boost-buildgenerator for generic bjam (not only Boost)
- Feature: new - tools.PkgConfighelper to parse pkg-config (.pc) files.
- Feature: Added - self.developconanfile variable. It is true for conan create packages and for local development.
- Feature: Added - self.keep_importsto avoid removal of imported files in the- build()method. Convenient for re-packaging.
- Feature: Autodetected MSYS2 for - SystemPackageTool
- Feature: - AutoToolsBuildEnvironmentnow auto-loads- pkg_config_path(to use with- pkg_configgenerator)
- Feature: Changed search for profiles. Profiles not found in the default - profilesfolder, will be searched for locally. Use- ./myprofileto force local search only.
- Feature: Parallel builds for Visual Studio (previously it was only parallel compilation within builds) 
- Feature: implemented syntax to check options with - if "something" in self.options.myoption
- Fix: Fixed CMake dependency graph when using TARGETS, that produced wrong link order for transitive dependencies. 
- Fix: Trying to download the - exports_sourcesis not longer done if such attribute is not defined
- Fix: Added output directories in - cmakegenerator for RelWithDebInfo and MinSizeRel configs
- Fix: Locks for concurrent access to local cache now use process IDs (PIDs) to handle interruptions and inconsistent states. Also, adding messages when locking. 
- Fix: Not remove the .zip file after a conan config install if such file is local 
- Fix: Fixed - CMake.test()for the Ninja generator
- Fix: Do not create local conaninfo.txt file for conan install <pkg-ref> commands. 
- Fix: Solved issue with multiple repetitions of the same command line argument 
- BugFix: Donāt rebuild conan created (with conan-create) packages when - build_policy="always"
- BugFix: conan copy was always copying binaries, now can copy only recipes 
- BugFix: A bug in download was causing appends instead of overwriting for repeated downloads. 
- Development: Large restructuring of files (new cmd and build folders) 
- Deprecation: Removed old CMake helper methods (only valid constructor is - CMake(self))
- Deprecation: Removed old - conan_info()method, that was superseded by- package_id()
Note
Breaking changes
- CMAKE_LIBRARY_OUTPUT_DIRECTORY definition has been introduced in - conan_basic_setup(), it will send shared libraries .so to the- libfolder in Linux systems. Right now it was undefined.
- Profile search logic has slightly changed. For - -pr=myprofile, such profile will be searched both in the default folder and in the local one if not existing. Use- -pr=./myprofileto force local search only.
- The conan copy command has been fixed. To copy all binaries, it is necessary to explicit --all, as other commands do. 
- The only valid use of CMake helper is - CMake(self)syntax.
- If using - conan_info(), replace it with- package_id().
- Removed environment variable - CONAN_CMAKE_TOOLSET, now the toolset can be specified as a subsetting of Visual Studio compiler or specified in the build helpers.
0.28.1 (31-October-2017)ļ
- BugFix: Downloading ( - tools.download) of files with- content-encoding=gzipwere raising an exception because the downloaded content length didnāt match the http header- content-length
0.28.0 (26-October-2017)ļ
This is a big release, with many important and core changes. Also with a huge number of community contributions, thanks very much!
- Feature: Major revamp of most conan commands, making command line arguments homogeneous. Much better development flow adapting to user layouts, with - install-folder,- source-folder,- build-folder,- package-folder.
- Feature: new - deploy()method, useful for installing binaries from conan packages
- Feature: Implemented some concurrency support for the conan local cache. Parallel conan install and conan create for different configurations should be possible. 
- Feature: options now allow patterns in command line: - -o *:myoption=myvalueapplies to all packages
- Feature: new - pcgenerator that generates files from dependencies for- pkg-config
- Feature: new - Mesonhelper, similar to- CMakefor Meson build system. Works well with- pcgenerator.
- Feature: Support for read-only cache with - CONAN_READ_ONLY_CACHEenvironment variable
- Feature: new - visual_studio_multigenerator to load Debug/Release, 32/64 configs at once
- Feature: new - tools.whichhelper to locate executables
- Feature: new conan --help layout 
- Feature: allow to override compiler version in - vcvars_command
- Feature: conan user interactive (and not exposed) password input for empty - -pargument
- Feature: Support for - PacManToolfor- system_requirements()for ArchLinux
- Feature: Define VS toolset in - CMakeconstructor and from environment variable CONAN_CMAKE_TOOLSET
- Feature: conan create now accepts - werrorargument
- Feature: - AutoToolsBuildEnvironmentcan use- CONAN_MAKE_PROGRAMenv-var to define make program
- Feature: added xcode9 for apple-clang 9.0, clang 5 to default settings.yml 
- Feature: deactivation of - short_pathsin Windows 10 with Py3.6 and long path support is automatic
- Feature: show unzip progress by percentage, not by file (do not clutters output) 
- Feature: do not use - sudofor system requirements if already running as root
- Feature: - tools.downloadable to use headers/auth
- Feature: conan does not longer generate bytecode from recipes (no more .pyc, and more efficient) 
- Feature: add parallel argument to - build_sln_commandfor VS
- Feature: Show warning if vs150comntools is an invalid path 
- Feature: - tools.get()now has arguments for hash checking
- Fix: upload pattern now accepts - Pkg/*
- Fix: improved downloader, make more robust, better streaming 
- Fix: - tools.patchnow support adding/removal of files
- Fix: The - defaultprofile is no longer taken as a base and merged with user profile. Use explicit- include(default)instead.
- Fix: properly manage x86 as cross building with autotools 
- Fix: - tools.unzipremoved unnecessary long-paths check in Windows
- Fix: - package_info()is no longer executed at install for the consumer conanfile.py
- BugFix: source folder was not being correctly removed when recipe was updated 
- BugFix: fixed - CMAKE_C_FLAGS_DEBUGdefinition in- cmakegenerator
- BugFix: - CMAKE_SYSTEM_NAMEis now Darwin for iOS, watchOS and tvOS
- BugFix: - xcodegenerator fixed handling of compiler flags
- BugFix: pyinstaller hidden import that broke .deb installer 
- BugFix: conan profile list when local files matched profile names 
Note
Breaking changes
This is an important release towards stabilizing conan and moving out of beta. Some breaking changes have been done, but mostly to command line arguments, so they should be easy to fix. Package recipes or existing packages shouldnāt break. Please update, it is very important to ease the transition of future stable releases. Do not hesitate to ask questions, or for help if you need it. This is a possibly not complete list of things to take into account:
- The command conan install doesnāt accept - cwdanymore, to change the directory where the generator files are written, use the --install-folder parameter.
- The command conan install doesnāt accept --all anymore. Use conan download <ref> instead. 
- The command conan build now requires the path to the - conanfile.py(optional before)
- The command conan package not longer re-package a package in the local cache, now it only operates in a user local folder. The recommended way to re-package a package is using conan build and then conan export-pkg. 
- Removed conan package_files in favor of a new command conan export-pkg. It requires a local recipe with a - package()method.
- The command conan source no longer operates in the local cache. now it only operates in a user local folder. If you used conan source with a reference to workaround the concurrency, now it natively supported, you can remove the command call and trust concurrent install processes. 
- The command conan imports doesnāt accept - -d, --destanymore, use --imports-folder parameter instead.
- If you specify a profile in a conan command, like conan create or conan install the base profile ~/.conan/profiles/default wonāt be applied. Use explicit - includeto keep the old behavior.
0.27.0 (20-September-2017)ļ
- Feature: conan config install <url> new command. Will install remotes, profiles, settings, conan.conf and other files into the local conan installation. Perfect to synchronize configuration among teams 
- Feature: improved traceback printing when errors are raised for more context. Configurable via env 
- Feature: filtering out non existing directories in - cpp_info(include, lib, etc), so some build systems donāt complain about them.
- Feature: Added include directories to ResourceCompiler and to MIDL compiler in - visual_studiogenerator
- Feature: new - visual_studio_legacygenerator for Visual Studio 2008
- Feature: show path where manifests are locally stored 
- Feature: - replace_in_filenow raises error if replacement is not done (opt-out parameter)
- Feature: enabled in conan.conf - [proxies]section- no_proxy=url1,url2configuration (to skip proxying for those URLs), as well as- http=Noneand- https=Noneto explicitly disable them.
- Feature: new conanfile - self.in_local_cacheattribute for conditional logic to apply in user folders local commands
- Feature: - CONAN_USER_HOME_SHORT=Nonecan disable the usage of- short_pathsin Windows, for modern Windows that enable long paths at the system level
- Feature: - if "arm" in self.settings.archis now a valid check (without casting to str(self.settings.arch))
- Feature: added cwd`` argument to conan source local method. 
- Fix: unzip crashed for 0 Bytes zip files 
- Fix: - collect_libsmoved to the- toolsmodule
- Bugfix: fixed wrong regex in - deps_cpp_infocausing issues with dots and dashes in package names
- Development: Several internal refactorings (tools module, installer), testing (using VS2015 as default, removing VS 12 in testing). Conditional CI in travis for faster builds in developers, downgrading to CMake 3.7 in appveyor 
- Deprecation: - dev_requireshave been removed (it was not documented, but accessible via the- requires(dev=True)parameter. Superseded by- build_requires.
- Deprecation: sources tgz files for exported sources no longer contain ā.c_srcā subfolder. Packages created with 0.27 will be incompatible with conan < 0.25 
0.26.1 (05-September-2017)ļ
- Feature: added apple-clang 9.0 to default settings. 
- Fix: conan copy command now supports symlinks. 
- Fix: fixed removal of āexport_sourceā folder when files have no permissions 
- Bugfix: fixed parsing of conanbuildinfo.txt with package names containing dots. 
0.26.0 (31-August-2017)ļ
- Feature: conan profile command has implemented - update,- new,- removesubcommands, with detect``, to allow creation, edition and management of profiles.
- Feature: conan package_files command now can call recipe - package()method if build_folder`` or source_folder`` arguments are defined
- Feature: graph loading algorithm improved to avoid repeating nodes. Results in much faster times for dense graphs, and avoids duplications of private requirements. 
- Feature: authentication based on environment variables. Allows very long processes without tokens being expired. 
- Feature: Definition of Visual Studio runtime setting - MDor- MDdis now automatic based on build type, not necessary to default in profile.
- Feature: Capturing - SystemExitto return user error codes to the system with- sys.exit(code)
- Feature: Added SKIP_RPATH argument to cmake - conan_basic_setup()function
- Feature: Optimized uploads, now uploads will be skipped if there are no changes, irrespective of timestamp 
- Feature: Automatic detection of VS 15-2017, via both a - vs150comntoolsvariable, and using- vswhere.exe
- Feature: Added NO_OUTPUT_DIRS argument to cmake - conan_basic_setup()function
- Feature: Add support for Chocolatey system package manager for Windows. 
- Feature: Improved in conan user home and path storage configuration, better error checks. 
- Feature: - exportcommand is now able to export recipes without name or version, specifying the full reference.
- Feature: Added new default settings, Arduino, gcc-7.2 
- Feature: Add conan settings to cmake generated file 
- Feature: new - tools.replace_prefix_in_pc_file()function to help with .pc files.
- Feature: Adding support for system package tool - pkgutilon Solaris
- Feature: conan remote update now allows --insert argument to change remote order 
- Feature: Add - verbosedefinition to- CMakehelper.
- Fix: conan package working locally failed if not specified build_folder 
- Fix: Search when using wildcards for version like - Pkg/*@user/channel
- Fix: Change current working directory to the conanfile.py one before loading it, so relative python imports or code work. 
- Fix: - package_filescommand now works with- short_pathstoo.
- Fix: adding missing require of tested package in test_package/conanfile build() method 
- Fix: path joining in - vcvars_commandfor custom VS paths defined via env-vars
- Fix: better managing string escaping in CMake variables 
- Fix: - ExecutablePathassignment has been removed from the- visual_studiogenerator.
- Fix: removing - export_sourcefolder containing exported code, fix issues with read-only files and keeps cache consistency better.
- Fix: Accept 100 return code from yum check-update 
- Fix: importing *.so files from the conan new generated test templates 
- Fix: progress bars display when download/uploads are not multipart (reported size 0) 
- Bugfix: fixed wrong OSX - DYLD_LIBRARY_PATHvariable for virtual environments
- Bugfix: - FileCopierhad a bug that affected- self.copy()commands, changing base reference directory.
0.25.1 (20-July-2017)ļ
- Bugfix: Build requires are now applied correctly to test_package projects. 
- Fix: Fixed search command to print an error when ātable parameter is used without a reference. 
- Fix: install() method of the CMake() helper, allows parallel building, change build folder and custom parameters. 
- Fix: Controlled errors in migration, print warning if conan is not able to remove a package directory. 
0.25.0 (19-July-2017)ļ
Note
This release introduces a new layout for the local cache, with dedicated export_source folder to store the source code exported with exports_sources feature, which is much cleaner than the old .c_src subfolder. A migration is included to remove from the local cache packages with the old layout.
- Feature: new conan create command that supersedes test_package for creating and testing package. It works even without the test_package folder, and have improved management for user, channel. The test_package recipe no longer defines - requires
- Feature: new conan get command that display (with syntax highlight) package recipes, and any other file from conan: recipes, conaninfo.txt, manifests, etc. 
- Feature: new conan alias command that creates a special package recipe, that works like an alias or a proxy to other package, allowing easy definition and transparent management of āusing the latest minorā and similar policies. Those special alias packages do not appear in the dependency graph. 
- Feature: new conan search --table=file.html command that will output an html file with a graphical representation of available binaries 
- Feature: created default profile, that replace the - [settings_default]in conan.conf and augments it, allowing to define more things like env-vars, options, build_requires, etc.
- Feature: new - self.user_infomember that can be used in- package_info()to define custom user variables, that will be translated to general purpose variables by generators.
- Feature: conan remove learned the --outdated argument, to remove those binary packages that are outdated from the recipe, both from local cache and remotes 
- Feature: conan search learned the --outdated argument, to show only those binary packages that are outdated from the recipe, both from local cache and remotes 
- Feature: Automatic management - CMAKE_TOOLCHAIN_FILEin- CMakehelper for cross-building.
- Feature: created - conan_api, a python API interface to conan functionality.
- Feature: new - cmake.install()method of- CMakehelper.
- Feature: - short_pathsfeature now applies also to- exports_sources
- Feature: - SystemPackageToolnow supports FreeBSD system packages
- Feature: - build_requiresnow manage options too, also default options in package recipes
- Feature: conan build learned new --package_folder argument, useful if the build system perform the packaging 
- Feature: - CMakehelper now defines by default- CMAKE_INSTALL_PREFIXpointing to the current package_folder, so- cmake.install()can transparently execute the packaging.
- Feature: improved command UX with cwd`` arguments to allow define the current directory for the command 
- Feature: improved - VisualStudioBuildEnvironment
- Feature: transfers now show size (MB, KB) of download/uploaded files, and current status of transfer. 
- Feature: conan new now has arguments to generate CI scripts for Gitlab CI. 
- Feature: Added - MinRelSizeand- RelWithDebInfomanagement in- CMakehelper.
- Fix: make - mkdir,- rmdir,- relative_dirsavailable for import from conans module.
- Fix: improved detection of Visual Studio default under cygwin environment. 
- Fix: - package_filesnow allows symlinks
- Fix: Windows installer now includes conan_build_info tool. 
- Fix: appending environment variables instead of overwriting them when they come from different origins: upstream dependencies and profiles. 
- Fix: made opt-in the check of package integrity before uploads, it was taking too much time, and provide little value for most users. 
- Fix: Package recipe linter removed some false positives 
- Fix: default settings from conan.conf do not fail for constrained settings in recipes. 
- Fix: Allowing to define package remote with conan remote add_ref before download/upload. 
- Fix: removed duplicated BUILD_SHARED_LIBS in test_package 
- Fix: add ārhelā to list of distros using yum. 
- Bugfix: allowing relative paths in - exportsand- exports_sourcesfields
- Bugfix: allow custom user generators with underscore 
0.24.0 (15-June-2017)ļ
- Feature: conan new new arguments to generate Travis-CI and Appveyor files for Continuous Integration 
- Feature: Profile files with - include()and variable declaration
- Feature: Added - RelWithDebInfo/MinRelSizeto cmake generators
- Feature: Improved linter, removing false positives due to dynamic conanfile attributes 
- Feature: Added - tools.ftp_download()function for FTP retrieval
- Feature: Managing symlinks between folders. 
- Feature: conan remote add command learned new insert`` option to add remotes in specific order. 
- Feature: support multi-config in the - SConsgenerator
- Feature: support for gcc 7.1+ detection 
- Feature: - toolsnow are using global- requestsand- outputinstances. Proxies will work for- tools.download()
- Feature: json`` parameter added to conan info` command to create a JSON with the - build_order.
- Fix: update default repos, now pointing to Bintray. 
- Fix: printing - outdated from recipealso for remotes
- Fix: Fix required slash in - configure_dirof- AutoToolsBuildEnvironment
- Fix: command - newwith very short names, now errors earlier.
- Fix: better error detection for incorrect - Conanfile.pyletter case.
- Fix: Improved some cmake robustness using quotes to avoid cmake errors 
- BugFix: Fixed incorrect firing of building due to build`` patterns error 
- BugFix: Fixed bug with options incorrectly applied to - build_requiresand crashing
- Refactor: internal refactorings toward having a python api to conan functionality 
0.23.1 (05-June-2017)ļ
- BugFix: Fixed bug while packaging symlinked folders in build folder, and target not being packaged. 
- Relaxed OSX requirement of pyopenssl to <18 
0.23.0 (01-June-2017)ļ
- Feature: new - build_requiresfield and- build_requirements()in package recipes
- Feature: improved commands (source, build, package, package_files) and workflows for local development of packages in user folders. 
- Feature: implemented - no_copy_sourceattribute in recipes to avoid the copy of source code from āsourceā to ābuild folderā. Created new- self.source_folder,- self.build_folder,- self.package_folderfor recipes to use.
- Feature: improved - qmakegenerator with multi-config support, resource directories
- Feature: improved exception capture and formatting for all recipe user methods exceptions 
- Feature: new - tools.sha256()method
- Feature: folder symlinks working now for packages and upload/download 
- Feature: added - set_find_paths()to- cmake-multi, to set CMake FindXXX.cmake paths. This will work only for single-config build-systems.
- Feature: using environment variables for - configure(),- requirements()and- test()methods
- Feature: added a - pylintrcenvironment variable in- conan.confto define a PYLINTRC file with custom style definitions (like indents).
- Feature: fixed - vcvarsarchitecture setting
- Fix: Make - cacert.pemfolder use CONAN_USER_HOME if existing
- Fix: fixed - options=a=boption definition
- Fix: - package_filescommand allows force`` argument to overwrite existing instead of failing
- BugFix: Package names with underscore when parsing - conanbuildinfo.txt
0.22.3 (03-May-2017)ļ
- Fix: Fixed CMake generator (in targets mode) with linker/exe flags like āframework XXX containing spaces. 
0.22.2 (20-April-2017)ļ
- Fix: Fixed regression with usernames starting with non-alphabetical characters, introduced by 0.22.0 
0.22.1 (18-April-2017)ļ
- Fix: ā-ā symbol available again in usernames. 
- Fix: Added - futurerequirement to solve an error with pyinstaller generating the Windows installer.
0.22.0 (18-April-2017)ļ
- Feature: - [build_requires]can now be declared in- profilesand apply them to build packages. Those requirements are only installed if the package is required to build from sources, and do not affect its package ID hash, and it is not necessary to define them in the package recipe. Ideal for testing libraries, cross compiling toolchains (like Android), development tools, etc.
- Feature: Much improved support for cross-building. Support for cross-building to Android provided, with toolchains installable via - build_requires.
- Feature: New - package_filescommand, that is able to create binary packages directly from user files, without needing to define- build()or- package()methods in the the recipes.
- Feature: command conan new with a new bare`` option that will create a minimal package recipe, usable with the - package_filescommand.
- Feature: Improved - CMakehelper, with- test()method, automatic setting of BUILD_SHARED_LIBS, better management of variables, support for parallel compilation in MSVC (via /MP)
- Feature: new - tools.msvc_build_command()helper that both sets the Visual vcvars and calls Visual to build the solution. Also- vcvars_commandis improved to return non-empty string even if vcvars is set, for easier concatenation.
- Feature: Added package recipe linter, warning for potential errors and also about Python 3 incompatibilities when running from Python 2. Enabled by default can be opt-out. 
- Feature: Improvements in HTML output of conan info --graph. 
- Feature: allow custom path to bash, as configuration and environment variable. 
- Fix: Not issuing an unused variable warning in CMake for the CONAN_EXPORTED variable 
- Fix: added new - mipsarchitectures and latest compiler versions to default settings.yml
- Fix: Unified username allowed patterns to those used in package references. 
- Fix: hardcoded vs15 version in tools.vcvars 
- BugFix: Clean crash and improved error messages when manifests mismatch exists in conan upload. 
0.21.2 (04-April-2017)ļ
- Bugfix: virtualenv generator quoting environment variables in Windows. 
0.21.1 (23-March-2017)ļ
- BugFix: Fixed missing dependencies in - AutoToolsBuildEnvironment
- BugFix: Escaping single quotes in html graph of conan info --graph=file.html. 
- BugFix: Fixed loading of auth plugins in conan_server 
- BugFix: Fixed - visual_studiogenerator creating XML with dots.
0.21.0 (21-March-2017)ļ
- Feature: conan info --graph or graph=file.html`` will generate a dependency graph representation in dot or html formats. 
- Feature: Added better support and tests for Solaris Sparc. 
- Feature: custom authenticators are now possible in conan_server` with plugins. 
- Feature: extended conan info command with path information and filter by packages. 
- Feature: enabled conditional binary packages removal with conan remove with query syntax 
- Feature: enabled generation and validation of manifests from test_package. 
- Feature: allowing - optionsdefinitions in profiles
- Feature: new - RunEnvironmenthelper, that makes easier to run binaries from dependent packages
- Feature: new - virtualrunenvgenerator that activates environment variable for execution of binaries from installed packages, without requiring- importsof shared libraries.
- Feature: adding new version modes for ABI compatibility definition in - package_id().
- Feature: Extended conan new command with new option for - exports_sourcesexample recipe.
- Feature: - CMakehelper defining parallel builds for gcc-like compilers via jN``, allowing user definition with environment variable and in conan.conf.
- Feature: conan profile` command now show profiles in alphabetical order. 
- Feature: extended - visual_studiogenerator with more information and binary paths for execution with DLLs paths.
- Feature: Allowing relative paths with $PROFILE_DIR place holder in - profiles
- Fix: using only file checksums to decide for modified recipe in remote, for possible concurrent builds & uploads. 
- Fix: Improved build`` modes management, with better checks and allowing multiple definitions and mixtures of conditions 
- Fix: Replaced warning for non-matching OS to one message stating the cross-build 
- Fix: local conan source` command (working in user folder) now properly executes the equivalent of - exportsfunctionality
- Fix: Setting command line arguments to cmake command as CMake flags, while using the TARGETS approach. Otherwise, arch flags like -m32 -m64 for gcc were not applied. 
- BugFix: fixed conan imports destination folder issue. 
- BugFix: Allowing environment variables with spaces 
- BugFix: fix for CMake with targets usage of multiple flags. 
- BugFix: Fixed crash of - cmake_multigenerator for āmulti-configā packages.
0.20.3 (06-March-2017)ļ
- Fix: Added opt-out for - CMAKE_SYSTEM_NAMEautomatically added when cross-building, causing users providing their own cross-build to fail
- BugFix: Corrected usage of - CONAN_CFLAGSinstead of- CONAN_C_FLAGSin cmake targets
0.20.2 (02-March-2017)ļ
- Fix: Regression of - visual_studio``generator using ``%(ExecutablePath)instead of- $(ExecutablePath)
- Fix: Regression for build=outdated ābuild=Pkg`` install pattern 
0.20.1 (01-March-2017)ļ
- Fix: Disabled the use of cached settings and options from installed - conaninfo.txt
- Fix: Revert the use of quotes in - cmakegenerator for flags.
- Fix: Allow comments in artifacts.properties 
- Fix: Added missing commit for CMake new helpers 
0.20.0 (27-February-2017)ļ
NOTE: It is important that if you upgrade to this version, all the clients connected to the same remote, should upgrade too. Packages created with conan>=0.20.0 might not be usable with conan older conan clients.
- Feature: Largely improved management of environment variables, declaration in - package_info(), definition in profiles, in command line, per package, propagation to consumers.
- Feature: New build helpers - AutotoolsBuildEnvironment,- VisualStudioBuildEnvironment, which deprecate- ConfigureEnvironment, with much better usage of environment variables
- Feature: New - virtualbuildenvgenerator that will generate a composable environment with build information from installed dependencies.
- Feature: New - build_id()recipe method that allows to define logic to build once, and package multiple times without building. E.g.: build once both debug and release artifacts, then package separately.
- Feature: Multi-config packages. Now packages can provide multi-configuration packages, like both debug/release artifacts in the same package, with - self.cpp_info.debug.libs = [...]syntax. Not restricted to debug/release, can be used for other purposes.
- Feature: new conan config command to manage, edit, display - conan.confentries
- Feature: Improvements to - CMakebuild helper, now it has- configure()and- build()methods for common operations.
- Feature: Improvements to - SystemPackageToolwith detection of installed packages, improved implementation, installation of multi-name packages.
- Feature: Unzip with - tools.unzipmaintaining permissions (Linux, OSX)
- Feature: conan info command now allows profiles too 
- Feature: new tools - unix_path(),- escape_windows_cmd(),- run_in_windows_bash(), useful for autotools projects in Win/MinGW/Msys
- Feature: new context manager - tools.chdir, to temporarily change directory.
- Feature: CMake using - CMAKE_SYSTEM_NAMEfor cross-compiling.
- Feature: Artifactory build-info extraction from traces 
- Feature: Attach custom headers to artifacts uploads with an artifacts.properties file. 
- Feature: allow and copy symlinks while conan export 
- Fix: removing quotes in some cmake variables that were generating incorrect builds 
- Fix: providing better error messages for non existing binaries, with links to the docs 
- Fix: improved error messages if - tools.patchfailed
- Fix: adding - resdirsto- cpp_infopropagated information, and cmake variables, for directories containing resources and other data.
- Fix: printing error messages if a build`` policy doesnāt match any package 
- Fix: managing VS2017 by - tools. Still the manual definition of- vs150comntoolsrequired.
- Bug fix: crashes when not supported characters were dumped to terminal by logger 
- Bug fix: wrong executable path in Visual Studio generator 
0.19.3 (27-February-2017)ļ
- Fix: backward compatibility for new environment variables. New features to be introduced in 0.20 will produce that - conaninfo.txtwill not be correctly parsed, and then package would be āmissingā. This will happen for packages created with 0.20, and consumed with older than 0.19.3
NOTE: It is important that you upgrade at least to this version if you are using remotes with packages that might be created with latest conan releases (like conan.io).
0.19.2 (15-February-2017)ļ
- Bug fix: Fixed bug with remotes behind proxies 
- Bug fix: Fixed bug with - exports_sourcesfeature and nested folders
0.19.1 (02-February-2017)ļ
- Bug fix: Fixed issue with conan copy` followed by conan upload` due to the new - exports_sourcesfeature.
0.19.0 (31-January-2017)ļ
- Feature: - exports_sourcesallows to snapshot sources (like- exports) but retrieve them strictly when necessary, to build from sources. This can largely improve install times for package recipes containing sources
- Feature: new configurable tracer able to create structured logs of conan actions: commands, API calls, etc 
- Feature: new logger for - self.runactions, able to log information from builds and other commands to files, that can afterwards be packaged together with the binaries.
- Feature: support for Solaris SunOS 
- Feature: - Versionhelper improved with- patch, pre, buildcapabilities to handle- 1.3.4-alpha2+build1versions
- Feature: compress level of tgz is now configurable via - CONAN_COMPRESSION_LEVELenvironment variable, default 9. Reducing it can lead to faster compression times, at the expense of slightly bigger archives
- Feature: Add powershell support for virtualenv generator in Windows 
- Feature: Improved - system_requirements()raising errors when failing, retrying if not successful, being able to execute in user space for local recipes
- Feature: new cmake helper macro - conan_target_link_libraries().
- Feature: new cmake - CONAN_EXPORTEDvariable, can be used in CMakeLists.txt to differentiate building in the local conan cache as package and building in user space
- Fix: improving the caching of options from conan install in conaninfo.txt and precedence. 
- Fix: conan definition of cmake output dirs has been disabled for - cmake_multigenerator
- Fix: - imports()now uses environment variables at āconan installā (but not at āconan importsā yet)
- Fix: - conan_info()method has been renamed to- package_id(). Backward compatibility is maintained, but it is strongly encouraged to use the new name.
- Fix: - conan_find_librariesnow use the NO_CMAKE_FIND_ROOT_PATH parameter for avoiding issue while cross-compiling
- Fix: disallowing duplicate URLs in remotes, better error management 
- Fix: improved error message for wildcard uploads not matching any package 
- Fix: remove deprecated - platform.linux_distribution(), using new ādistroā package
- Bugfix: fixed management of - VerifySSLparameter for remotes
- Bugfix: fixed misdetection of compiler version in conanbuildinfo.cmake for apple-clang 
- Bugfix: fixed trailing slash in remotes URLs producing crashes 
- Refactor: A big refactor has been do to - options. Nested options are no longer supported, and- option.suboptionwill be managed as a single string option.
This has been a huge release with contributors of 11 developers. Thanks very much to all of them!
0.18.1 (11-January-2017)ļ
- Bug Fix: Handling of transitive private dependencies in modern cmake targets 
- Bug Fix: Missing quotes in CMake macro for modern cmake targets 
- Bug Fix: Handling LINK_FLAGS in cmake modern targets 
- Bug Fix: Environment variables no propagating to test project with test_package command 
0.18.0 (3-January-2017)ļ
- Feature: uploads and downloads with retries on failures. This helps to avoid having to fully rebuild on CI when a network transfer fails 
- Feature: added SCons generator 
- Feature: support for Python 3.6, with several fixes. Added Python 3.6 to CI. 
- Feature: show package dates in conan info command 
- Feature: new - cmake_multigenerator for multi-configuration IDEs like Visual Studio and Xcode
- Feature: support for Visual Studio 2017, VS-15 
- Feature: FreeBSD now passes test suite 
- Feature: conan upload showing error messages or URL of remote 
- Feature: wildcard or pattern upload. Useful to upload multiple packages to a remote. 
- Feature: allow defining settings as environment variables. Useful for use cases like dockerized builds. 
- Feature: improved help`` messages 
- Feature: cmake helper tools to launch conan directly from cmake 
- Added code coverage for code repository 
- Fix: conan.io badges when containing dash 
- Fix: manifests errors due to generated .pyc files 
- Bug Fix: unicode error messages crashes 
- Bug Fix: duplicated build of same binary package for private dependencies 
- Bug Fix: duplicated requirement if using version-ranges and - requirements()method.
0.17.2 (21-December-2016)ļ
- Bug Fix: ConfigureEnvironment helper ignoring libcxx setting. #791 
0.17.1 (15-December-2016)ļ
- Bug Fix: conan install āall generating corrupted packages. Thanks to @yogeva 
- Improved case sensitive folder management. 
- Fix: appveyor links in README. 
0.17.0 (13-December-2016)ļ
- Feature: support for modern cmake with cmake - INTERFACE IMPORTEDtargets defined per package
- Feature: support for more advanced queries in search. 
- Feature: new - profile list|showcommand, able to list or show details of profiles
- Feature: adding preliminary support for FreeBSD 
- Feature: added new - descriptionfield, to document package contents.
- Feature: generation of imports manifest and conan imports --undo functionality to remove imported files 
- Feature: optional SSL certificate verification for remotes, to allow self signed certificates 
- Feature: allowing custom paths in profiles, so profiles can be easily shared in teams, just inside the source repository or elsewhere. 
- Feature: fields - userand- channelnow available in conan recipes. That allows to declare requirements for the same user/channel as the current package.
- Feature: improved conan.io package web, adding description. 
- Fix: allow to modify cmake generator in - CMakehelper class.
- Fix: added - stripparameter to- tools.patch()utility
- Fix: removed unused dependency to Boto 
- Fix: wrong line endings in Windows for conan.conf 
- Fix: proper automatic use of - txtand- envgenerators in test_package
- Bug fix: solved problem when uploading python packages that generated .pyc at execution 
- Bug fix: crash when duplicate requires were declared in conanfile 
- Bug fix: crash with existing imported files with symlinks 
- Bug fix: options missing in ācopy install command to clipboardā in web 
0.16.1 (05-December-2016)ļ
- Solved bug with test_package with arguments, like scopes. 
0.16.0 (19-November-2016)ļ
Upgrade: The build=outdated`` feature had a change in the hash computation, it might report outdated binaries from recipes. You can re-build the binaries or ignore it (if you havenāt changed your recipes without re-generating binaries)
- Feature: version ranges. Conan now supports defining requirements with version range expressions like - Pkg/[>1.2,<1.9||1.0.1]@user/channel. Check the version ranges reference for details
- Feature: decoupled - importsfrom normal install. Now conan install --no-imports skips the imports section.
- Feature: new conan imports command that will execute the imports section without running install 
- Feature: overriding settings per package. Now it is possible to specify individual settings for each package. This can be specified both in the command line and in - profiles
- Feature: environment variables definition in the command line, global and per package. This allows to define specific environment variables as the compiler (CC, CXX) for a specific package. These environment variables can also be defined in - profiles. Check profiles reference
- Feature: Now conan files copies handle symlinks, so files are not duplicated. This will save some space and improve download speed in some large packages. To enable it, use - self.copy(..., links=True)
- Fix: Enabling correct use of MSYS in Windows, by using the Windows - C:/...path instead of the MSYS ones
- Fix: Several fixes in conan search, both local and in remotes 
- Fix: Manifests line endings and order fix, and hash computation fixed (it had wrong ordering) 
- Fix: Removed http->https redirection in conan_server that produced some issues for SSL reversed proxies 
- Fix: Taking into account āANYā definition of settings and options 
- Fix: Improved some error messages and failures to encode OS errors with unicode characters 
- Update: added new arch - ppc64to default settings
- Update: updated python-requests library version 
- Fix: Using - generator()instead of compiler to decide on cmake multi-configuration for Ninja+cl builds
- Improved and completed documentation 
0.15.0 (08-November-2016)ļ
Upgrade: If you were using the short_paths feature in Windows for packages with long paths, please
reset your local cache. You could manually remove packages or just run conan remove "*"
- Feature: New build=outdated`` functionality, that allows to build the binary packages for those dependencies whose recipe has been changed, or if the binary is not existing. Each binary package stores a hash of the recipe to know if they have to be regenerated (are outdated). This information is also provided in the conan search <ref>` command. Useful for package creators and CI. 
- Feature: Extended the - short_pathsfeature for Windows path limit to the- packagefolder, so package with very long paths, typically in headers in nested folder hierarchies are supported.
- Feature: New - tool.build_sln_command()helper to- build()Microsoft Visual Studio solution (.sln) projects
- Feature: Extended the - sourceand- packagecommand, so together with- buildthey can be fully executed in a user folder, as a convenience for package creation and testing.
- Feature: Extending the scope of - tools.pythonpathto work in local commands too
- Improved the parsing of - profilesand better error messages
- Not adding - -scompiler flag for clang, as it doesnāt use it.
- Automatic generation of conanenv.txt in local cache, warnings if using local commands and no - conanbuildinfo.txtand no conanenv.txt are present to cache the information form install
- Fix: Fixed bug when using empty initial requirements ( - requires = "")
- Fix: Added - globhidden import to pyinstaller
- Fix: Fixed minor bugs with - short_pathsas local search not listing packages
- Fix: Fixed problem with virtual envs in Windows with paths separator (using / instead of ) 
- Fix: Fixed parsing of conanbuildinfo.txt, so the root folder for each dependency is available in local commands too 
- Fix: Fixed bug in test_package with the test project using the - requirements()method.
0.14.1 (20-October-2016)ļ
- Fixed bug with short_paths feature in windows. 
- Improved error messages for non-valid profile test files. 
- Remove downloaded tgz package files from remotes after decompress them. 
- Fixes bug with install āall and short_paths 
0.14.0 (20-October-2016)ļ
- Feature: Added profiles, as user predefined settings and environment variables (as CC and CXX for compiler paths). They are stored in files in the conan cache, so they can be easily edited, added, and shared. Use them with conan install --profile=name 
- Feature: - short_pathsfeature for Windows now also handle long paths for the final package, in case that a user library has a very long final name, with nested subfolders.
- Feature: Added - tools.cpu_count()as a helper to retrieve the number of cores, so it can be used in concurrent builds
- Feature: Detects cycles in the dependency graph, and raise error instead of exhausting recursion limits 
- Feature: Conan learned the werror`` option that will raise error and stop installation under some cases treated as warnings otherwise: Duplicated dependencies, or dependencies conflicts 
- Feature: New - envgenerator that generates a text file with the environment variables defined by dependencies, so it can be stored. Such file is parsed by conan build to be able to use such environment variables for- self.deps_env_infotoo, in the same way it uses the- txtgenerator to load variables for- self.deps_cpp_info.
- Fix: Do not print progress bars when output is a file 
- Fix: Improved the local conan search, using options too in the query conan search -q option=value 
- Fix: Boto dependency updated to 2.43.0 (necessary for ArchLinux) 
- Fix: Simplified the conan package command, removing unused and confusing options, and more informative messages about errors and utility of this command. 
- Fix: More fixes and improvements on - ConfigureEnvironment, mainly for Windows
- Fix: Conan now does not generate a - conanbuildinfo.txtfile when doing conan install <PkgRef>.
- Bug fix: Files of a package recipe are ātouchedā to update their timestamps to current time when retrieved, otherwise some build systems as Ninja can have problems with them. 
- Bug fix: - qmakegenerator now uses quotes to handle paths with spaces
- Bug fix: Fixed - OSInfoto return the short distro name instead of the long one.
- Bug fix: fixed transitivity of - privatedependencies
0.13.3 (13-October-2016)ļ
This minor solves some problems with ConfigureEnvironment, mainly for Windows, but also fixes
other things:
- Fixed concatenation problems in Windows for several environment variables. Fixed problems with path with spaces 
- A batch file is created in Windows to be called, as - if definedstructures doesnāt seem to work in the command line.
- The - vcvars_commandfrom- toolsnow checks the Visual Studio environment variable, if it is already set, it will check it with the current project settings, throwing an error if not matching, returning an empty command if matches.
- Added a - compile_flagsproperty to- ConfigureEnvironment, to be passed in the command line to the compiler, but not as environment variables
- Added - definesto environment for nix systems, it was not being handled before
- Added new tests, compiling simple projects and diamond dependencies with cmake, cl (msvc), gcc (gcc in linux, mingw in win) and clang (OSX), for a better coverage of the - ConfigureEnvironmentfunctionality.
- Fixed wrong - CPP_INCLUDE_PATH, it is now- CPLUS_INCLUDE_PATH
0.13.0 (03-October-2016)ļ
IMPORTANT UPGRADE ISSUE: There was a small error in the computation of binary packages IDs, that has been addressed by conan 0.13. It affects to third level (and higher) binary packages, i.e. A and B in A->B->C->D, which binaries must be regenerated for the new hashes. If you donāt plan to provide support for older conan releases (<=0.12), which would be reasonable, you should remove all binaries first (conan remove -p, works both locally and remotely), then re-build your binaries.
Features:
- Streaming from/to disk for all uploads/downloads. Previously, this was done for memory, but conan started to have issues for huge packages (>many hundreds MBs), that sometimes could be alleviated using Python 64 bits distros. This issues should be alleviated now 
- New security system that allows capturing and checking the package recipes and binaries manifests into user folders (project or any other folder). That ensures that packages cannot be replaced, hacked, forged, changed or wrongly edited, either locally or in any remote server, without notice. 
- Possible to handle and reuse python code in recipes. Actually, conan can be used as a package manager for python, by adding the package path to - env_info.PYTHONPATH. Useful if you want to reuse common python code between different package recipes.
- Avoiding re-compress the tgz for packages after uploads if it didnāt change. 
- New command conan source that executes the - source()method of a given conanfile. Very useful for CI, if desired to run in parallel the construction of different binaries.
- New propagation of - cpp_info, so it now allows for capturing binary packages libraries with new- collect_libs()helper, and access to created binaries to compute the- package_info()in general.
- Command test_package now allows the update`` option, to automatically update dependencies. 
- Added new architectures for - ppc64leand detection for- AArch64
- New methods for defining requires effect over binary packages ID (hash) in - conan_info()
- Many bugs fixes: error in - tools.downloadwith python 3, restore correct prompt in virtualenvs, bug if removing an option in- config_options(), setup.py bugā¦
This release has contributions from @tru, @raulbocanegra, @tivek, @mathieu, and the feedback of many other conan users, thanks very much to all of them!
0.12.0 (13-September-2016)ļ
- Major changes to search api and commands. Decoupled the search of package recipes, from the search of binary packages. 
- Fixed bug that didnāt allow to - exportor- uploadpackages with settings restrictions if the restrictions didnāt match the host settings
- Allowing disabling color output with - CONAN_COLOR_DISPLAY=0environment variable, or to configure color schema for light console backgrounds with- CONAN_COLOR_DARK=1environment variable
- Imports can use absolute paths, and files copied from local conan cache to those paths will not be removed when conan install. Can be used as a way to install machine-wise things (outside conan local cache) 
- More robust handling of failing transfers (network disconnect), and inconsistent status after such 
- Large internal refactor for storage managers. Improved implementations and decoupling between server and client 
- Fixed slow conan remove for caches with many packages due to slow deletion of empty folders 
- Always allowing explicit options scopes, - - o Package:option=valueas well as the implicit- -o option=valuefor current- Package, for consistency
- Fixed some bugs in client-server auth process. 
- Allow to extract - .tarfiles in- tools.unzip()
- Some helpers for - conan_info(), as- self.info.requires.clear()and removal of settings and options
0.11.1 (31-August-2016)ļ
- New error reporting for failures in conanfiles, including line number and offending line, much easier for package creators 
- Removed message requesting to create an account in conan.io for other remotes 
- Removed localhost:9300 remote that was added by default mostly for demo purposes. Clarified in docs. 
- Fixed usernames case-sensitivity in conan_server, due to ConfigParser it was forcing lowercase 
- Handling unicode characters in remote responses, fixed crash 
- Added new compilers gcc 6.2, clang 8.0 to the default - settings.yml
- Bumped cryptography, boto and other conan dependencies, mostly for ArchLinux compatibility and new OSX security changes 
0.11.0 (3-August-2016)ļ
- New solution for the path length limit in Windows, more robust and complete. Package conanfile.py just have to declare an attribute - short_paths=Trueand everything will be managed. The old approach is deprecated and totally removed, so no shorts_paths.conf file is necessary. It should fix also the issues with uploads/retrievals.
- New - virtualenvgenerator that generates- activateand- deactivatescripts that set environment variables in the current shell. It is very useful, for example to install tools (like CMake, MinGW) with conan packages, so multiple versions can be installed in the same machine, and switch between them just by activating such virtual environments. Packages for MinGW and CMake are already available as a demo
- ConfigureEnvironment takes into account environment variables, defined in packages in new - env_info, which is similar to- cpp_infobut for environment information (like paths).
- New per-package - build_policy, which can be set to- alwaysor- missing, so it is not necessary to create packages or specify the build`` parameter in command line. Useful for example in header only libraries or to create packages that always get the latest code from a branch in a github repository.
- Command conan test_package` now executes by default a conan export with smarter package reference deduction. It is introduced as opt-out behavior. 
- Conan :command`export` command avoids copying test_package/build temporary files in case of - export=*
- Now, - package_info()allows absolute paths in- includedir,- libdirsand- bindirs, so wrapper packages can be defined that use system or manually installed libraries.
- LDFLAGS in - ConfigureEnvironmentmanagement of OSX frameworks.
- Options allow the - ANYvalue, so such option would accept any value. For example a commit of a git repository, useful to create packages that can build any specific commit of a git repo.
- Added gcc 5.4 to the default settings, as well as MinGW options (Exceptions, threadsā¦) 
- Command conan info learned a new option to output the packages from a project dependency tree that should be rebuilt in case of a modification of a certain package. It outputs a machine readable ordered list of packages to be built in that order. Useful for CI systems. 
- Better management of incomplete, dirty or failed - sourcedirectories (e.g. in case of a user interrupting with Ctrl+C a git clone inside the- source()method.
- Added tools for easier detection of different OS versions and distributions, as well as command wrappers to install system packages (apt, yum). They use - sudovia a new environment variable CONAN_SYSREQUIRES_SUDO, so using sudo is opt-in/out, for users with different sudo needs. Useful for- system_requirements()
- Deprecated the - config()method (still works, for backwards compatibility), but has been replaced by a- config_options()to modify options based on settings, and a- configure()method for most use cases. This removes a nasty behavior of having the- config()method called twice with side effects.
- Now, running a conan install MyLib/0.1@user/channel to directly install packages without any consuming project, is also able to generate files with the - -goption. Useful for installing tool packages (MinGW, CMake) and generate- virtualenvs.
- Many small fixes and improvements: detect compiler bug in Py3, search was crashing for remotes, conan new failed if the package name had a dash, etc. 
- Improved some internal duplications of code, refactored many tests. 
This has been a big release. Practically 100% of the released features are thanks to active users feedback and contributions. Thanks very much again to all of them!
0.10.0 (29-June-2016)ļ
- conan new command, that creates conan package conanfile.py templates, with a test_package package test (-t option), also for header only packages (-i option) 
- Definition of scopes. There is a default dev scope for the user project, but any other scope (test, profileā¦) can be defined and used in packages. They can be used to fire extra processes (as running tests), but they do not affect the package binaries, and are not included in the package IDs (hash). 
- Definition of dev_requires. Those are requirements that are only retrieved when the package is in dev scope, otherwise they are not. They do not affect the binary packages. Typical use cases would be test libraries or build scripts. 
- Allow shorter paths for specific packages, which can be necessary to build packages with very long path names (e.g. Qt) in Windows. 
- Support for bzip2 and gzip decompression in - tools
- Added - package_folderattribute to conanfile, so the- package()method can for example call- cmake installto create the package.
- Added - CONAN_CMAKE_GENERATORenvironment variable that allows to override the- CMakedefault generator. That can be useful to build with Ninja instead of the default Unix Makefiles
- Improved - ConfigureEnvironmentwith include paths in CFLAGS and CPPFLAGS, and fixed bug.
- New conan user --clean option, to completely remove all user data for all remotes. 
- Allowed to raise - Exceptionsin- config()method, so it is easier for package creators to raise under non-supported configurations
- Fixed many small bugs and other small improvements 
As always, thanks very much to all contributors and users providing feedback.
0.9.2 (11-May-2016)ļ
- Fixed download bug that made it specially slow to download, even crash. Thanks to github @melmdk for fixing it. 
- Fixed cmake check of CLang, it was being skipped 
- Improved performance. Check for updates has been removed from install, made it opt-in in conan info command, as it was very slow, seriously affecting performance of large projects. 
- Improved internal representation of graph, also improves performance for large projects. 
- Fixed bug in conan install --update. 
0.9 (3-May-2016)ļ
- Python 3 āexperimentalā support. Now the main conan codebase is Python 2 and 3 compatible. Python 2 still the reference platform, Python 3 stable support in next releases. 
- Create and share your own custom generators for any build system or tool. With āgenerator packagesā, you can write a generator just as any other package, upload it, modify and version it, etc. Require them by reference, as any other package, and pull it into your projects dynamically. 
- Premake4 initial experimental support via a generator package. 
- Very large re-write of the documentation. New ācreating packagesā sections with in-source and out-source explicit examples. Please read it! :) 
- Improved conan test. Renamed - testto test_package both for the command and the folder, but backwards compatibility remains. Custom folder name also possible. Adapted test layout might require minor changes to your package test, automatic warnings added for your convenience.
- Upgraded pyinstaller to generate binary OS installers from 2.X to 3.1 
- conan search now has command line options:, less verbose, verbose, extra verbose 
- Added variable with full list of dependencies in conanbuildinfo.cmake 
- Several minor bugfixes (check github issues) 
- Improved conan user to manage user login to multiple remotes 
0.8.4 (28-Mar-2016)ļ
- Fixed linker problems with the new apple-clang 7.3 due to libraries with no timestamp set. 
- Added apple-clang 7.3 to default settings 
- Fixed default libcxx for apple-clang in auto detection of base conan.conf 
0.8 (15-Mar-2016)ļ
- New conan remote command to manage remotes. Redesigned remotes architecture, now allows to work with several remotes in a more consistent, powerful and āgit-likeā way. New remotes registry keeps track of the remote of every installed package, and this information is shown in conan info command too. Also, it keeps different user logins for different remotes, to improve support in corporate environments running in-house servers. 
- New update functionality. Now it is possible to conan install --update to update packages that became obsolete because new ones were uploaded to the corresponding remote. Conan commands as install and info show information about the status of the local packages compared with the remote ones. In this way, using latest versions during development is much more natural. 
- Added new compiler.libcxx setting in order to support the different c++ standard libraries. It can take libstdc++, libstdc++11 or libc++ values to take into account different standard libraries for modern gcc and clang compilers. It is also possible to remove not needed settings, like this one in pure C projects, with the new syntax: - del self.settings.compiler.libcxx
- Conan virtual environment: Define a custom conan directory with CONAN_USER_HOME env variable, and have a per project or per workspace storage for your dependencies. So you can isolate your dependencies and even bundle them within your project, by just setting the CONAN_USER_HOME variable to your - <project>/depsfolder, for example. This also improves support for continuous integration CI systems, in which many builds from different users could be run in parallel.
- Better conanfile download method. More stable and now checks (opt-out) the ssl certificates. 
- Lots of improvements: Increased library name length limit, Improved and cleaner output messages. 
- Fixed several minor bugs: removing empty folders, case sensitive exports, arm settings detection. 
- Introduced the concept of āpackage recipeā that refers to conanfile.py and exported files. 
- Improved settings display in web, with new ācopy install command to clipboardā to assist in installing packages discovered in web. 
- The macOS installer, problematic with latest macOS releases, has been deprecated in favor of homebrew and pip install procedures. 
0.7 (5-Feb-2016)ļ
- Custom conanfile names are allowed for developing. With file`` option you can define the file you want to use, allowing for - .conaninfo.txtor having multiple- conanfile_dev.py,- conanfile_test.pybesides the standard- conanfile.pywhich is used for sharing the package. Inheritance is allowed, e.g.- conanfile_dev.pymight extend/inherit from- conanfile.py.
- New conan copy command that can be used to copy/rename packages, promote them between channels, forking other users packages. 
- New all`` and package`` options for conan install that allows to download one, several, or all package configurations for a given reference. 
- Added - patch()tool to easily patch sources if necessary.
- New qmake and qbs generators 
- Upload of conanfile exported files is also tgzād, allowing fast upload/downloads of full sources if desired, avoiding retrieval of sources from externals sources. 
- conan info command improved showing info of current project too 
- Output of - run()can be redirected to buffer string for processing, or even removed.
- Added proxy configuration to conan.conf for users behinds proxies. 
- Large improvements in commands output, prefixed with package reference, and much clear. 
- Updated settings for more versions of gcc and new arm architectures 
- Treat dependencies includes as SYSTEM in cmake, so no warnings are raised 
- Deleting source folder after conan export so no manual removal is needed 
- Normalizing to CRLF generated user files in Win 
- Better detection and checks for compilers as VS, apple-clang 
- Fixed CMAKE_SHARED_LINKER_FLAGS typo in cmake files 
- Large internal refactor in generators 
0.6 (11-Jan-2016)ļ
- New cmake variables in cmake generator to make FindPackage work better thanks to the underlying FindLibrary. Now many FindXXX.cmake work āas-isā and the package creator does not have to create a custom override, and consumers can use packages transparently with the originals FindXXX.cmakes 
- New āconan infoā command that shows the full dependency graph and details (license, author, url, dependants, dependencies) for each dependency. 
- New environment helper with a ConfigureEnvironment class, that is able to translate conan information to autotools configure environment definition 
- Relative importing from conanfiles now is possible. So if you have common functionality between different packages, you can reuse those python files by importing them from the conanfile.py. Note that export=āā¦ā might be necessary, as packages as to be self-contained. 
- Added YouCompleteMe generator for vim auto-completion of dependencies. 
- New āconanfile_directoryā property that points to the file in which the conanfile.py is located. This helps if using the conanfile.py ābuildā method to build your own project as a project, not a package, to be able to use any workflow, out-of-source builds, etc. 
- Many edits and improvements in help, docs, output messages for many commands. 
- All cmake syntax in modern lowercase 
- Fixed several minor bugs: gcc detection failure when gcc not installed, missing import, copying source->build failing when symlinks 
0.5 (18-Dec-2015)ļ
- New cmake functionality allows package creators to provide cmake finders, so that package consumers can use their CMakeLists.txt with typical FindXXX.cmake files, without any change to them. CMake CONAN_CMAKE_MODULES_PATH added, so that package creators can provide any additional cmake scripts for consumers. 
- Now it is possible to generate out-of-source and multiple configuration installations for the same project, so you can switch between them without having to conan install again. Check the new workflows 
- New qmake generator (thanks @dragly) 
- Improved removal/deletion of folders with shutil.rmtree, so conan remove commands and other processes requiring deletion of folders do not fail due to permissions and require manual deletion. This is an improvement, especially in Win. 
- Created - pippackage, so conan can be installed via:- pip install conan
- Released - pyinstallercode for the creation of binaries from conan python source code. Distros package creators can create packages for the conan apps easily from those binaries.
- Added md5, sha1, sha256 helpers in - tools, so external downloads from- conanfile.pyfiles- source()can be checked.
- Added latest gcc versions to default - settings.yml
- Added CI support for conan development: travis-ci, appveyor 
- Improved human-readability for download progress, help messages. 
- Minor bug fixes