Skip to content

Releases: conan-io/conan

1.0.0-beta1 (22-December-2017)

22 Dec 17:57
Compare
Choose a tag to compare
Pre-release

1.0.0-beta1

Install with: pip install conan==1.0.0b1

  • Feature: New command line UI. Most commands use now the path to the package recipe, like conan export . user/testing
    or conan create folder/myconanfile.py user/channel.
  • Feature: Better cross-compiling. New settings model for os_build, arch_build, os_target, arch_target.
  • Feature: Better Windows OSS ecosystem, with utilities and settings model for MSYS, Cygwing, Mingw, WSL
  • Feature: package() will not warn of not copied files for known use cases.
  • Feature: reduce the scope of definition of cpp_info, env_info, user_info attributes to package_info()
    method, to avoid unexpected errors.
  • Feature: extended the use of addressing folder and conanfiles with diffeent names for source, package and export-pkg
    commands
  • Feature: added support for Zypper system package tool
  • Fix: Fixed application of build requires from profiles that didn't apply to requires in recipes
  • Fix: Improved "test package" message in output log
  • Fix: updated CI templates generated with conan new
  • Deprecation: Removed self.copy_headers and family for the package() method
  • Deprecation: Removed self.conanfile_directory attribute.

Breaking changes

  • The new command line UI breaks command line tools and integration. Most cases, just add a . to the command.
  • Removed self.copy_headers, self.copy_libs, methods for package(). Use self.copy() instead.
  • Removed self.conanfile_directory attribute. Use self.source_folder, self.build_folder, etc.
    instead

0.30.3

15 Dec 14:59
Compare
Choose a tag to compare

0.30.3 (15-December-2017)

  • Reverted CMake() and Meson() build helpers to keep old behavior.
  • Forced Astroid dependency to < 1.6 because of py3 issues.

0.30.2 (14-December-2017)

14 Dec 09:52
Compare
Choose a tag to compare
  • Fix: CMake() and Meson() build helpers and relative directories. #2152
  • Fix: ycm generator, removed the access of cpp_info to generators, keeping the access to deps_cpp_info. #2149

0.30.1 (13-December-2017)

13 Dec 11:17
Compare
Choose a tag to compare
  • Added missing migration corresponding to the new gcc major versions (5, 6, 7).

0.30.0 (12-December-2017)

13 Dec 11:17
Compare
Choose a tag to compare

0.30.0

  • Feature: Introduced major versions for gcc (5, 6, 7) as defaults settings for OSS packages, as minors are compatible by default

  • Feature: VisualStudioBuildEnvironment has added more compilation and link flags.

  • Feature: new MSBuild build helper that wraps the call to msvc_build_command with the correct application of environment
    variables with the improved VisualStudioBuildEnvironment

  • Feature: CMake and Meson build helpers got a new cache_build_dir argument for configure(cache_build_dir=None)
    that will be used to define a build directory while the package is being built in local cache, but not when built locally

  • Feature: conanfiles got a new apply_env attribute, defaulted to True. If false, the environment variables from
    dependencies will not be automatically applied. Useful if you don't want some dependency adding itself to the PATH by default,
    for example

  • Feature: allow recipes to use and run python code installed with conan config install

  • Feature: conanbuildinfo.cmake now has KEEP_RPATHS as argument to keep the RPATHS, as opposed to old SKIP_RPATH which
    was confusing. Also, it uses set(CMAKE_INSTALL_NAME_DIR "") to keep the old behavior even for CMake >= 3.9

  • Feature: conan info is able to get profile information from the previous install, instead of requiring it as input again

  • Feature: tools.unix_path support MSYS, Cygwin, WSL path flavors

  • Feature: added destination folder argument to tools.get() function

  • Feature: SystemPackageTool for apt-get now uses --no-install-recommends automatically.

  • Feature: visual_studio_multi generator now uses toolsets instead of IDE version to identify files.

  • Fix: generators failures print traces to help debugging

  • Fix: typos in generator names, or non-existing generator now raise an Error instead of a warning

  • Fix: short_paths feature is active by default in Windows. If you want to opt-out, you can use CONAN_USER_HOME_SHORT=None

  • Fix: SystemPackageTool doesn't use sudo in Windows

  • BugFix: Not using parallel builds for Visual<10 in cmake build helper

  • Deprecation: conanfile_directory shouldn't be used anymore in recipes. Use source_folder, build_folder, etc

    Breaking changes

    • scopes have been completely removed. You can use environment variables, or the conanfile.develop or conanfile.in_local_cache
      attributes instead.
    • Command test_package has been removed. Use conan create instead, and conan test for just running package tests.
    • werror behavior is now by default. Dependencies conflicts will now error, and have to be fixed.
    • short_paths feature is again active by default in Windows, even with Py3.6 and system LongPathsEnabled.
    • ConfigureEnvironment and GCC build helpers have been completely removed

0.29.2 (2-December-2017)

02 Dec 08:42
Compare
Choose a tag to compare

0.29.2

0.29.1 (23-November-2017)

23 Nov 12:51
Compare
Choose a tag to compare

0.29.1

  • Support for OSX High Sierra
  • Reverted concurrency locks to counters, removed psutil dependency
  • Implemented migration for settings.yml (for new VS toolsets)
  • Fixed encoding issues in conan_server

0.29.0 (21-November-2017)

21 Nov 12:06
Compare
Choose a tag to compare

0.29.0

  • Feature: Support for WindowsStore (WinRT, UWP)
  • Feature: Support for Visual Studio Toolsets.
  • Feature: New boost-build generator for generic bjam (not only Boost)
  • Feature: new tools.PkgConfig helper to parse pkg-config (.pc) files.
  • Feature: Added self.develop conanfile variable. It is true for conan create packages and for local development.
  • Feature: Added self.keep_imports to avoid removal of imported files in the build() method. Convenient for re-packaging.
  • Feature: Autodected MSYS2 for SystemPackageTool
  • Feature: AutoToolsBuildEnvironment now auto-loads pkg_config_path (to use with pkg_config generator)
  • Feature: Changed search for profiles. Profiles not found in the default profiles folder, will be searched for locally. Use ./myprofile to force local search only.
  • Feature: Parallel builds for Visual Studio (previously it was only parallel compilation within builds)
  • Feature: implemented syntax to check options with if "something" in self.options.myoption
  • Fix: Fixed CMake dependency graph when using TARGETS, that produced wrong link order for transitive dependencies.
  • Fix: Trying to download the exports_sources is not longer done if such attribute is not defined
  • Fix: Added output directories in cmake generator for RelWithDebInfo and MinSizeRel configs
  • Fix: Locks for concurrent access to local cache now use process IDs (PIDs) to handle interruptions and inconsistent states. Also, adding messages when locking.
  • Fix: Not remove the .zip file after a conan config install if such file is local
  • Fix: Fixed CMake.test() for the Ninja generator
  • Fix: Do not crete local conaninfo.txt file for conan install <pkg-ref> commands.
  • Fix: Solved issue with multiple repetitions of the same command line argument
  • BugFix: Don't rebuild conan created (with conan-create) packages when build_policy="always"
  • BugFix: conan copy was always copying binaries, now can copy only recipes
  • BugFix: A bug in download was causing appends insteads of overwriting for repeated downloads.
  • Development: Large restructuring of files (new cmd and build folders)
  • Deprecation: Removed old CMake helper methods (only valid constructor is CMake(self))
  • Deprecation: Removed old conan_info() method, that was superseded by package_id()

Breaking changes

  • CMAKE_LIBRARY_OUTPUT_DIRECTORY definition has been introduced in conan_basic_setup(), it will send shared libraries .so
    to the lib folder in Linux systems. Right now it was undefined.
  • Profile search logic has slightly changed. For -pr=myprofile, such profile will be searched both in the default folder
    and in the local one if not existing. Use -pr=./myprofile to force local search only.
  • The conan copy command has been fixed. To copy all binaries, it is necessary to explicit --all, as other commands do
  • The only valid use of CMake helper is CMake(self) syntax
  • If using conan_info(), replace it with package_id()

0.28.1 (31-October-2017)

31 Oct 16:58
Compare
Choose a tag to compare

0.28.1

  • BugFix: Downloading (tools.download) of files with content-encoding=gzip were raising an exception because the downloaded content length didn't match the content-length

😈 Happy Halloween!

0.28.0 (26-October-2017)

27 Oct 16:14
Compare
Choose a tag to compare

0.28.0

This is a big release, with many important and core changes. Also with a huge number of community contributions, thanks very much!

Important!, see the "Breaking changes" at the end of the document.

  • Feature: Major revamp of most conan commands, making command line arguments homogeneous. Much better development flow adapting to user layouts, with install-folder, source-folder, build-folder, package-folder.
  • Feature: new deploy() method, useful for installing binaries from conan packages.
  • Feature: Implemented some concurrency support for the conan local cache. Parallel conan install and conan create for different configurations should be possible.
  • Feature: options now allow patterns in the command line: -o *:myoption=myvalue applies to all packages.
  • Feature: new pc generator that generates files from dependencies for pkg-config
  • Feature: new Meson helper, similar to CMake for Meson build system. Works well with pc generator.
  • Feature: Support for read-only cache with CONAN_READ_ONLY_CACHE environment variable
  • Feature: new visual_studio_multi generator to load Debug/Release, 32/64 configs at once
  • Feature: new tools.which helper to locate executables
  • Feature: new conan --help layout
  • Feature: allow to override compiler version in vcvars_command
  • Feature: conan user interactive (and not exposed) password input for empty -p argument
  • Feature: Support for PacManTool for system_requirements() for ArchLinux
  • Feature: Define VS toolset in CMake constructor and from environment variable CONAN_CMAKE_TOOLSET
  • Feature: conan create now accepts werror argument
  • Feature: AutoToolsBuildEnvironment can use CONAN_MAKE_PROGRAM env-var to define make program
  • Feature: added xcode9 for apple-clang 9.0, clang 5 to default settings.yml
  • Feature: deactivation of short_paths in Windows 10 with Py3.6 and long path support is automatic
  • Feature: show unzip progress by percentage, not by file (do not clutters output)
  • Feature: do not use sudo for system requirements if already running as root
  • Feature: tools.download able to use headers/auth
  • Feature: conan does not longer generate bytecode from recipes (no more .pyc, and more efficient)
  • Feature: add parallel argument to build_sln_command for VS
  • Feature: Show warning if vs150comntools is an invalid path
  • Feature: tools.get() now has arguments for hash checking
  • Fix: upload pattern now accepts Pkg/*
  • Fix: improved downloader, make more robust, better streaming
  • Fix: tools.patch now support adding/removal of files
  • Fix: The default profile is no longer taken as a base and merged with user profile. Use explicit include(default) instead.
  • Fix: Properly manage x86 as cross building with autotools
  • Fix: tools.unzip removed the unnecessary long-paths check in Windows
  • Fix: package_info() is no longer executed at install for the consumer conanfile.py
  • BugFix: source folder was not being correctly removed when recipe was updated
  • BugFix: fixed CMAKE_C_FLAGS_DEBUG definition in cmake generator
  • BugFix: CMAKE_SYSTEM_NAME is now Darwin for iOS, watchOS and tvOS
  • BugFix: xcode generator fixed handling of compiler flags
  • BugFix: pyinstaller hidden import that broke .deb installer
  • BugFix: conan profile list when local files matched profile names

Breaking changes

This is an important release towards stabilizing conan and moving out of beta. Some breaking changes have been done, but mostly to command line arguments, so they should be easy to fix. Package recipes or existing packages shouldn't break.
Please update, it is very important to ease the transition of future stable releases. Do not hesitate to ask questions, or for help, if you need it. This is a possibly not complete list of things to take into account:

  • The command conan install doesn't accept cwd anymore, to change the directory where the generator
    files are written, use the --install-folder parameter.
  • The command conan build now requires the path to the conanfile.py (optional before)
  • The command conan package not longer re-package a package in the local cache, now it only operates in a user local folder. The recommended way to re-package a package is using conan build and then conan export-pkg.
  • Removed conan package_files in favor of a new command conan export-pkg. It requires a local recipe with a package() method.
  • The command conan source no longer operates in the local cache. now it only operates in a user local folder. If you used conan source with a reference to workaround the concurrency, now it natively supported, you can remove the command call and trust concurrent install processes.
  • The command conan imports doesn't accept -d, --dest anymore, use --imports-folder parameter instead.
  • If you specify a profile in a conan command, like conan create or conan install the base profile ~/.conan/profiles/default won’t be applied.
    Use explicit include to keep the old behavior.