Release 1.8.2:
Behavior changes related to build edges
* Detect build graph cycles as early as possible. Cycles containing single phony edges are now detected and warned about. The new flag `-w phonycycle=err` upgrades the warning to an error, while `-w phonycycle=warn` explicitly makes this a warning. Future versions of ninja will default to phonycycle=err. In a few years, we hope to make this an error unconditionally. CMake 2.8-3.0 produces ninja files that trigger this warning.,
* Always re-run edges that exit with non-zero exit code, even if they successfully write their output
* Support restat when rebuilding manifest
* Support mtime of 0 on input files
* Allow more path components
Windows-specific changes
* replace deprecated GetVersionEx with recommended replacement
* Add clparser_perftest
* Faster clparser, speeds up full builds by up to 20%
* Write subprocess output to stdout in binary mode
* Remove path component limit from input of CanonicalizePath in windows
POSIX-specific changes
* Use POSIX_SPAWN_USEVFORK with glibc, makes some full builds twice as fast
* Close original pipe fd in subprocesses
Changes to building ninja itself
* Fix build with uclibc
* Suppress warning 4244 to bootstrap on vs2017
* Add support for DragonFly BSD.
Changes to scripts
* Make zsh completion use explicitly specified ninja files
Bugfixes and minor changes
* Improve error message when a depfile contains a bad path
* fix a clang-cl -Wformat warning
* browse: Bind to localhost by default
* teach -t commands to optionally print only the final command