Skip to content

Releases: conan-io/conan

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.

0.27.0 (20-September-2017)

20 Sep 08:55
Compare
Choose a tag to compare

0.27.0

  • Feature: conan config install <url> new command. Will install remotes, profiles, settings, conan.conf and other files into the local conan installation. Perfect to synchronize configuration among teams
  • Feature: improved traceback printing when errors are raised for more context. Configurable via env
  • Feature: filtering out non existing directories in cpp_info (include, lib, etc), so some build systems doesn't complain of them.
  • Feature: Added include directories to ResourceCompiler and to MIDL compiler in visual_studio generator
  • Feature: new visual_studio_legacy generator for Visual Studio 2008
  • Feature: show path where manifests are locally stored
  • Feature: replace_in_file now raises error if replacement is not done (opt-out parameter)
  • Feature: enabled in conan.conf [proxies] section no_proxy=url1,url2 configuration (to skip proxying for those URLs), as well as http=None and https=None to explicitely disable them.
  • Feature: new conanfile self.in_local_cache attribute for conditional logic to apply in user folders local commands
  • Feature: CONAN_USER_HOME_SHORT=None can disable the usage of short_paths in Windows, for modern Windows that enable long paths at the system level
  • Feature: if "arm" in self.settings.arch is now a valid check (without casting to str(self.settings.arch))
  • Feature: added --cwd argument to conan source local method.
  • Fix: unzip crashed for 0 Bytes zip files
  • Fix: collect_libs moved to the tools module
  • Bugfix: fixed wrong regex in deps_cpp_info causing issues with dots and dashes in package names
  • Development: Several internal refactors (tools module, installer), testing (using VS2015 as default, removing VS 12 in testing). Conditional CI in travis for faster builds in developers, downgrading to CMake 3.7 in appveyor
  • Deprecation: dev_requires have been removed. Superseded by build_requires while not documented at all.
  • Deprecation: sources tgz files for exported sources no longer contain ".c_src" subfolder. Packages created with 0.27 will be incompatible with conan < 0.25

0.26.1 (5-Sep-2017)

05 Sep 17:30
Compare
Choose a tag to compare

0.26.1

  • Bugfix: fixed parsing of conanbuildinfo with package names containing a dot.
  • Feature: added apple-clang 9.0 to default settings.
  • Fix: conan copy command now supports symlinks.
  • Fix: fixed removal of "export_source" folder when files have no permissions

0.26.0 (31-August-2017)

31 Aug 14:54
Compare
Choose a tag to compare

0.26.0

  • Feature: conan profile command has implemented update, new, remove subcommands, with --detect, to allow creation, edition and management of profiles.
  • Feature: conan package_files command now can call recipe package() method if --build_folder or --source_folder arguments are defined
  • Feature: graph loading algorithm improved to avoid repeating nodes. Results in much faster times for dense graphs, and avoids duplications of private requirements.
  • Feature: authentication based on environment variables. Allows very long processes without tokens being expired.
  • Feature: Definition of Visual Studio runtime setting MD or MDd is now automatic based on build type, not necessary to default in profile.
  • Feature: Capturing SystemExit to return user error codes to the system with sys.exit(code)
  • Feature: Added SKIP_RPATH argument to cmake conan_basic_setup() function
  • Feature: Optimized uploads, now uploads will be skipped if there are no changes, irrespective of timestamp
  • Feature: Automatic detection of VS 15-2017, via both a vs150comntools variable, and using vswhere.exe
  • Feature: Added NO_OUTPUT_DIRS argument to cmake conan_basic_setup() function
  • Feature: Add support for Chocolatey system package manager for Windows.
  • Feature: Improved in conan user home and path storage configuration, better error checks.
  • Feature: export command is now able to export recipes without name or version, specifying the full reference.
  • Feature: Added new default settings, Arduino, gcc-7.2
  • Feature: Add conan settings to cmake generated file
  • Feature: new tools.replace_prefix_in_pc_file() function to help with .pc files.
  • Feature: Adding support for system package tool pkgutil on Solaris
  • Feature: conan remote update now allows --insert argument to change remote order
  • Feature: Add verbose definition to CMake helper.
  • Fix: conan package working locally failed if not specified build_folder
  • Fix: Search when using wildcards for version like Pkg/*@user/channel
  • Fix: Change current working directory to the conanfile.py one before loading it, so relative python imports or code work.
  • Fix: package_files command now works with short_paths too.
  • Fix: adding missing require of tested package in test_package/conanfile build() method
  • Fix: path joining in vcvars_command for custom VS paths defined via env-vars
  • Fix: better managing string escaping in CMake variables
  • Fix: ExecutablePath assignment has been removed from the visual_studio generator.
  • Fix: removing export_source folder containing exported code, fix issues with read-only files and keeps cache consistency better.
  • Fix: Accept 100 return code from yum check-update
  • Fix: importing *.so files from the conan new generated test templates
  • Fix: progress bars display when download/uploads are not multipart (reported size 0)
  • Bugfix: fixed wrong OSX DYLD_LIBRARY_PATH variable for virtual environments
  • Bugfix: FileCopier had a bug that affected self.copy() commands, changing base reference directory.

0.25.1 (20-July-2017)

20 Jul 16:03
Compare
Choose a tag to compare

0.25.1

  • Bugfix: Build requires are now applied correctly to test_package projects.
  • Fix: Fixed search command to print an error when --table parameter is used without a reference.
  • Fix: install() method of the CMake() helper, allows parallel building, change build folder and custom parameters.
  • Fix: Controlled errors in migration, print warning if conan is not able to remove a package directory.

0.25.0 (19-July-2017)

19 Jul 15:59
Compare
Choose a tag to compare

0.25.0

This release introduces a new layout for the local cache, with dedicated export_source folder to store the source code exported with exports_sources feature, which is much cleaner than the old .c_src subfolder. A migration is included to remove from the local cache packages with the old layout.

  • Feature: new conan create command that supersedes test_package for creating and testing package. It works even without the test_package folder, and have improved management for user, channel. The test_package recipe no longer defines requires
  • Feature: new conan get command that display (with syntax highlight) package recipes, and any other file from conan: recipes, conaninfo.txt, manifests, etc.
  • Feature: new conan alias command that creates a special package recipe, that works like an alias or a proxy to other package, allowing easy definition and transparent management of "using the latest minor" and similar policies. Those special alias packages do not appear in the dependency graph.
  • Feature: new conan search --table=file.html command that will output an html file with a graphical representation of available binaries
  • Feature: created default profile, that replace the [settings_default] in conan.conf and augments it, allowing to define more things like env-vars, options, build_requires, etc.
  • Feature: new self.user_info member that can be used in package_info() to define custom user variables, that will be translated to general purpose variables by generators.
  • Feature: conan remove learned the --outdated argument, to remove those package binaries that are outdated from the recipe, both from local cache and remotes
  • Feature: conan search learned the --outdated argument, to show only those package binaries that are outdated from the recipe, both from local cache and remotes
  • Feature: Automatic management CMAKE_TOOLCHAIN_FILE in CMake helper for cross-building.
  • Feature: created conan_api, a python API interface to conan functionality.
  • Feature: new cmake.install() method of CMake helper.
  • Feature: short_paths feature now applies also to exports_sources
  • Feature: SystemPackageTool now supports FreeBSD system packages
  • Feature: build_requires now manage options too, also default options in package recipes
  • Feature: conan build learned new --package_folder argument, useful if the build system perform the packaging
  • Feature: CMake helper now defines by default CMAKE_INSTALL_PREFIX pointing to the current package_folder, so cmake.install() can transparently execute the packaging.
  • Feature: improved command UX with --cwd arguments to allow define the current directory for the command
  • Feature: improved VisualStudioBuildEnvironment
  • Feature: transfers now show size (MB, KB) of download/uploaded files, and current status of transfer.
  • Feature: conan new now has arguments to generate CI scripts for Gitlab CI.
  • Feature: Added MinRelSize and RelWithDebInfo management in CMake helper.
  • Fix: make mkdir, rmdir, relative_dirs available for import from conans module.
  • Fix: improved detection of Visual Studio default under cygwin environment.
  • Fix: package_files now allows symlinks
  • Fix: Windows installer now includes conan_build_info tool.
  • Fix: appending environment variables instead of overwriting them when they come from different origins: upstream dependencies and profiles.
  • Fix: made opt-in the check of package integrity before uploads, it was taking too much time, and provide little value for most users.
  • Fix: Package recipe linter removed some false positives
  • Fix: default settings from conan.conf do not fail for constrained settings in recipes.
  • Fix: Allowing to define package remote with conan remote add_ref before download/upload.
  • Fix: removed duplicated BUILD_SHARED_LIBS in test_package
  • Fix: add "rhel" to list of distros using yum.
  • Bugfix: allowing relative paths in exports and exports_sources fields
  • Bugfix: allow custom user generators with underscore