Skip to content

Releases: conan-io/conan

2.0.16 (21-Dec-2023)

21 Dec 10:50
1bd3f2a
Compare
Choose a tag to compare
  • Bugfix: Revert the default of source_buildenv, make it False by default. (#15319). Docs: 📃

2.0.15 (20-Dec-2023)

20 Dec 16:54
88f203f
Compare
Choose a tag to compare
  • Feature: New conan lock remove command to remove requires from lockfiles. (#15284). Docs: 📃
  • Feature: New CMake.ctest() helper method to launch directly ctest instead of via cmake --target=RUN_TEST. (#15282)
  • Feature: Add tracking syntax in <host_version> for different references. (#15274). Docs: 📃
  • Feature: Adding tools.microsoft:winsdk_version conf to make VCVars generator to use the given winsdk_version. (#15272). Docs: 📃
  • Feature: Add pkglist formatter for conan export command. (#15266). Docs: 📃
  • Feature: Define CONAN_LOG_LEVEL env-var to be able to change verbosity at a global level. (#15263). Docs: 📃
  • Feature: conan cache path xxx --folder xxxx raises an error if the folder requested does not exist. (#15257)
  • Feature: Add in operator support for ConanFile's self.dependencies. (#15221). Docs: 📃
  • Feature: Make CMakeDeps generator create a conandeps.cmake that aggregates all direct dependencies in a cmake-like generator style. (#15207). Docs: 📃
  • Feature: Add build environment information to CMake configure preset and run environment information to CMake test presets. (#15192). Docs: 📃
  • Feature: Removed a warning about a potential issue with conan migration that would print every time a build failed. (#15174)
  • Feature: New deploy() method in recipes for explicit per-recipe deployment. (#15172). Docs: 📃
  • Feature: Allow tool-requires to be used in source() method injecting environment. (#15153). Docs: 📃
  • Feature: Allow accessing the contents of settings.yml (and settings_user!) from ConfigAPI. (#15151)
  • Feature: Add builtin conf access from ConfigAPI. (#15151)
  • Feature: Add redirect_stdout to CMake integration methods. (#15150)
  • Feature: Add core:warnings_as_errors configuration option to make Conan raise on warnings and errors. (#15149). Docs: 📃
  • Feature: Added FTP_TLS option using secure argument in ftp_download for secure communication. (#15137)
  • Feature: New [replace_requires] and [replace_tool_requires] in profile for redefining requires, useful for package replacements like zlibng/zlib, to solve conflicts, and to replace some dependencies by system alternatives wrapped in another Conan package recipe. (#15136). Docs: 📃
  • Feature: Add stderr capture argument to conanfile's run() method. (#15121). Docs: 📃
  • Feature: New [platform_requires] profile definition to be able to replace Conan dependencies by platform-provided dependencies. (#14871). Docs: 📃
  • Feature: New conan graph explain command to search, compare and explain missing binaries. (#14694). Docs: 📃
  • Feature: Global cpp_info can be used to initialize components values. (#13994)
  • Fix: Make core:warnings_as_errors accept a list (#15297)
  • Fix: Fix user confs package scoping when no separator was given (#15296)
  • Fix: Fix range escaping in conflict reports involving ranges. (#15222)
  • Fix: Allow hard set_name() and set_version() to mutate name and version provided in command line. (#15211). Docs: 📃
  • Fix: Make conan graph info --format=text print to stdout. (#15170)
  • Fix: Avoid warning in CMake output due to CMAKE_POLICY_DEFAULT_CMP0091 unused variable. (#15127)
  • Fix: Deprecate [system_tools] in favor of [platform_tool_requires] to align with [platform_requires] for regular dependencies. Changed output from "System tool" to "Platform". (#14871). Docs: 📃
  • Bugfix: Ensure user confs have at least 1 : separator (#15296)
  • Bugfix: Git.is_dirty() will use git status . -s to make sure it only process the current path, not the whole repo, similarly to other Git methods. (#15289)
  • Bugfix: Make self.info.clear() and header-only packages to remove python_requires and tool_requires. (#15285). Docs: 📃
  • Bugfix: Make conan cache save/restore portable across Windows and other OSs. (#15253)
  • Bugfix: Do not relativize absolute paths in deployers. (#15244)
  • Bugfix: Add architecture to CMakePresets to avoid cmake ignoring toolchain definitions when using presets. (#15215)
  • Bugfix: Fix conan graph info --format=html reporting misleading conflicting nodes. (#15196)
  • Bugfix: Fix serialization of tool_requires in conan profile show --format=json. (#15185)
  • Bugfix: Fix NMakeDeps quoting issues. (#15140)
  • Bugfix: Fix the 2.0.14 migration to add LRU data to the cache when storage_path conf is defined. (#15135)
  • Bugfix: Fix definition of package_metadata_folder for conan export-pkg command. (#15126)
  • Bugfix: pyinstaller.py was broken for Python 3.12 due to a useless distutils import. (#15116)
  • Bugfix: Fix backup sources error when no core.sources:download_cache is set. (#15109)

2.0.14 (14-Nov-2023)

14 Nov 13:57
Compare
Choose a tag to compare
  • Feature: Added riscv64, riscv32 architectures to default settings.yml and management of them in Meson and Autotools. (#15053)
  • Feature: Allow only one simultaneous database connection. (#15029)
  • Feature: Add conan cache backup-upload to upload all the backup sources in the cache, regardless of which references they are from (#15013). Docs: 📃
  • Feature: New conan list --format=compact for better UX. (#15011). Docs: 📃
  • Feature: Ignore metadata upload by passing --metadata="" (#15007). Docs: 📃
  • Feature: Better output messages in conan upload (#14984)
  • Feature: Add extra flags to CMakeToolchain. (#14966). Docs: 📃
  • Feature: Implement package load/restore from the cache, for CI workflows and moving packages over air-gaps. (#14923). Docs: 📃
  • Feature: Compute version-ranges intersection to avoid graph version conflicts for compatible ranges (#14912)
  • Feature: CMake helper can use multiple targets in target argument. (#14883)
  • Feature: Add Macos 13.6 to settings.yml. (#14858). Docs: 📃
  • Feature: Add CMakeDeps and PkgConfigDeps generators listening to system_package_version property. (#14808). Docs: 📃
  • Feature: Add shorthand syntax in cli to specify host and build in 1 argument (#14727). Docs: 📃
  • Feature: Implement cache LRU control for cleaning of unused artifacts. (#14054). Docs: 📃
  • Fix: Avoid CMakeToolchain overwriting user CMakePresets.json when no layout nor output-folder is defined (#15058)
  • Fix: Add astra, elbrus and altlinux as distribution using apt in SystemPackageManager (#15051)
  • Fix: Default to apt-get package manager in Linux Mint (#15026). Docs: 📃
  • Fix: Make Git() check commits in remote server even for shallow clones. (#15023)
  • Fix: Add new Apple OS versions to settings.yml (#15015)
  • Fix: Fix AutotoolsToolchain extraflags priority. (#15005). Docs: 📃
  • Fix: Remove colors from conan --version output (#15002)
  • Fix: Add an error message if the sqlite3 version is unsupported (less than 3.7.11 from 2012) (#14950)
  • Fix: Make cache DB always use forward slash for paths, to be uniform across Windows and Linux (#14940)
  • Fix: Solve re-build of an existing package revision (like forcing rebuild of a an existing header-only package), while previous folder was still used by other projects. (#14938)
  • Fix: Avoid a recipe mutating a conf to affect other recipes. (#14932). Docs: 📃
  • Fix: The output of system packages via Apt.install() or PkgConfig.fill_cpp_info, like xorg/system was very noisy to the Conan output, making it more quiet (#14924)
  • Fix: Serialize the path information of python_requires, necessary for computing buildinfo (#14886)
  • Fix: Define remotes in conan source command in case recipe has python_requires that need to be downloaded from remotes. (#14852)
  • Fix: Fix min target flag for xros and xros-simulator. (#14776)
  • Bugfix: --build=missing was doing unnecessary builds of packages that were not needed and could be skipped, in the case of tool_requires having transitive dependencies. (#15082)
  • BugFix: Add package revision to format=json in 'conan export-pkg' command (#15042)
  • Bugfix: tools.build:download_source=True will not fail when there are editable packages. (#15004). Docs: 📃
  • Bugfix: Transitive dependencies were incorrectly added to conandeps.xcconfig. (#14898)
  • Bugfix: Fix integrity-check (upload --check or cache check-integrity) when the export_source has not been downloaded (#14850)
  • Bugfix: Properly lock release candidates of python requires (#14846)
  • BugFix: Version ranges ending with - do not automatically activate pre-releases resolution in the full range. (#14814). Docs: 📃
  • BugFix: Fix version ranges so pre-releases are correctly included in the lower bound and excluded in the upper bound. (#14814). Docs: 📃

1.62.0 (14-Nov-2023)

14 Nov 13:51
Compare
Choose a tag to compare
  • Feature: Removed extra_xxxx attributes from BazelToolchain (#15073). Docs: 📃
  • Feature: BazelDeps global refactor. Adding each component as an isolated target, better requirements management (including requirements coming from build-context), adding C/C++ flags, etc. (#14959). Docs: 📃
  • Feature: BazelDeps works fine in editable mode. (#14959). Docs: 📃
  • Feature: Added bazel_tagert_name and bazel_repository_name properties. (#14959). Docs: 📃
  • Feature: Added mechanism to consume shared/static libraries for bazel_lib template in all the platforms. (#14959). Docs: 📃
  • Feature: BazelToolchain creates a conan_bzl.rc file which defines the conan-config configuration. If it exists, Bazel helper will use it automatically. (#14958). Docs: 📃
  • Feature: Add clang-17 support to settings. (#14915). Docs: 📃
  • Feature: Add support for gcc 10.5 (#14865). Docs: 📃
  • Feature: Add support for gcc 11.4 (#14865). Docs: 📃
  • Feature: Add support for gcc 13.2 (#14865). Docs: 📃
  • Fix: Use importlib in Python >= 3.12 (#14841)
  • Bugfix: Solve crash of conan lock install when the provided lockfile was created from a conanfile.txt (#14836)

2.0.13 (28-Sep-2023)

28 Sep 10:27
Compare
Choose a tag to compare
  • Bugfix: Fix wrong cppstd detection for newer apple-clang versions introduced in 2.0.11. (#14837)

2.0.12 (26-Sep-2023)

26 Sep 16:36
844f112
Compare
Choose a tag to compare
  • Feature: Add support for Clang 17. (#14781). Docs: 📃
  • Feature: Add --dry-run for conan remove. (#14760). Docs: 📃
  • Feature: Add host_tool to install() method in package_manager to indicate whether the package is a host tool or a library. (#14752). Docs: 📃
  • Fix: Better error message when trying to export-pkg a python-require package, and avoid it being exported and then failing. (#14819)
  • Fix: CMakeDeps allows set_property() on all properties. (#14813)
  • Fix: Add minor version for Apple clang 15.0. (#14797). Docs: 📃
  • Fix: conan build command prettier error when argument not provided. (#14787)
  • Bugfix: fix compatibility() over settings_target making it None (#14825)
  • Bugfix: compatible packages look first in the cache, and only if not found, the servers, to allow offline installs when there are compatible packages. (#14800)
  • BugFix: Reuse session in ConanRequester to speed up requests. (#14795)
  • Bugfix: Fix relative paths of editable packages when they have components partially defining directories. (#14782)

2.0.11 (18-Sep-2023)

18 Sep 07:56
1c5c5dd
Compare
Choose a tag to compare
  • Feature: Add --format=json formatter to conan profile show command (#14743). Docs: 📃
  • Feature: add new --deployer --generators args to 'conan build' cmd (#14737). Docs: 📃
  • Feature: Better CMakeToolchain blocks interface. Added new .blocks.select(), .blocks.keys(). (#14731). Docs: 📃
  • Feature: Add message when copying large files from download cache instead of downloading from server. (#14716)
  • Feature: MesonToolchain shows a warning message if any options are used directly. (#14692). Docs: 📃
  • Feature: Support clang-cl in default profile plugin. (#14682). Docs: 📃
  • Feature: Added mechanism to transform c, cpp, and/or ld binaries variables from Meson into lists if declared blank-separated strings. (#14676)
  • Feature: Add nobara distro to dnf package manager mapping. (#14668)
  • Feature: Ensure meson toolchain sets b_vscrt with clang-cl. (#14664)
  • Feature: Supporting regex pattern for conf tools.info.package_id:confs (#14621). Docs: 📃
  • Feature: MakeDeps: Provide "require" information, and more styling tweaks. (#14605)
  • Feature: New detect_api to be used in profiles jinja templates. (#14578). Docs: 📃
  • Feature: Allow access to settings_target in compatibility method. (#14532)
  • Fix: Add missing minor macos versions (#14740). Docs: 📃
  • Fix: Improve error messages in ConanApi init failures, (#14735)
  • Fix: CMakeDeps: Remove "Target name ... already exists" warning about duplicating aliases. (#14644)
  • Bugfix: Fix regression in Git.run() when win_bash=True. (#14756)
  • Bugfix: Change the default check=False in conan.tools.system.package_manager.Apt to True as the other package manager tools. (#14728). Docs: 📃
  • Bugfix: Solved propagation of transitive shared dependencies of test_requires with diamonds. (#14721)
  • Bugfix: Solve crash with conan export-pkg with test_package doing calls to remotes. (#14712)
  • Bugfix: Do not binary-skip packages that have transitive dependencies that are not skipped, otherwise the build chain of build systems to those transitive dependencies like CMakeDeps generated files are broken. (#14673)
  • Bugfix: Fix detected CPU architecture when running conan profile detect on native ARM64 Windows. (#14667)
  • Bugfix: conan lock create --update now correctly updates references from servers if newer than cache ones. (#14643)
  • Bugfix: Fix unnecessarily decorating command stdout with escape sequences. (#14642)
  • Bugfix: tools.info.package_id:confs shouldn't affect header-only libraries. (#14622)

1.61.0 (13-Sep-2023)

13 Sep 10:58
Compare
Choose a tag to compare
  • Feature: Add SConsDeps generator. (#14713). Docs: 📃
  • Feature: Add support fox Xcode 15. (#14533)
  • Feature: New trim_conandata() function to make things explicit, not depend on hook. (#14169). Docs: 📃
  • Feature: Add new tools.cmake:install_strip conf to add --strip option to cmake install. (#14167). Docs: 📃
  • Feature: Allow users to cross-build out of the box with Visual Studio recipes based on MesonToolchain. (#13141)
  • Fix: Increase warning for legacy generators. (#14662)
  • Fix: Allow Pyyaml 6.0.X versions to avoid cython 3.0 issues. (#14323)
  • Fix: Change the xcconfig variable from HEADER_SEARCH_PATHS to SYSTEM_HEADER_SEARCH_PATHS changes the command line from -i to -isystem and avoids warnings that arise from including package headers. (#14157). Docs: 📃
  • Bugfix: Consider revision for build_requires in cli arguments. (#14679)

2.0.10 (29-Aug-2023)

29 Aug 13:04
13a4879
Compare
Choose a tag to compare
  • Feature: Allow patch_user in conandata.yml definition for user patches, not handled by apply_conandata_patches(). (#14576). Docs: 📃
  • Feature: Support for Xcode 15, iOS 17, tvOS 17, watchOS 10, macOS 14. (#14538)
  • Feature: Raise an error if users are adding incorrect ConanCenter web URL as remote. (#14531)
  • Feature: Serialization of graph with --format=json adds information to python_requires so conan list --graph can list python_requires too. (#14529)
  • Feature: Add rrev, rrev_timestamp and prev_timestamp to the graph json serialization. (#14526)
  • Feature: Allow version-ranges to resolve to editable packages too. (#14510)
  • Feature: Add tools.files.download:verify. (#14508). Docs: 📃
  • Feature: Add support for Apple visionOS. (#14504)
  • Feature: Warn of unknown version range options. (#14493)
  • Feature: Add tools.graph:skip_binaries to control binary skipping in the graph. (#14466). Docs: 📃
  • Feature: New tools.deployer:symlinks configuration to disable symlinks copy in deployers. (#14461). Docs: 📃
  • Feature: Allow remotes to automatically resolve missing python_requires in 'editable add'. (#14413). Docs: 📃
  • Feature: Add cli_args argument for CMake.install(). (#14397). Docs: 📃
  • Feature: Allow test_requires(..., force=True). (#14394). Docs: 📃
  • Feature: New credentials.json file to store credentials for Conan remotes. (#14392). Docs: 📃
  • Feature: Added support for apk package manager and Alpine Linux (#14382). Docs: 📃
  • Feature: conan profile detect can now detect the version of msvc when invoked within a Visual Studio prompt where CC or CXX are defined and pointing to the cl compiler executable (#14364)
  • Feature: Properly document --build=editable build mode. (#14358). Docs: 📃
  • Feature: conan create --build-test=missing new argument to control what is being built as dependencies of the test_package folder. (#14347). Docs: 📃
  • Feature: Provide new default_build_options attribute for defining options for tool_requires in recipes. (#14340). Docs: 📃
  • Feature: Implement ...@ as a pattern for indicating matches with packages without user/channel. (#14338). Docs: 📃
  • Feature: Add support to Makefile by the new MakeDeps generator (#14133). Docs: 📃
  • Fix: Allow --format=json in conan create for python-requires (#14594)
  • Fix: Remove conan v2 ready conan-center link. (#14593)
  • Fix: Make conan inspect use all remotes by default. (#14572). Docs: 📃
  • Fix: Allow extra hyphens in versions pre-releases. (#14561)
  • Fix: Allow confs for tools.cmake.cmaketoolchain to be used if defined even if tools.cmake.cmaketoolchain:user_toolchain is defined. (#14556). Docs: 📃
  • Fix: Serialize booleans of dependencies in --format=json for graphs as booleans, not strings. (#14530). Docs: 📃
  • Fix: Avoid errors in conan upload when python_requires are not in the cache and need to be downloaded. (#14511)
  • Fix: Improve error check of lock add adding a full package reference instead of a recipe reference. (#14491)
  • Fix: Better error message when a built-in deployer failed to copy files. (#14461). Docs: 📃
  • Fix: Do not print non-captured stacktraces to stdout but to stderr. (#14444)
  • Fix: Serialize conf_info in --format=json output. (#14442)
  • Fix: MSBuildToolchain/MSBuildDeps: Avoid passing C/C++ compiler options as options for ResourceCompile. (#14378)
  • Fix: Removal of plugin files result in a better error message instead of stacktrace. (#14376)
  • Fix: Fix CMake system processor name on armv8/aarch64. (#14362)
  • Fix: Make backup sources core.sources conf not mandate the final slash. (#14342)
  • Fix: Correctly propagate options defined in recipe default_options to test_requires. (#14340). Docs: 📃
  • Fix: Invoke XCRun using conanfile.run() so that environment is injected. (#14326)
  • Fix: Use abspath for conan config install to avoid symlinks issues. (#14183)
  • Bugfix: Solve build_id() issues, when multiple different package_ids reusing same build-folder. (#14555)
  • Bugfix: Avoid DB errors when timestamp is not provided to conan download when using package lists. (#14526)
  • Bugfix: Print exception stacktrace (when -vtrace is set) into stderr instead of stdout (#14522)
  • Bugfix: Print only packages confirmed interactively in conan upload. (#14512)
  • Bugfix: 'conan remove' was outputting all entries in the cache matching the filter not just the once which where confirmed by the user. (#14478)
  • Bugfix: Better error when passing --channel without --user. (#14443)
  • Bugfix: Fix settings_target computation for tool_requires of packages already in the "build" context. (#14441)
  • Bugfix: Avoid DB is locked error when core.download:parallel is defined. (#14410)
  • Bugfix: Make generated powershell environment scripts relative when using deployers. (#14391)
  • Bugfix: fix profile [tool_requires] using revisions that were ignored. (#14337)

1.60.2 (26-Jul-2023)

26 Jul 10:49
Compare
Choose a tag to compare
  • Fix: Allow Pyyaml 6.0.X versions to avoid cython 3.0 problems. (backport #14323) (#14363)