Skip to content

Releases: conan-io/conan

1.50.2 (11-Aug-2022)

11 Aug 14:51
14c029d
Compare
Choose a tag to compare
  • Bugfix: The tool.scm.Version model has been ported from 2.X to keep the same behavior in Conan 1.X (#11830)

1.51.2 (11-Aug-2022)

11 Aug 14:57
4b05386
Compare
Choose a tag to compare
  • Bugfix: The tool.scm.Version model has been ported from 2.X to keep the same behavior in Conan 1.X (#11831)

1.51.1 (09-Aug-2022)

09 Aug 14:09
0d2bd7e
Compare
Choose a tag to compare
  • 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 invokation. (#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)

28 Jul 16:40
Compare
Choose a tag to compare
  • 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: πŸ“ƒ
  • 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: πŸ“ƒ
  • 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: πŸ“ƒ
  • Feature: Support for components in MSBuildDeps. (#11669). Docs: πŸ“ƒ
  • 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: πŸ“ƒ
  • Feature: Added objc_args/objc_link_args/objcpp_args/objcpp_link_args to MesonToolchain for Objective-C/C++ language. (#11632). Docs: πŸ“ƒ
  • Feature: Adding default directories to MesonToolchain. (#11618). Docs: πŸ“ƒ
  • 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: πŸ“ƒ
  • Feature: Add ability to download files in the local filesystem using file:// URIs. (#11569). Docs: πŸ“ƒ
  • 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: πŸ“ƒ
  • Feature: Added a new self.folders.subproject for layout() to be able to define layouts that goes up to the parent or siblings folders, together with the self.folders.root = "..". (#11556). Docs: πŸ“ƒ
  • Feature: Adding new msys2_ucrt64, msys2_mingw64, msys2_clang64 subsystems in os.subsystem for 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: πŸ“ƒ
  • 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: πŸ“ƒ
  • Fix: Improve opensuse detection in tool.system.package_manager. (#11660)
  • Fix: Add raspbian to default tools.system.package_manager package manager mapping. (#11654). Docs: πŸ“ƒ
  • 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: πŸ“ƒ
  • Bugfix: The AutotoolsToolchain now clears None values from the attributes .cxxflags, .cflags, .ldflags and .defines. (#11678). Docs: πŸ“ƒ
  • Bugfix: The CMakePresets.json file contained invalid paths (mixing / and \) for Windows that caused issues when using Visual Studio. (#11652)
  • BugFix: Avoid LocalDebuggerEnv overflows in MSBuildDeps due 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.1 (28-Jul-2022)

28 Jul 13:20
302f83a
Compare
Choose a tag to compare
  • Bugfix: Port #11614. CMakeToolchain avoid setting CMAKE_INSTALL_XXX variables if the values are not defined. (#11719)

2.0.0-beta2 (27-Jul-2022)

27 Jul 08:21
Compare
Choose a tag to compare
Pre-release
  • Feature: Add traits support in MSBuildDeps (#11680)
  • Feature: Add traits support in XcodeDeps (#11615)
  • Feature: Let dependency define package_id modes (#11441)
  • Feature: Add conan.conanrc file to setup the conan user home (#11675)
  • Feature: Add core.cache:storage_path to declare the absolute path where you want to store the Conan packages (#11672)
  • Feature: Add tools for checking max cppstd version (#11610)
  • Feature: Add a post_build_fail hook that is called when a build fails (#11593)
  • Feature: Add pre_generate and post_generate hook, covering the generation of files around the generate() method call (#11593)
  • Feature: Brought conan config list command back and other conf improvements (#11575)
  • Feature: Added two new arguments for all commands -v for controlling the verbosity of the output and --logger to output the contents in a json log format for log processors (#11522)

1.50.0 (29-Jun-2022)

29 Jun 13:53
Compare
Choose a tag to compare
  • Feature: VirtualBuildEnv and VirtualRunEnv always 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: πŸ“ƒ
  • 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: πŸ“ƒ
  • Feature: Simplify XcodeDeps generator. (#11491). Docs: πŸ“ƒ
  • Feature: Created self.info.clear() as an alias of self.info.header_only() that will disappear in Conan 2.0. (#11478). Docs: πŸ“ƒ
  • Feature: Allow options having ["ANY"] as a list like Conan 2.X. (#11449). Docs: πŸ“ƒ
  • Feature: Ported cppstd related tools from 2.X branch. (#11446). Docs: πŸ“ƒ
  • Feature: Added tool rm at conan.tools.files to remove files by pattern in a folder. (#11443). Docs: πŸ“ƒ
  • 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: πŸ“ƒ
  • 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: πŸ“ƒ
  • 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: πŸ“ƒ
  • 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: πŸ“ƒ
  • 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 VirtualRunEnv for undefined variables when set -e is 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: πŸ“ƒ
  • Bugfix: Fix crash in pylint plugin with pylint >= 2.14.0. (#11445)
  • Bugfix: Allow using PkgConfigDeps for editable packages, not raising an error cause package_folder is 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)

2.0.0-beta1 (20-Jun-2022)

20 Jun 07:43
Compare
Choose a tag to compare
Pre-release
  • Feature: New graph model to better support C and C++ binaries relationships, compilation, and linkage.
  • Feature: New documented public Python API, for user automation
  • Feature: New build system integrations, more flexible and powerful, and providing transparent integration when possible, like CMakeDeps and CMakeToolchain
  • Feature: New custom user commands, that can be built using the public PythonAPI and can be shared and installed with conan config install
  • Feature: New CLI interface, with cleaner commands and more structured output
  • Feature: New deployers mechanism to copy artifacts from the cache to user folders, and consume those copies while building.
  • Feature: Improved package_id computation, taking into account the new more detailed graph model.
  • Feature: Added compatibility.py extension mechanism to allow users to define binary compatibility globally.
  • Feature: Simpler and more powerful lockfiles to provide reproducibility over time.
  • Feature: Better configuration with [conf] and better environment management with the new conan.tools.env tools.
  • Feature: Conan cache now can store multiple revisions simultaneously.
  • Feature: New extensions plugins to implement profile checking, package signing, and build commands wrapping.
  • Feature: Used the package immutability for an improved update, install and upload flows.

1.48.2 (02-Jun-2022)

02 Jun 15:51
b4c25cd
Compare
Choose a tag to compare

1.49.0 (02-Jun-2022)

02 Jun 06:07
Compare
Choose a tag to compare
  • 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: πŸ“ƒ
  • 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: πŸ“ƒ
  • 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: πŸ“ƒ
  • Feature: The conanfile.txt file now accepts a [layout] that can be filled with 3 predefined layouts: cmake_layout, vs_layout and bazel_layout. (#11348). Docs: πŸ“ƒ
  • Feature: Remove the parameter copy_symlink_folders of the conan.tool.files.copy function and now, any symlink file pointing to a folder will be treated as a regular file. (#11330). Docs: πŸ“ƒ
  • Feature: Tools can_run validates if it is possible to run a and application build for a non-native architecture. (#11321). Docs: πŸ“ƒ
  • Feature: Add CMAKE_SYSROOT support for CMakeToolchain. (#11317). Docs: πŸ“ƒ
  • Feature: Add --sysroot support for AutotoolsToolchain and remove support for cpp_info.sysroot in AutotoolsDeps. (#11317). Docs: πŸ“ƒ
  • Feature: Add tools.build:sysroot conf. (#11317). Docs: πŸ“ƒ
  • 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: πŸ“ƒ
  • 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: πŸ“ƒ
  • Feature: Implement a check_min_vs() checker that will work for both Visual Studio and msvc to allow migration from 1.X to 2.0 (#11292). Docs: πŸ“ƒ
  • Feature: More flexibility in Autotools tools to override arguments and avoid all default arguments for make, autoreconf and configure. (#11284). Docs: πŸ“ƒ
  • Feature: Add components support in XcodeDeps. (#11233). Docs: πŸ“ƒ
  • Feature: Define new tools.cmake.cmaketoolchain:toolset_arch to define VS toolset x64 or x86 architecture (#11147). Docs: πŸ“ƒ
  • 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: πŸ“ƒ
  • Fix: Add -DCMAKE_BUILD_TYPE to markdown generator instructions for CMake single config. (#11220)
  • Fix: Fixing --require-override over conditional requirements() method. (#11209)
  • Fix: Placing quote marks around echo statement in save_sh function. (#11123)
  • Bugfix: Force conan_server to use pyjwt>=2.4.0 to 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.objects first in CMakeDeps generator, as they can have dependencies to system_libs that 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)