Releases: conan-io/conan
Releases Β· conan-io/conan
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.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 (#11831)
1.51.1 (09-Aug-2022)
- Feature: The
self.info.settings
andself.info.options
now allow theget_safe("foo")
as it is available inself.settings
andself.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 topyinstaller.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 upconanfile.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 differentfind_package
calls to the same package, one in the mainCMakeLists.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 ischeck
. (#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 mergingcpp_info
objects from the components. (#11673). Docs: π - Feature: Support for components in MSBuildDeps. (#11669). Docs: π
- Feature: The
CMakePreset.json
now containstoolset
andarchitecture
items when usingNinja
generator andmsvc
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 generateCMakePresets.json
andCMakeUserPresets.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 toself.settings
andself.options
instead ofself.info.settings
andself.info.options
that it is used to validate thebinary
. (#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 byMesonToolchain
. (#11557). Docs: π - Feature: Added a new
self.folders.subproject
forlayout()
to be able to define layouts that goes up to the parent or siblings folders, together with theself.folders.root = ".."
. (#11556). Docs: π - Feature: Adding new
msys2_ucrt64
,msys2_mingw64
,msys2_clang64
subsystems inos.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 theself.cpp_info
, not in components, where will be ignored. (#11673). Docs: π - Fix: Fix
Dnf
andYum
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()
inCMakeDeps
. (#11625) - Fix: In
conans.tools.collect_libs
andconan.tools.files.collect_libs
, avoids to list other flavors (version, soversion) of the samedylib
on macOS, so that behavior is consistent on Linux & macOS. (#11527). Docs: π - Bugfix: The
AutotoolsToolchain
now clearsNone
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 usingVisual Studio
. (#11652) - BugFix: Avoid
LocalDebuggerEnv
overflows inMSBuildDeps
due to addition of PATH env-var. (#11631) - Bugfix: Fix frameworkdirs not taken into account in XcodeDeps generator. (#11617)
- Bugfix:
CMakeToolchain
avoid settingCMAKE_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 thecompiler.libcxx
(C library). (#11586)
1.50.1 (28-Jul-2022)
2.0.0-beta2 (27-Jul-2022)
- 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
andpost_generate
hook, covering the generation of files around thegenerate()
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)
- Feature:
VirtualBuildEnv
andVirtualRunEnv
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 toARM64
MSBuild platform in MSBuildDeps generator. (#11505) - Feature: Added
CMakeToolchain(self).cache_variables
to declarecache_variables
in theconfigurePresets
in theCMakePresets.json
file. Conan reads them to callcmake
with-D
when using theCMake(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 ofself.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
atconan.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 intuitivefolders.build
andfolders.generators
. Also changed theCMakePresets.json
preset names. (#11391). Docs: π - Fix: When using the
layout()
(as opt-in of some Conan 2.0 features) the defaultincludedirs
of the declared components is now["include"]
the default of thelibdirs
is["lib"]
and the default for thebindirs
is["bin"]
. Previously, the components always had empty fields. Also the default ofcpp_info.resdirs
is now empty. (#11471). Docs: π - Fix: The
CMakeToolchain
will fail ifsettings.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"]
tocpp_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 newconan 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 whenset -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. ExistingCMakeUserPresets.json
will be left untouched otherwise. (#11452). Docs: π - Bugfix: Fix crash in pylint plugin with pylint >= 2.14.0. (#11445)
- Bugfix: Allow using
PkgConfigDeps
foreditable
packages, not raising an error causepackage_folder
is None. (#11440) - Bugfix: The
CMakePresets.json
file, when performing severalconan install
commands, ended-up with several entries of duplicated "buildPresets" if used with amulti-configuration
cmake generator. (#11414) - Bugfix:
PkgConfigDeps
creates*.pc
files fortest_requires
. (#11390)
2.0.0-beta1 (20-Jun-2022)
- 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
andCMakeToolchain
- 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 newconan.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)
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: π - 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 correctLC_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
andbazel_layout
. (#11348). Docs: π - Feature: Remove the parameter
copy_symlink_folders
of theconan.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 forCMakeToolchain
. (#11317). Docs: π - Feature: Add
--sysroot
support forAutotoolsToolchain
and remove support forcpp_info.sysroot
inAutotoolsDeps
. (#11317). Docs: π - Feature: Add
tools.build:sysroot
conf. (#11317). Docs: π - Feature: Improved
cmake_layout
andCMakePresets.json
feature so you can manage different configurations using the sameCMakeUserPresets.json
not only for multi-config (Debug/Release) but for any set of settings specified in a new conftools.cmake.cmake_layout:build_folder_vars
that accepts a list of settings to use. e.gtools.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 bothVisual Studio
andmsvc
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
andconfigure
. (#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 thearch_target
andarch
settings, allowing targeting Espressif's ESP32-S2 and ESP32-S3 microcontrollers. (#11143) - Fix: Use
interface_library
withshared_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 inmake 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 conditionalrequirements()
method. (#11209) - Fix: Placing quote marks around echo statement in
save_sh
function. (#11123) - Bugfix: Force
conan_server
to usepyjwt>=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 inCMakeDeps
generator, as they can have dependencies tosystem_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
ifUSERNAME
is not set as env variable on Windows. (#11223) - Bugfix: Add Rocky Linux to with_yum. (#11212)