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
andFinish
buttons at all times.
Added¶
Statix¶
- Add new primitives for term index handling
SG_index_more_ast
: Add indices to terms without indexSG_get_max_ast_index
: retrieve largest index in ASTSG_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.1com.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
andimplodePT
dependencies on CoreUtils. - Print
sdf2table
andimplodePT
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:
- macOS 64-bit with embedded JVM
- Linux 64-bit with embedded JVM
- Windows 64-bit with embedded JVM
- Windows 32-bit with embedded JVM
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:
October 17, 2024
Created: October 17, 2024
Created: October 17, 2024