Skip to content

Commit

Permalink
Add changelog
Browse files Browse the repository at this point in the history
  • Loading branch information
proux01 committed Dec 5, 2024
1 parent c3dda1f commit fff68a5
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 11 deletions.
34 changes: 23 additions & 11 deletions doc/changelog/11-standard-library/19310-stdlib-logical-name.rst
Original file line number Diff line number Diff line change
@@ -1,14 +1,26 @@
- **Changed:**
the requirement prefix of the standard library from ``Coq`` to
``Stdlib``. For backward compatibility with older versions of Coq
``Coq`` is immediatly translated to ``Stdlib`` with a warning. It is
thus not recommended to name anything ``Coq`` or ``Coq.*``. When
droping support for Coq <= 8.20, a simple script such as ``for f in
$(find . -name "*.v") ; do sed -i $f -e 's/From Coq Require/From
Stdlib Require/;s/Coq[.]\([a-zA-Z]\)/Stdlib[.]\1/g' ; done`` should
be enough to adapt your code. Meanwhile, adding the two lines
``-arg -w -arg -deprecated-from-Coq`` and
``-arg -w -arg -deprecated-dirpath-Coq``
to your ``_CoqProject`` will silence the warnings
(`#19310 <https://github.com/coq/coq/pull/19310>`_,
``Stdlib`` and made it mandatory. As a temporary measure, for
backward compatibility with older versions, ``Coq``, or a missing
`From Stdlib`, is immediatly translated to ``Stdlib`` with a
warning. It is thus not recommended to name anything ``Coq`` or
``Coq.*``.
The recommended transition path is to first potentially silence
the warnings, adding the lines
``-arg -w -arg -deprecated-from-Coq``,
``-arg -w -arg -deprecated-dirpath-Coq`` and
``-arg -w -arg -deprecated-missing-stdlib``
or simply the more generic
``-arg -compat -arg 8.20`` to your ``_CoqProject``.
Then, when droping support for Coq <= 8.20, replacing requirement of
Stdlib modules by `From Stdlib Require {Import,Export,} <LibraryModules>.`.
Beware that the Stdlib still has a handful redundant names, that is
for modules `Byte`, you still have to use `From Stdlib.Strings` or
`From Stdlib.Init`, for `Tactics` use `From Stdlib.Program` or `From
Stdlib.Init`, for `Tauto` use `From Stdlib.micromega` of `From
Stdlib.Init` and for `Wf`, use `From Stdlib.Program` or `From
Stdlib.Init`
(`#19310 <https://github.com/coq/coq/pull/19310>`_
and `#19530 <https://github.com/coq/coq/pull/19530>`_,
the latter starting to implement `CEP#83 <https://github.com/coq/ceps/pull/83>`_
by Pierre Roux).
5 changes: 5 additions & 0 deletions doc/changelog/11-standard-library/19530-stdlib_repo.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
- **Added:**
a new `rocq-core` package for users who don't want to depend on Stdlib
(`#19530 <https://github.com/coq/coq/pull/19530>`_,
starting to implement `CEP#83 <https://github.com/coq/ceps/pull/83>`_
by Pierre Roux).

0 comments on commit fff68a5

Please sign in to comment.