Skip to content

Spoofax 2.5.19 (06-12-2023)

Spoofax 2.5.19 updates several dependencies, and makes several small fixes and improvements to the meta-languages.

Known Issues

  • The project wizard has greyed out Next and Finish buttons at all times.

Added

Statix

  • Add new primitives for term index handling
  • SG_index_more_ast: Add indices to terms without index
  • SG_get_max_ast_index: retrieve largest index in AST
  • SG_reindex_ast: Give all nodes a fresh index. Also returns map of old index to new index.

Changes

Dependencies

The guava library is no longer a direct dependency. It is still a transitive dependency through guice.

We have replaced jsr305 with jakarta.annotation-api. In preparation for removing usage of other javax package usage, we have added jakarta.inject-api as a dependency too. javax.inject will be dropped in a later release after bootstrapping.

The following dependencies were updated:

  • com.google.guava:guava: 26.0 -> 31.1
  • com.google.guava:failureaccess: -> 1.0.1. Added because guava needs it.

Statix

  • Upon exception in solver, print trace of current constraint and current scope graph.

SPT

  • The SPT command runner (org.metaborg.spt.cmd.Main) now returns a non-zero exit code (1) upon test failure (in addition to errors).

Stratego 2

  • Mix syntax with Stratego 2 now requires an addition SDF3 module import of StrategoLang/core/modules-namespaced.

Fixes

32-bit binary support

  • Remove sdf2table and implodePT dependencies on CoreUtils.
  • Print sdf2table and implodePT output to /tmp/sdf2table.log and /tmp/implodePT.log respectively.

Stratego

  • Lowered memory usage by interning fewer strings.

Stratego 2

  • Improved performance of clean build by reusing more work between compilation and analysis in the editor.
  • Removed support for importing RTree and Stratego 1 files from Stratego 2.

Statix

  • Fix bug where failing AST property constraints would emit messages if there was a custom message in the causation chain.

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.19/org.metaborg.spoofax.eclipse.updatesite-2.5.19-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.19
  • 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.19

StrategoXT

Maven artifacts

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


Last update: May 31, 2024
Created: May 31, 2024