Conan - The open-source C/C++ package manager

Overview

Logo

Conan

Decentralized, open-source (MIT), C/C++ package manager.

Conan is a package manager for C and C++ developers:

  • It is fully decentralized. Users can host their packages in their servers, privately. Integrates with Artifactory and Bintray.
  • Portable. Works across all platforms, including Linux, OSX, Windows (with native and first-class support, WSL, MinGW), Solaris, FreeBSD, embedded and cross-compiling, docker, WSL
  • Manage binaries. It can create, upload and download binaries for any configuration and platform, even cross-compiling, saving lots of time in development and continuous integration. The binary compatibility can be configured and customized. Manage all your artifacts in the same way on all platforms.
  • Integrates with any build system, including any proprietary and custom one. Provides tested support for major build systems (CMake, MSBuild, Makefiles, Meson, etc).
  • Extensible: Its python based recipes, together with extensions points allows for great power and flexibility.
  • Large and active community, especially in Github (https://github.com/conan-io/conan) and Slack (https://cpplang-inviter.cppalliance.org/ #conan channel). This community also creates and maintains packages in ConanCenter and Bincrafters repositories in Bintray.
  • Stable. Used in production by many companies, since 1.0 there is a commitment not to break package recipes and documented behavior.
develop Code Climate
Build Status Develop Develop climate

Setup

Please read https://docs.conan.io/en/latest/installation.html to know how to install and start using Conan. TL;DR:

$ pip install conan

Install a development version

You can run Conan client and server in Windows, MacOS, and Linux.

  • Install pip following pip docs.

  • Clone Conan repository:

    $ git clone https://github.com/conan-io/conan.git conan-io
NOTE: repository directory name matters, some directories are known to be problematic to run tests (e.g. conan). conan-io directory name was tested and guaranteed to be working.
  • Install in editable mode

    $ cd conan && sudo pip install -e .

    If you are in Windows, using sudo is not required.

  • You are ready, try to run Conan:

    $ conan --help
    
    Consumer commands
      install    Installs the requirements specified in a conanfile (.py or .txt).
      config     Manages configuration. Edits the conan.conf or installs config files.
      get        Gets a file or list a directory of a given reference or package.
      info       Gets information about the dependency graph of a recipe.
      search     Searches package recipes and binaries in the local cache or in a remote.
    Creator commands
      new        Creates a new package recipe template with a 'conanfile.py'.
      create     Builds a binary package for a recipe (conanfile.py) located in the current dir.
      upload     Uploads a recipe and binary packages to a remote.
      export     Copies the recipe (conanfile.py & associated files) to your local cache.
      export-pkg Exports a recipe & creates a package with given files calling 'package'.
      test       Test a package, consuming it with a conanfile recipe with a test() method.
    Package development commands
      source     Calls your local conanfile.py 'source()' method.
      build      Calls your local conanfile.py 'build()' method.
      package    Calls your local conanfile.py 'package()' method.
    Misc commands
      profile    Lists profiles in the '.conan/profiles' folder, or shows profile details.
      remote     Manages the remote list and the package recipes associated with a remote.
      user       Authenticates against a remote with user/pass, caching the auth token.
      imports    Calls your local conanfile.py or conanfile.txt 'imports' method.
      copy       Copies conan recipes and packages to another user/channel.
      remove     Removes packages or binaries matching pattern from local cache or remote.
      alias      Creates and exports an 'alias recipe'.
      download   Downloads recipe and binaries to the local cache, without using settings.
    
    Conan commands. Type "conan <command> -h" for help
    

Contributing to the project

Feedback and contribution are always welcome in this project. Please read our contributing guide. Also, if you plan to contribute, please add some testing for your changes. You can read the Conan tests guidelines section for some advise on how to write tests for Conan.

Running the tests

Using tox

$ python -m tox

It will install the needed requirements and launch pytest skipping some heavy and slow tests. If you want to run the full test suite:

$ python -m tox -e full

Without tox

Install python requirements

$ python -m pip install -r conans/requirements.txt
$ python -m pip install -r conans/requirements_server.txt
$ python -m pip install -r conans/requirements_dev.txt

If you are not Windows and you are not using a python virtual environment, you will need to run these commands using sudo.

Before you can run the tests, you need to set a few environment variables first.

$ export PYTHONPATH=$PYTHONPATH:$(pwd)

On Windows it would be (while being in the Conan root directory):

$ set PYTHONPATH=.

Ensure that your cmake has version 2.8 or later. You can see the version with the following command:

$ cmake --version

The appropriate values of CONAN_COMPILER and CONAN_COMPILER_VERSION depend on your operating system and your requirements.

These should work for the GCC from build-essential on Ubuntu 14.04:

$ export CONAN_COMPILER=gcc
$ export CONAN_COMPILER_VERSION=4.8

These should work for OS X:

$ export CONAN_COMPILER=clang
$ export CONAN_COMPILER_VERSION=3.5

You can run the actual tests like this:

$ python -m pytest .

There are a couple of test attributes defined, as slow that you can use to filter the tests, and do not execute them:

$ python -m pytest . -m "not slow"

A few minutes later it should print OK:

............................................................................................
----------------------------------------------------------------------
Ran 146 tests in 50.993s

OK

To run specific tests, you can specify the test name too, something like:

$ python -m pytest conans/test/unittests/client/cmd/export_test.py::ExportTest::test_export_warning -s

The -s argument can be useful to see some output that otherwise is captured by pytest.

Also, you can run tests against an instance of Artifactory. Those tests should add the attribute artifactory_ready.

$ python -m pytest . -m artifactory_ready

Some environment variables have to be defined to run them. For example, for an Artifactory instance that is running on the localhost with default user and password configured, the variables could take the values:

$ export CONAN_TEST_WITH_ARTIFACTORY=1
$ export ARTIFACTORY_DEFAULT_URL=http://localhost:8081/artifactory
$ export ARTIFACTORY_DEFAULT_USER=admin
$ export ARTIFACTORY_DEFAULT_PASSWORD=password

ARTIFACTORY_DEFAULT_URL is the base url for the Artifactory repo, not one for an specific repository. Running the tests with a real Artifactory instance will create repos on the fly so please use a separate server for testing purposes.

License

MIT LICENSE

Issues
  • Package revisions

    Package revisions

    Most package managers have a concept of package revision, i.e. additional version number that reflects changes in packaging scripts or applied patches when "main" version number of packaged software remains the same.

    It would be great if Conan added support for revisions too. This will make package updates more trasparent ("updated from vX.Y.Z-r1 to vX.Y.Z-r2"). Also there could be a policy that "stable" channel can never change conanfile and binaries without bumping revision, to prevent accidental changes in packages used in CI with manifest verification.

    It would be great if it was possible to keep binary packages for previous revisions so that CI system with manifests checking does not get broken in case new revision is uploaded without committing new reference manifests.

    It was previously briefly discussed at https://github.com/conan-io/conan/issues/480#issuecomment-247545547

    type: feature priority: high complex: low 
    opened by annulen 89
  • Warning in CMake file created by conan

    Warning in CMake file created by conan

    Hi guys,

    This is not causing me any problems as such, but I thought I'd let you guys know. Noticed this on my build[1]:

    CMake Warning (dev) in build/output/conanbuildinfo.cmake:
      Syntax Warning in cmake code at
        /home/travis/build/DomainDrivenConsulting/dogen/build/output/conanbuildinfo.cmake:142:88
      Argument not separated from preceding token by whitespace.
    Call Stack (most recent call first):
      CMakeLists.txt:30 (include)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    

    Presumably conanbuildinfo.cmake is generated by Conan. Worth clearing up that warning...

    Cheers

    [1] https://travis-ci.org/DomainDrivenConsulting/dogen/jobs/107194308

    opened by mcraveiro 69
  • "Please log in to "conan-center" to perform this action." for several packages

    To help us debug your issue please explain:

    • [x ] I've read the CONTRIBUTING guide.
    • [x ] I've specified the Conan version, operating system version and any tool that can be relevant.
    • [x ] I've explained the steps to reproduce the error or the motivation/use case of the question/suggestion.

    Windows 10 amd64, Python 3.7.4, Conan 1.18.4 from pip within virtualenv

    I am working within conan-libpq-stable-11.4 directory, which is extracted libpq/11.4 from https://github.com/bincrafters/conan-libpq.

    My env:

    >echo %CONAN%
    C:\Users\Vincas\code\cpp\branches\upgrade\\3rdparty\Conan\_python_3.7.4_venv_conan_1.18.4\Scripts\conan.exe
    
    >%CONAN% --version
    Conan version 1.18.4
    

    I have conan_profile_windows.txt like this (for building libpq on Windows using CMake):

    include(default)
    [build_requires]
    cmake_installer/[email protected]/stable
    

    I run development flow commands:

    >%CONAN% source . -sf src
    
    >%CONAN% install . -if install -s "compiler=Visual Studio" -s compiler.version=14 -s arch=x86 -s arch_build=x86 --build=missing -p conan_profile_windows.txt
    

    But since I've added conan_installer as build depends, I get this output:

    >%CONAN% install . -if install -s "compiler=Visual Studio" -s compiler.version=14 -s arch=x86 -s arch_build=x86 --build=missing -p conan_profile_windows.txt
    Configuration:
    [settings]
    arch=x86
    arch_build=x86
    build_type=Release
    compiler=Visual Studio
    compiler.runtime=MD
    compiler.version=14
    os=Windows
    os_build=Windows
    [options]
    [build_requires]
    *: cmake_installer/[email protected]/stable
    [env]
    
    cmake_installer/[email protected]/stable: WARN: Package is corrupted, removing folder: C:\Users\Vincas\.conan\data\cmake_installer\3.15.3\conan\stable\package\60b04a80ac4dd5c23f1acffacc679e9902e636e5
    conanfile.py (libpq/11.4): Installing package
    Requirements
        zlib/[email protected]/stable from 'conan-center' - Cache
    Packages
        zlib/[email protected]/stable:1299b26cefc5e04411a3481abe1c8b63227e2896 - Cache
    Build requirements
        cmake_installer/[email protected]/stable from 'conan-center' - Cache
    Build requirements packages
        cmake_installer/[email protected]/stable:60b04a80ac4dd5c23f1acffacc679e9902e636e5 - Download
    
    cmake_installer/[email protected]/stable: Retrieving package 60b04a80ac4dd5c23f1acffacc679e9902e636e5 from remote 'conan-center'
    Please log in to "conan-center" to perform this action. Execute "conan user" command.
    If you don't have an account sign up here: https://bintray.com/signup/oss
    Remote 'conan-center' username:
    

    I assume it should work without accounts for fetching recipes..?

    type: bug component: bintray priority: high 
    opened by Talkless 63
  • [workspace] Adding

    [workspace] Adding "conan-project" feature, to allow simultaneous edition of connected packages

    Everything in user space, linking in user space. How? Redirecting packages "rootfolder" to local folder, not to conan cache.

    opened by memsharded 63
  • Feature/environment propagate

    Feature/environment propagate

    Changelog: Feature: New environment management, with correct value capturing and restoring on deactivate Docs: https://github.com/conan-io/docs/pull/2060

    New approach to environment (env-vars) management:

    VirtualEnv

    • New generator that will generate buildenv.xxx and runenv.xxx
    • Collects info from dependencies visiting the graph, not by the accumulated deps_env_info
    • It also collects information from profiles
    • It automatically collects runtime information based on cpp_info definition: exes, bin-paths, lib_paths to define PATH, LD_LIBRARY_PATH, DYLD_LIBRARY_PATH envvars

    ConanfileDependencies

    • Entry point in each recipe to visit its dependencies
    • Access to dependencies conanfiles is restricted by a "read-only" conanfilewrapper

    CMakeGen

    • Proof of concept of an aggregated meta-generator that includes CMakeToolchain, CMakeDeps and VirtualEnv
    • CMake build helper will integrate calls to VirtualEnv generated files
    opened by memsharded 57
  • [bug] conan.bintray.com has invalid/no certificate and fails in redirection loop

    [bug] conan.bintray.com has invalid/no certificate and fails in redirection loop

    Steps to reproduce (Include if Applicable)

    Since this morning (12.04.2021) I can't connect to https://conan.bintray.com/ successfully. One problem is that it seems there is no valid server certificate on the server side. After disabling verify_ssl in the remotes there will be an exception because of too many redirects:

    ERROR: Exceeded 30 redirects.. [Remote: conan-center]
    

    Same error can be reproduced by open the URL via the webbrowser of your choice.

    Is this because of the shutdown for bintray? Isn't this dated to 1st May?

    opened by snailcatcher 57
  • Incorrect handling of MSVC versions

    Incorrect handling of MSVC versions

    I am using Conan v1.7.4.

    I've created a static library Conan package using VS 2017 15.7 and updated my Visual Studio to 15.8. After the update, Conan failed to detect a change in the compiler version and did not perform recompilation of the static library. Instead, it just downloaded the same package that was built with VS 2017 15.7. However, when linking to that package from VS 2017 15.8, I am getting following linker error:

    LINK : fatal error C1047: The object or library file 'C:\Users\dodo\.conan\data\LogAndTimer\1.0.1\microblink\stable\package\8b2772668ccbf879d34a70a9d54c78ce70f38a1b\lib\LogAndTimer.lib' was created with an older compiler than other objects; rebuild old objects and libraries
    2>LINK : fatal error LNK1257: code generation failed
    

    However, the debug build does work (details how to reproduce are below).

    I think the problem is in how Conan handles MSVC versions - instead of using the actual compiler version (CMake detects MSVC 19.14.26431.0 in VS 2017 15.7 and MSVC 19.15.26729.0 in VS 2017 15.8), it uses the version of Visual Studio (VS 2017 is compiler version 15, according to Conan).

    I suggest that Conan should use the MSVC compiler version under compiler.version setting and additionally have compiler.vs_version for Visual Studio version. The reason for that is that sometimes libraries built with one version of MSVC are not compatible with later versions of MSVC, especially if you use link time code generation flag (/LTCG link flag and /GL compile flag).

    How to reproduce

    • Install Visual Studio 2017, but not the latest update (at the time of writing, this is 15.8.4). For example, use VS 2017 15.7.x or 15.6.x.
    • Create a conan package that contains a single static library. Make sure that Release build type of that package is compiled with /GL compile flag.
    • Create an application that consumes that static library and make sure it works in Release build type (the app should be linked with /LTCG linker flag).
    • Update Visual Studio 2017 to the latest version (15.8.4 at the time of writing).
    • Build your application

    Expected behaviour

    • conan install after updating the VS should calculate different hash for the library and should rebuild it, thus making sure application linking will succeed

    Actual behaviour

    • Conan does not detect version change in the MSVC compiler and uses the incompatible binary, thus causing linker error described above.

    Now, the main question is - could this be fixed without breaking existing conan VS packages, or we need to wait for Conan 2.0 (and disable LTCG until this issue gets fixed).

    Also, as a side question, is there a possibility to configure Conan to trigger rebuild of libraries even when a minor/bugfix version of the compiler changes, regardless of the compiler being used (e.g. if we update GCC from 8.1.0 to 8.1.1, we would like to rebuild all our binaries, even though they are link-compatible). This would get us the benefits of always having binaries built with the latest compiler to get the latest bugfixes and performance improvements - this benefit is also mentioned in conan documentation:

    What happens if we have a library that we can be built with GCC 4.8 and will preserve the ABI compatibility with GCC 4.9? (This kind of compatibility is easier to achieve for example for pure C libraries).

    Although it could be argued that it is worth rebuilding with 4.9 too -to get fixes and performance improvements-. Let’s suppose that we don’t want to create 2 different binaries, but just a single built with GCC 4.8 which also needs to be compatible for GCC 4.9 installations.

    type: feature stage: queue priority: high complex: high whiteboard 
    opened by DoDoENT 52
  • Better Python code reuse

    Better Python code reuse

    Currently, it is possible to reuse Python code by requiring it and tools.pythonpath. This is a bit limited because it's not possible to import the module before the ConanFile is loaded, which makes it impossible to do some things (such as subclassing ConanFile). I tried with a profile as well:

    [build_requires]
    mypymodule/[email protected]/stable
    

    .. but this doesn't work either. Maybe it would make sense for build_requires in profiles to be parsed before the conanfile is loaded. Or a separate, special section just for python deps of the conanfile. Is there a better way? What are your thoughts?

    opened by sztomi 50
  • pkg-config for dependency detection

    pkg-config for dependency detection

    While working on some packages I have run into a problem with some configure scripts that relies only on pkg-config to find it's dependencies (i.e. just setting CFLAGS doesn't help it find the dependency). I started by hacking in support for setting PKG_CONFIG_PATH in ConfigureEnvironment like:

    diff --git a/conans/client/configure_environment.py b/conans/client/configure_environment.py
    index cc67480..84953e3 100644
    --- a/conans/client/configure_environment.py
    +++ b/conans/client/configure_environment.py
    @@ -27,6 +27,7 @@ class ConfigureEnvironment(object):
             """
             command = ""
             if self.os == "Linux" or self.os == "Macos":
    +            pkgconfigpath = 'PKG_CONFIG_PATH="%s"' % ":".join(self._deps_cpp_info.lib_paths)
                 libs = 'LIBS="%s"' % " ".join(["-l%s" % lib for lib in self._deps_cpp_info.libs])
                 archflag = "-m32" if self.arch == "x86" else ""
                 ldflags = 'LDFLAGS="%s %s"' % (" ".join(["-L%s" % lib
    @@ -55,7 +56,7 @@ class ConfigureEnvironment(object):
                                                         debug, include_flags)
                 include_paths = ":".join(['"%s"' % lib for lib in self._deps_cpp_info.include_paths])
                 headers_flags = 'C_INCLUDE_PATH=%s CPP_INCLUDE_PATH=%s' % (include_paths, include_paths)
    -            command = "env %s %s %s %s %s" % (libs, ldflags, cflags, cpp_flags, headers_flags)
    +            command = "env %s %s %s %s %s %s" % (libs, ldflags, cflags, cpp_flags, headers_flags, pkgconfigpath)
             elif self.os == "Windows" and self.compiler == "Visual Studio":
                 cl_args = " ".join(['/I"%s"' % lib for lib in self._deps_cpp_info.include_paths])
                 lib_paths = ";".join(['"%s"' % lib for lib in self._deps_cpp_info.lib_paths])
    

    and then making sure that I copied the .pc files into to the lib directory. This worked fine and the packages was now found. The problem is that the .pc file "lies" and doesn't point to the $HOME/.conan/data/[dependency]... path but rather to /usr/local or whatever the default prefix is. This lead to another problem where it picked up the wrong library (on in /usr/local instead of ~/.conan).

    So now I wonder if this can be done even better. Since we have information in package_info about what to link and the include directories etc we could write our own .pc file and point it to the right directory and we could add it to ~/.conan/data/pkg-config or something and it could have a .pc file for all installed packages.

    Is this something we want to do? And in that case where should this code be added, it has to be done somewhere where the final package path is resolved and that the pc file is regenerated if we get a new path.

    opened by tru 49
  • Issues with proxies

    Issues with proxies

    I've started Conan server in my organization's local network. For external sites (like github) proxy must be used, but not for computers in local network. So, I have there env variables:

    HTTP_PROXY=http://proxy.domain:3128
    HTTP_PROXY=https://proxy.domain:3128
    NO_PROXY=localhost,127.0.0.1,*.domain,192.168.*
    

    With these variables I can create packages with recipes in my local cache (and this recipes can download external sources), but cannot download recipes and prebuilt packages from organization's Conan server.

    I've tried to set same settings in conan.conf, but had no luck. Also I've tried to use Conan server domain name and/or IP address in NO_PROXY with same result:

    > conan search -r <remotename> "OpenCV*"
    ERROR: Permission denied for user: '<username>'. [Remote: <remotename>]
    

    But if I disable all proxies (comment in conan.conf and unset env variables), it works just fine:

    Existing package recipes:
    
    OpenCV/[email protected]/testing
    

    Conan v. 1.0.1, OS: Arch Linux, CentOS 6, Windows 10.

    Feedback please! 
    opened by leugenea 47
  • Replace cpp.source + cpp.build with cpp.local

    Replace cpp.source + cpp.build with cpp.local

    Changelog: Fix: Changed interface of the experimental self.cpp.source and self.cpp.build that now are defined together at cpp.local. Changelog: Fix: Moved experimental LayoutPackager to a conan.tools.files.AutoPackager with new interface. Removed also the conanfile.patterns attribut that now is configured directly in the AutoPackager. Docs: https://github.com/conan-io/docs/pull/XXXX

    opened by lasote 0
  • Component with same name as package

    Component with same name as package

    Changelog: Feature: Let users define a new Component with the same name as the package.

    Well, if you do that, Conan will raise this error:

    ERROR:
    	ConanException: pkg/0.1 package_info(): Component name cannot be the same as the package name: 'pkg'
    

    This PR is aimed to solve this problem in relation to these comments:

    • https://github.com/conan-io/conan/pull/9806#discussion_r733364484
    • https://github.com/conan-io/conan/pull/9806#discussion_r734408718

    Depends on: https://github.com/conan-io/conan/pull/9806 Docs: https://github.com/conan-io/docs/pull/XXXX

    • [ ] Refer to the issue that supports this Pull Request.
    • [ ] If the issue has missing info, explain the purpose/use case/pain/need that covers this Pull Request.
    • [ ] I've read the Contributing guide.
    • [ ] I've followed the PEP8 style guides for Python code.
    • [ ] I've opened another PR in the Conan docs repo to the develop branch, documenting this one.

    Note: By default this PR will skip the slower tests and will use a limited set of python versions. Check here how to increase the testing level by writing some tags in the current PR body text.

    opened by franramirez688 1
  • [feature] Parse docstring from `package_info` method and show it in markdown generator

    [feature] Parse docstring from `package_info` method and show it in markdown generator

    Parsing the docstring from the package_info method could be a good way to pass information from the recipe to consumers... and this information can be written in the file generated by the markdown generator. It can be free text or structured one.

    opened by jgsogo 0
  • [feature] introduce alias for PkgConfigDeps

    [feature] introduce alias for PkgConfigDeps

    Issue: The current PkgConfigDeps scopes the pc files with the name of the package, but people, specially from open source and conan-center, want to consume "crypto.pc" not "openssl-crypto.pc", otherwise every consumer would need to modify the build system script.

    Proposal

    1. Keep generating files scoped, always, and a global one that include all the components:

    With components:

    self.cpp_info.components["crypto"] => "openssl-crypto.pc"
    self.cpp_info.components["ssl"] => "openssl-ssl.pc"
    self.cpp_info.components["tls"] => "openssl-tls.pc"
    self.cpp_info.components["openssl"] => "openssl-openssl.pc"
    "openssl.pc" => include all components
    

    Without components:

    "openssl.pc" => Declares the information using the same template of the components
    
    1. Enable a new property pkg_config_aliases similar to cmake_target_aliases (@SSE4) only when the user really want to declare a pc file without scope. This will be done in conan center in very special cases where the pc file is kind of a "standard". Any alias to core or things like that should be avoided.
    self.cpp_info.components["crypto"].set_property("pkg_config_aliases", ["crypto"]) => "crypto.pc" includes "openssl-crypto.pc"
    self.cpp_info.set_property("pkg_config_aliases", ["bar"]) => "bar.pc" includes "openssl.pc"
    
    1. There is another special case where the recipe wants to declare a foo.pc but including only specific component/s, not to all of them, for example, the "core" component but not some optionals. In that case:
    self.cpp_info.components["core"] => "foo-core.pc"
    self.cpp_info.components["other"] => "foo-other.pc"
    self.cpp_info.components["core"].set_property("pkg_config_aliases", ["foo"]) => "foo.pc" include to "foo-core.pc"  
    
    In this case the `foo.pc` overwrite the global `foo.pc`.
    type: feature complex: low 
    opened by lasote 0
  • [feature] Maintenance for meta-conan layer

    [feature] Maintenance for meta-conan layer

    Currently, the meta-conan layer is barely maintained, considering that the issues and pull requests are not answered and Conan is on version 1.35. Beyond that, the example in the website doesn't work at all, because the version of Conan is outdated.

    The website example is not working, because it depends on an outdated version of the library fasteners and there is an issue about this problem.

    Therefore, I would suggest the attribution of someone from the Conan team to be responsible for the maintenance of the layer and, also, I would like to help in the maintenance of the layer, helping it to stay up to date and answer issues in general.

    type: look into priority: medium 
    opened by mairacanal 1
  • [question] Auto-detect compiler version

    [question] Auto-detect compiler version

    Hi, I'm wondering if there's a way to have Conan automatically detect the compiler version for you, instead of having to manually specify it as a -s flag or profile entry? It seems like the code for detecting the version already exists in detect.py

    My use case is that I'm trying to integrate Conan into a project with an existing build system that has existing auto-configuration code. However, since the version strings in the default settings.yml file are not in any consistent format, and they have to match exactly otherwise you get an error, it's very painful to write a function that converts them. For example, clang.version has entries like 9, 10, 11 whereas apple-clang.version has entries like 9.0, 9.1, 10.0, 11.0. My existing build system normalizes them all to three numbers, like 9.0.0, 9.1.0, etc. This means I need to have some big ugly logic to handle each case.

    My goal is to have the existing build system invoke conan install. This is useful because the build system currently supports multiple cross-build targets, so it has all the information needed to generate a profile file for each one. Getting the compiler version strings right is difficult though, so having Conan auto-detect it would be helpful. I know that I can use a custom settings.yml file, but I would prefer not to in this case.

    Note: I'm posting this as a question rather than a feature request in case this is already possible, or someone has a workaround.

    Thanks

    type: question 
    opened by diggeloid 3
  • [question] conandata.yml, changing a single version source, and consistent recipe revisions

    [question] conandata.yml, changing a single version source, and consistent recipe revisions

    Hi,

    We have a single Git repository in a similiar style to Conan Center for our recipes. We also make use of version agnostic recipes, and data drive it through conandata.yml with a url and a SHA. We also use revision_mode="scm" in recipe, so that we have a 1-1 relationship with recipe revisions and the git commit that resulted in the change. This is all nice.

    An edge case, that I've not found an example of anyone else dealing with yet, is as follows:

    • version agnostic recipe, with a number of versions in the conandata.yml
    • a patch is made to a single version source tree, so we have to update the conandata.yml for a SHA on that version only
    • changing the conandata.yml implies a new recipe revision... but, actually, we only care about that for the version that was changed

    Up until now, we've just bitten the bullet and rebuilt all versions mentioned in the conandata.yml. However, we do have some large recipes in the mix (e.g. Qt), and so it's not desirable in terms of compute, storage, or dev time, to rebuild versions that haven't actually changed.

    Of course, if the recipe itself changed, we'd have to rebuild everything, so this is a bit of an edge case.

    So what we're considering is only building the version that changed. That imples, for the given package, we may have different recipe revisions per version. I don't think I see that as a problem, but some colleagues are not sure. It's lovely having a consistent view of a package with a 1-1 mapping from Git to Artifactory, but the cost of rebuilding unnecessarily is starting to raise it's head.

    What was the intent from your point of view when developing Conan that the behaviour should be in this scenario?

    • always build all versions so revisions are always consistent
    • just build specific versions when their source SHA changes, and can have different recipe revisions across versions of a package

    Thanks.

    opened by foundry-markf 1
  • test that captures with FIXME current issue with per-package settings

    test that captures with FIXME current issue with per-package settings

    Changelog: Omit Docs: Omit

    Probably something that we want to fix for 2.0?

    opened by memsharded 0
  • [question] Can not find by boost with components

    [question] Can not find by boost with components

    Env

    windows 11 qt creator 5.0.2 conan 1.41.0

    conanfile.py

    from conans import ConanFile
    
    class ConanDeps(ConanFile):
       settings = "os", "compiler", "build_type", "arch"
       requires = "boost/1.77.0"
       default_options = { "*:shared": True }
       generators = "CMakeToolchain", "CMakeDeps"
    
       def imports(self):
          self.copy("*.dll", dst="bin", src="bin")
    

    cmake configure options

    -GNinja
    -DCMAKE_BUILD_TYPE:STRING=Debug
    -DCMAKE_PROJECT_INCLUDE_BEFORE:PATH=%{IDE:ResourcePath}/package-manager/auto-setup.cmake
    -DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}
    -DCMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}
    -DCMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}
    -DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}
    

    Problem

    CMakeLists.txt

    ...
    find_package(Boost REQUIRED COMPONENTS locale) # fails
    find_package(Boost REQUIRED) # succeeds and target_link_libraries works, e.g. target_link_libraries(tgt PRIVATE Boost::locale)
    ...
    

    More Info

    tested on wxWidgets

    find_package(wxWidgets REQUIRED COMPONENTS core) succeeds

    opened by playgithub 0
  • [develop2] Simplifying the Options model

    [develop2] Simplifying the Options model

    Changelog: Omit Docs: Omit

    New proposal to simplify Options:

    • Remove the XXXValues classes that duplicate too much of the model
    opened by memsharded 0
Releases(1.41.0)
  • 1.41.0(Oct 6, 2021)

    • Feature: Added IntelCC as public generator. (https://github.com/conan-io/conan/pull/9747). Docs: :page_with_curl:
    • feature: Prepare conan.tools.files download, get, ftp_download for adoption. (https://github.com/conan-io/conan/pull/9715). Docs: :page_with_curl:
    • Feature: Support multiple toolchains in one recipe. (https://github.com/conan-io/conan/pull/9688). Docs: :page_with_curl:
    • Feature: MSBuildDeps generator learned how to handle build_requires to use executables from them. (https://github.com/conan-io/conan/pull/9686). Docs: :page_with_curl:
    • Feature: PkgConfig helper now honors PKG_CONFIG environment variable. (https://github.com/conan-io/conan/pull/9627)
    • Feature: Make new environment generators multi-config (Release/Debug and arch). (https://github.com/conan-io/conan/pull/9543). Docs: :page_with_curl:
    • Feature: Environment activate scripts will generate deactivate scripts by default. (https://github.com/conan-io/conan/pull/9539)
    • Feature: Support remote archives other than zip in conan config install. (https://github.com/conan-io/conan/pull/9530)
    • Feature: New "compiler" intel-cc with different modes (icx, dpcpp, classic) for Intel oneAPI. (https://github.com/conan-io/conan/pull/9522). Docs: :page_with_curl:
    • Feature: Add Intel oneAPI support for CMakeToolChain, MSBuildToolchain and VCVars. (https://github.com/conan-io/conan/pull/9522). Docs: :page_with_curl:
    • Feature: Add objects attribute to the cpp_info so that we can add object files to the linker without having to add those mixed with linker flags. (https://github.com/conan-io/conan/pull/9520). Docs: :page_with_curl:
    • Feature: New setttings: xtensalx6 and xtensalx106 for ESP32/ESP8266 platforms. (https://github.com/conan-io/conan/pull/7977)
    • Fix: New environment deactivate scripts fail in Windows because env-var different casing. (https://github.com/conan-io/conan/pull/9741)
    • Fix: Avoid "overcrowding" Windows environment variables with LD_LIBRARY_PATH and DYLD_LIBRARY_PATH, not used in Windows. (https://github.com/conan-io/conan/pull/9678)
    • Fix: Command conan package now works for new layout() with generators folder. (https://github.com/conan-io/conan/pull/9674)
    • Fix: Don't just print "ERROR: True" on unresolvable conflict. (https://github.com/conan-io/conan/pull/9624)
    • Fix: Fix migrations settings comparison. (https://github.com/conan-io/conan/pull/9615)
    • Fix: Removed unused future dependency from Python requirements.txt. (https://github.com/conan-io/conan/pull/9563)
    • Fix: Make automatic call of VirtualBuildEnv and VirtualRunEnv independent. (https://github.com/conan-io/conan/pull/9543). Docs: :page_with_curl:
    • Bugfix: generator_folder was using the cwd instead of a relative folder to the conanfile, producing layout errors. (https://github.com/conan-io/conan/pull/9668)
    • Bugfix: Support components with symbolic imports. (https://github.com/conan-io/conan/pull/9667)
    • Bugfix: Fix conan.tools.files.patch bug with strip argument. (https://github.com/conan-io/conan/pull/9653)
    • Bugfix: Add support for Xcode 13/Apple clang 13.0 (https://github.com/conan-io/conan/pull/9642)
    • Bugfix: Fixed bad Requires declaration in *.pc files. (https://github.com/conan-io/conan/pull/9635)
    • Bugfix: Fixed bug whereby when a conflict of requirements happens, in some special situations, just a message ERROR: True was printed in the terminal, making it hard to guess what was going on. (https://github.com/conan-io/conan/pull/9633)
    • BugFix: Fixed a bug where using the new layout() the exports went to the conanfile.source_folder instead of the base source folder in the cache and only the exports_sources should go there. (https://github.com/conan-io/conan/pull/9536)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(23.57 MB)
    conan-win-32.exe(14.59 MB)
    conan-win-64.exe(15.17 MB)
  • 1.40.4(Oct 5, 2021)

  • 1.40.3(Sep 30, 2021)

  • 1.40.2(Sep 21, 2021)

  • 1.40.1(Sep 14, 2021)

    • Feature: Change default cmake_layout() source folder from 'src' to '.' (https://github.com/conan-io/conan/pull/9596). Docs: :page_with_curl:
    • Feature: Recovered base_path argument for conan.tools.files.patch and conan.tools.files.apply_conandata_patches to be able to specify a relative folder from the conanfile.source_folder directory (that follows the layout() method). (https://github.com/conan-io/conan/pull/9593). Docs: :page_with_curl:
    • Fix: Allow user definition of CMAKE_XXX_INIT variables in user toolchains when using CMakeToolchain. (https://github.com/conan-io/conan/pull/9576)
    • Fix: Upgrade minimum requests>=2.25 in requirements.txt to make it compatible with latest upgrade of urllib3 to 1.26.6 (https://github.com/conan-io/conan/pull/9562)
    • Bugfix: Aggregate [conf] from build_requires earlier so it is available for generators declared as generators. attribute. Close https://github.com/conan-io/conan/issues/9571 (https://github.com/conan-io/conan/pull/9573)
    • Bugfix: The qmake generator now assigns QMAKE_LFLAGS_SHLIB and QMAKE_LFLAGS_APP variables instead of the incorrect QMAKE_LFLAGS following the official docs. (https://github.com/conan-io/conan/pull/9568). Docs: :page_with_curl:
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(16.17 MB)
    conan-win-32.exe(14.57 MB)
    conan-win-64.exe(15.14 MB)
  • 1.40.0(Sep 6, 2021)

    • Feature: Update conan new modern templates --template=cmake_lib and --template=cmake_exe. (https://github.com/conan-io/conan/pull/9516). Docs: :page_with_curl:
    • Feature: Introduced a new cpp_info property cmake_target_namespace to declare the target namespace for the CMakeDeps generator. This feature allows declaring a global target with a different namespace like Foo::Bar. (https://github.com/conan-io/conan/pull/9513). Docs: :page_with_curl:
    • Feature: Detect Visual Studio 2022 as msvc. (https://github.com/conan-io/conan/pull/9504)
    • Feature: Add Clang 13 support. (https://github.com/conan-io/conan/pull/9502). Docs: :page_with_curl:
    • Feature: Testing support for Windows CMake + Clang (independent LLVM, not VS) + Ninja/MinGW builds, and CMake + Clang (Visual Studio 16 internal LLVM 11 via ClangCL toolset). (https://github.com/conan-io/conan/pull/9477)
    • Feature: Provide new [conf] core:default_build_profile to enable the usage of the build profile as default, and to allow definition of the host profile default in new [conf] core:default_profile. (https://github.com/conan-io/conan/pull/9468). Docs: :page_with_curl:
    • Feature: CMakeToolchain new member find_builddirs defaulted to True to add the cpp_info.builddirs from the requirements to the CMAKE_PREFIX_PATH/CMAKE_MODULE_PATH. That would allow finding the config files packaged and to be able to include() them from the consumer CMakeLists.txt. (https://github.com/conan-io/conan/pull/9455). Docs: :page_with_curl:
    • Feature: CMakeDeps. Added a new property cmake_find_mode with possible values to config(default), module, both or none to control the files to be generated from a package itself. The none replaces the current skip_deps_file property. (https://github.com/conan-io/conan/pull/9455). Docs: :page_with_curl:
    • Feature: CMakeDeps: Added two new properties cmake_module_file_name and cmake_module_target_name, analog to cmake_file_name and cmake_target_name, but to configure the name of FindXXX.cmake file and the target declared inside. (https://github.com/conan-io/conan/pull/9455). Docs: :page_with_curl:
    • Feature: Remove conan-center (https://conan.bintray.com) default remote. (https://github.com/conan-io/conan/pull/9401). Docs: :page_with_curl:
    • Feature: Implement round trip new profile [buildenv] section, necessary for lockfiles, and specially stdout printing. (https://github.com/conan-io/conan/pull/9320)
    • Feature: Allow -o &:option=value wildcard for consumer, too, same it was done for settings in 1.39 (https://github.com/conan-io/conan/pull/9316). Docs: :page_with_curl:
    • Fix: Adding management of private dependencies, via new visible trait compatible with 2.0 for new CMakeDeps and MSBuildDeps. (https://github.com/conan-io/conan/pull/9517)
    • Fix: Remove unused deprecation pip dependency (https://github.com/conan-io/conan/pull/9478)
    • Fix: Upgrade distro dependency to allow 1.6.0 (https://github.com/conan-io/conan/pull/9462)
    • Fix: Make conan remove accept package reference syntax. (https://github.com/conan-io/conan/pull/9459). Docs: :page_with_curl:
    • Fix: Fixed old CMake build helper to cross-build to iOS when two profiles are specified. (https://github.com/conan-io/conan/pull/9437)
    • Fix: Fix conan export typo in help message. (https://github.com/conan-io/conan/pull/9408). Docs: :page_with_curl:
    • Fix: Relax python six dependency to allow 1.16 (https://github.com/conan-io/conan/pull/9407)
    • Fix: Bump urllib3 version to 1.26.6 (https://github.com/conan-io/conan/pull/9405)
    • Fix: The new Autotools build helper accepts a build_script_folder argument in the configure() method to specify are subfolder where the configure script is. (https://github.com/conan-io/conan/pull/9393). Docs: :page_with_curl:
    • Fix: Use frameworks in Premake generator. (https://github.com/conan-io/conan/pull/9371). Docs: :page_with_curl:
    • Fix: The tool conan.tools.files.apply_conandata_patches will use the root source folder to find the patch file and the tool conan.tools.files.patch will take the current source folder declared in the layout() method to know where is the source to apply the patches. (https://github.com/conan-io/conan/pull/9361). Docs: :page_with_curl:
    • Fix: Avoid checking other remotes when -r=remote is defined and revisions are activated and binary is not found in the defined remote. (https://github.com/conan-io/conan/pull/9355)
    • Bugfix: Setting the CMAKE_OSX_DEPLOYMENT_TARGET variable as a cache entry. (https://github.com/conan-io/conan/pull/9498)
    • BugFix: Use topological ordering to define VirtualBuildEnv composition and precedence of appending variables. (https://github.com/conan-io/conan/pull/9491)
    • Bugfix: Bazel build files have an extra ] if there are no dependencies. (https://github.com/conan-io/conan/pull/9480)
    • Bugfix: Add AlmaLinux to with_yum. (https://github.com/conan-io/conan/pull/9463)
    • Bugfix: CMakeToolchain. Fixed a bugfix whereby a variable declared at the .variables containing a boolean ended at CMake with a quoted "True" or "False" values, instead of ON / OFF (https://github.com/conan-io/conan/pull/9455). Docs: :page_with_curl:
    • Bugfix: Fixed bug whereby Conan failed when using compiler=gcc with compiler.version=5 (without specifying a minor version) and compiler.cppstd=17. (https://github.com/conan-io/conan/pull/9431)
    • Bugfix: No verbose traceback was been printed for conanfile.layout() method. (https://github.com/conan-io/conan/pull/9384)
    • Bugfix: Fix Bazel cc_library: deps and linkopts. (https://github.com/conan-io/conan/pull/9381)
    • Bugfix: Fixed bug whereby using new layout() method together with cppinfo.components in the package_info method caused an exception. (https://github.com/conan-io/conan/pull/9360)
    • Bugfix: Fix PkgConfigDeps that was failing in the case of components with requirements. (https://github.com/conan-io/conan/pull/9341)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(16.17 MB)
    conan-win-32.exe(14.57 MB)
    conan-win-64.exe(15.14 MB)
  • 1.39.0(Jul 27, 2021)

    • Feature: Use CMAKE_OSX_DEPLOYMENT_TARGET to get -version-min set in CMakeToolchain. (https://github.com/conan-io/conan/pull/9301)
    • Feature: Display python_requires information in the conan info output. (https://github.com/conan-io/conan/pull/9290)
    • Feature: Now it is possible to define settings for a downstream consumer using -s &:setting=value or the same syntax in the profile even if the consumer is a conanfile.txt or a conanfile.py not declaring a name. e.g: Building a Debug application with Release dependencies: -s build_type=Release -s &:build_type=Debug (https://github.com/conan-io/conan/pull/9267). Docs: :page_with_curl:
    • Feature: The AutotoolsDeps allows to alter the generated environment corresponding to the information read from the dependencies before calling the generate() method. (https://github.com/conan-io/conan/pull/9256). Docs: :page_with_curl:
    • Feature: new remove and items methods for the Environment objects. (https://github.com/conan-io/conan/pull/9256). Docs: :page_with_curl:
    • Feature: New VCVars generator that generates a conanvcvars.bat that activates the Visual Studio Developer Command Prompt. (https://github.com/conan-io/conan/pull/9230). Docs: :page_with_curl:
    • Feature: Skip build helper test and using [conf]. (https://github.com/conan-io/conan/pull/9218). Docs: :page_with_curl:
    • Feature: Implement a new requires = "pkg/(alias)" syntax to be able to dissambiguate alias requirements and resolve them earlier in the flow, solving some limitations of the previous alias definition. This approach is intended to be the one in Conan 2.0 (issue backported from https://github.com/conan-io/tribe/pull/25). (https://github.com/conan-io/conan/pull/9217). Docs: :page_with_curl:
    • Feature: Introduce the -require-override argument to define dependency overrides directly on command line. (https://github.com/conan-io/conan/pull/9195). Docs: :page_with_curl:
    • Feature: New self.win_bash mechanism to enable running commands in a bash shell in Windows. It works only with the new environment definition from the dependencies (env_buildinfo and run_buildinfo) as long as the new AutotoolsToolchain, AutotoolsDeps and Autotools build helper. It supports automatic conversion of the environment variables values declared as "path" according to the declared subsystem in the conf tools.win.bash:subsystem, that is not being auto-detected anymore. (https://github.com/conan-io/conan/pull/9194). Docs: :page_with_curl:
    • Feature: A unique environment launcher (conanenv.bat/sh) is generated to aggregate all the environment generators (VirtualRunEnv, VirtualBuildEnv, AutotoolsToolchain and AutotoolsDeps) that had been generated so the user can easily activate all of them with one command. (https://github.com/conan-io/conan/pull/9161). Docs: :page_with_curl:
    • Feature: Use CMake File API. (https://github.com/conan-io/conan/pull/9005)
    • Fix: Add bindirs definition to cmake_layout(). (https://github.com/conan-io/conan/pull/9276)
    • Fix: Improve error message when conan search <ref> a package in editable mode. (https://github.com/conan-io/conan/pull/9262)
    • Fix: Add options to conanfile.dependencies model. (https://github.com/conan-io/conan/pull/9258)
    • Fix: Fix CMake rejecting library name with special characters. (https://github.com/conan-io/conan/pull/9245)
    • Fix: Use filename [PKG-NAME]-[COMP-NAME] for PkgConfigDeps. (https://github.com/conan-io/conan/pull/9228). Docs: :page_with_curl:
    • Fix: Saving all the toolchain args information into conanbuild.conf instead of json file. (https://github.com/conan-io/conan/pull/9225). Docs: :page_with_curl:
    • Fix: Added warning in the new toolchains (the used in the generate() method) if no build profile is being used. (https://github.com/conan-io/conan/pull/9206). Docs: :page_with_curl:
    • Fix: Implemented check that will raise an error in the CMakeDeps generator when using the build_context_activated, build_context_suffix or build_context_build_modules attributes if no build profile is being used. (https://github.com/conan-io/conan/pull/9206). Docs: :page_with_curl:
    • Fix: TheCMakeDeps generator will check if the targets specified in the find_package(foo components x y z) exist instead of checking against an internal variable. Also, this check will be done at the end of the xxx-config.cmake so any included build_module can declare the needed targets. (https://github.com/conan-io/conan/pull/9206). Docs: :page_with_curl:
    • Fix: Consistent help message for conan profile (sub-command part). (https://github.com/conan-io/conan/pull/9204). Docs: :page_with_curl:
    • Fix: Consistently put short arguments (-a) before long ones (--args). (https://github.com/conan-io/conan/pull/9199)
    • Fix: CC=clang --gcc-toolchain is now identified as clang. (https://github.com/conan-io/conan/pull/9198)
    • Fix: The new VirtualEnv generator has been split into VirtualRunEnv and VirtualBuildEnv. Both are automatically generated as before but only VirtualBuildEnv will be activated by default. (https://github.com/conan-io/conan/pull/9161). Docs: :page_with_curl:
    • Bugfix: Fixing workspace install when conanfile has imports(). (https://github.com/conan-io/conan/pull/9281)
    • Bugfix: Fix QbsProfile toolchain qbs.architecture KeyError. (https://github.com/conan-io/conan/pull/9192)
    • Bugfix: Do not define CMAKE_GENERATOR_TOOLSET in CMakeToolchain for Ninja generator, and define it in vcvars_ver instead. (https://github.com/conan-io/conan/pull/9187)
    • BugFix: build_requires in host context, like gtest, are being propagated downstream by generators in the dependencies model. (https://github.com/conan-io/conan/pull/9171). Docs: :page_with_curl:
    • Bugfix: Fix that overridden requirements "cannot be found in lockfile". (https://github.com/conan-io/conan/pull/8907)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(16.12 MB)
    conan-win-32.exe(14.86 MB)
    conan-win-64.exe(15.43 MB)
  • 1.38.0(Jun 30, 2021)

    • Feature: New PkgConfigDeps generator. (https://github.com/conan-io/conan/pull/9152). Docs: :page_with_curl:
    • Feature: Proposal of jinja2 templates for profiles. (https://github.com/conan-io/conan/pull/9147). Docs: :page_with_curl:
    • Feature: Add support for CMAKE_CXX_STANDARD_REQUIRED in CMakeToolchain. (https://github.com/conan-io/conan/pull/9144)
    • Feature: Add context information to conan info output both to stdout and json outputs. (https://github.com/conan-io/conan/pull/9137). Docs: :page_with_curl:
    • Feature: Improved the new AutotoolsToolchain, AutotoolsDeps and Autotools build helper. (https://github.com/conan-io/conan/pull/9131). Docs: :page_with_curl:
    • Feature: Initial cross-build support in CMakeToolchain with definition of CMAKE_SYSTEM_NAME, CMAKE_SYSTEM_PROCESSOR and CMAKE_SYSTEM_VERSION, deduced from self.settings_build (only using the 2 profiles) and from new [conf] items. (https://github.com/conan-io/conan/pull/9115). Docs: :page_with_curl:
    • Feature: Easier access to modify or update context values in CMakeToolchain blocks. (https://github.com/conan-io/conan/pull/9109). Docs: :page_with_curl:
    • Feature: Provide [conf] command line support. (https://github.com/conan-io/conan/pull/9103). Docs: :page_with_curl:
    • Feature: Added support for using server config from a custom location, setting CONAN_SERVER_HOME env variable or using -d or --server_dir flag when launching the server with conan_server command. (https://github.com/conan-io/conan/pull/9099). Docs: :page_with_curl:
    • Feature: Support for CMakeDeps generator of a new property "skip_deps_file" to be declared in the cpp_info of a package to skip creating xxx-config.cmake files for it, allowing to create "system wrapper" recipes easily. (https://github.com/conan-io/conan/pull/9087). Docs: :page_with_curl:
    • Feature: New conanfile.dependencies model, using a dict {requirement: ConanFileInterface} to prepare for Conan 2.0. (https://github.com/conan-io/conan/pull/9062). Docs: :page_with_curl:
    • Feature: Allow a explicit requires = "pkg..#recipe_revision" to update cache revision without --update. (https://github.com/conan-io/conan/pull/9058). Docs: :page_with_curl:
    • Feature: New cmake_layout() layout helper to define a multi-platform CMake layout that will work for different generators (ninja, xcode, visual, unix), and is multi-config. (https://github.com/conan-io/conan/pull/9057). Docs: :page_with_curl:
    • Feature: The conan_toolchain.cmake now includes xxx_DIR variables for the dependencies to ease the find_package mechanism to locate them. The declaration of these directories is a must when cross-building in OSX where CMake ignores CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH to look only at the system framework directories. (https://github.com/conan-io/conan/pull/9032). Docs: :page_with_curl:
    • Feature: Provide access in the recipes to the environment declared with the new environment system. (https://github.com/conan-io/conan/pull/9030). Docs: :page_with_curl:
    • Fix: Fix Bazel build string defines. (https://github.com/conan-io/conan/pull/9139)
    • Fix: Fixed behavior in the self.folders feature whereby the sources saved or downloaded inside the source(self) were saved at the self.folders.source folder. But self.folders.source is intended to describe where the sources are instead of forcing where the sources are saved. (https://github.com/conan-io/conan/pull/9124). Docs: :page_with_curl:
    • Fix: Properly generate qbs profile for msvc. (https://github.com/conan-io/conan/pull/9122)
    • Fix: Configuration general.user_home_short works with "None" value. (https://github.com/conan-io/conan/pull/9118)
    • Fix: Avoid CMakeToolchain to generate OSX and Apple config for non Apple builds. (https://github.com/conan-io/conan/pull/9107)
    • Fix: The new MesonToolchain now takes the declared environment variables (CC, CXX...) from build-requires and profiles to set the variables c, cpp, c_ld, cpp_ld etc, into the conan_meson_native.ini (https://github.com/conan-io/conan/pull/8353). Docs: :page_with_curl:
    • Fix: Added new preprocessor_definitions to new Meson build helper. (https://github.com/conan-io/conan/pull/8353). Docs: :page_with_curl:
    • Fix: The new MesonToolchain now allows adjusting any variable before generating the conan_meson_native.ini file. (https://github.com/conan-io/conan/pull/8353). Docs: :page_with_curl:
    • Bugfix: Disabled remotes shouldn't fail if not used at all (https://github.com/conan-io/conan/pull/9184)
    • BugFix: ConanFileDependencies.build["dep"] was retrieving the host dependency if existing, or failing otherwise, because the default requires was hardcoded to fetch the host (build=False) dependency. (https://github.com/conan-io/conan/pull/9148). Docs: :page_with_curl:
    • Bugfix: Now, conan profile {show, update, get, remove} is working fine with new experimental [conf] section. (https://github.com/conan-io/conan/pull/9114)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(16.42 MB)
    conan-win-32.exe(15.15 MB)
    conan-win-64.exe(15.72 MB)
  • 1.37.2(Jun 14, 2021)

  • 1.37.1(Jun 8, 2021)

    • Fix: Update the experimental conan new ... -m=v2_cmake template to start using the new layout() basic info. (https://github.com/conan-io/conan/pull/9053)
    • Fix: Do not fail in CMakeDeps when there are build_requires with same name as host requires, unless build_context_activated is enabled for those and a different suffix has not been defined. (https://github.com/conan-io/conan/pull/9046)
    • Fix: When using the new self.folders.source (at layout(self) method) the sources (from export, export_sources and scm) are copied to the base source folder and not to the self.folders.source that is intended to describe where the sources are after fetching them. (https://github.com/conan-io/conan/pull/9043). Docs: :page_with_curl:
    • BugFix: Do not quote all values and allow integer and macro referencing in MSBuildToolchain.preprocessor_definitions (https://github.com/conan-io/conan/pull/9056)
    • Bugfix: The new generators like CMakeDeps and CMakeToolchainwrite the generated files defaulting to the install folder if no self.folders.generators is specified in the layout() method. (https://github.com/conan-io/conan/pull/9050)
    • Bugfix: The CMakeToolchain generator now manages correctly a recipe without arch declared in an Apple system. (https://github.com/conan-io/conan/pull/9045)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(16.37 MB)
    conan-win-32.exe(15.10 MB)
    conan-win-64.exe(15.68 MB)
  • 1.37.0(May 31, 2021)

    • Feature: Remove CMAKE_SKIP_RPATHS by default to True in CMakeToolchain, it is not necessary by default, users can opt-in, and new test validates shared libs will work with VirtualEnv generator conanrunenv. (https://github.com/conan-io/conan/pull/9024). Docs: :page_with_curl:
    • Feature: simplified CMakeToolchain with only 1 category of blocks, made try-compile template code as another block, and reordered blocks so relevant flags for try-compile are taken into account. (https://github.com/conan-io/conan/pull/9009). Docs: :page_with_curl:
    • Feature: Add new default conancenter remote for https://center.conan.io as first in the list. (https://github.com/conan-io/conan/pull/8999). Docs: :page_with_curl:
    • Feature: Implements a new experimental conan.tools.google Bazel integration with BazelDeps, BazelToolchain and Bazel. (https://github.com/conan-io/conan/pull/8991). Docs: :page_with_curl:
    • Feature: Introduced new options for the CMakeDeps generator allowing to manage build_requires even declaring the same package as a require and build_require avoiding the collision of the config cmake files and enabling to specify which build_modules should be included (e.g protobuf issue) (https://github.com/conan-io/conan/pull/8985). Docs: :page_with_curl:
    • Feature: Expand user-agent string to include OS info. (https://github.com/conan-io/conan/pull/8947)
    • Feature: Implement build_policy=never for conan export-pkg packages that cannot be rebuilt with --build=xxx. (https://github.com/conan-io/conan/pull/8946). Docs: :page_with_curl:
    • Feature: Define [conf] for defining the user toolchain for CMakeToolchain, both for injecting a user toolchain in the CMakeToolchain generated conan_toolchain.cmake and for completely replacing conan_toolchain.cmake. (https://github.com/conan-io/conan/pull/8945). Docs: :page_with_curl:
    • Feature: add GCC 11 to settings.yml. (https://github.com/conan-io/conan/pull/8924)
    • Feature: Add new tools.rename() interface. (https://github.com/conan-io/conan/pull/8915). Docs: :page_with_curl:
    • Feature: Update urlib3 Conan dependency setting version >=1.25.8 to avoid CVE-2020-7212. (https://github.com/conan-io/conan/pull/8914)
    • Feature: Build-requires can define [conf] for its consumers. (https://github.com/conan-io/conan/pull/8895). Docs: :page_with_curl:
    • Feature: support M1 Catalyst. (https://github.com/conan-io/conan/pull/8818)
    • Feature: New conan install <ref> --build-require and conan create <path> --build-require (when not using test_package) arguments to explicitly define that the installed or created package has to be a build-require, receiving the build profile instead of the host one. (https://github.com/conan-io/conan/pull/8627). Docs: :page_with_curl:
    • Feature: Introduced the layout() method to the recipe to be able to declare the folder structure both for the local development methods (conan source, conan build...) and in the cache. Also, associated to the folders, cppinfo objects to be used in editable packages and file pattern descriptions to enable "auto packaging". (https://github.com/conan-io/conan/pull/8554). Docs: :page_with_curl:
    • Fix: CMakeDeps generator: The transitive requirements for a build_require are not included in the xxx-config.cmake files generated. (https://github.com/conan-io/conan/pull/9015)
    • Fix: The CMakeToolchain now supports Apple M1 cross-building with a profile without environment declared pointing to the system toolchain. (https://github.com/conan-io/conan/pull/9011)
    • Fix: Set env_info.DYLD_FRAMEWORK_PATH correctly. (https://github.com/conan-io/conan/pull/8984)
    • Fix: Fix some typos in the code. (https://github.com/conan-io/conan/pull/8977)
    • Fix: Improve error message when a directory doesn't contain a valid repository. (https://github.com/conan-io/conan/pull/8956)
    • Fix: The build_modules defined per generator in cpp_info now are rendered properly using the markdown generator. (https://github.com/conan-io/conan/pull/8942)
    • Fix: Simplify code access to [conf] variables removing attribute based access. (https://github.com/conan-io/conan/pull/8901)
    • Bugfix: Prevent unintended evil insertions into metadata.json resulted in corrupted package and inability to install. (https://github.com/conan-io/conan/pull/9022)
    • Bugfix: Allow MSBuildDeps to correctly process packages with dots in the package name. (https://github.com/conan-io/conan/pull/9012)
    • Bugfix: Avoid errors because of package_id mismatch in lockfiles when using compatible_packages feature. (https://github.com/conan-io/conan/pull/9008)
    • BugFix: Respect order of declared directories when using components. (https://github.com/conan-io/conan/pull/8927)
    • Bugfix: Raise an exception when response header Content-type is different than application/json or application/json; charset=utf-8. (https://github.com/conan-io/conan/pull/8912)
    • Bugfix: Fix exception in CMakeToolchain when settings remove known compilers. (https://github.com/conan-io/conan/pull/8900)
    • Bugfix: Fix current directory definition in vcvars commands in new toolchains. (https://github.com/conan-io/conan/pull/8899)
    • Bugfix: AptTool: add repo key before running apt-add-repository. (https://github.com/conan-io/conan/pull/8861)
    • BugFix: Prevent evil insertions into metadata.json resulted in corrupted package and inability to install. (https://github.com/conan-io/conan/pull/8532)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(16.37 MB)
    conan-win-32.exe(15.10 MB)
    conan-win-64.exe(15.68 MB)
  • 1.36.0(Apr 28, 2021)

    • Feature: Add support to tools.cmake.CMake for Ninja toolchain defined with CMakeToolchain. (https://github.com/conan-io/conan/pull/8887)
    • Feature: The CMakeDeps generator will print CMake traces with the declared targets. e.g: Target declared: 'OpenSSL::Crypto'. (https://github.com/conan-io/conan/pull/8843)
    • Feature: Add clang 12 support. (https://github.com/conan-io/conan/pull/8828)
    • Feature: List tools and core from profile and global.conf. (https://github.com/conan-io/conan/pull/8821). Docs: :page_with_curl:
    • Feature: Add cross-building tests for new AutoTools build helper. (https://github.com/conan-io/conan/pull/8819)
    • Feature: CMakeToolchain generates a conanbuild.json file with the generator to be used in the CMake command line later, so it is not necessary to duplicate logic, and is explicit what generator should be used. (https://github.com/conan-io/conan/pull/8815). Docs: :page_with_curl:
    • Feature: CMakeToolchain learned to build with different toolsets, down to the minor compiler version, for the msvc compiler. (https://github.com/conan-io/conan/pull/8815). Docs: :page_with_curl:
    • Feature: Validate checksum and retry download for corrupted downloaded cache files. (https://github.com/conan-io/conan/pull/8806)
    • Feature: CMakeToolchain defining CMAKE_GENERATOR_TOOLSET for msvc version different than the default. (https://github.com/conan-io/conan/pull/8800)
    • Feature: Implement test_build_require in test_package/conanfile.py recipes, so build_requires can be tested as such. (https://github.com/conan-io/conan/pull/8787). Docs: :page_with_curl:
    • Feature: Make available the full recipe and package reference to consumers via .dependencies. (https://github.com/conan-io/conan/pull/8765)
    • Feature: New CMakeToolchain customization and extensibility mechanism with blocks of components instead of inheritance. (https://github.com/conan-io/conan/pull/8749). Docs: :page_with_curl:
    • Feature: Add set_property and get_property to set properties and access them in generators. Can be set only for a specific generator or as a default value for all of them. (https://github.com/conan-io/conan/pull/8727). Docs: :page_with_curl:
    • Feature: Use set_property and get_property to support custom defined content in pkg_config generator. (https://github.com/conan-io/conan/pull/8727). Docs: :page_with_curl:
    • Feature: Add new property names: cmake_target_name, cmake_file_name, pkg_config_name and cmake_build_modules that can be used for multiple generators of the same type allowing also an easier migration of names, filenames and build_modules properties to this model. (https://github.com/conan-io/conan/pull/8727). Docs: :page_with_curl:
    • Feature: Skip package when building all package from sources at once using --build=!<package> syntax. (https://github.com/conan-io/conan/pull/8483). Docs: :page_with_curl:
    • Feature: CMakeToolchain will generate conanvcvars.bat for Ninja builds for msvc. (https://github.com/conan-io/conan/pull/8005)
    • Fix: Remove tools.gnu.MakeToolchain, superseded by tools.gnu.AutotoolsToolchain. (https://github.com/conan-io/conan/pull/8880). Docs: :page_with_curl:
    • Fix: Allow spaces in the path for new environment files and conancvvars.bat Visual toolchain file. (https://github.com/conan-io/conan/pull/8847)
    • Fix: Return deprecated attribute in conan inspect command. (https://github.com/conan-io/conan/pull/8832)
    • Fix: Check if Artifactory url for publishing the build_info has artifactory string as the service context and remove from the API url if it doesn't. (https://github.com/conan-io/conan/pull/8826)
    • Fix: Recognize Ninja Multi-Config as a CMake multi-configuration generator. (https://github.com/conan-io/conan/pull/8814)
    • Fix: using CMAKE_CURRENT_LIST_DIR in CMakeToolchain to locate CMakeDeps config files. (https://github.com/conan-io/conan/pull/8810)
    • Fix: config_install_interval no longer enter in loop when invalid. (https://github.com/conan-io/conan/pull/8769). Docs: :page_with_curl:
    • Fix: Remove multi-config support for CMakeDeps generator. (https://github.com/conan-io/conan/pull/8767). Docs: :page_with_curl:
    • Fix: Accept relative profile path when folder is on same tree level. (https://github.com/conan-io/conan/pull/8685). Docs: :page_with_curl:
    • Bugfix: Fixed test_package/conanfile.py using build_requires for a package belonging to a lockfile. (https://github.com/conan-io/conan/pull/8793)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(16.18 MB)
    conan-win-32.exe(15.04 MB)
    conan-win-64.exe(15.62 MB)
  • 1.35.2(Apr 19, 2021)

  • 1.35.1(Apr 13, 2021)

    • Fix: Avoid breaking users calling forbidden private api conanfile.__init__. (https://github.com/conan-io/conan/pull/8746)
    • Bugfix: Fix opensuse SystemPackageTools incorrectly using apt-get when zypper-aptitude. (https://github.com/conan-io/conan/pull/8747)
    • Bugfix: Fix linker flags in cmake (find_package based) generators. (https://github.com/conan-io/conan/pull/8740)
    • Bugfix: Fixed bug in transitive build_requires of MSBuildDeps. (https://github.com/conan-io/conan/pull/8734)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64_1_35_1.deb(16.16 MB)
    conan-win-32_1_35_1.exe(15.03 MB)
    conan-win-64_1_35_1.exe(15.60 MB)
  • 1.35.0(Mar 30, 2021)

    • Feature: MSBuildDeps generator uses new visitor model and handles conditional requirements correctly. (https://github.com/conan-io/conan/pull/8733). Docs: :page_with_curl:
    • Feature: CMake toolchain supports include_guard() feature (https://github.com/conan-io/conan/pull/8728)
    • Feature: New conan lock bundle clean-modified command. (https://github.com/conan-io/conan/pull/8726). Docs: :page_with_curl:
    • Feature: Use conancvvars.bat file for Meson toolchain (https://github.com/conan-io/conan/pull/8719)
    • Feature: Allow arbitrary defines in conan new templates. (https://github.com/conan-io/conan/pull/8718). Docs: :page_with_curl:
    • Feature: Automatically handle CONAN_RUN_TESTS to avoid extra boilerplate. (https://github.com/conan-io/conan/pull/8687). Docs: :page_with_curl:
    • Feature: More fine-grained control (using [conf]) for build parallelization. (https://github.com/conan-io/conan/pull/8665). Docs: :page_with_curl:
    • Feature: Add support for testing with different tools versions. (https://github.com/conan-io/conan/pull/8656)
    • Feature: Add different CMake versions for testing. (https://github.com/conan-io/conan/pull/8656)
    • Feature: Move the definition of CMakeDeps variables to its own file (https://github.com/conan-io/conan/pull/8655). Docs: :page_with_curl:
    • Feature: Added conan.tools.files.patch to apply a single patch (new interface for legacy conans.tools.patch function. (https://github.com/conan-io/conan/pull/8650). Docs: :page_with_curl:
    • Feature: Added conan.tools.files.apply_conandata_patches to apply patches defined in conandata.yml. (https://github.com/conan-io/conan/pull/8650). Docs: :page_with_curl:
    • Feature: Allow integers as preprocessor_definitions in CMakeToolchain. (https://github.com/conan-io/conan/pull/8645)
    • Feature: New Environment model for recipes and profiles (https://github.com/conan-io/conan/pull/8630). Docs: :page_with_curl:
    • Feature: Do not remove sh from the path in the new CMake helper. (https://github.com/conan-io/conan/pull/8625). Docs: :page_with_curl:
    • Feature: Allow definition of custom Visual Studio version for msvc compiler in MSBuild helpers. (https://github.com/conan-io/conan/pull/8603). Docs: :page_with_curl:
    • Feature: MSBuildToolchain creates conanvcvars.bat containing vcvars command for command line building. (https://github.com/conan-io/conan/pull/8603). Docs: :page_with_curl:
    • Feature: Set CMAKE_FIND_PACKAGE_PREFER_CONFIG=ON. (https://github.com/conan-io/conan/pull/8599)
    • Feature: Include the recipe name when constrained settings prevent install. (https://github.com/conan-io/conan/pull/8559). Docs: :page_with_curl:
    • Feature: Create new conan.tools.files for 2.0. (https://github.com/conan-io/conan/pull/8550)
    • Feature: New AutotoolsDeps, AutotoolsToolchain helpers in conan.tools.gnu (https://github.com/conan-io/conan/pull/8457). Docs: :page_with_curl:
    • Feature: Experimental conan lock install that can install a lockfile in the cache, all the binaries or only the recipes with --recipes, intended for CI flows. (https://github.com/conan-io/conan/pull/8021). Docs: :page_with_curl:
    • Fix: Fix incorrect output of default_user and default_channel in export. (https://github.com/conan-io/conan/pull/8732)
    • Fix: remotes not being loaded for the conan alias command, which was preventing conan alias from working if python_requires is used. (https://github.com/conan-io/conan/pull/8704)
    • Fix: Improve error message for lock create providing a path instead of full path with filename. (https://github.com/conan-io/conan/pull/8695)
    • Fix: Rename tools.microsoft:msbuild_verbosity to tools.microsoft.msbuild:verbosity (https://github.com/conan-io/conan/pull/8692). Docs: :page_with_curl:
    • Fix: Simplifications to CMakeDeps generator to remove legacy code. (https://github.com/conan-io/conan/pull/8666)
    • Fix: Add dirty management in download cache, so interrupted downloads doesn't need a manual cleaning of such download cache. (https://github.com/conan-io/conan/pull/8664)
    • Fix: Build helper qbs install now installs directly into package_folder. (https://github.com/conan-io/conan/pull/8660)
    • Fix: Allow arbitrary template structure. (https://github.com/conan-io/conan/pull/8641)
    • Fix: Restoring the behavior that exports and exports_sources were case sensitive by default. (https://github.com/conan-io/conan/pull/8585)
    • Fix: Remove default dummy value for iOS XCode signature. (https://github.com/conan-io/conan/pull/8576)
    • Fix: Do not order Settings lists, so error messages are in declared order. (https://github.com/conan-io/conan/pull/8573)
    • BugFix: Command conan new accepts short reference with address sign. (https://github.com/conan-io/conan/pull/8721)
    • Bugfix: Fix profile definitions of env-vars per-package using patterns, not only the package name. (https://github.com/conan-io/conan/pull/8688)
    • Bugfix: Preserve the explicit value None for SCM attributes if the default is a different value. (https://github.com/conan-io/conan/pull/8622)
    • Bugfix: Properly detect Amazon Linux 2 distro. (https://github.com/conan-io/conan/pull/8612)
    • Bugfix: Fix config install not working when .git* folder is in the path. (https://github.com/conan-io/conan/pull/8605)
    • Bugfix: Fix: Transitive python requires not working with the new syntax. (https://github.com/conan-io/conan/pull/8604)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64_1_35_0.deb(16.16 MB)
    conan-win-32_1_35_0.exe(15.03 MB)
    conan-win-64_1_35_0.exe(15.60 MB)
  • 1.34.1(Mar 10, 2021)

    • Fix: Allow cmake_find_package_multi and CMakeDeps to be aliases for cpp_info.names and cpp_info.filenames to allow easy migration. (https://github.com/conan-io/conan/pull/8568)
    • Bugfix: Restoring the behavior that exports and exports_sources were case sensitive by default. (https://github.com/conan-io/conan/pull/8621)
    • BugFix: Solved issues with already existing packages appearing in conan lock bundle build-order. (https://github.com/conan-io/conan/pull/8579)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64_1_34_1.deb(16.11 MB)
    conan-win-32_1_34_1.exe(14.97 MB)
    conan-win-64_1_34_1.exe(15.55 MB)
  • 1.34.0(Feb 26, 2021)

    • Feature: Add path and repository properties to conan_build_info --v2. (https://github.com/conan-io/conan/pull/8436)
    • Feature: Setting conan as name for buildAgent in conan_build_info. (https://github.com/conan-io/conan/pull/8433)
    • Feature: Using actual conan version in version for buildAgent in conan_build_info instead of 1.X. (https://github.com/conan-io/conan/pull/8433)
    • Feature: Add type conan to Conan build info modules. (https://github.com/conan-io/conan/pull/8433)
    • Feature: Add scm output in conan info command. (https://github.com/conan-io/conan/pull/8380)
    • Feature: Forked cmake_find_package_multi into CMakeDeps, to allow evolution without breaking. (https://github.com/conan-io/conan/pull/8371)
    • Feature: Use built-in retries in requests lib to retry http requests with 5xx response code. (https://github.com/conan-io/conan/pull/8352)
    • Feature: New lockfile "bundle" feature that can integrate different lockfiles for different configurations and different graphs into a single lockfile bundle that can be used to vastly optimize CI (specially for multiple products), implementing bundle build-order and bundle update operations. (https://github.com/conan-io/conan/pull/8344). Docs: :page_with_curl:
    • Fix: Renamed generator QbsToolchain to QbsProfile. (https://github.com/conan-io/conan/pull/8537). Docs: :page_with_curl:
    • Fix: Renamed default filename of QbsProfile generated file to conan_toolchain_profile.qbs. (https://github.com/conan-io/conan/pull/8537). Docs: :page_with_curl:
    • Fix: Renamed Qbs attribute use_toolchain_profile to profile. (https://github.com/conan-io/conan/pull/8537). Docs: :page_with_curl:
    • Fix: Remove extra spaces in flags and colons in path variables. (https://github.com/conan-io/conan/pull/8496)
    • Fix: conan_v2_error if scm_to_conandata is not enabled. (https://github.com/conan-io/conan/pull/8447)
    • Fix: CONAN_V2_MODE env-var does not longer alter behavior, only raises errors for Conan 2.0 incompatibilities (https://github.com/conan-io/conan/pull/8399). Docs: :page_with_curl:
    • Fix: meson : Add target and jobs arguments. (https://github.com/conan-io/conan/pull/8384). Docs: :page_with_curl:
    • Fix: Set qbs.targetPlatform with qbs toolchain. (https://github.com/conan-io/conan/pull/8372)
    • Fix: Remove warnings for old toolchains imports and generate_toolchain_files() calls (use new imports and generate() calls. (https://github.com/conan-io/conan/pull/8361)
    • BugFix: Improve tools.unix_path for Cygwin. (https://github.com/conan-io/conan/pull/8509)
    • BugFix: Allow run_in_windows_bash in MSYS/Cygwin. (https://github.com/conan-io/conan/pull/8506)
    • BugFix: Add some sanity check to avoid a vague error for custom architectures. (https://github.com/conan-io/conan/pull/8502)
    • BugFix: Fix Apple M1 detection. (https://github.com/conan-io/conan/pull/8501)
    • Bugfix: Fix repeated build_requires, including conflicting versions in profile composition or inclusion that repeats [build_requires] values. (https://github.com/conan-io/conan/pull/8463)
    • Bugfix: Fixing a CMakeDeps bug with components, not finding the conan_macros.cmake file. (https://github.com/conan-io/conan/pull/8445)
    • Bugfix: Fix exit code for conan_build_info. (https://github.com/conan-io/conan/pull/8408)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64_1_34_0.deb(16.11 MB)
    conan-win-32_1_34_0.exe(14.97 MB)
    conan-win-64_1_34_0.exe(15.55 MB)
  • 1.33.1(Feb 2, 2021)

    • Fix: Rename conan.cfg to global.conf. (https://github.com/conan-io/conan/pull/8422). Docs: :page_with_curl:
    • Fix: Make CMakeDeps generator available in declarative mode generators = "CMakeDeps" (https://github.com/conan-io/conan/pull/8416)
    • Fix: Make the new Macos subsystem Catalyst lowercase to be consistent with existing subsystems. (https://github.com/conan-io/conan/pull/8389). Docs: :page_with_curl:
    • BugFix: Fix Apple Catalyst flags. (https://github.com/conan-io/conan/pull/8389). Docs: :page_with_curl:
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64_1_33_1.deb(16.05 MB)
    conan-win-32_1_33_1.exe(14.91 MB)
    conan-win-64_1_33_1.exe(15.49 MB)
  • 1.33.0(Jan 20, 2021)

    • Feature: Introducing a new [conf] section in profiles that allows a more systematic configuration management for recipes and helpers (build helpers, toolchains). Introducing a new conan_conf.txt cache configuration file that contains configuration definition with the same syntax as in profiles. (https://github.com/conan-io/conan/pull/8266). Docs: :page_with_curl:
    • Feature: Add Apple Catalyst support (as new os.subsystem) (https://github.com/conan-io/conan/pull/8264). Docs: :page_with_curl:
    • Feature: Add os.sdk sub-settings for Apple (https://github.com/conan-io/conan/pull/8263). Docs: :page_with_curl:
    • Feature: Provide support for msvc compiler in MSBuild tools (https://github.com/conan-io/conan/pull/8238). Docs: :page_with_curl:
    • Feature: Specify build modules by the generator in cpp_info. Added backwards compatibility for *.cmake build modules added at global scope, but not for other file extensions. (https://github.com/conan-io/conan/pull/8232). Docs: :page_with_curl:
    • Feature: The tools.get, tools.unzip and tools.untargz now accept a new argument strip_root=True to unzip moving all the files to the parent folder when all of them belongs to a single folder. (https://github.com/conan-io/conan/pull/8208). Docs: :page_with_curl:
    • Feature: Add new msvc compiler setting and preliminary support in conan.tools.cmake generator and toolchain. (https://github.com/conan-io/conan/pull/8201). Docs: :page_with_curl:
    • Feature: CMakeDeps now takes values for configurations from settings.yml. (https://github.com/conan-io/conan/pull/8194). Docs: :page_with_curl:
    • Feature: Implement ConanXXXRootFolder in MSBuildDeps generator. (https://github.com/conan-io/conan/pull/8177)
    • Feature: Add Meson build helper. (https://github.com/conan-io/conan/pull/8147). Docs: :page_with_curl:
    • Feature: Add QbsToolchain and a Qbs build helper class (currently working for Mcus, not for Android or iOS). (https://github.com/conan-io/conan/pull/8125). Docs: :page_with_curl:
    • Feature: Add e2k (elbrus) architectures and mcst-lcc compiler (https://github.com/conan-io/conan/pull/8032). Docs: :page_with_curl:
    • Feature: New CMakeDeps generator (at the moment is the cmake_find_package_multi, that allows custom configurations, like ReleaseShared. (https://github.com/conan-io/conan/pull/8024). Docs: :page_with_curl:
    • Feature: Allow MSBuildToolchain custom configurations in generate() method. (https://github.com/conan-io/conan/pull/7754). Docs: :page_with_curl:
    • Fix: Fixed help message in command conan remove --outdated with reference or pattern (https://github.com/conan-io/conan/pull/8350). Docs: :page_with_curl:
    • Fix: Do not define CMAKE_GENERATOR_PLATFORM and CMAKE_GENERATOR_TOOLSET in the CMakeToolchain file unless the CMake generator is "Visual Studio". Fix https://github.com/conan-io/conan/issues/7485 (https://github.com/conan-io/conan/pull/8333)
    • Fix: Remove spurious '-find' argument to XCodes xcrun tool. (https://github.com/conan-io/conan/pull/8329)
    • Fix: Update pylint plugin, some fields are now available in the base ConanFile. (https://github.com/conan-io/conan/pull/8320)
    • Fix: Remove PyJWT deprecation warning by adding explicitly algorithms argument. (https://github.com/conan-io/conan/pull/8267)
    • Fix: CMake's generator name for Visual Studio compiler uses only the major version. (https://github.com/conan-io/conan/pull/8257)
    • Fix: Remove nosetests support, now using pytest for the test suite. (https://github.com/conan-io/conan/pull/8253)
    • Fix: Remove CMAKE_PROJECT_INCLUDE in CMakeToolchain, no longer necessary as the MSVC runtime can be defined with a generator expression in the toolchain. (https://github.com/conan-io/conan/pull/8251)
    • Fix: Temporarily allow cmake_paths generator for CMakeToolchain, to allow start using the toolchain for users that depend on that generator. (https://github.com/conan-io/conan/pull/8230)
    • Fix: Let CMake generator generate code for checking against "ClangCL" msvc toolset. (https://github.com/conan-io/conan/pull/8218)
    • Fix: Include build_requires in the global conandeps.props file generated by MSBuildDeps. (https://github.com/conan-io/conan/pull/8186)
    • Fix: Change MSBuildDeps file conan_deps.props to conandeps.props to avoid collision with a package named "deps". (https://github.com/conan-io/conan/pull/8186)
    • Fix: Throw error when the recipe description is not a string. (https://github.com/conan-io/conan/pull/8143)
    • Fix: Inject build modules after CMake targets are created (https://github.com/conan-io/conan/pull/8130). Docs: :page_with_curl:
    • Fix: Define package_folder in the test_package folder (defaulting to "package"), so the test recipe can execute cmake.install() in its build() method. (https://github.com/conan-io/conan/pull/8117)
    • Fix: Remove the downloaded file if it doesn't satisfy provided checksums (modifies tools.download). (https://github.com/conan-io/conan/pull/8116). Docs: :page_with_curl:
    • Bugfix: Solved assert node.package_id != PACKAGE_ID_UNKNOWN assertion that happened when using build_requires that also exist in requires, and using package_revision_mode and full_transitive_package_id=1 (https://github.com/conan-io/conan/pull/8358)
    • BugFix: Fix SCM user and password by making them url-encoded (https://github.com/conan-io/conan/pull/8355)
    • Bugfix: Fix bug in definition of ROOT variables in MakeGenerator. (https://github.com/conan-io/conan/pull/8301)
    • BugFix: fix -j being passed to NMake in AutotoolsBuildEnvironment. (https://github.com/conan-io/conan/pull/8285)
    • BugFix: Fix per-package settings exact match for packages without user/channel. (https://github.com/conan-io/conan/pull/8281)
    • BugFix: Fix detected_architecture() for Apple M1, mapping to armv8 (from returned arm64). (https://github.com/conan-io/conan/pull/8262)
    • Bugfix: Make prompt names unique when using multiple virtualenv scripts in Powershell. (https://github.com/conan-io/conan/pull/8228)
    • Bugfix: Fix when conandata.yml is empty and scm_to_conandata is enabled (https://github.com/conan-io/conan/pull/8215)
    • Bugfix: Removed a reference to deprecated FlagsForFile function in place of current Settings function. (https://github.com/conan-io/conan/pull/8167)
    • Bugfix: Add test for AutoToolsBuildEnvironment on Apple platforms (https://github.com/conan-io/conan/pull/8118)
    • Bugfix: Change the rpath_flags flag to always use the comma separator instead of "=", because the current behaviour causes linker error messages when attempting to cross-compile to Mac OS, and the comma separator is accepted everywhere. (https://github.com/conan-io/conan/pull/7716)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64_1_33_0.deb(16.05 MB)
    conan-win-32_1_33_0.exe(14.91 MB)
    conan-win-64_1_33_0.exe(15.48 MB)
  • 1.32.1(Dec 15, 2020)

    • Bugfix: Avoid conflict of user custom generators names with new generators. (https://github.com/conan-io/conan/pull/8183)
    • Bugfix: Fix errors when using conan info --paths and short_paths=True in Windows, due to creation of empty folders in the short-paths storage. (https://github.com/conan-io/conan/pull/8181)
    • Bugfix: conan new <pkg-name>/version -t wrong include when not using -s (using the hardcoded git repo). (https://github.com/conan-io/conan/pull/8175)
    • Bugfix: Fix excludes pattern case-insensitive in non Windows platforms. (https://github.com/conan-io/conan/pull/8155)
    • Bugfix: Enabling set_name, set_version for lockfile roo not location. (https://github.com/conan-io/conan/pull/8151)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64_1_32_1.deb(15.48 MB)
    conan-win-32_1_32_1.exe(14.85 MB)
    conan-win-64_1_32_1.exe(15.43 MB)
  • 1.32.0(Dec 3, 2020)

    • Feature: Generate <pkgname>-config.cmake files for lowercase packages to improve case compatibility. (https://github.com/conan-io/conan/pull/8129). Docs: :page_with_curl:
    • Feature: Add meson cross-build toolchain. (https://github.com/conan-io/conan/pull/8111)
    • Feature: Temporary acquire write permissions in replace_in_file. (https://github.com/conan-io/conan/pull/8107)
    • Feature: Update conan new to latest guidelines. (https://github.com/conan-io/conan/pull/8106)
    • Feature: Deprecate experimental toolchain() in favor of more generic generate() method. Deprecate toolchains write_toolchain_files() to new generate() method. (https://github.com/conan-io/conan/pull/8101). Docs: :page_with_curl:
    • Feature: Move the CMakeToolchain and new CMake experimental helpers to the new from conan.tools.cmake import. (https://github.com/conan-io/conan/pull/8096). Docs: :page_with_curl:
    • Feature: Move the MSBuildToolchain and new MSBuild experimental helpers to the new from conan.tools.microsoft import. (https://github.com/conan-io/conan/pull/8096). Docs: :page_with_curl:
    • Feature: Move the MakeToolchain experimental helper to the new from conan.tools.gnu import. (https://github.com/conan-io/conan/pull/8096). Docs: :page_with_curl:
    • Feature: Add conan remote list_ref --no-remote to list recipes without a remote defined. (https://github.com/conan-io/conan/pull/8094). Docs: :page_with_curl:
    • Feature: Add conan remote list_pref --no-remote to list packages without a remote defined. (https://github.com/conan-io/conan/pull/8094). Docs: :page_with_curl:
    • Feature: Add --lockfile-node-id argument to conan install --lockfile so it can target different packages with same reference (different binary, this can happen with private requirements). (https://github.com/conan-io/conan/pull/8077). Docs: :page_with_curl:
    • Feature: Proof that python_requires can be used (as a workaround) to affect the package_id of consumers of build_requires that otherwise will not be rebuilt based on changes. (https://github.com/conan-io/conan/pull/8076). Docs: :page_with_curl:
    • Feature: Introduce configuration general.keep_python_files to allow packaging of Python .pyc files. (https://github.com/conan-io/conan/pull/8070). Docs: :page_with_curl:
    • Feature: Tests for toolchains and Intel compiler. (https://github.com/conan-io/conan/pull/8062)
    • Feature: Add recipe and package revision to show a complete Conan reference when generating the build_info --v2 id fields. (https://github.com/conan-io/conan/pull/8055)
    • Feature: Introduce a new BINARY_INVALID mode for more flexible definition and management of invalid configurations. (https://github.com/conan-io/conan/pull/8053). Docs: :page_with_curl:
    • Feature: Add headers with settings and options to HTTP GET requests when searching for packages. (https://github.com/conan-io/conan/pull/8046)
    • Feature: Preliminary experimental support for toolchains with CMake + Visual + Ninja. (https://github.com/conan-io/conan/pull/8034)
    • Feature: Allow (experimental) custom configuration of the msbuild generator. (https://github.com/conan-io/conan/pull/8014). Docs: :page_with_curl:
    • Feature: Rename msbuild generator to MSBuildDeps and use the new generate() method. (https://github.com/conan-io/conan/pull/8014). Docs: :page_with_curl:
    • Feature: Make the conan new bye/0.1 -s -t to provide variable filenames and messages that include the package name and version, instead of a hardcoded "hello" one. (https://github.com/conan-io/conan/pull/7989)
    • Feature: Tagged tests and created a conftest.py to run the tests with pytest skipping the tests using not available tools (cmake, visual studio...). (https://github.com/conan-io/conan/pull/7975)
    • Feature: Provide correct --pure_c implementation to conan new. (https://github.com/conan-io/conan/pull/7947)
    • Feature: System package tools can install a list of different packages. (https://github.com/conan-io/conan/pull/7779). Docs: :page_with_curl:
    • Feature: meson toolchain (https://github.com/conan-io/conan/pull/7662). Docs: :page_with_curl:
    • Feature: Add Conan package name and version to Visual Studio generator properties file. (https://github.com/conan-io/conan/pull/7645)
    • Fix: Remove __init__.py in the root of the repo, which was useless, without a purpose, but caused issues with other projects importing Conan Python code. (https://github.com/conan-io/conan/pull/8132)
    • Fix: Make variables defined in CMakeToolchain cache variables, so they can define directly values defined in CMakeLists.txt. (https://github.com/conan-io/conan/pull/8124)
    • Fix: Remove cryptography, pyopenssl and idna from OSX requirements in Python. (https://github.com/conan-io/conan/pull/8075)
    • Fix: Rename the generated file of MSBuildToolchain to conantoolchain.props so it doesn't collide with a potential toolchain package name and the msbuild generator. (https://github.com/conan-io/conan/pull/8073). Docs: :page_with_curl:
    • Fix: Avoid warning in msbuild generator importing multiple times the same .props file due to transitive dependencies. (https://github.com/conan-io/conan/pull/8072)
    • Fix: Set username or password individually in git SCM with ssh. (https://github.com/conan-io/conan/pull/8016)
    • Fix: When using lockfiles, allow config_options and configure to compute different options as long as the final evaluated values match the locked ones. (https://github.com/conan-io/conan/pull/7993)
    • Fix: Make the conan new --pure_c pure C template to remove both compiler.libcxx and compiler.cppstd settings, as described in the docs. (https://github.com/conan-io/conan/pull/7989)
    • BugFix: Fix linkage to a same global target of different package components in cmake_find_package/_multi generators. (https://github.com/conan-io/conan/pull/8114). Docs: :page_with_curl:
    • Bugfix: Solve os.rename crash when using short_paths with a short path storage located in another Windows drive unit. (https://github.com/conan-io/conan/pull/8103)
    • BugFix: Allow lockfiles to be relaxed with the --build argument. (https://github.com/conan-io/conan/pull/8054). Docs: :page_with_curl:
    • Bugfix: Append existing LocalDebuggerEnvironment in msbuild generator. (https://github.com/conan-io/conan/pull/8040)
    • Bugfix: Remove correctly short-paths folders in Windows. (https://github.com/conan-io/conan/pull/7986)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64_1_32_0.deb(15.48 MB)
    conan-win-32_1_32_0.exe(14.86 MB)
    conan-win-64_1_32_0.exe(15.43 MB)
  • 1.31.4(Nov 25, 2020)

    • Feature: Add new CONAN_CMAKE_SYSROOT environment variable to enable the definition of sysroot from environment, without abusing CONAN_CMAKE_FIND_ROOT_PATH. (https://github.com/conan-io/conan/pull/8097). Docs: :page_with_curl:
    • Bugfix: remove definition of sysroot from CONAN_CMAKE_FIND_ROOT_PATH. (https://github.com/conan-io/conan/pull/8097). Docs: :page_with_curl:
    • Bugfix: Solve os.rename crash when using short_paths with a short path storage located in another Windows drive unit. Ported from: (https://github.com/conan-io/conan/pull/8103)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64_1_31_4.deb(15.36 MB)
    conan-win-32_1_31_4.exe(14.73 MB)
    conan-win-64_1_31_4.exe(15.31 MB)
  • 1.31.3(Nov 17, 2020)

  • 1.31.2(Nov 11, 2020)

  • 1.31.1(Nov 10, 2020)

    • Fix: Bump cryptography dependency in MacOS to equal or later than 3.2. (https://github.com/conan-io/conan/pull/7962)
    • Bugfix: Fix a problem with the init() function not being called when the recipe loader uses some cached data, which can happen when using lockfiles and with python_requires. (https://github.com/conan-io/conan/pull/8018)
    • Bugfix: Fixed self.copy() incorrectly handling ignore_case. (https://github.com/conan-io/conan/pull/8009)
    • Bugfix: Fixed wrong ignore_case default in [imports] section of conanfile.txt. (https://github.com/conan-io/conan/pull/8009)
    • Bugfix: Do not try to encrypt a None value when using CONAN_LOGIN_ENCRYPTION_KEY environment variable. (https://github.com/conan-io/conan/pull/8004)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64_1_31_1.deb(15.36 MB)
    conan-win-32_1_31_1.exe(14.03 MB)
    conan-win-64_1_31_1.exe(17.81 MB)
  • 1.31.0(Oct 30, 2020)

    • Feature: Add argument conanfile to pre_download_package and post_download_package hook functions. (https://github.com/conan-io/conan/pull/7968). Docs: :page_with_curl:
    • Feature: Add CONAN_LOGIN_ENCRYPTION_KEY environment variable to obfuscate stored auth token. (https://github.com/conan-io/conan/pull/7958). Docs: :page_with_curl:
    • Feature: Use profile to filter results in the conan search HTML output. (https://github.com/conan-io/conan/pull/7956)
    • Feature: Changed recommended way to launch test suite, with pytest over nosetests. (https://github.com/conan-io/conan/pull/7952)
    • Feature: Provide a MSBuildCmd helper class that encapsulates calling MSBuild. (https://github.com/conan-io/conan/pull/7941). Docs: :page_with_curl:
    • Feature: Download and keep the conan_export.tgz and conan_source.tgz in the cache, so they are not affected by different Operating Systems compression and de-compression and uploading is way more efficient. (https://github.com/conan-io/conan/pull/7938)
    • Feature: Add provides and deprecated fields to conan info output (https://github.com/conan-io/conan/pull/7916)
    • Feature: Including package revision information in output from conan info (when revisions are enabled). (https://github.com/conan-io/conan/pull/7890)
    • Feature: Download and keep the conan_package.tgz in the cache, so they are not affected by different Operating Systems compression and de-compression and uploading is way more efficient. (https://github.com/conan-io/conan/pull/7886)
    • Feature: Add POC on a toolchain for iOS (using CMake XCode generator). (https://github.com/conan-io/conan/pull/7855). Docs: :page_with_curl:
    • Feature: Add POC on a toolchain for Android (using CMake provided modules). (https://github.com/conan-io/conan/pull/7843). Docs: :page_with_curl:
    • Feature: Allow conan config install of a single file (https://github.com/conan-io/conan/pull/7840). Docs: :page_with_curl:
    • Feature: Use Python loggers for Conan output in cli 2.0. (https://github.com/conan-io/conan/pull/7502)
    • Fix: Improve permission error message when migrating cache folder. (https://github.com/conan-io/conan/pull/7966)
    • Fix: Make per-package settings definition complete the existing settings values, not requiring a complete redefinition. (https://github.com/conan-io/conan/pull/7953)
    • Fix: Avoid unnecessary extra loading of conan.conf file in the version migrations check. (https://github.com/conan-io/conan/pull/7949)
    • Fix: Simplified MakeToolchain to remove things that were not checked by tests or unused. (https://github.com/conan-io/conan/pull/7942)
    • Fix: displayed message when settings of the recipe are constrained. (https://github.com/conan-io/conan/pull/7930). Docs: :page_with_curl:
    • Fix: Set CMAKE_SYSTEM_NAME set to iOS, tvOS or watchOS or Darwin depending on the CMake version. (https://github.com/conan-io/conan/pull/7924)
    • Fix: Remove duplicate entries while modifying PATH-like environment variables internally. Especially important for Windows where system PATH size is limited by 8192 charachers (when using cmd.exe). (https://github.com/conan-io/conan/pull/7891)
    • Fix: Make default behaviour explicit in search help output. (https://github.com/conan-io/conan/pull/7877). Docs: :page_with_curl:
    • Fix: Automatically add OSX deployment flags in AutootoolsBuildEnvironment with the value of os_version, unless the values are already defined in environment variables CFLAGS or CXXFLAGS. (https://github.com/conan-io/conan/pull/7862)
    • Fix: Remove toolset variability from the msbuild generator and MSBuildToolchain. (https://github.com/conan-io/conan/pull/7825)
    • Fix: Component requirement checking now properly handles private and override requirements. (https://github.com/conan-io/conan/pull/7585)
    • Bugfix: Set default storage_folder to .conan/data in case if storage_path entry fails to be defined by conan.conf. (https://github.com/conan-io/conan/pull/7910)
    • Bugfix: Fix regression in self.run(output=xxxx) that have a write() method but do not wrap a stream. (https://github.com/conan-io/conan/pull/7905)
    • Bugfix: Fix local flow (conan install + build) support for cpp_info.names and cpp_info.filenames. (https://github.com/conan-io/conan/pull/7867)
    • Bugfix: Fix inspect --remote forcing to retrieve the remote for evaluation, overwriting what is in the local cache. (https://github.com/conan-io/conan/pull/7749)
    • Bugfix: Copy symbolic links to directory with deploy generator. (https://github.com/conan-io/conan/pull/7655). Docs: :page_with_curl:
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64_1_31_0.deb(15.36 MB)
    conan-win-32_1_31_0.exe(14.03 MB)
    conan-win-64_1_31_0.exe(17.81 MB)
  • 1.30.2(Oct 15, 2020)

    • Feature: Supports Clang 11. (https://github.com/conan-io/conan/pull/7871). Docs: :page_with_curl:
    • Bugfix: Fix regression https://github.com/conan-io/conan/issues/7856, imports failing to match subfolders in Windows due to backslash differences. (https://github.com/conan-io/conan/pull/7861)
    • Bugfix: Allow defining new options values when creating a new lockfile from an existing base lockfile. (https://github.com/conan-io/conan/pull/7859)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64_1_30_2.deb(15.32 MB)
    conan-win-32_1_30_2.exe(14.00 MB)
    conan-win-64_1_30_2.exe(17.78 MB)
  • 1.30.1(Oct 9, 2020)

    • Fix: Use quotes around the install path, it can contain spaces. (https://github.com/conan-io/conan/pull/7842)
    • Fix: prefix intel functions with intel_ because they are now exposed via tools. Fixes https://github.com/conan-io/conan/issues/7820. (https://github.com/conan-io/conan/pull/7821). Docs: :page_with_curl:
    • Bugfix: Fix regression introduced in 1.30 (https://github.com/conan-io/conan/pull/7673), with incorrect matches of user/channel for version ranges. (https://github.com/conan-io/conan/pull/7847)
    • Bugfix: Fix CMakeToolchain with multiple variables definitions. (https://github.com/conan-io/conan/pull/7833)
    • Bugfix: Check comparing the host and the build architecture to decide if cross building and set CMAKE_SYSTEM_NAME in the CMake build helper. (https://github.com/conan-io/conan/pull/7827)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64_1_30_1.deb(15.32 MB)
    conan-win-32_1_30_1.exe(14.00 MB)
    conan-win-64_1_30_1.exe(17.78 MB)
  • 1.30.0(Oct 5, 2020)

    • Feature: Implement real detection of compiler.libcxx value for gcc compiler. Only enabled in CONAN_V2_MODE, otherwise it would be breaking. (https://github.com/conan-io/conan/pull/7776)
    • Feature: Added Depends items for every public dependency of conanfiles requires/dependencies. (https://github.com/conan-io/conan/pull/7729). Docs: :page_with_curl:
    • Feature: Instructions on how to run conan tests against a real Artifactory server. (https://github.com/conan-io/conan/pull/7697)
    • Feature: List cpp_info.names and cpp_info.filenames in JSON and Markdown generator. (https://github.com/conan-io/conan/pull/7690). Docs: :page_with_curl:
    • Feature: Add information about components to markdown generator. (https://github.com/conan-io/conan/pull/7677)
    • Feature: New experimental MSBuildToolchain to generate conan_toolchain.props files (it is multi-config, will generate one specific toolchain file per configuration) for more transparent integration and better developer experience with Visual Studio. (https://github.com/conan-io/conan/pull/7674). Docs: :page_with_curl:
    • Feature: Allow packages that do not declare components to depend on other packages components and manage transitivity correctly, with the new self.cpp_info.requires attribute. (https://github.com/conan-io/conan/pull/7644). Docs: :page_with_curl:
    • Feature: Add MacOS 11 ("Big Sur") support. (https://github.com/conan-io/conan/pull/7601). Docs: :page_with_curl:
    • Feature: Expose intel_installation_path, compilervars, compilervars_dict, and compilervars_command under tools module in order to support usage of the intel compiler. (https://github.com/conan-io/conan/pull/7572). Docs: :page_with_curl:
    • Feature: Allow user-defined generators to be installed and used from the Conan cache. (https://github.com/conan-io/conan/pull/7527). Docs: :page_with_curl:
    • Feature: Add conan remote proposal for cli 2.0. (https://github.com/conan-io/conan/pull/7401)
    • Fix: Allow usage of MD5 checksums in FIPS systems that would raise error otherwise. (https://github.com/conan-io/conan/pull/7807)
    • Fix: Fix capture output when running tests that call the ConanRunner in the conanfile. (https://github.com/conan-io/conan/pull/7799)
    • Fix: Consider absolute paths when parsing conanbuildinfo.txt (https://github.com/conan-io/conan/pull/7797)
    • Fix: Update parallel uploads help message. (https://github.com/conan-io/conan/pull/7785). Docs: :page_with_curl:
    • Fix: Removed check in lockfiles computed from other lockfile that it should be part of it. Users can check the resulting lockfile themselves if they want to. (https://github.com/conan-io/conan/pull/7763). Docs: :page_with_curl:
    • Fix: Extend help message indicating how to run conan export without user/channel. (https://github.com/conan-io/conan/pull/7757). Docs: :page_with_curl:
    • Fix: Conan copy shows better description when using full reference for destination. (https://github.com/conan-io/conan/pull/7741)
    • Fix: Do not capture output for normal conan run (no logging or testing) when launching processes via ConanRunner so that color from build tools output is not lost. (https://github.com/conan-io/conan/pull/7740)
    • Fix: self.copy() follows igore_case correctly on Windows. (https://github.com/conan-io/conan/pull/7704). Docs: :page_with_curl:
    • Fix: Use patterns in server query when resolving version ranges. (https://github.com/conan-io/conan/pull/7673)
    • Fix: Raising conflict errors when options doesn't match in the evaluation of graphs with lockfiles. (https://github.com/conan-io/conan/pull/7513)
    • Bugfix: Fixed bug where uploading to multiple remotes in a single conan upload command would fail. (https://github.com/conan-io/conan/pull/7781)
    • BugFix: Add armv5hf and armv5el to the Android ABI architectures. (https://github.com/conan-io/conan/pull/7730)
    • Bugfix: Correctly inherit and use system_requirements when using python_requires. (https://github.com/conan-io/conan/pull/7721)
    • Bugfix: Translate settings.os value Macos to Darwin for CMAKE_SYSTEM_NAME to allow compiling CMake-based packages for MacOS. (https://github.com/conan-io/conan/pull/7695)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64_1_30_0.deb(15.32 MB)
    conan-win-32_1_30_0.exe(14.00 MB)
    conan-win-64_1_30_0.exe(17.78 MB)
  • 1.29.2(Sep 21, 2020)

Owner
Conan.io
Conan Package and Dependency Manager
Conan.io
An installation and dependency system for Python

Pyflow Simple is better than complex - The Zen of Python Pyflow streamlines working with Python projects and files. It's an easy-to-use CLI app with a

David O'Connor 904 Oct 19, 2021
A Poetry plugin for dynamically extracting the package version.

Poetry Version Plugin A Poetry plugin for dynamically extracting the package version. It can read the version from a file __init__.py with: # __init__

Sebastián Ramírez 148 Oct 9, 2021
A flexible package manager that supports multiple versions, configurations, platforms, and compilers.

Spack Spack is a multi-platform package manager that builds and installs multiple versions and configurations of software. It works on Linux, macOS, a

Spack 2.3k Oct 15, 2021
OS-agnostic, system-level binary package manager and ecosystem

Conda is a cross-platform, language-agnostic binary package manager. It is the package manager used by Anaconda installations, but it may be used for

Conda 4.3k Oct 23, 2021
OS-agnostic, system-level binary package manager and ecosystem

Conda is a cross-platform, language-agnostic binary package manager. It is the package manager used by Anaconda installations, but it may be used for

Conda 4.3k Oct 16, 2021
Install and Run Python Applications in Isolated Environments

pipx — Install and Run Python Applications in Isolated Environments Documentation: https://pipxproject.github.io/pipx/ Source Code: https://github.com

null 4.2k Oct 22, 2021
A set of tools to keep your pinned Python dependencies fresh.

pip-tools = pip-compile + pip-sync A set of command line tools to help you keep your pip-based packages fresh, even when you've pinned them. You do pi

Jazzband 5.3k Oct 22, 2021
Python Development Workflow for Humans.

Pipenv: Python Development Workflow for Humans [ ~ Dependency Scanning by PyUp.io ~ ] Pipenv is a tool that aims to bring the best of all packaging wo

Python Packaging Authority 22.4k Oct 24, 2021
Package manager based on libdnf and libsolv. Replaces YUM.

Dandified YUM Dandified YUM (DNF) is the next upcoming major version of YUM. It does package management using RPM, libsolv and hawkey libraries. For m

null 911 Oct 17, 2021
[DEPRECATED] YUM package manager

⛔ This project is deprecated. Please use DNF, the successor of YUM. YUM Yum is an automatic updater and installer for rpm-based systems. Included prog

null 94 Aug 5, 2021
Python dependency management and packaging made easy.

Poetry: Dependency Management for Python Poetry helps you declare, manage and install dependencies of Python projects, ensuring you have the right sta

Poetry 16.8k Oct 24, 2021
Python dependency management and packaging made easy.

Poetry: Dependency Management for Python Poetry helps you declare, manage and install dependencies of Python projects, ensuring you have the right sta

Poetry 16.8k Oct 22, 2021
pip-run - dynamic dependency loader for Python

pip-run provides on-demand temporary package installation for a single interpreter run. It replaces this series of commands (or their Windows equivale

Jason R. Coombs 61 Oct 2, 2021
:package: :fire: Python project management. Manage packages: convert between formats, lock, install, resolve, isolate, test, build graph, show outdated, audit. Manage venvs, build package, bump version.

THE PROJECT IS ARCHIVED Forks: https://github.com/orsinium/forks DepHell -- project management for Python. Why it is better than all other tools: Form

DepHell 1.7k Oct 22, 2021
A PyPI mirror client according to PEP 381 http://www.python.org/dev/peps/pep-0381/

This is a PyPI mirror client according to PEP 381 + PEP 503 http://www.python.org/dev/peps/pep-0381/. bandersnatch >=4.0 supports Linux, MacOSX + Wind

Python Packaging Authority 263 Oct 17, 2021
A PyPI mirror client according to PEP 381 http://www.python.org/dev/peps/pep-0381/

This is a PyPI mirror client according to PEP 381 + PEP 503 http://www.python.org/dev/peps/pep-0381/. bandersnatch >=4.0 supports Linux, MacOSX + Wind

Python Packaging Authority 262 Oct 11, 2021
The Python package installer

pip - The Python Package Installer pip is the package installer for Python. You can use pip to install packages from the Python Package Index and othe

Python Packaging Authority 7.5k Oct 23, 2021
Solaris IPS: Image Packaging System

Solaris Image Packaging System Introduction The image packaging system (IPS) is a software delivery system with interaction with a network repository

Oracle 47 Sep 17, 2021
The Python Package Index

Warehouse Warehouse is the software that powers PyPI. See our development roadmap, documentation, and architectural overview. Getting Started You can

Python Packaging Authority 2.8k Oct 24, 2021