Releases: conan-io/conan
1.0.0-beta1 (22-December-2017)
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
orconan 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 topackage_info()
method, to avoid unexpected errors. - Feature: extended the use of addressing folder and conanfiles with diffeent names for
source
,package
andexport-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 thepackage()
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 forpackage()
. Useself.copy()
instead. - Removed
self.conanfile_directory
attribute. Useself.source_folder
,self.build_folder
, etc.
instead
0.30.3
0.30.2 (14-December-2017)
0.30.1 (13-December-2017)
- Added missing migration corresponding to the new gcc major versions (5, 6, 7).
0.30.0 (12-December-2017)
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 tomsvc_build_command
with the correct application of environment
variables with the improvedVisualStudioBuildEnvironment
-
Feature:
CMake
andMeson
build helpers got a newcache_build_dir
argument forconfigure(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 newapply_env
attribute, defaulted toTrue
. 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 hasKEEP_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 totools.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 useCONAN_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. Usesource_folder
,build_folder
, etcBreaking changes
scopes
have been completely removed. You can use environment variables, or theconanfile.develop
orconanfile.in_local_cache
attributes instead.- Command
test_package
has been removed. Useconan create
instead, andconan 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
andGCC
build helpers have been completely removed
0.29.2 (2-December-2017)
0.29.2
- Updated python cryptography requirement for OSX due the pyOpenSSL upgrade. See more: https://pypi.python.org/pypi/pyOpenSSL
0.29.1 (23-November-2017)
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)
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 forconan create
packages and for local development. - Feature: Added
self.keep_imports
to avoid removal of imported files in thebuild()
method. Convenient for re-packaging. - Feature: Autodected MSYS2 for
SystemPackageTool
- Feature:
AutoToolsBuildEnvironment
now auto-loadspkg_config_path
(to use withpkg_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 bypackage_id()
Breaking changes
- CMAKE_LIBRARY_OUTPUT_DIRECTORY definition has been introduced in
conan_basic_setup()
, it will send shared libraries .so
to thelib
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 withpackage_id()
0.28.1 (31-October-2017)
0.28.1
- BugFix: Downloading (
tools.download
) of files withcontent-encoding=gzip
were raising an exception because the downloaded content length didn't match thecontent-length
😈 Happy Halloween!
0.28.0 (26-October-2017)
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
andconan 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 forpkg-config
- Feature: new
Meson
helper, similar toCMake
for Meson build system. Works well withpc
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
forsystem_requirements()
for ArchLinux - Feature: Define VS toolset in
CMake
constructor and from environment variable CONAN_CMAKE_TOOLSET - Feature:
conan create
now acceptswerror
argument - Feature:
AutoToolsBuildEnvironment
can useCONAN_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 explicitinclude(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 incmake
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 acceptcwd
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 theconanfile.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 usingconan build
and thenconan export-pkg
. - Removed
conan package_files
in favor of a new commandconan export-pkg
. It requires a local recipe with apackage()
method. - The command
conan source
no longer operates in the local cache. now it only operates in a user local folder. If you usedconan 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 explicitinclude
to keep the old behavior.