Emilio Jesús Gallego Arias;
Sam Pablo Kuper;
Coq 8.7 includes:
A large amount of work on cleaning and speeding up the code base, notably the work of Pierre-Marie Pédrot on making the tactic-level system insensitive to existential variable expansion, providing a safer API to plugin writers and making the code more robust.
Variants of tactics supporting existential variables eassert, eenough, etc. by Hugo Herbelin;
Tactics extensionality in H and inversion_sigma by Jason Gross;
specialize with accepting partial bindings by Pierre Courtieu.
Cumulative Polymorphic Inductive Types, allowing cumulativity of universes to go through applied inductive types, by Amin Timany and Matthieu Sozeau.
The SSReflect plugin by Georges Gonthier, Assia Mahboubi and Enrico Tassi was integrated (with its documentation in the reference manual) by Maxime Dénès, Assia Mahboubi and Enrico Tassi.
The coq_makefile tool was completely redesigned to improve its maintainability and the extensibility of generated Makefiles, and to make _CoqProject files more palatable to IDEs by Enrico Tassi.
More information can be found in the CHANGES file. Feedback and bug reports are extremely welcome.
This is the second release of Coq developed on a time-based development cycle. Its development spanned 9 months from the release of Coq 8.6 and was based on a public road-map. It attracted many external contributions. Code reviews and continuous integration testing were systematically used before integration of new features, with an important focus given to compatibility and performance issues.
Version 8.7.2 fixes a critical bug in the VM handling of universes. This bug affected all releases since 8.5. Other changes include improved support for building with OCaml 4.06.0 and external num package, many other bug fixes, documentation improvements, and user message improvements.