I've tagged a new release of Ninja, version v1.6.0
== Release notes
* rules are now scoped to the subninja they're in. See thread
"RFC: allow scoping rules via subninja"
for discussion. (#921)
* dupe edges with multiple outputs now uses first edge
instead of last (#867)
+ can make this warning optionally an error (-w dupbuild=err),
which will hopefully become the default one day
(this release is step 1 of #931)
* pools actually work now (#959)
* no longer print "Recompacting..." when recompacting –
it's very fast in practice anyway
* generators can now run more often than twice if needed (#908)
* unexpected output names now cause a rebuild instead of
a hard error (#417)
* POSIX-specific changes
+ child processes get detached from terminal (#909)
+ check for SIGINT after ppoll/pselect -> faster Ctrl-C (#893)
+ add an explicit SIGTERM signal handler (#743)
* Windows-specific changes
+ `-t graph` now produces working dot files on Windows
when files contain backslashes
+ ninja now uses the full width in cmd.exe
(it was one column short previously)
+ Ctrl-s (or pause key) in cmd.exe now pauses ninja
+ ninja now builds with MSVS2015
+ run more than 34 child processes if there are
more than 32 cores. (#958)
* Ran ninja under afl-fuzz and fixed all crashes and bugs it found
(see new afl-fuzz section in HACKING)
+ fix crashes on cyclic graphs with multiple outputs (#875, #867)
+ failing stat() now aborts build (#830, #904)
+ cyclic rule bindings no longer crash (#902)
+ dependency cycles with multiple outputs no longer get
ninja into a stuck state (#934)
* Tweaks to configure.py
(only relevant if you compile ninja itself)
+ configure.py now works with Python 3
+ configure.py now has a --verbose mode
+ configure.py now passes -fdiagnostics-color, so ninja's build
is now colored with both new enough clangs (3.3+)
and gccs (4.9+)
* Improvements to zsh completion to work better on OS X
* Documentation updates
+ the target^ syntax is now documented
+ the rule scoping change mentioned above is documented
This release brought to you by:
$ git shortlog -s --no-merges v1.5.3..v1.6.0
1 Andrey Malets
1 Ben Boeckel
1 Beren Minor
1 Brad King
1 Colin Cross
1 Fanael Linithien
1 Fraser Cormack
2 Jason Haslam
1 Julien Tinnes
2 Mohamed Bamakhrama
45 Nico Weber
2 Nicolas Despres
1 Oliver Vinn
1 Pierre Schweitzer
1 Pino Toscano
1 Rui Ueyama
1 Ryan Gonzalez
4 Scott Graham
1 Spencer Judge
1 Taiju Tsuiki
1 Thiago Farina
1 kwesolowski
1 tzik