Skip to content

Spoofax 2.5.21 (23-07-2024)

Spoofax 2.5.21 updates multiple dependencies, fixes a few bugs, and introduces a new required field in the metaborg.yaml file. Notably, guice is now updated from version 5.1.0 to 7.0.0. This is the last release that is compatible with 5.1.0.

See the corresponding migration guide 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

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) 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
  • org.immutables:value: 2.8.8 -> 2.10.1
  • com.google.inject:guice: 5.1.0 -> 7.0.0
  • com.google.inject.extensions:guice-multibindings: 5.1.0 -> 7.0.0
  • com.google.inject.extensions:guice-assistedinject: 5.1.0 -> 7.0.0

Downloads

Eclipse plugin

Premade Eclipse installations

With embedded JRE:

Without embedded JRE:

Update site

  • Eclipse update site: https://artifacts.metaborg.org/content/unzip/releases-unzipped/org/metaborg/org.metaborg.spoofax.eclipse.updatesite/2.5.21/org.metaborg.spoofax.eclipse.updatesite-2.5.21-assembly.zip-unzip/
  • Eclipse update site archive

IntelliJ plugin

  • IntelliJ update site: https://artifacts.metaborg.org/service/local/artifact/maven/redirect?r=releases&g=org.metaborg&a=org.metaborg.intellij.dist&p=zip&v=2.5.21
  • IntelliJ update site archive

Command-line utilities

Core API

  • Spoofax Core Uber JAR
  • Spoofax Core uber Maven artifact: org.metaborg:org.metaborg.spoofax.core.uber:2.5.21

StrategoXT

Maven artifacts

Maven artifacts can be found on our artifact server. The Maven version used for this release is 2.5.21.


Last update: July 30, 2024
Created: July 30, 2024