Skip to content

Commit

Permalink
Prepare release 2024.10
Browse files Browse the repository at this point in the history
- promoted 8.19~2024.01+beta1 to latest release 8.19~2024.10
- bumped release from 2023.11.0/2024.01.0 to 2024.10.0
- updated user documentation
- updated maintainer documentation
  • Loading branch information
MSoegtropIMC committed Oct 14, 2024
1 parent 8ea5c21 commit 3081342
Show file tree
Hide file tree
Showing 43 changed files with 3,006 additions and 211 deletions.
8 changes: 2 additions & 6 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,8 @@ jobs:
matrix:
variant:
# Keep this in sync with the Smoke test below
- '8.19~2024.01+beta1'
- '8.19~2024.10'
- '8.18~2023.11'
- '8.18~mc2'
- '8.17~2023.08'
steps:
- name: Git checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -169,10 +167,8 @@ jobs:
fail-fast: false
matrix:
variant:
- '8.19~2024.01+beta1'
- '8.19~2024.10'
- '8.18~2023.11'
- '8.18~mc2'
- '8.17~2023.08'

steps:
- name: Install bash
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,10 @@ jobs:
matrix:
variant:
# This should contain all picks introduced in the current release + all original picks of all Coq versions
- '8.19~2024.01+beta1'
- '8.19~2024.10'
- '8.18~2023.11'
- '8.18~mc2'
- '8.17~2023.08'
- '8.16~2022.09'
- '8.15~2022.09'
- '8.15~2022.04'
- '8.14~2022.01'
- '8.13~2021.02'
Expand Down
8 changes: 2 additions & 6 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,8 @@ jobs:
- '64'
variant:
# Keep this in sync with the Smoke test below
- '8.19~2024.01+beta1'
- '8.19~2024.10'
- '8.18~2023.11'
- '8.18~mc2'
- '8.17~2023.08'

steps:
- name: Set git to use LF
Expand Down Expand Up @@ -105,10 +103,8 @@ jobs:
architecture:
- '64'
variant:
- '8.19~2024.01+beta1'
- '8.19~2024.10'
- '8.18~2023.11'
- '8.18~mc2'
- '8.17~2023.08'

steps:
- name: 'Download Artifact'
Expand Down
90 changes: 57 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

**We are currently preparing a release, which has the effect that some links already refer to the new tag, even though this does not exist as yet.**

**In case you experience dead links, please replace `2023.11.0` with `2023.03.0`.**
**In case you experience dead links, please replace `2024.10.0` with `2023.11.0`.**

# Overview

Expand Down Expand Up @@ -41,6 +41,7 @@ The table below contains links to the README files for the supported versions
of Coq and libraries. Each README file contains a list of included packages with
detailed information for each package.

- [Coq 8.19.2 (released Jun 2024) with the first package pick from Oct 2024](doc/README~8.19~2024.10.md)
- [Coq 8.18.0 (released Sep 2023) with the first package pick from Nov 2023](doc/README~8.18~2023.11.md)
- [Coq 8.18.0 (released Sep 2023) with a package pick based on mathcomp 2.1](doc/README~8.18~mc2.md)
- [Coq 8.17.1 (released Jun 2023) with the first package pick from Aug 2023](doc/README~8.17~2023.08.md)
Expand Down Expand Up @@ -83,6 +84,24 @@ The Coq Platform team does no double check this information.

<details><summary><font size="+1">Release notes / changelog</font></summary>

## Changes in 2024.10.0

- added new pick 8.19~2024.10
- the MacOS installers for Apple silicon (ARM) are now fully supported (no longer experimental)
- on Windows enabled long path support by
- using a manifest where this is enabled during build of all executables
- checking in the script if the registry key is set
- Not that this is only required during build - if using an installer the provided binaries still have this enabled in the manifest, but the user is not asked to enable it in the registry
- on Windows set the stack size of `ocamlc`` to 64MB (essentially by patching the binary) - this allows to build fiat-crypto
- note that `coqc` is not pacthed in this way - it can be done if needed. See the folder windows/set_stack_size and the script shell_scripts/install_ocaml_stacksize.sh
- also note that on Windows any stack size can be set in case this should be required (MacOS has a hard limit of 64MB, though (as of macOS Sonoma) so try to avoid this to stay portable)
- on Windows re-enables coq-fiat-crypto
- on Windows no packages are excluded any more except for `coq-hammer` which heavily uses Unix style `fork`
- support for snap has been removed
- there is currently no known method to build snaps in case the build process requires more than 2GB of RAM
- the overall maintenance effort for snap was very high
- we are looking for a replacement - suggestions welcome

## Changes in 2023.11.0

- when using the build from sources script on Windows the root folders changed to shorten the path length (e.g. coq-serapi had build issues cause by long path names)
Expand Down Expand Up @@ -264,30 +283,31 @@ You can list the available switches with:
```
~$ opam switch
# switch compiler description
CP.2023.11.0~8.12 ocaml-base-compiler.4.10.2 Coq 8.12.2 (released Dec 2020) with the first package pick from Dec 2020
CP.2023.11.0~8.13~2021.02 ocaml-base-compiler.4.10.2 Coq 8.13.2 (released Apr 2021) with the first package pick from Feb 2021
CP.2023.11.0~8.13~2021.09 ocaml-base-compiler.4.10.2 Coq 8.13.2 (released Apr 2021) with an extended package pick from Sep 2021
CP.2023.11.0~8.13~2022.01 ocaml-base-compiler.4.10.2 Coq 8.13.2 (released Apr 2021) with an updated package pick from Jan 2022
CP.2023.11.0~8.14~2022.01 ocaml-option-flambda.1,ocaml-variants.4.12.1+options Coq 8.14.1 (released Nov 2021) with the first package pick from Jan 2022
CP.2023.11.0~8.14~2022.04 ocaml-option-flambda.1,ocaml-variants.4.12.1+options Coq 8.14.1 (released Nov 2021) with an updated package pick from Apr 2022
CP.2023.11.0~8.15~2022.04 ocaml-option-flambda.1,ocaml-variants.4.13.1+options Coq 8.15.2 (released Jun 2022) with the first package pick from Apr 2022
CP.2023.11.0~8.15~2022.09 ocaml-option-flambda.1,ocaml-variants.4.13.1+options Coq 8.15.2 (released Jun 2022) with an updated package pick from Sep 2022
CP.2023.11.0~8.16~2022.09 ocaml-option-flambda.1,ocaml-variants.4.13.1+options Coq 8.16.1 (released Nov 2022) with the first package pick from Sep 2022
CP.2023.11.0~8.16~2023.08 ocaml-option-flambda.1,ocaml-variants.4.14.1+options Coq 8.16.1 (released Nov 2022) with an updated package pick from from Aug 2023
CP.2023.11.0~8.17~2023.08 ocaml-option-flambda.1,ocaml-variants.4.14.1+options Coq 8.17.1 (released Jun 2023) with the first package pick from Aug 2023
→ CP.2023.11.0~8.18~2023.11 ocaml-option-flambda.1,ocaml-variants.4.14.1+options Coq 8.18.0 (released Sep 2023) with the first package pick from Nov 2023
CP.2023.11.0~8.18~mc2 ocaml-option-flambda.1,ocaml-variants.4.14.1+options Coq 8.18.0 (released Sep 2023) with a package pick based on mathcomp 2.1
CP.2023.11.0~dev ocaml-option-flambda.1,ocaml-variants.4.13.1+options Coq dev (latest master of all packages)
CP.2024.10.0~8.12 ocaml-base-compiler.4.10.2 Coq 8.12.2 (released Dec 2020) with the first package pick from Dec 2020
CP.2024.10.0~8.13~2021.02 ocaml-base-compiler.4.10.2 Coq 8.13.2 (released Apr 2021) with the first package pick from Feb 2021
CP.2024.10.0~8.13~2021.09 ocaml-base-compiler.4.10.2 Coq 8.13.2 (released Apr 2021) with an extended package pick from Sep 2021
CP.2024.10.0~8.13~2022.01 ocaml-base-compiler.4.10.2 Coq 8.13.2 (released Apr 2021) with an updated package pick from Jan 2022
CP.2024.10.0~8.14~2022.01 ocaml-option-flambda.1,ocaml-variants.4.12.1+options Coq 8.14.1 (released Nov 2021) with the first package pick from Jan 2022
CP.2024.10.0~8.14~2022.04 ocaml-option-flambda.1,ocaml-variants.4.12.1+options Coq 8.14.1 (released Nov 2021) with an updated package pick from Apr 2022
CP.2024.10.0~8.15~2022.04 ocaml-option-flambda.1,ocaml-variants.4.13.1+options Coq 8.15.2 (released Jun 2022) with the first package pick from Apr 2022
CP.2024.10.0~8.15~2022.09 ocaml-option-flambda.1,ocaml-variants.4.13.1+options Coq 8.15.2 (released Jun 2022) with an updated package pick from Sep 2022
CP.2024.10.0~8.16~2022.09 ocaml-option-flambda.1,ocaml-variants.4.13.1+options Coq 8.16.1 (released Nov 2022) with the first package pick from Sep 2022
CP.2024.10.0~8.16~2023.08 ocaml-option-flambda.1,ocaml-variants.4.14.1+options Coq 8.16.1 (released Nov 2022) with an updated package pick from from Aug 2023
CP.2024.10.0~8.17~2023.08 ocaml-option-flambda.1,ocaml-variants.4.14.1+options Coq 8.17.1 (released Jun 2023) with the first package pick from Aug 2023
CP.2024.10.0~8.18~2023.11 ocaml-option-flambda.1,ocaml-variants.4.14.1+options Coq 8.18.0 (released Sep 2023) with the first package pick from Nov 2023
CP.2024.10.0~8.18~mc2 ocaml-option-flambda.1,ocaml-variants.4.14.1+options Coq 8.18.0 (released Sep 2023) with a package pick based on mathcomp 2.1
→ CP.2024.10.0~8.19~2024.10 ocaml-option-flambda.1,ocaml-variants.4.14.2+options Coq 8.19.2 (released Jun 2024) with the first package pick from Oct 2024
CP.2024.10.0~dev ocaml-option-flambda.1,ocaml-variants.4.13.1+options Coq dev (latest master of all packages)
```

You can select the opam switch for **all shells** with e.g.:
```
~$ opam switch CP.2023.11.0~8.18~2023.11
~$ opam switch CP.2024.10.0~8.19~2024.10
```

You can select the opam switch for **just the current shell** with e.g.:
```
eval $(opam config env --set-switch --switch CP.2023.11.0~8.18~2023.11)
eval $(opam config env --set-switch --switch CP.2024.10.0~8.19~2024.10)
```

So you can easily open two separate shell windows, select different opam switches and start e.g. two CoqIDE instances to step through the same file with two different versions of Coq.
Expand Down Expand Up @@ -323,24 +343,28 @@ Please clarify the license at [CompCert License](https://github.com/AbsInt/CompC
- On Windows open a shell with `C:\<your_coq_platform_cygwin_path>\cygwin.bat`.
- On Linux or macOS open a shell in the usual way.
- Run the command `opam switch` which will show the list of available switches:
```
~$ opam switch
# switch compiler description
# switch compiler description
CP.2023.11.0~8.12 ocaml-base-compiler.4.10.2 Coq 8.12.2 (released Dec 2020) with the first package pick from Dec 2020
CP.2023.11.0~8.13~2021.02 ocaml-base-compiler.4.10.2 Coq 8.13.2 (released Apr 2021) with the first package pick from Feb 2021
CP.2023.11.0~8.13~2021.09 ocaml-base-compiler.4.10.2 Coq 8.13.2 (released Apr 2021) with an extended package pick from Sep 2021
CP.2023.11.0~8.13~2022.01 ocaml-base-compiler.4.10.2 Coq 8.13.2 (released Apr 2021) with an updated package pick from Jan 2022
CP.2023.11.0~8.14~2022.01 ocaml-option-flambda.1,ocaml-variants.4.12.1+options Coq 8.14.1 (released Nov 2021) with the first package pick from Jan 2022
CP.2023.11.0~8.14~2022.04 ocaml-option-flambda.1,ocaml-variants.4.12.1+options Coq 8.14.1 (released Nov 2021) with an updated package pick from Apr 2022
CP.2023.11.0~8.15~2022.04 ocaml-option-flambda.1,ocaml-variants.4.13.1+options Coq 8.15.2 (released Jun 2022) with the first package pick from Apr 2022
CP.2023.11.0~8.16~2022.09 ocaml-option-flambda.1,ocaml-variants.4.13.1+options Coq 8.16.1 (released Nov 2022) with the first package pick from Sep 2022
-> CP.2023.11.0~8.17~2023.08 ocaml-option-flambda.1,ocaml-variants.4.14.1+options Coq 8.17.1 (released Jun 2023) with the first package pick from Aug 2023
CP.2023.11.0~dev ocaml-option-flambda.1,ocaml-variants.4.12.1+options Coq dev (latest master of all packages)
```
```
~$ opam switch
# switch compiler description
CP.2024.10.0~8.12 ocaml-base-compiler.4.10.2 Coq 8.12.2 (released Dec 2020) with the first package pick from Dec 2020
CP.2024.10.0~8.13~2021.02 ocaml-base-compiler.4.10.2 Coq 8.13.2 (released Apr 2021) with the first package pick from Feb 2021
CP.2024.10.0~8.13~2021.09 ocaml-base-compiler.4.10.2 Coq 8.13.2 (released Apr 2021) with an extended package pick from Sep 2021
CP.2024.10.0~8.13~2022.01 ocaml-base-compiler.4.10.2 Coq 8.13.2 (released Apr 2021) with an updated package pick from Jan 2022
CP.2024.10.0~8.14~2022.01 ocaml-option-flambda.1,ocaml-variants.4.12.1+options Coq 8.14.1 (released Nov 2021) with the first package pick from Jan 2022
CP.2024.10.0~8.14~2022.04 ocaml-option-flambda.1,ocaml-variants.4.12.1+options Coq 8.14.1 (released Nov 2021) with an updated package pick from Apr 2022
CP.2024.10.0~8.15~2022.04 ocaml-option-flambda.1,ocaml-variants.4.13.1+options Coq 8.15.2 (released Jun 2022) with the first package pick from Apr 2022
CP.2024.10.0~8.15~2022.09 ocaml-option-flambda.1,ocaml-variants.4.13.1+options Coq 8.15.2 (released Jun 2022) with an updated package pick from Sep 2022
CP.2024.10.0~8.16~2022.09 ocaml-option-flambda.1,ocaml-variants.4.13.1+options Coq 8.16.1 (released Nov 2022) with the first package pick from Sep 2022
CP.2024.10.0~8.16~2023.08 ocaml-option-flambda.1,ocaml-variants.4.14.1+options Coq 8.16.1 (released Nov 2022) with an updated package pick from from Aug 2023
CP.2024.10.0~8.17~2023.08 ocaml-option-flambda.1,ocaml-variants.4.14.1+options Coq 8.17.1 (released Jun 2023) with the first package pick from Aug 2023
CP.2024.10.0~8.18~2023.11 ocaml-option-flambda.1,ocaml-variants.4.14.1+options Coq 8.18.0 (released Sep 2023) with the first package pick from Nov 2023
CP.2024.10.0~8.18~mc2 ocaml-option-flambda.1,ocaml-variants.4.14.1+options Coq 8.18.0 (released Sep 2023) with a package pick based on mathcomp 2.1
→ CP.2024.10.0~8.19~2024.10 ocaml-option-flambda.1,ocaml-variants.4.14.2+options Coq 8.19.2 (released Jun 2024) with the first package pick from Oct 2024
CP.2024.10.0~dev ocaml-option-flambda.1,ocaml-variants.4.13.1+options Coq dev (latest master of all packages)
```
- Choose the switch you want to change with this command (example):
```
opam switch CP.2023.11.0~8.18~2023.11
opam switch CP.2024.10.0~8.19~2024.10
eval $(opam env)
```
- You can find packages with `opam list --all | grep "some keyword"`.
Expand Down
Binary file added doc/DependencyGraph~8.19~2024.10.pdf
Binary file not shown.
4 changes: 2 additions & 2 deletions doc/FAQ-customized-installers.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ If you have issues, please contact us on zulip chat [Coq-Platform & users](https

After you created and built a new package pick, you can create a macOS DMG installer from it as follows:

- Activate the opam switch with `opam switch CP.2023.11.0~my_new_pick`
- Activate the opam switch with `opam switch CP.2024.10.0~my_new_pick`
- Navigate to your Coq Platform git folder, e.g. `cd ~/platform`
- Run `macos/create_installer_macos.sh -sign=Y -signcert=path_to_certificate_file -signid=signature_id`
- Above the `path_to_certificate_file` is the path and name of the `.cer` and `.p12` file **without** the file extension. The signature ID is typically the name of the institution to which the certificate is issued.
Expand All @@ -63,7 +63,7 @@ On recent macOS one can't start the application - that is CoqIDE - without signi
After you created and built a new package pick, you can create a Windows installer from it as follows:

- Open the Coq Platform cygwin shell, e.g. `C:\bin\cygwin64_coq_platform\cygwin.bat`.
- Activate the opam switch with `opam switch CP.2023.11.0~my_new_pick`
- Activate the opam switch with `opam switch CP.2024.10.0~my_new_pick`
- Navigate to the `coq-platform` folder.
- Run `windows/create_installer_windows.sh`

Expand Down
Loading

0 comments on commit 3081342

Please sign in to comment.