Releases: conan-io/conan
Releases · conan-io/conan
2.0.16 (21-Dec-2023)
2.0.15 (20-Dec-2023)
- Feature: New
conan lock remove
command to remove requires from lockfiles. (#15284). Docs: 📃 - Feature: New
CMake.ctest()
helper method to launch directlyctest
instead of viacmake --target=RUN_TEST
. (#15282) - Feature: Add tracking syntax in
<host_version>
for different references. (#15274). Docs: 📃 - Feature: Adding
tools.microsoft:winsdk_version
conf to makeVCVars
generator to use the givenwinsdk_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'sself.dependencies
. (#15221). Docs: 📃 - Feature: Make
CMakeDeps
generator create aconandeps.cmake
that aggregates all direct dependencies in acmake
-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 insource()
method injecting environment. (#15153). Docs: 📃 - Feature: Allow accessing the contents of
settings.yml
(andsettings_user
!) fromConfigAPI
. (#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 usingsecure
argument inftp_download
for secure communication. (#15137) - Feature: New
[replace_requires]
and[replace_tool_requires]
in profile for redefining requires, useful for package replacements likezlibng/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'srun()
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()
andset_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 usegit status . -s
to make sure it only process the current path, not the whole repo, similarly to otherGit
methods. (#15289) - Bugfix: Make
self.info.clear()
and header-only packages to removepython_requires
andtool_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
toCMakePresets
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
forconan export-pkg
command. (#15126) - Bugfix:
pyinstaller.py
was broken for Python 3.12 due to a uselessdistutils
import. (#15116) - Bugfix: Fix backup sources error when no
core.sources:download_cache
is set. (#15109)
2.0.14 (14-Nov-2023)
- Feature: Added
riscv64, riscv32
architectures to defaultsettings.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 userCMakePresets.json
when no layout nor output-folder is defined (#15058) - Fix: Add
astra
,elbrus
andaltlinux
as distribution usingapt
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()
orPkgConfig.fill_cpp_info
, likexorg/system
was very noisy to the Conan output, making it more quiet (#14924) - Fix: Serialize the
path
information ofpython_requires
, necessary for computing buildinfo (#14886) - Fix: Define remotes in
conan source
command in case recipe haspython_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 oftool_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
orcache check-integrity
) when theexport_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)
- 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
andbazel_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 aconan_bzl.rc
file which defines theconan-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 aconanfile.txt
(#14836)
2.0.13 (28-Sep-2023)
- Bugfix: Fix wrong cppstd detection for newer apple-clang versions introduced in 2.0.11. (#14837)
2.0.12 (26-Sep-2023)
- Feature: Add support for Clang 17. (#14781). Docs: 📃
- Feature: Add
--dry-run
forconan remove
. (#14760). Docs: 📃 - Feature: Add
host_tool
toinstall()
method inpackage_manager
to indicate whether the package is a host tool or a library. (#14752). Docs: 📃 - Fix: Better error message when trying to
export-pkg
apython-require
package, and avoid it being exported and then failing. (#14819) - Fix:
CMakeDeps
allowsset_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()
oversettings_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)
- Feature: Add
--format=json
formatter toconan 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/orld
binaries variables from Meson into lists if declared blank-separated strings. (#14676) - Feature: Add
nobara
distro todnf
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()
whenwin_bash=True
. (#14756) - Bugfix: Change the default
check=False
inconan.tools.system.package_manager.Apt
toTrue
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
withtest_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)
- 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
toSYSTEM_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)
- Feature: Allow
patch_user
inconandata.yml
definition for user patches, not handled byapply_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 topython_requires
soconan list --graph
can listpython_requires
too. (#14529) - Feature: Add
rrev
,rrev_timestamp
andprev_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 forCMake.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 whereCC
orCXX
are defined and pointing to thecl
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 thetest_package
folder. (#14347). Docs: 📃 - Feature: Provide new
default_build_options
attribute for defining options fortool_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
inconan create
forpython-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 iftools.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
whenpython_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 tostderr
. (#14444) - Fix: Serialize
conf_info
in--format=json
output. (#14442) - Fix:
MSBuildToolchain
/MSBuildDeps
: Avoid passing C/C++ compiler options as options forResourceCompile
. (#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
totest_requires
. (#14340). Docs: 📃 - Fix: Invoke XCRun using conanfile.run() so that environment is injected. (#14326)
- Fix: Use
abspath
forconan config install
to avoid symlinks issues. (#14183) - Bugfix: Solve
build_id()
issues, when multiple differentpackage_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 fortool_requires
of packages already in the "build" context. (#14441) - Bugfix: Avoid
DB is locked
error whencore.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)