.. spelling:: dragly mathieu melmdk raulbocanegra rhel tivek tru yogeva .. _changelog: Changelog ========= Check https://github.com/conan-io/conan for issues and more details about development, contributors, etc. .. important:: Conan 1.7 shouldn't break any existing 1.0 recipe or command line invocation. If it does, please submit a report on GitHub. Please read more :ref:`about Conan stability`. 1.7.4 (18-September-2018) ------------------------- - Bugfix: Fixed a bug in apiv2. - Fix: Disabled apiv2 by default until it gets more stability. 1.7.3 (6-September-2018) ------------------------ - Bugfix: Uncontrolled exception was raised while printing the output of an error downloading a file. - Bugfix: Fixed :command:`*:option` pattern for conanfile consumers. 1.7.2 (4-September-2018) ------------------------ - Bugfix: Reverted default options initialization to empty string with `varname=`. - Bugfix: Fixed `conan build` command with `--test` and `--install` arguments. 1.7.1 (31-August-2018) ---------------------- - Fix: Trailing sentences in Conan help command. - Fix: Removed hardcoded :command:`-c init.templateDir=` argument in :command:`git clone` for :command:`conan config install`, in favor of a new :command:`--args` parameter that allows custom arguments. - Fix: SCM can now handle nested subfolders. - BugFix: Fix :command:`conan export-pkg` unnecessarily checking remotes. 1.7.0 (29-August-2018) ---------------------- - Feature: Support for C++20 in CMake > 3.12. - Feature: Included support for Python 3.7 in all platforms. - Feature: **[Experimental]** New ``python_requires`` function that allows you to reuse Python code by "requiring" it in Conan packages, even to extend the ``ConanFile`` class. See: :ref:`Python requires: reusing python code in recipes` - Feature: ``CMake`` method ``patch_config_paths`` replaces absolute paths to a Conan package's dependencies as well as to the Conan package itself. - Feature: ``MSBuild`` and ``VisualStudioBuildEnvironment`` build helpers adjust the ``/MP`` flag to build code in parallel using multiple cores. - Feature: Added a ``print_errors`` parameter to ``tools.PkgConfig()`` helper. - Feature: Added :command:`--query` argument to :command:`conan upload`. - Feature: ``virtualenv``/``virtualbuildenv``/``virtualrunenv`` generators now create bash scripts in Windows for use in subsystems. - Feature: Improved resolution speed for version ranges through caching of remote requests. - Feature: Improved the result of ``tools.vcvars_dict(only_diff=True)`` including a "list" return type that can be used with ``tools.environment_append()``. - Fix: ``AutoToolsBuildEnvironment`` build helper now keeps the ``PKG_CONFIG_PATHS`` variable previously set in the environment. - Fix: The SCM feature keeps the ``.git`` folder during the copy of a local directory to the local cache. - Fix: The SCM feature now correctly excludes the folders ignored by Git during the copy of a local directory to the local cache. - Fix: Conan messages now spell "overridden" correctly. - Fix: ``MSBuild`` build helper arguments using quotes. - Fix: ``vcvars_command`` and ``MSBuild`` build helper use the ``amd64_x86`` parameter when Visual Studio > 12 and when cross building for x86. - Fix: Disabled ``-c init.TemplateDir`` in :command:`conan config install` from a Git repository. - Fix: Clang compiler check in ``cmake`` generator. - Fix: Detection of Zypper package tool on latest versions of openSUSE. - Fix: Improved help output of some commands. - BugFix: ``qmake`` generator hyphen. - Bugfix: Git submodules are now initialized from repo *HEAD* **after** checking out the referenced revision when using the ``scm`` attribute. - BugFix: Declaration ``default_options`` without value, e.g. ``default_options = "config="``. Now it will throw an exception. - BugFix: Deactivate script in ``virtualenv`` generator causes PS1 to go unset. - BugFix: Apply general scope options to a consumer ConanFile first. - BugFix: Fixed detection of a valid repository for Git in the SCM feature. 1.6.1 (27-July-2018) -------------------- - Bugfix: :command:`conan info --build-order` was showing duplicated nodes for build-requires and private dependencies. - Fix: Fixed failure with the ``alias`` packages when the name of the package (excluded the version) was different from the aliased package. Now it is limited in the :command:`conan alias` command. 1.6.0 (19-July-2018) -------------------- - Feature: Added a new ``self.run(..., run_environment=True)`` argument, that automatically applies ``PATH``, ``LD_LIBRARY_PATH`` and ``DYLD_LIBRARY_PATH`` environment variables from the dependencies, to the execution of the current command. - Feature: Added a new ``tools.run_environment()`` method as a shortcut to using ``tools.environment_append`` and ``RunEnvironment()`` together. - Feature: Added a new ``self.run(..., ignore_errors=True)`` argument that represses launching an exception if the commands fails, so user can capture the return code. - Feature: Improved ``tools.Git`` to allow capturing the current branch and enabling the export of a package whose version is based on the branch and commit. - Feature: The ``json`` generator now outputs settings and options - Feature: :command:`conan remote list --raw` prints remote information in a format valid for *remotes.txt*, so it can be used for ``conan config install`` - Feature: Visual Studio generator creates the *conanbuildinfo.props* file using the ``$(USERPROFILE)`` macro. - Feature: Added a ``filename`` parameter to ``tools.get()`` in case it cannot be deduced from the URL. - Feature: Propagated ``keep_permissions`` and ``pattern`` parameters from ``tools.get()`` to ``tools.unzip()``. - Feature: Added XZ extensions to ``unzip()``. This will only work in Python 3 with lzma support enabled, otherwise, and error is produced. - Feature: Added ``FRAMEWORK_SEARCH_PATHS`` var to the Xcode generator to support packaging Apple Frameworks. Read more :ref:`here`. - Feature: Added :command:`conan build --test` and a ``should_configure`` attribute to control the test stage. Read more :ref:`here`. - Feature: New tools to convert between files with LF and CRLF line endings: :ref:`tools_unix2dos` and :ref:`tools_dos2unix`. - Feature: Added :command:`conan config install [url] --type=git` to force cloning of a Git repo for ``http://...`` git urls. - Feature: Improved output information when a package is missing in a remote to show which package requires the missing one. - Feature: Improved the management of an upload interruption to avoid uploads of incomplete tarballs. - Feature: Added new ``LLVM`` toolsets to the base ``settings.yml`` (Visual Studio). - Feature: Created a plugin for pylint with the previous Conan checks (run in the export) enabling usage of the plugin in IDEs and command line to check if recipes are correct. - Feature: Improved the ``deb`` installer to guarantee that it runs correctly in Debian 9 and other distros. - Fix: Fixed :command:`conan search -q` and :command:`conan remove -q` to not return packages that don't have the setting specified in the query. - Fix: Fixed ``SystemPackageTool`` when calling to update with ``sudo`` is not enabled and ``mode=verify``. - Fix: Removed ``pyinstaller`` shared libraries from the linker environment for any Conan subprocess. - BugFix: The ``YumTool`` now calls ``yum update`` instead of ``yum check-update``. - Bugfix: Solved a bug in which using ``--manifest`` parameter with :command:`conan create` caused the deletion of information in the dependency graph. - Bugfix: Solved bug in which the ``build`` method of the ``Version`` model was not showing the version build field correctly . - Bugfix: Fixed a Conan crash caused by a dependency tree containing transitive private nodes. 1.5.2 (5-July-2018) ------------------- - Bugfix: Fixed bug with pre-1.0 packages with sources. - Bugfix: Fixed regression in private requirements. 1.5.1 (29-June-2018) -------------------- - Bugfix: Sources in the local cache weren't removed when using scm pointing to the local source directory, causing changes in local sources not applied to the conan create process. - Bugfix: Fixed bug causing duplication of build requires in the dependency graph. 1.5.0 (27-June-2018) -------------------- - Feature: :command:`conan search -r=all` now is able to search for binaries too in all remotes - Feature: Dependency graph improvements: ``build_requires`` are represented in the graph (visible in :command:`conan info``, also in the HTML graph). :command:`conan install` and :command:`conan info` commands shows extended information of the binaries status (represented in colors in HTML graph). The dependencies declaration order in recipes is respected (as long as it doesn't break the dependency graph order). - Feature: improved remote management, it is possible to get binaries from different remotes. - Feature: :command:`conan user` command is now able to show authenticated users. - Feature: Added :command:`conan user --json` json output to the command. - Feature: New ``pattern`` argument to ``tools.unzip()`` and ``tools.untargz`` functions, that allow efficient extraction of certain files only. - Feature : Added Manjaro support for ``SystemPackageTools``. - Feature: Added ``Macos`` ``version`` subsetting in the default *settings.yml* file, to account for the "min OSX version" configuration. - Feature: SCM helper argument to recursively clone submodules - Feature: SCM helper management of subfolder, allows using ``exports`` and ``exports_sources``, manage symlinks, and do not copy files that are *.gitignored*. Also, works better in the local development flow. - Feature: Modifies user agent header to output the Conan client version and the Python version. Example: ``Conan/1.5.0 (Python 2.7.1)`` - Fix: The ``CMake()`` helper now doesn't require a compiler input to deduce the default generator. - Fix: :command:`conan search ` now works consistently in local cache and remotes. - Fix: Proxy related environment variables are removed if *conan.conf* declares proxy configuration. - Fix: Fixed the parsing of invalid JSON when Microsoft ``vswhere`` tool outputs invalid non utf-8 text. - Fix: Applying ``winsdk`` and ``vcvars_ver`` to MSBuild and ``vcvars_command`` for VS 14 too. - Fix: Workspaces now support ``build_requires``. - Fix: ``CMake()`` helper now defines by default ``CMAKE_EXPORT_NO_PACKAGE_REGISTRY``. - Fix: Settings constraints declared in recipes now don't error for single strings (instead of a list with a string element). - Fix: ``cmake_minimum_required()`` is now before ``project()`` in templates and examples. - Fix: ``CONAN_SYSREQUIRES_MODE=Disabled`` now doesn't try to update the system packages registry. - Bugfix: Fixed SCM origin path of windows folder (with backslashes). - Bugfix: Fixed SCM dictionary order when doing replacement. - Bugfix: Fixed auto-detection of apple-clang 10.0. - Bugfix: Fixed bug when doing a :command:`conan search` without registry file (just before installation). 1.4.5 (22-June-2018) -------------------- - Bugfix: The package_id recipe method was being called twice causing issues with info objects being populated with wrong information. 1.4.4 (11-June-2018) -------------------- - Bugfix: Fix link order with private requirements. - Bugfix: Removed duplicate ``-std`` flag in CMake < 3 or when the standard is not yet supported by ``CMAKE_CXX_STANDARD``. - Bugfix: Check ``scm`` attribute to avoid breaking recipes with already defined one. - Feature: Conan workspaces. 1.4.3 (6-June-2018) ------------------- - Bugfix: Added system libraries to the cmake_find_package generator. - Fix: Added SIGTERM signal handler to quit safely. - Bugfix: Fixed miss-detection of gcc 1 when no gcc was on a Linux machine. 1.4.2 (4-June-2018) ------------------- - Bugfix: Fixed multi-config packages. - Bugfix: Fixed `cppstd` management with CMake and 20 standard version. 1.4.1 (31-May-2018) ------------------- - Bugfix: Solved issue with symlinks making recipes to fail with ``self.copy``. - Bugfix: Fixed c++20 standard usage with modern compilers and the creation of the *settings.yml* containing the settings values. - Bugfix: Fixed error with cased directory names in Windows. - BugFix: Modified confusing warning message in the SCM tool when the remote couldn't be detected. 1.4.0 (30-May-2018) ------------------- - Feature: Added ``scm`` conanfile attribute, to easily clone/checkout from remote repositories and to capture the remote and commit in the exported recipe when the recipe and the sources lives in the same repository. Read more in ":ref:`Recipe and sources in a different repo `" and ":ref:`Recipe and sources in the same repo `". - Feature: Added ``cmake_paths`` generator to create a file setting ``CMAKE_MODULE_PATH`` and ``CMAKE_PREFIX_PATH`` to the packages folders. It can be used as a CMake toolchain to perform a transparent CMake usage, without include any line of cmake code related to Conan. Read more :ref:`here `. - Feature: Added ``cmake_find_package`` generator that generates one ``FindXXX.cmake`` file per each dependency both with classic CMake approach and modern using transitive CMake targets. Read more :ref:`here `. - Feature: Added :command:`conan search --json` json output to the command. - Feature: CMake build helper now sets ``PKG_CONFIG_PATH`` automatically and receives new parameter ``pkg_config_paths`` to override it. - Feature: CMake build helper doesn't require to specify "arch" nor "compiler" anymore when the generator is "Unix Makefiles". - Feature: Introduced default settings for GCC 8, Clang 7. - Feature: Introduced support for c++ language standard c++20. - Feature: Auto-managed ``fPIC`` option in AutoTools build helper. - Feature: ``tools.vcvars_command()`` and ``tools.vcvars_dict()`` now take ``vcvars_ver`` and ``winsdk_version`` as parameters. - Feature: ``tools.vcvars_dict()`` gets only the env vars set by vcvars with new parameter ``only_diff=True``. - Feature: Generator ``virtualbuildenv`` now sets Visual Studio env vars via ``tool.vcvars_dict()``. - Feature: New tools for Apple development including XCRun wrapper. - Fix: Message "Package '1' created" in package commands with ``short_paths=True`` now shows package ID. - Fix: ``tools.vcvars_dict()`` failing to create dictionary due to newlines in vcvars command output. - Bugfix: ``tools.which()`` returning directories instead of only files. - Bugfix: Inconsistent local cache when developing a recipe with ``short_paths=True``. - Bugfix: Fixed reusing MSBuild() helper object for multi-configuration packages. - Bugfix: Fixed authentication using env vars such as ``CONAN_PASSWORD`` when ``CONAN_NON_INTERACTIVE=True``. - Bugfix: Fixed Android api_level was not used to adjust CMAKE_SYSTEM_VERSION. - Bugfix: Fixed MSBuild() build helper creating empty XML node for runtime when the setting was not declared. - Bugfix: Fixed ``default_options`` not supporting ``=`` in value when specified as tuple. - Bugfix: AutoToolsBuildEnvironment build helper's ``pkg_config_paths`` parameter now sets paths relative to the install folder or absolute ones if provided. 1.3.3 (10-May-2018) ------------------- - Bugfix: Fixed encoding issues writing to files and calculating md5 sums. 1.3.2 (7-May-2018) ------------------ - Bugfix: Fixed broken ``run_in_windows_bash`` due to wrong argument. - Bugfix: Fixed ``VisualStudioBuildEnvironment`` when toolset was not defined. - Bugfix: Fixed md5 computation of conan .tgz files for recipe, exported sources and packages due to file ordering and flags. - Bugfix: Fixed ``conan download -p=wrong_id`` command - Fix: Added apple-clang 9.1 1.3.1 (3-May-2018) ------------------ - Bugfix: Fixed regression with ``AutoToolsBuildEnvironment`` build helper that raised exception with not supported architectures during the calculation of the GNU triplet. - Bugfix: Fixed ``pkg_config`` generator, previously crashing when there was no library directories in the requirements. - Bugfix: Fixed ``conanfile.run()`` with ``win_bash=True`` quoting the paths correctly. - Bugfix: Recovered parameter "append" to the ``tools.save`` function. - Bugfix: Added support (documented but missing) to delete options in ``package_id()`` method using ``del self.info.options.