From d5ba60c5d67c17df316719ace1abe49aa96967eb Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Sat, 16 Nov 2019 13:01:16 +0200 Subject: Update NEWS file --- NEWS | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) diff --git a/NEWS b/NEWS index 0b9b4b6..58243e6 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,84 @@ +Version 0.12.0 + + * Support for creating new projects with existing files. + + The bdep-new command now also recognizes and handles the following + existing filesystem entries in the project root: + + .git -- assume VCS is already initialized and is Git + LICENSE -- try to guess the manifest license from contents + README.md -- try to extract the manifest summary line from contents + + Overall, the idea is to streamline the workflow where one creates a + project on one of the hosting services (GitHub, GitLab, etc) and then + initializes it with bdep-new. + + Also, to this effect, specifying the project name is now optional and if + omitted, the current working directory (or --output-dir, if specified) is + assumed to be the project name. + + An example of this streamlined workflow: + + $ # create project with LICENSE and README.md on a Git hosting service + $ git clone .../libhello.git + $ cd libhello + $ bdep new -t lib + + Finally, with this change it now makes sense to have support for pre- + creation hooks (--pre-hook) in addition to post-creation (--post-hook). + + * Support for default options files (aka tool config files). + + See the bdep-default-options-files(1) help topic for background and the + DEFAULT OPTIONS FILES section in each command's man pages for specifics. + + * New bdep-new no-install project type sub-option. + + In particular, this should be useful when creating *-tests packages. + + * The C library projects created by bdep-new are now portable. + + Specifically, the use of fmemopen() was replaced with tmpfile(). + + * The pre and post-creation hooks now make use of portable builtins. + + To instead use a system-provided program, prefix the name with `^`, for + example: + + $ bdep new --post-hook "^cat --squeeze-blank .../.gitignore >>.gitignore" + + See bdep-new(1) for details. + + * Ability to specify in the bdep-init command's -A and -C forms. + + * Ability to keep/update/remove the current tag in the bdep-release + command's revision mode. + + Note also that previously the default was to update while now it is to + keep. + + * Ability to have multiple forwarded configurations. + + The new constraint is that such configurations should not have any common + packages (a package's source directory cannot be forwarded to multiple + configurations). + + * New bdep-submit --forward option. + + This option instructs bdep-submit to use each package's forwarded + configuration in order to prepare the distributions. This help with setups + where there is no single configuration that has all the packages (such as + a build system module project). + + * New bdep-init --no-sync option. + + This allows postponing initialization in the build configurations to a + later explicit bdep-sync. One subtle difference with such an explicit sync + is that it will be performed without having the project's database open, + which can be important if the initialization triggers an implicit sync + (via a hook) of a project that uses the same database (as is the case with + build system module projects). + Version 0.11.0 * The bdep-new command now by default adds a README.md template. This can be -- cgit v1.1