Pre-release
Pre-release

@silene silene released this Oct 31, 2018 · 25 commits to v8.9 since this release

Assets 5

Coq version 8.9 contains the result of refinements and stabilization of features and deprecations or removals of deprecated features, cleanups of the internals of the system and API along with a few new features. This release includes many user-visible changes, including deprecations that are documented in CHANGES.md and new features that are documented in the reference manual. Here are the most important changes:

  • Kernel: mutually recursive records are now supported, by Pierre-Marie Pédrot.

  • Notations:

    • Support for autonomous grammars of terms called "custom entries", by Hugo Herbelin.

    • Deprecated notations of the standard library will be removed in the next version of Coq, see the CHANGES.md file for a script to ease porting, by Jason Gross and Jean-Christophe Léchenet.

    • Added the Numeral Notation command for registering decimal numeral notations for custom types, by Daniel de Rauglaudre, Pierre Letouzey and Jason Gross.

  • Tactics: Introduction tactics intro/intros on a goal that is an existential variable now force a refinement of the goal into a dependent product rather than failing, by Hugo Herbelin.

  • Decision procedures: deprecation of tactic romega in favor of lia and removal of fourier, replaced by lra which subsumes it, by Frédéric Besson, Maxime Dénès, Vincent Laporte and Laurent Théry.

  • Proof language: focusing bracket { now supports named goals, e.g. [x]:{ will focus on a goal (existential variable) named x, by Théo Zimmermann.

  • SSReflect: the implementation of delayed clear was simplified by Enrico Tassi: the variables are always renamed using inaccessible names when the clear switch is processed and finally cleared at the end of the intro pattern. In addition to that, the use-and-discard flag {} typical of rewrite rules can now be also applied to views, e.g. => {}/v applies v and then clears v.

  • Vernacular:

    • Experimental support for attributes on commands, by Vincent Laporte, as in #[local] Lemma foo : bar. Tactics and tactic notations now support the deprecated attribute.

    • Removed deprecated commands Arguments Scope and Implicit Arguments in favor of Arguments, with the help of Jasper Hugunin.

    • New flag Uniform Inductive Parameters by Jasper Hugunin to avoid repeating uniform parameters in constructor declarations.

    • New commands Hint Variables and Hint Constants, by Matthieu Sozeau, for controlling the opacity status of variables and constants in hint databases. It is recommended to always use these commands after creating a hint databse with Create HintDb.

    • Multiple sections with the same name are now allowed, by Jasper Hugunin.

  • Library: additions and changes in the VectorDef, Ascii, and String libraries. Syntax notations are now available only when using Import of libraries and not merely Require, by various contributors (source of incompatibility, see CHANGES.md for details).

  • Toplevels: coqtop and coqide can now display diffs between proof steps in color, using the Diffs option, by Jim Fehrle.

  • Documentation: we integrated a large number of fixes to the new Sphinx documentation by various contributors, coordinated by Clément Pit-Claudel and Théo Zimmermann.

  • Tools: removed the gallina utility and the homebrewed Emacs mode.

  • Packaging: as in Coq 8.8.2, the Windows installer now includes many more external packages that can be individually selected for installation, by Michael Soegtrop.

Version 8.9 also comes with a bunch of smaller-scale changes and improvements regarding the different components of the system. Most important ones are documented in the CHANGES.md file.

On the implementation side, the dev/doc/changes.md file documents the numerous changes to the implementation and improvements of interfaces. The file provides guidelines on porting a plugin to the new version and a plugin development tutorial kept in sync with Coq was introduced by Yves Bertot http://github.com/ybertot/plugin_tutorials. The new dev/doc/critical-bugs file documents the known critical bugs of Coq and affected releases.

The efficiency of the whole system has seen improvements thanks to contributions from Gaëtan Gilbert, Pierre-Marie Pédrot, and Maxime Dénès.

Maxime Dénès, Emilio Jesús Gallego Arias, Gaëtan Gilbert, Michael Soegtrop, Théo Zimmermann worked on maintaining and improving the continuous integration system.

The OPAM repository for Coq packages has been maintained by Guillaume Melquiond, Matthieu Sozeau, Enrico Tassi with contributions from many users. A list of packages is available at https://coq.inria.fr/opam/www.

The 54 contributors for this version are Léo Andrès, Rin Arakaki, Benjamin Barenblat, Langston Barrett, Siddharth Bhat, Martin Bodin, Simon Boulier, Timothy Bourke, Joachim Breitner, Tej Chajed, Arthur Charguéraud, Pierre Courtieu, Maxime Dénès, Andres Erbsen, Jim Fehrle, Julien Forest, Emilio Jesus Gallego Arias, Gaëtan Gilbert, Matěj Grabovský, Jason Gross, Samuel Gruetter, Armaël Guéneau, Hugo Herbelin, Jasper Hugunin, Ralf Jung, Sam Pablo Kuper, Ambroise Lafont, Leonidas Lampropoulos, Vincent Laporte, Peter LeFanu Lumsdaine, Pierre Letouzey, Jean-Christophe Léchenet, Nick Lewycky, Yishuai Li, Sven M. Hallberg, Assia Mahboubi, Cyprien Mangin, Guillaume Melquiond, Perry E. Metzger, Clément Pit-Claudel, Pierre-Marie Pédrot, Daniel R. Grayson, Kazuhiko Sakaguchi, Michael Soegtrop, Matthieu Sozeau, Paul Steckler, Enrico Tassi, Laurent Théry, Anton Trunov, whitequark, Théo Winterhalter, Zeimer, Beta Ziliani, Théo Zimmermann.

Many power users helped to improve the design of the new features via the issue and pull request system, the Coq development mailing list or the coq-club@inria.fr mailing list. It would be impossible to mention exhaustively the names of everybody who to some extent influenced the development.

Version 8.9 is the fourth release of Coq developed on a time-based development cycle. Its development spanned 7 months from the release of Coq 8.8. The development moved to a decentralized merging process during this cycle. Guillaume Melquiond was in charge of the release process and is the maintainer of this release. This release is the result of ~2,000 commits and ~500 PRs merged, closing 75+ issues.

The Coq development team welcomed Vincent Laporte, a new Coq engineer working with Maxime Dénès in the Coq consortium.

Oct 1, 2018
First commit after Coq 8.8 branching point.
Sep 27, 2018
First commit after the v8.9 branch

@Zimmi48 Zimmi48 released this Sep 26, 2018 · 2643 commits to master since this release

Assets 8

Main changes:

  • The kernel does not tolerate capture of global universes by polymorphic universe binders, fixing a soundness break (triggered only through custom plugins)
  • A PDF version of the reference manual is available once again.
  • The coq-makefile targets print-pretty-timed, print-pretty-timed-diff, and print-pretty-single-time-diff now correctly label the "before" and "after" columns, rather than swapping them.
  • The Windows installer now includes many more external packages that can be individually selected for installation.

Many other bug fixes and lots of documentation improvements (for details, see the 8.8.2 milestone).

Feedback and bug reports are extremely welcome.

Distribution

Installers for Windows 32 bits (i686), Windows 64 bits (x86_64), and macOS are available. They come bundled with CoqIDE. The Windows installers also include the option to install a number of external packages.

Complete sources of the files installed by the Windows installers are made available, to comply with license requirements.

@Zimmi48 Zimmi48 released this Jul 9, 2018 · 2643 commits to master since this release

Assets 7

Coq 8.8.1 includes four critical bug fixes, many other bug fixes, documentation improvements and user message improvements.

For details, see CHANGES and the 8.8.1 milestone. Feedback and bug reports are extremely welcome.

Distribution

Installers for Windows 32 bits (i686), Windows 64 bits (x86_64), and macOS are available. They come bundled with CoqIDE. The Windows installers also include the option to install external packages Bignums, Equations and Ltac2.

Complete sources of the files installed by the Windows installers are made available, to comply with license requirements.

@maximedenes maximedenes released this Apr 17, 2018 · 2643 commits to master since this release

Assets 7

Coq version 8.8 contains the result of refinements and stabilization of features and deprecations, cleanups of the internals of the system along with a few new features.

Summary of changes

  • Kernel: fix a subject reduction failure due to allowing fixpoints on non-recursive values (#407), by Matthieu Sozeau. Handling of evars in the VM (#935) by Pierre-Marie Pédrot.

  • Notations: many improvements on recursive notations and support for destructuring patterns in the syntax of notations by Hugo Herbelin.

  • Proof language: tacticals for profiling, timing and checking success or failure of tactics by Jason Gross. The focusing bracket { supports single-numbered goal selectors, e.g. 2:{, (#6551) by Théo Zimmermann.

  • Vernacular: cleanup of definition commands (#6653) by Vincent Laporte and more uniform handling of the Local flag (#1049), by Maxime Dénès. Experimental Show Extraction command (#6926) by Pierre Letouzey. Coercion now accepts Prop or Type as a source (#6480) by Arthur Charguéraud. Export modifier for options allowing to export the option to modules that Import and not only Require a module (#6923), by Pierre-Marie Pédrot.

  • Universes: many user-level and API level enhancements: qualified naming and printing, variance annotations for cumulative inductive types, more general constraints and enhancements of the minimization heuristics, interaction with modules by Gaëtan Gilbert, Pierre-Marie Pédrot and Matthieu Sozeau.

  • Library: Decimal Numbers library (#6599) by Pierre Letouzey and various small improvements.

  • Documentation: a large community effort resulted in the migration of the reference manual to the Sphinx documentation tool. The new documentation infrastructure (based on Sphinx) is by Clément Pit-Claudel. The migration was coordinated by Maxime Dénès and Paul Steckler, with some help of Théo Zimmermann during the final integration phase. The 14 people who ported the manual are Calvin Beck, Heiko Becker, Yves Bertot, Maxime Dénès, Richard Ford, Pierre Letouzey, Assia Mahboubi, Clément Pit-Claudel, Laurence Rideau, Matthieu Sozeau, Paul Steckler, Enrico Tassi, Laurent Théry, Nikita Zyuzin.

  • Tools: experimental -mangle-names option to coqtop/coqc for linting proof scripts (#6582), by Jasper Hugunin.

On the implementation side, the dev/doc/changes.md file documents the numerous changes to the implementation and improvements of interfaces. The file provides guidelines on porting a plugin to the new version.

More information can be found in the CHANGES file. Feedback and bug reports are extremely welcome.

Distribution

Installers for Windows 32 bits (i686), Windows 64 bits (x86_64) and macOS are available. They come bundled with CoqIDE. Windows binaries now include the Bignums library.

Complete sources of the files installed by the Windows installers are made available, to comply with license requirements.

Pre-release
Pre-release

@maximedenes maximedenes released this Mar 19, 2018

Assets 7

Coq version 8.8 contains the result of refinements and stabilization of features and deprecations, cleanups of the internals of the system along with a few new features.

Summary of changes

  • Kernel: fix a subject reduction failure due to allowing fixpoints on non-recursive values (#407), by Matthieu Sozeau. Handling of evars in the VM (#935) by Pierre-Marie Pédrot.

  • Notations: many improvements on recursive notations and support for destructuring patterns in the syntax of notations by Hugo Herbelin.

  • Proof language: tacticals for profiling, timing and checking success or failure of tactics by Jason Gross. The focusing bracket { supports single-numbered goal selectors, e.g. 2:{, (#6551) by Théo Zimmermann.

  • Vernacular: cleanup of definition commands (#6653) by Vincent Laporte and more uniform handling of the Local flag (#1049), by Maxime Dénès. Experimental Show Extraction command (#6926) by Pierre Letouzey. Coercion now accepts Prop or Type as a source (#6480) by Arthur Charguéraud. Export modifier for options allowing to export the option to modules that Import and not only Require a module (#6923), by Pierre-Marie Pédrot.

  • Universes: many user-level and API level enhancements: qualified naming and printing, variance annotations for cumulative inductive types, more general constraints and enhancements of the minimization heuristics, interaction with modules by Gaëtan Gilbert, Pierre-Marie Pédrot and Matthieu Sozeau.

  • Library: Decimal Numbers library (#6599) by Pierre Letouzey and various small improvements.

  • Documentation: a new documentation infrastructure based on Sphinx (#6818), by Clément Pit-Claudel. The migration of the existing documentation content was made possible by a large community effort. The integration of the result is still ongoing. The current status can be seen online and will be updated as we integrate new chapters. All contributors to the porting effort will be credited once the integration is done (before the 8.8.0 release).

  • Tools: experimental -mangle-names option to coqtop/coqc for linting proof scripts (#6582), by Jasper Hugunin.

On the implementation side, the dev/doc/changes.md file documents the numerous changes to the implementation and improvements of interfaces. The file provides guidelines on porting a plugin to the new version.

More information can be found in the CHANGES file. Feedback and bug reports are extremely welcome.

Distribution

Installers for Windows 32 bits (i686), Windows 64 bits (x86_64) and macOS are available. They come bundled with CoqIDE.

Complete sources of the files installed by the Windows installers are made available, to comply with license requirements.

@Zimmi48 Zimmi48 released this Feb 17, 2018 · 4753 commits to master since this release

Assets 8

Version 8.7.2 of Coq is available. It fixes a critical bug in the VM handling of universes (#6677). 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 (for details, see the 8.7.2 milestone).

Installers for Windows 32 bits (i686), Windows 64 bits (x86_64) and macOS are available. They come bundled with CoqIDE.

Complete sources of the files installed by the Windows installers are made available, to comply with license requirements.

@Zimmi48 Zimmi48 released this Jan 8, 2018 · 4753 commits to master since this release

Assets 8

Version 8.7.1 of Coq is available. It brings compatibility with OCaml 4.06.0, many bug fixes, documentation improvements, and user message improvements (for details see the 8.7.1 milestone).

Installers for Windows 32 bits (i686), Windows 64 bits (x86_64) and macOS are available. They come bundled with CoqIDE. Note that the macOS installer was updated on 2018-01-08 to fix frequent crashes of CoqIDE due to the use of an outdated dependency.

Complete sources of the files installed by the Windows installers are made available, to comply with license requirements.

Nov 2, 2017
The V8.8+alpha tag marks the first commit not present in v8.7.