Skip to content

Spoofax 2.2.0 (18-04-2017)

Spoofax 2.2 improves on Spoofax 2.1 with a new NaBL2 constraint solver which is optimised for performance, improved progress reporting and cancellation in Eclipse, an experimental replacement for sdf2table which fixes several long-standing bugs, improvements to the core API, and several bug fixes.

See the corresponding migration guide <2.2.0-migration-guide> for migrating from Spoofax 2.1 to Spoofax 2.2.



  • The deprecated libraries and files from Spoofax 2.1.0 have been removed. If you have not done so yet, follow the Spoofax 2.1.0 migration guide <2.1.0-migration-guide>{.interpreted-text role="ref"} to migrate your project to the new Spoofax library.

Core API


  • Upgrade: Eclipse Neon (4.6) is now required.
  • Improve: Added several switches to the Spoofax (meta) menu for disabling analyses and builds, to improve usability in cases where these operations are very slow.
  • Improve: Bind new progress reporting and cancellation in core to Eclipse progress monitors, enabling reporting of builds and cancellation of analysis.
  • Fix: Fix cancellation not being propagated in SubMonitors, preventing cancellation from working in many places.


  • Feature: Re-implemented the parse table generator in Java, removing the dependency on a platform-specific sdf2table binary, and fixing several long-standing bugs. This implementation is still being tested, it is therefore only enabled after opt-in. To enable the new implementation, set the following option in your metaborg.yaml file:
    sdf2table: java
  • Improve: Moved the placeholder and pretty-print options in the metaborg.yaml file to be under language.sdf, as in:
      prefix: "[["
      suffix: "]]"
    pretty-print: LangName


  • Improve: Introduces a new solver implementation with improved performance.
  • Improve: Introduces separate signature sections for constructors, relations, and functions.
  • Deprecate: The types signature, which will be removed in the next release.


  • Fix: Several origin tracking issues related to section markers.


  • Fix: Analysis crashes on empty rules sections (#161)
  • Improve: Support for abrupt termination: automatic expansion and propagation of read-write semantic components with default values
  • Improve: Analysis performance improvements


Eclipse plugin

Premade Eclipse installations

With embedded JRE:

Without embedded JRE:

Update site

  • Eclipse update site:
  • Eclipse update site archive

IntelliJ plugin

  • IntelliJ update site:
  • 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.2.0


Maven artifacts

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

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