Releases: conan-io/conan
Releases · conan-io/conan
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-clang
13.0 compatibility. (#11231)
2.0.0-alpha7 (12-May-2022)
conan 2.0.0-alpha7 release
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
declaresfolders.generators = "build/generators"
that is common for different configurations, enablingCMakePresets.json
to support differentconfigurePresets
andbuildPresets
for single-config and multi-config generators. (#11117). Docs: 📃 - Feature: The
CMakeToolchain
generator will create (if missing) aCMakeUserPresets.json
if theCMakeLists.txt
file is found in the root folder of the project. That file will include automatically theCMakePresets.json
file contained atbuild/generators
folder to allow CMake and IDEs to locate automatically the presets generated by Conan. (#11117). Docs: 📃 - Feature: The
CMAKE_BUILD_TYPE
is not adjusted in theconan_toolchain.cmake
anymore, the configuration is moved to theCMakePresets.json
preparing Conan to support multiple "single-config" configurations in oneCMakePresets.json
file (#11112). Docs: 📃 - Feature: The
CMakePresets.json
(file generated when specified theCMakeToolchain
generator) is appended with a newbuildPresets
after aconan install
with a differentbuild_type
when using a multiconfiguration generator likeVisual Studio
. (#11103). Docs: 📃 - Feature: Removed
PlatformToolset
and addedconantoolchain.props
from*.vcxproj
file. (#11101) - Feature: Append the folder where the Conan generators were installed to
PKG_CONFIG_PATH
in AutotoolsToolchain. (#11063). Docs: 📃 - Feature: Adding new
tools.env.virtualenv:powershell
conf to opt-in to generate and use powershell scripts instead of .bat ones. (#11061). Docs: 📃 - Feature: Added new configuration fields:
tools.apple:enable_bitcode
,tools.apple:enable_arc
andtools.apple:enable_visibility
. (#10985). Docs: 📃 - Feature: Added new mechanism to inject common Xcode flags in
CMakeToolchain
generator if enabled Bitcode, ARC, or Visibility configurations. (#10985). Docs: 📃 - Feature: New templates for autotools exe and lib. (#10978). Docs: 📃
- Feature: Change
build_script_folder
argument from the configure to theAutotools
build helper constructor. (#10978). Docs: 📃 - Feature: Replaced
add_definitions
byadd_compile_definitions
inconan.tools.cmake.*
package. (#10974) - Feature: Added
cxxflags
,cflags
, andldflags
attributes toMSBuildToolchain
. (#10972). Docs: 📃 - Feature: Added mechanism to inject extra flags to
MSBuildToolchain
via[conf]
. (#10972). Docs: 📃 - Fix: Allow
Version(self.settings.compiler.version)
to work fornew
tools.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: 📃 - 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
toself.export_source_folder
. That variable was introduced to reference the folder where theexport_sources
are. Currently, they are copied to thesource
folder but might be changed in the future to avoid copying them, soself.export_source_folder
will always point to the folder containing theexports_sources
. (#11055). Docs: 📃 - Fix: Ensure correct order for libraries in AutotoolsDeps. (#11054)
- Fix: Escape quotes in XCodeDeps generator. (#11039)
- Fix: The
CMakeDeps
generator now setINTERFACE_LINK_DIRECTORIES
necessary when using auto link'#pragma comment(lib, "foo")'
when the required library sets the propertycmake_set_interface_link_directories
. (#10984). Docs: 📃 - Fix: Renamed variables from the
CMakeToolchain
context in blocks to be all lowercase. e.g:CMAKE_OSX_ARCHITECTURES
tocmake_osx_architectures
. (#10981) - Bugfix: Avoid
BazelDeps
to find a library when a directory with the same name exists. (#11090) - Bugfix: The
binaryDir
field atCMakePresets.json
is not set if theconanfile.build_folder
is not available, avoiding anull
value breaking the specification. (#11088) - Bugfix: Fixed unziping while using
tools.get
ortools.unzip
with thestrip_root=True
in atgz
file with hardlinks inside. (#11074) - Bugfix: The method
get_commit
from the newconan.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 theversion
field of the dependencies when thelayout()
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
totools.build:defines
and removedtools.build:ldflags
(now it's the union betweentools.build:sharedlinkflags
andtools.build:exelinkflags
in mostly all the cases). (#10928). Docs: 📃 - Feature: Adding cross-compilation for Android in MesonToolchain. (#10908). Docs: 📃
- Feature: Add extra flags via [conf] into XcodeToolchain. (#10906). Docs: 📃
- Feature: Preliminar support for CMakePresets.json. (#10903). Docs: 📃
- Feature: Added
wrap_mode=nofallback
project-option intoMesonToolchain
as default value. (#10884) - Feature: Added basic
rmdir
tool atconan.tools.files
. (#10874). Docs: 📃 - 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 beNone
. (#10834) - Feature: New templates for the
conan new
command with bazel examples:bazel_exe
andbazel_lib
. (#10812). Docs: 📃 - Feature: Add some support for
msvc
compiler older versions. (#10808) - Feature: Added mechanism to inject extra flags via
[conf]
into several toolchains likeAutotoolsToolchain
,MesonToolchain
andCMakeToolchain
. (#10800). Docs: 📃 - Feature: Support selecting the target to build for XcodeBuild helper. (#10799). Docs: 📃
- 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: 📃
- Feature: Added a checker for Conan 2.x deprecated
from conans
imports inpylint_plugin
. (#10746). Docs: 📃 - Feature: New
conan.tool.microsoft.unix_path
to convert paths to any subsystem when usingconanfile.win_bash
. (#10743). Docs: 📃 - Feature: New
from conan.errors import XXX
new namespace to be ready for 2.0. (#10734). Docs: 📃 - Feature: Allow specifying
default_options = {"pkg/*:option": "value"}
ordefault_options = {"pkg*:option": "value"}
instead ofdefault_options = {"pkg:option": "value"}
to make compatible recipes with 2.0. (#10731). Docs: 📃 - 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 theexports_sources
will still be copied to the base source folder. (#10091). Docs: 📃 - Fix: Add support for
clang
tomsvc_runtime_flag()
. It requires definingcompiler.runtime = static/dynamic
definition, same as modernmsvc
compiler setting. (#10898). Docs: 📃 - 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 ofself.source_folder
but will apply them withself.source_folder
as the base folder. (#10875). Docs: 📃 - Fix: Setting
CMAKE_SYSTEM_PROCESSOR
for Apple cross-compiling including M1. (#10856). Docs: 📃 - Fix: Do not overwrite values for
CMAKE_SYSTEM_NAME
,CMAKE_SYSTEM_VERSION
andCMAKE_SYSTEM_PROCESSOR
set from the [conf] or the user_toolchain. (#10856). Docs: 📃 - Fix: Fix architecture translation from Conan syntax to build system in CMakeToolchain. (#10856). Docs: 📃
- Fix: Several improvements of the Bazel integration (
Bazel
,BazelToolchain
,BazelDeps
), new functional tests in all platforms. (#10812). Docs: 📃 - Fix:
Conf.get()
always returnsdefault
value if internalconf_value.value
isNone
, i.e., it was unset. (#10800). Docs: 📃 - Fix: Set
-DCMAKE_MAKE_PROGRAM
when the generator is for MinGW and the conftools.gnu:make_program
is set. (#10770) - Fix: Remove unused
clion_layout
. (#10760). Docs: 📃 - Fix: AutotoolsToolchain adjust the runtime flag of
msvc
(MTd
,MT
,MDd
orMD
) toCFLAGS
andCXXFLAGS
when using themsvc
assettings.compiler
. (#10755). Docs: 📃 - Fix: Removed
subsystem_path
from theconan.tool.microsoft
namespace, superseded byunix_path
. (#10743). Docs: 📃 - Fix: Show an error message at
conan install
if thevalidate()
method raisesConanInvalidConfiguration
. (#10725) - BugFix: The
find_dependency
called internally inCMakeDeps
generator to locate transitive dependencies now use theMODULE/NO_MODULE
following thecmake_find_mode
property when declared in the dependency. (#10917) - Bugfix: Fix virtualrunenv wrong
build
scope. (#10904) - BugFix: Make
self.folders.root
apply at packageconan install .
too. (#10842) - Bugfix: Fix call to undefined function for markdown generator when components add
system_libs
. (#10783) - Bugfix: solve
build_policy=never
bug whenconan export-pkg --force
and there already exists a package in the cache. (#10738) - Bugfix: Add transitive dependencies to generated Bazel BUILD files. (#10686)
2.0.0-alpha6 (28-Mar-2022)
conan 2.0.0-alpha6 release
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)
2.0.0-alpha5 (08-Mar-2022)
conan 2.0.0-alpha5 release
1.46.0 (07-Mar-2022)
- Feature: Configuration field
tools.cmake.cmaketoolchain:user_toolchain
defined as list-like object (#10729). Docs: 📃 - 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: 📃
- Feature: Improve markdown generator instructions. (#10673). Docs: 📃
- Feature: The
CMakeToolchain
andAutotoolsToolchain
take into account thecpp.package
info to set the output directories for libraries, executables, and so on when runningcmake.install
ormake install
. (#10672). Docs: 📃 - Feature: Added
basic_layout
, removedmeson_layout
and added argumentsrc_folder
tocmake_layout
as a shortcut for adjustingconanfile.folders.source
. (#10659). Docs: 📃 - Feature: Adding
self.base_source_folder
forexports_sources
explicit layouts. (#10654). Docs: 📃 - Feature: Adding
root
to layout model to allow conanfile.py in subfolders. (#10654). Docs: 📃 - Feature: Added new property
component_version
forPkgConfigDeps
and legacyPkgConfig
. (#10633). Docs: 📃 - Feature: Changed
.pc
file description field for components inPkgConfigDeps
. (#10633). Docs: 📃 - Feature: Add
sdk_version
setting forMacos
,iOS
,watchOS
andtvOS
. (#10608). Docs: 📃 - Feature: Add new
XcodeBuild
build helper. (#10608). Docs: 📃 - Feature: Add new
XcodeToolchain
helper. (#10608). Docs: 📃 - Feature: Add
compiler.version
12 for GCC in settings. (#10595) - Feature: Introduce new
conan.tools.scm.Git
helper, for direct use inexport()
method to capture git url and commit, and to be used insource()
method to clone and checkout a git repo. (#10594). Docs: 📃 - Feature: New
from conan.tools.files import update_conandata()
helper to add data toconandata.yml
in theexport()
method. (#10586). Docs: 📃 - Feature: Add CMake variables, cli arguments and native build system arguments to new
conan.tools.cmake.CMake
helper. (#10573). Docs: 📃 - Feature: Adding more functionality to
ConfDefinition
andConf
, something similar toProfileEnvironment
andEnvironment
ones. (#10537). Docs: 📃 - Feature: Port
conan.tools.Version
to Conan 1.X. (#10536). Docs: 📃 - Feature: Port
conan.tools.build.cross_building
to Conan 1.X. (#10536). Docs: 📃 - Feature: New
copy
tool atconan.tools.files
namespace that will replace theself.copy
in Conan 2.0. (#10530). Docs: 📃 - Feature: Add
recipe_folder
to 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
fromconan.tool.cross_building
toconan.tool.build
to match the location in develop2. (#10706) - Fix: Don't compose folders in Xcode generator using
dep.package_folder
, nowcpp_info.bindirs
,cpp_info.includedirs
, etc. are absolute. (#10694) - Fix: When the
layout()
method is declared, theself.package_folder
in the recipe is now available even when doing aconan 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, theexports
will not be considered sources anymore, but only theexports_sources
. Theexports
are used exclusively by the recipe, but not as package source. (#10625) - Fix: Make the
source()
method run inside theself.source_folder
, in the same waybuild()
runs inself.build_folder
. But only for recipes that define thelayout()
method, to not break unless usinglayout()
. (#10612). Docs: 📃 - Fix: Remove the
--source-folder
new argument toinstall
andeditable
, not necessary at the moment. (#10590). Docs: 📃 - Fix: Fix conf
True
andFalse
handling intools.system.package_manage
helpers. (#10583) - Fix: Change the
CMakeToolchain
message to useCMAKE_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
MesonToolchain
extra quotes incpp_std
(#10707) - Bugfix: Add missing
system_libs
management inAutotoolsDeps
. (#10681) - Bugfix:
GnuDepsFlags
attributes likeframeworks
andframeworkdirs
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_server
circular import do toconan.tools
namespace. (#10635) - bugfix: Fix
meson_layout()
issue with shared folders. (#10600) - Bugfix: Fix
SystemPackageTool
whenmode=verify
, it was still installing packages. (#10596) - Bugfix:
self.build_folder
not being computed even iflayout()
method is defined in localconan install
. Close #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.43.4 (18-Feb-2022)
- Fix: Limit markupsafe python dependency to <2.1 (#10616)