From 10ca8f4b9104ef9e289830d8facca54e818e4018 Mon Sep 17 00:00:00 2001 From: Jeff Smits Date: Wed, 24 Jul 2024 10:34:34 +0200 Subject: [PATCH] Add release 2.5.21 --- content/release/migrate/2.5.21.md | 21 +++++++++++++++++++++ content/release/migrate/vnext.md | 22 ---------------------- content/release/note/2.5.20.md | 2 +- content/release/note/2.5.21.md | 29 +++++++++++++++++++++++++++++ content/release/note/vnext.md | 13 ------------- mkdocs.yml | 2 ++ tools/macro.py | 1 + 7 files changed, 54 insertions(+), 36 deletions(-) create mode 100644 content/release/migrate/2.5.21.md create mode 100644 content/release/note/2.5.21.md diff --git a/content/release/migrate/2.5.21.md b/content/release/migrate/2.5.21.md new file mode 100644 index 000000000..ebe8ac17b --- /dev/null +++ b/content/release/migrate/2.5.21.md @@ -0,0 +1,21 @@ +# Spoofax 2.5.21 Migration Guide + +## Metaborg Version in metaborg.yaml +Before, the value of `metaborgVersion` in `metaborg.yaml` was hardcoded in Spoofax 2 to be `2.6.0-SNAPSHOT`. From now on, it is no longer hardcoded and must be explicitly specified in the `metaborg.yaml` file of a language project. For example: + +```yaml +--- +id: org.metaborg:mylang:1.0.0 +name: mylang +metaborgVersion: 2.6.0-SNAPSHOT +# ... +``` + +If this is not done, the following error can occur: + +``` +MissingDependencyException: Language for dependency org.metaborg:org.metaborg.meta.lang.spt:2.5.20 does not exist +``` + +## Install Virtualenv +To build Spoofax 2 as a developer, you need to install Python Virtualenv using `python3 -m pip install virtualenv`. diff --git a/content/release/migrate/vnext.md b/content/release/migrate/vnext.md index 5e95baf99..72e0a024b 100644 --- a/content/release/migrate/vnext.md +++ b/content/release/migrate/vnext.md @@ -1,25 +1,3 @@ # Spoofax vNext Migration Guide This is a stub for the migration guide of the upcoming version of Spoofax. - -## Metaborg Version in metaborg.yaml -Before, the value of `metaborgVersion` in `metaborg.yaml` was hardcoded in Spoofax 2 to be `2.6.0-SNAPSHOT`. From now on, it is no longer hardcoded and must be explicitly specified in the `metaborg.yaml` file of a language project. For example: - -```yaml ---- -id: org.metaborg:mylang:1.0.0 -name: mylang -metaborgVersion: 2.6.0-SNAPSHOT -# ... -``` - -If this is not done, the following error can occur: - -``` -MissingDependencyException: Language for dependency org.metaborg:org.metaborg.meta.lang.spt:2.5.20 does not exist -``` - - - -## Install Virtualenv -To build Spoofax 2 as a developer, you need to install Python Virtualenv using `python3 -m pip install virtualenv`. diff --git a/content/release/note/2.5.20.md b/content/release/note/2.5.20.md index dec528592..9b3190e7d 100644 --- a/content/release/note/2.5.20.md +++ b/content/release/note/2.5.20.md @@ -1,6 +1,6 @@ # Spoofax 2.5.20 (12-04-2023) -Spoofax 2.5.20 updates multiple dependencies, rearranges some, fixes a bug in the new porject wizard, and makes small fixes and improvements to Statix. +Spoofax 2.5.20 updates multiple dependencies, rearranges some, fixes a bug in the new project wizard, and makes small fixes and improvements to Statix. ## Fixes diff --git a/content/release/note/2.5.21.md b/content/release/note/2.5.21.md new file mode 100644 index 000000000..470af1187 --- /dev/null +++ b/content/release/note/2.5.21.md @@ -0,0 +1,29 @@ +# Spoofax 2.5.20 (23-07-2023) + +Spoofax 2.5.20 updates multiple dependencies, fixes a few bugs, and introduces a new required field in the `metaborg.yaml` file. + +See the corresponding [migration guide](../migrate/2.5.21.md) for migrating from Spoofax 2.5.20 (or below) to Spoofax 2.5.21. + +## Fixes + +### Statix +- `RuleUtil.inline` now inserts equalities for ascribed values +- Rule names are now unique across files +- List origins are now tracked, fixing spurious failure in NaBL2 solver + +## Added + +## Changes +- The value of `metaborgVersion` in `metaborg.yaml` is no longer hardcoded and must be specified explicitly in the `metaborg.yaml` file of a language project. See the migration guide. + +### Dependencies +- Introduced `util-vfs2` and moved the parts of `org.metaborg.util` that depend on `org.apache.commons:commons-vfs2` to there. This makes it possible for parts of Spoofax that do not use vfs2 to not depend on vfs2. +- Loading a parse table and using it to parse a file (example in [`spoofax2-lang-example:java/parse`](https://github.com/MetaBorgCube/spoofax2-lang-example/tree/main/java/parse)) no longer depends on `commons-io:commons-io`. The only third-party dependencies are now `jakarta.annotation:jakarta.annotation-api`, `org.slf4j:slf4j-api` and `io.usethesource:capsule`. +- `com.virtlink.commons:commons-configuration2-jackson1`: 1.3.1 -> 1.3.5 +- `com.fasterxml.jackson.core:jackson-core`: 2.14.0 -> 2.17.1 +- `com.fasterxml.jackson.core:jackson-databind`: 2.14.0 -> 2.17.1 +- `com.fasterxml.jackson.core:jackson-annotations`: 2.14.0 -> 2.17.1 +- `com.fasterxml.jackson.dataformat:jackson-dataformat-yaml`: 2.14.0 -> 2.17.1 + +{% from 'downloads.md' import downloads with context %} +{{ downloads('2.5.21') }} diff --git a/content/release/note/vnext.md b/content/release/note/vnext.md index 56178f2b8..9e7790fd1 100644 --- a/content/release/note/vnext.md +++ b/content/release/note/vnext.md @@ -6,21 +6,8 @@ See the corresponding [migration guide](../migrate/vnext.md) for migrating from ## Fixes -### Statix -- `RuleUtil.inline` now inserts equalities for ascribed values -- Rule names are now unique across files -- List origins are now tracked, fixing spurious failure in NaBL2 solver - ## Added ## Changes -- The value of `metaborgVersion` in `metaborg.yaml` is no longer hardcoded and must be specified explicitly in the `metaborg.yaml` file of a language project. See the migration guide. ### Dependencies -- Introduced `util-vfs2` and moved the parts of `org.metaborg.util` that depend on `org.apache.commons:commons-vfs2` to there. This makes it possible for parts of Spoofax that do not use vfs2 to not depend on vfs2. -- Loading a parse table and using it to parse a file (example in [`spoofax2-lang-example:java/parse`](https://github.com/MetaBorgCube/spoofax2-lang-example/tree/main/java/parse)) no longer depends on `commons-io:commons-io`. The only third-party dependencies are now `jakarta.annotation:jakarta.annotation-api`, `org.slf4j:slf4j-api` and `io.usethesource:capsule`. -- `com.virtlink.commons:commons-configuration2-jackson1`: 1.3.1 -> 1.3.5 -- `com.fasterxml.jackson.core:jackson-core`: 2.14.0 -> 2.17.1 -- `com.fasterxml.jackson.core:jackson-databind`: 2.14.0 -> 2.17.1 -- `com.fasterxml.jackson.core:jackson-annotations`: 2.14.0 -> 2.17.1 -- `com.fasterxml.jackson.dataformat:jackson-dataformat-yaml`: 2.14.0 -> 2.17.1 diff --git a/mkdocs.yml b/mkdocs.yml index db39e3000..a5672007d 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -299,6 +299,7 @@ nav: - release/stable.md - release/develop.md - Release Notes: + - release/note/2.5.21.md - release/note/2.5.20.md - release/note/2.5.19.md - release/note/2.5.18.md @@ -338,6 +339,7 @@ nav: - release/note/1.0.0.md - release/note/vnext.md - Migration Guides: + - release/migrate/2.5.21.md - release/migrate/2.5.15.md - release/migrate/2.5.10.md - release/migrate/2.5.5.md diff --git a/tools/macro.py b/tools/macro.py index 50737a516..0ecb2ffdc 100644 --- a/tools/macro.py +++ b/tools/macro.py @@ -151,6 +151,7 @@ def fill_vars_with_release(vars, env_version: str, version: str, download_versio release_versions = { + '2.5.21': '23-07-2024', '2.5.20': '12-04-2024', '2.5.19': '06-12-2023', '2.5.18': '14-11-2022',