From e98ef8dba32bc564b89a0d3675c4e5645f0ed4f0 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 8 Oct 2021 11:46:19 +0200 Subject: Update NEWS file --- NEWS | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) (limited to 'NEWS') diff --git a/NEWS b/NEWS index a5dbc20..340f5b1 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,88 @@ +Version 0.14.0 + + * Support for configuration types, configuration linking, and build-time + dependencies. + + Configurations can now be linked with each other to allow a package to be + built in one configuration while its dependencies in one or more linked + configurations. This can be used to create a "base" configuration with + common dependencies that are shared between multiple configurations. + + Configurations now also have types with the three predefined types being + `target` (the default) `host` (used for build-time project packages and/or + dependencies), and `build2` (used for build system modules). We can now + also have multiple default configurations provided they are of different + types. This mechanism together with configuration linking is used to + provide separate configurations for build-time dependencies, for example, + tools that need to be executed or build system modules that need to be + loaded during the build. + + If during initialization or synchronization a build-time dependency is + encountered and there is no build configuration of a suitable type + associated with the project, then the user is prompted to automatically + create such a configuration and associate it with the project. + + New relevant commands: bdep-config-{link,unlink}. + + Command with relevant changes (new options, etc): bdep-config-create, + bdep-init, bdep-sync. + + See bdep-config(1) and bdep-sync(1) for details of this functionality. + See also the corresponding functionality in bpkg on which this is built. + + * Project packages are now by default initialized for development. + + Specifically, a package is configured with config..develop=true + unless an alternative value is specified on the command line. For example: + + $ bdep init @install config.hello.develop=false + + To change the development mode of an already initialized package, use + bdep-sync: + + $ bdep sync @install config.hello.develop=false + + See the build system manual for details on the config.*.develop variables. + + * Configuration of project packages is now preserved during synchronization. + + To reconfigure a package from scratch, use the new --disfigure bdep-sync + option. For example: + + $ bdep sync config.hello.develop=false + $ bdep sync # develop=false + $ bdep sync --disfigure # develop=true + + * The bdep-new command can now create multi-language C/C++ projects. + + * The bdep-new command can now create binless (header-only) C libraries. + + * The bdep-new command now generates smarter glue buildfile that reads + packages.manifest instead of using a directory wildcard. + + * New --immediate|-i and --recursive|-r bdep-{update,clean} options. + + These options can be used to additionally updating or cleaning immediate + or all dependencies of the project packages, respectively. + + * New --build-config bdep-ci option. + + This option provides an easier way to specify the desired build + configuration or configuration pattern. + + * New --interactive|-i bdep-ci option. + + This option can be used to request an interactive CI session. In this mode + the CI service pauses the testing at the specified breakpoint and provides + the login information for the execution environment. + + * Support for argument grouping in bdep-{sync,init}. + + See bdep-argument-grouping(1) for details on argument grouping. + + * New BDEP_DEF_OPT environment variable that can be used to suppress loading + of default options files. + Version 0.13.0 * The SPDX License Expression in now the default scheme in the bdep-new -- cgit v1.1