Releases: conan-io/conan
Releases Β· conan-io/conan
2.3.1 (16-May-2024)
- Feature: Add GCC 13.3 support. (#16246). Docs: π
- Feature: Allow opt-out for
CMakeToolchain
default use of absolute paths for CMakeUserPresets->CMakePreset and CMakePresets->toolchainFile path. (#16244). Docs: π - Fix: Fix config container name for Docker runner. (#16243)
- Bugfix: Make compatibility checks understand update flag patterns. (#16252)
- Bugfix: Solve bug with
overrides
fromlockfiles
in case of diamond structures. (#16235) - Bugfix: Allow
export-pkg --version=xxx
to be passed to recipes withpython_requires
inheritingset_version
from base class. (#16224)
1.64.1 (14-May-2024)
- Bugfix: Solved inefficiency in
conan info
that could make the command order of magnitude slower in slow drive systems with large dependency graphs. (#16236)
2.3.0 (06-May-2024)
- Feature: Allow
*
wildcard as subsetting in inrm_safe
. (#16105). Docs: π - Feature: Show recipe and package sizes when running
conan upload
. (#16103) - Feature: Extend
conan version
to report current python and system for troubleshooting. (#16102). Docs: π - Feature: Add
detect_xxxx_compiler()
for mainstream compilers as gcc, msvc, clang. to the publicdetect_api
. (#16092). Docs: π - Feature: Add comment support for
.conanignore
file. (#16087) - Feature: In graph
html
search bar now takes in multiple search patterns separated by commas. (#16083) - Feature: In graph
html
added 'filter packages' bar that takes in multiple search patterns separated by comma and hides filters them from graph. (#16083) - Feature: Add an argument
hide_url
to Git operations to allow logging of the repository URL. By default, URLs will stay<hidden>
, but users may opt-out of this. (#16038) - Feature: Allow
.conf
access (exclusively toglobal.conf
information, not to profile information) in theexport()
andexport_sources()
methods. (#16034). Docs: π - Feature: Avoid copying identical existing files in
copy()
. (#16031) - Feature: New
conan pkglist merge
command to merge multiple package lists. (#16022). Docs: π - Feature: New
conan pkglist find-remote
command to find matching in remotes for list of packages in the cache. (#16022). Docs: π - Feature: Relativize paths in
CMakePresets
generation. (#16015) - Feature: Add new
test_package_folder
attribute toconanfile.py
to define a different custom location and name rather thantest_package
default. (#16013). Docs: π - Feature: New
conan create --test-missing
syntax to optionally run thetest_package
only when the package is actually created (useful with--build=missing
). (#15999). Docs: π - Feature: Add
tools.gnu:build_triplet
to conf. (#15965) - Feature: Add
--exist-ok
argument toconan profile detect
to not fail if the profile already exists, without overwriting it. (#15933) - Feature: MesonToolchain can generate a native file if native=True (only makes sense when cross-building). (#15919). Docs: π
- Feature: Meson helper injects native and cross files if both exist. (#15919). Docs: π
- Feature: Add support for meson subproject. (#15916). Docs: π
- Feature: Added transparent support for running Conan within a Docker container. (#15856). Docs: π
- Fix: Allow defining
CC=/usr/bin/cc
(and for CXX) forconan profile detect
auto-detection. (#16187) - Fix: Solve issue in
pyinstaller.py
script, it will no longer installpip install pyinstaller
, having it installed will be a precondition (#16186) - Fix: Use backslash in
CMake
helper for the CMakeLists.txt folder, fixes issue when project is in the drive root, likeX:
(#16180) - Fix: Allowing
conan editable remove <path>
even when the path has been already deleted. (#16170) - Fix: Fix
conan new --help
formatting issue. (#16155) - Fix: Improved error message when there are conflicts in the graph. (#16137)
- Fix: Improve error message when one URL is not a valid server but still returns 200-ok under a Conan "ping" API call. (#16126)
- Fix: Solve
sqlite3
issues in FreeBSD due to queries with double quotes. (#16123) - Fix: Clean error message for
conan cache restore <non-existing-file>
. (#16113) - Fix: Improve UX and error messages when a remotes or credentials file in the cache is invalid/empty. (#16091)
- Fix: Use
cc
executable in Linux systems for autodetect compiler (conan profile detect
anddetect_api
). (#16074) - Fix: Improve the definition of version ranges UX with better error message for invalid
==, ~=, ^=
operators. (#16069) - Fix: Improve error message UX when incorrect
settings.yml
orsettings_user.yml
. (#16065) - Fix: Print a warning for Python 3.6 usage which is EOL since 2021. (#16003)
- Fix: Remove duplicated printing of command line in
Autotools
helper. (#15991) - Fix: Add response error message output to HTTP Status 401 Errors in FileDownloader. (#15983)
- Fix: Add gcc 14 to default
settings.yml
. (#15958) - Fix: Make
VCVars
use thecompiler.update
to specify the toolset. (#15947) - Fix: Add
rc
toAutotoolsToolchain
mapping ofcompiler_executables
for cross-build Linux->Windows. (#15946) - Fix: Add
Pop!_OS
to the distros usingapt-get
as system package manager. (#15931) - Fix: Do not warn with package names containing the
-
character. (#15920) - Fix: Fix html escaping of new
--format=html
graph output, and pass the graph serialized object instead of the string. (#15915) - Bugfix: Make MesonToolchain listen to
tools.build:defines
conf variable. (#16172). Docs: π - Bugfix: Disallow
self.cpp_info
access invalidate_build()
method. (#16135) - Bugfix: Don't show a trace when
.conanrc
'sconan_home
is invalid. (#16134) - Bugfix: Avoid the propagation of transitive dependencies of
tool_requires
to generators information even if they are marked asvisible=True
. (#16077) - Bugfix:
BazelDeps
now uses therequirement.build
property instead ofdependency.context
one. (#16025) - Bugfix: Make
conan cache restore
work correctly when restoring over a package already in the local cache. (#15950)
2.2.3 (17-Apr-2024)
- Fix: Fix
to_apple_archs
method when using architectures from settings_user. (#16090)
1.64.0 (04-Apr-2024)
- Feature: Add
--output-folder
toexport-pkg
command to be used whenlayout()
is declared. (#15741). Docs: π - Feature: Promote cppstd_flag in the new conan.tools.build module. (#15731). Docs: π
- Feature:
conan.tools.meson
helper requires meson >= 0.57.0. (#15706). Docs: π - Fix: Fix flags passed by AutotoolsToolchain when cross compiling from macOS to a non-Apple OS. Backported from Conan 2. (#15948)
- Fix: Avoiding reconfigure process. Using
--destdir
param instead. Deprecatedreconfigure
param inMeson.configure() function
. (#15706). Docs: π
2.2.2 (25-Mar-2024)
2.2.1 (20-Mar-2024)
- Fix: Add
copytree_compat
method for compatibility with Python>=3.12 after distutils removal. (#15906)
2.2.0 (20-Mar-2024)
- Feature: Raise for toolchains different than CMakeToolchain if using universal binary syntax. (#15896)
- Feature: Warn on misplaced requirement function calls (#15888)
- Feature: Print options conflicts in the graph caused by different branches recipes defining options values. (#15876). Docs: π
- Feature: Add macOS versions 14.2, 14.3, 14.4 to
settings.yml
. (#15859). Docs: π - Feature: New graph
html
: more information, test-requires, hiding/showing different packages (build, test). (#15846). Docs: π - Feature: Add
--backup-sources
flag toconan cache clean
. (#15845) - Feature: Add
conan graph outdated
command that lists the dependencies that have newer versions in remotes (#15838). Docs: π - Feature: Set
CMAKE_VS_DEBUGGER_ENVIRONMENT
from CMakeToolchain to point to all binary directories when using Visual Studio. This negates the need to copy DLLs to launch executables from the Visual Studio IDE (requires CMake 3.27 or newer). (#15830). Docs: π - Feature: Add a parameter to
trim_conandata
to avoid raising an exception when conandata.yml file doesn't exist. (#15829). Docs: π - Feature: Added
build_context_folder
to PkgConfigDeps. (#15813). Docs: π - Feature: Included
build.pkg_config_path
in the built-in options section in the MesonToolchain template. (#15813). Docs: π - Feature: Update
_meson_cpu_family_map
to supportarm64ec
. (#15812) - Feature: Added support for Clang 18. (#15806). Docs: π
- Feature: Add basic support in CMakeToolchain for universal binaries. (#15775). Docs: π
- Feature: New
tools.cmake.cmake_layout:build_folder
config that allows re-definingcmake_layout
local build-folder. (#15767). Docs: π - Feature: New
tools.cmake.cmake_layout:test_folder
config that allows re-definingcmake_layout
output build folder fortest_package
, including a$TMP
placeholder to create a temporary folder in systemtmp
. (#15767). Docs: π - Feature: (Experimental) Add
conan config install-pkg myconf/[*]
new configuration inside Conan packages with newpackage_type = "configuration"
. (#15748). Docs: π - Feature: (Experimental) New
core.package_id:config_mode
that allows configuration package reference to affect thepackage_id
of all packages built with that configuration. (#15748). Docs: π - Feature: Make
cppstd_flag
public to return the corresponding C++ standard flag based on the settings. (#15710). Docs: π - Feature: Allow
self.name
andself.version
inbuild_folder_vars
attribute and conf. (#15705). Docs: π - Feature: Add
conan list --filter-xxx
arguments to list package binaries that match settings+options. (#15697). Docs: π - Feature: Add
detect_libc
to thedetect_api
to get the name and version of the C library. (#15683). Docs: π - Feature: New
CommandAPI
subapi in theConanAPI
that allows calling other commands. (#15630). Docs: π - Fix: Avoid unnecessary build of
tool_requires
when--build=missing
and repeatedtool_requires
. (#15885) - Fix: Fix
CMakeDeps
set_property(... APPEND
argument order. (#15877) - Fix: Raising an error when an infinite loop is found in the install graph (ill-formed dependency graph with loops). (#15835)
- Fix: Make sure
detect_default_compiler()
always returns a 3-tuple. (#15832) - Fix: Print a clear message for
conan graph explain
when no binaries exist for one revision. (#15823) - Fix: Add
package_type="static-library"
to theconan new msbuild_lib
template. (#15807) - Fix: Avoid
platform_requires
to fail when explicit options are being passed viarequires(.., options={})
. (#15804) - Fix: Make
CMakeToolchain
end with newline. (#15788) - Fix: Do not allow
conan list
binary filters or package query if a binary pattern is not provided. (#15781) - Fix: Avoid
CMakeToolchain.preprocessor_definition
definitions to"None"
literal string when it has no value (PythonNone
). (#15756) - Fix: Improved
conan install <path> --deployer-package=*
case that was crashing when usingself.package_folder
. (#15737) - Fix: Fix
conan graph info --format=html
for large dependency graphs. (#15724) - Fix: Make all recipe and plugins python file
print()
tostderr
, so json outputs tostdout
are not broken. (#15704) - Fix: Fix getting the gnu triplet for Linux x86. (#15699)
- Bugfix: Solve backslash issues with
conan_home_folder
inglobal.conf
when used in strings inside lists. (#15870) - Bugfix: Fix
CMakeDeps
multi-config when there are conditional dependencies on thebuild_type
. (#15853) - Bugfix: Move
get_backup_sources()
method to expectedCacheAPI
fromUploadAPI
. (#15845) - Bugfix: Avoid TypeError when a version in conandata.yml lists no patches. (#15842)
- Bugfix: Solve
package_type=build-scripts
issue with lockfiles andconan create
. (#15802) - Bugfix: Allow
--channel
command line argument if the recipe specifiesuser
attribute. (#15794) - Bugfix: Fix cross-compilation to Android from Windows when using
MesonToolchain
. (#15790) - Bugfix: Fix
CMakeToolchain
GENERATOR_TOOLSET whencompiler.update
is defined. (#15789) - Bugfix: Solved evaluation of
conf
items when they matched a Python module (#15779) - Bugfix: Fix
PkgConfigDeps
generating .pc files for itstool_requires
when it is in the build context already. (#15763) - Bugfix: Adding
VISIBILITY
flags toCONAN_C_FLAGS
too. (#15762) - Bugfix: Fix
conan profile show --format=json
for profiles with scoped confs. (#15747) - Bugfix: Fix legacy usage of
update
argument in Conan API. (#15743) - Bugfix: Solve broken profile
[conf]
when strings contains Windows backslash. (#15727) - Bugfix: Fix version precendence for metadata version ranges. (#15653)
2.1.0 (15-Feb-2024)
- Feature: Implement multi-config
tools.build:xxxx
flags inCMakeToolchain
. (#15654) - Feature: Add ability to pass patterns to
--update
flag. (#15652). Docs: π - Feature: Add
--format=json
formatter toconan build
. (#15651) - Feature: Added
tools.build.cross_building:cross_build
to decide whether cross-building or not regardless of the internal Conan mechanism. (#15616) - Feature: Add
--format=json
option toconan cache path
. (#15613) - Feature: Add the --order-by argument for conan graph build-order. (#15602). Docs: π
- Feature: Provide a new
graph build-order --reduce
argument to reduce the order exclusively to packages that need to be built from source. (#15573). Docs: π - Feature: Add configuration to specify desired CUDA Toolkit in CMakeToolchain for Visual Studio CMake generators. (#15572). Docs: π
- Feature: New "important" options values definition, with higher precedence over regular option value definitions. (#15571). Docs: π
- Feature: Display message when calling
deactivate_conanvcvars
. (#15557) - Feature: Add
self.info
information ofpackage_id
to serialized output in the graph, and forward it to package-lists. (#15553). Docs: π - Feature: Log Git tool commands when running in verbose mode. (#15514)
- Feature: Add verbose debug information (with
-vvv
) forconan.tools.files.copy()
calls. (#15513) - Feature: Define
python_requires = "tested_reference_str"
for explicittest_package
ofpython_requires
. (#15485). Docs: π - Feature: Adding
CMakeToolchain.presets_build/run_environment
to modifyCMakePresets
environment ingenerate()
method. (#15470). Docs: π - Feature: Add
--allowed-packges
to remotes to limit what references a remote can supply. (#15464). Docs: π - Feature: Initial documentation to make
RemotesAPI
publicly available (experimental). (#15462) - Feature: Add support for use of vcvars env variables when calling from powershell. (#15461). Docs: π
- Feature: New
Git(..., excluded=[])
feature to avoid "dirty" errors inGit
helper. (#15457). Docs: π - Feature: New
core.scm:excluded
feature to avoid "dirty" errors inGit
helper andrevision_mode = "scm"
. (#15457). Docs: π - Feature: Recipe
python_package_id_mode
forpython_requires
recipes, to define per-recipe effect on consumerspackage_id
. (#15453). Docs: π - Feature: Add cmakeExecutable to configure preset. (#15447). Docs: π
- Feature: Add new
--core-conf
command line argument to allow passingcore.
confs via CLI. (#15441). Docs: π - Feature: Add
detect_api.detect_msvc_update(version)
helper todetect_api
. (#15435). Docs: π - Feature:
CMakeToolchain
definesjobs
in generatedCMakePresets.json
buildPresets. (#15422) - Feature: Allow nested "ANY" definitions in
settings.yml
. (#15415). Docs: π - Feature: Helpers
Git().coordinates_to_conandata()
andGit().checkout_from_conandata_coordinates()
to simplify scm based flows. (#15377) - Feature:
AutotoolsToolchain
automatically inject-FS
for VS. (#15375) - Feature: New
conan upload
core.upload:parallel
for faster parallel uploads. (#15360). Docs: π - Feature: Intel oneAPI compiler detection improvement. (#15358)
- Feature: Display progress for long
conan list
commands. (#15354) - Feature: Add
extension_properties
attribute to pass information to extensions from recipes. (#15348). Docs: π - Feature: Implement
compatibility_cppstd
inextension_properties
for thecompatibility.py
plugin to disable fallback to other cppstd for the recipe. (#15348). Docs: π - Feature: Add
Git.get_commit(..., repository=True)
to obtain the repository commit, not the folder commit. (#15304) - Feature: Ensure
--build=editable
and--build=cascade
works together. (#15300). Docs: π - Feature: New
conan graph build-order --order=configuration
to output a different order, sorted by package binaries/configurations, not grouped by recipe revisions. (#15270). Docs: π - Feature: Allow copy&paste of recipe revisions with timestamps from
--format=compact
intoconan lock add
. (#15262). Docs: π - Fix: Guarantee order of
generators
attribute execution. (#15678) - Fix: Solve issue with
[platform_tool_requires]
in the build profile and context. Discard[platform_requires]
in build profile. (#15665) - Fix: Fix gcc detection in conda environments. (#15664)
- Fix: Improve handling of
.dirty
download files when uploading backup sources. (#15601) - Fix: Fix relativize paths in generated files. (#15592)
- Fix: Allow
None
values forCMakeToolchain.preprocessor_definitions
that will map to definitions without values. (#15545). Docs: π - Fix: Fix
graph build-order --order=configuration
text format output. (#15538) - Fix: Raise a helpful error when the remote is not reachable in case the user wants to work in offline mode. (#15516)
- Fix: Avoid missing file stacktrace when no metadata exists for a source backup. (#15501)
- Fix: Remove
--lockfile-packages
argument, it was not documented as it is was not intended for public usage. (#15499). Docs: π - Fix: Raise if
check_type=int
and conf value is set tobool
. (#15378) - Fix: Add
pkg-config
entry to machine file generated by MesonToolchain, due topkgconfig
entry being deprecated since Meson 1.3.0. (#15369) - Fix: Fix
graph explain
not showing some differences in requirements if missing. (#15355) - Fix: Fix
tools.info.package_id:confs
when pattern did not match any defined conf. (#15353) - Fix: Fix
upload_policy=skip
with--build=missing
issues. (#15336) - Fix: Accept
conan download/upload --list=.. --only-recipe
to download only the recipes. (#15312) - Fix: Allow
cmake.build(build_type="Release")
for recipes built with multi-config systems but withoutbuild_type
setting. (#14780) - Bugfix: Fix
MSBuildDeps
with components and skipped dependencies. (#15626) - Bugfix: Avoid
provides
raising an error for packages that selftool_requires
to themselves to cross-build. (#15575) - Bugfix: Fix build scope OS detection in
tools.microsoft.visual.VCVars
. (#15568) - Bugfix: Fix wrong propagation over
visible=False
when dependency is header-only. (https://github.com/conan...
1.63.0 (12-Feb-2024)
- Feature: Improved
get_libs
algorithm for BazelDeps. (#15299) - Feature: Changed shared lib name in conan-new templates. (#15299)
- Feature: Add tracking of different ref to
<host_version>
. (#15287). Docs: π - Fix: Adding a workaround to avoid
tqdm
failing on macOS. (#15628) - Bugfix:
BazelDeps._get_libs()
was gathering binary names. (#15410) - Bugfix: Non-visible transitive dependencies are not included in the requires (PkgConfigDeps). (#15320)
- Bugfix:
from_old_cppinfo
helper checks if the old cpp_info is notNone
before merging. (#15320) - Bugfix: Fix
NMakeDeps
quoting issues. (#15288) - Bugfix: Make
<host_version>
only track for same user/channel. (#15287). Docs: π