Skip to content

Commit

Permalink
Add 2.5.8 release.
Browse files Browse the repository at this point in the history
  • Loading branch information
Gohla committed Apr 28, 2020
1 parent acf4f16 commit cf436b3
Show file tree
Hide file tree
Showing 7 changed files with 170 additions and 74 deletions.
2 changes: 1 addition & 1 deletion conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
project = 'Spoofax'
copyright = '2016-' + str(datetime.date.today().year) + ', MetaBorg'
author = 'MetaBorg'
version = '2.5.7'
version = '2.5.8'
release = version
language = None
exclude_patterns = ['.venv', '_build', 'notes', 'include', 'README.md']
Expand Down
1 change: 1 addition & 0 deletions include/_all.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@
.. include:: /include/hyperlink/download-2.5.5.rst
.. include:: /include/hyperlink/download-2.5.6.rst
.. include:: /include/hyperlink/download-2.5.7.rst
.. include:: /include/hyperlink/download-2.5.8.rst
31 changes: 31 additions & 0 deletions include/hyperlink/download-2.5.8.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
.. |2.5.8-version| replace:: ``2.5.8``
.. |2.5.8-date| replace:: 28-04-2020

.. _2.5.8-eclipse-windows-32-jre: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spoofax.eclipse.dist/2.5.8/org.metaborg.spoofax.eclipse.dist-2.5.8-windows-x86-jre.zip
.. _2.5.8-eclipse-windows-64-jre: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spoofax.eclipse.dist/2.5.8/org.metaborg.spoofax.eclipse.dist-2.5.8-windows-x64-jre.zip
.. _2.5.8-eclipse-linux-32-jre: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spoofax.eclipse.dist/2.5.8/org.metaborg.spoofax.eclipse.dist-2.5.8-linux-x86-jre.tar.gz
.. _2.5.8-eclipse-linux-64-jre: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spoofax.eclipse.dist/2.5.8/org.metaborg.spoofax.eclipse.dist-2.5.8-linux-x64-jre.tar.gz
.. _2.5.8-eclipse-macos-64-jre: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spoofax.eclipse.dist/2.5.8/org.metaborg.spoofax.eclipse.dist-2.5.8-macosx-x64-jre.tar.gz

.. _2.5.8-eclipse-windows-32: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spoofax.eclipse.dist/2.5.8/org.metaborg.spoofax.eclipse.dist-2.5.8-windows-x86.zip
.. _2.5.8-eclipse-windows-64: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spoofax.eclipse.dist/2.5.8/org.metaborg.spoofax.eclipse.dist-2.5.8-windows-x64.zip
.. _2.5.8-eclipse-linux-32: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spoofax.eclipse.dist/2.5.8/org.metaborg.spoofax.eclipse.dist-2.5.8-linux-x86.tar.gz
.. _2.5.8-eclipse-linux-64: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spoofax.eclipse.dist/2.5.8/org.metaborg.spoofax.eclipse.dist-2.5.8-linux-x64.tar.gz
.. _2.5.8-eclipse-macos-64: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spoofax.eclipse.dist/2.5.8/org.metaborg.spoofax.eclipse.dist-2.5.8-macosx-x64.tar.gz

.. _2.5.8-eclipse-update-site: http://artifacts.metaborg.org/content/unzip/releases-unzipped/org/metaborg/org.metaborg.spoofax.eclipse.updatesite/2.5.8/org.metaborg.spoofax.eclipse.updatesite-2.5.8-assembly.zip-unzip/
.. _2.5.8-eclipse-update-site-archive: http://artifacts.metaborg.org/content/repositories/releases/org/metaborg/org.metaborg.spoofax.eclipse.updatesite/2.5.8/org.metaborg.spoofax.eclipse.updatesite-2.5.8-assembly.zip
.. |2.5.8-eclipse-update-site| replace:: ``http://artifacts.metaborg.org/content/unzip/releases-unzipped/org/metaborg/org.metaborg.spoofax.eclipse.updatesite/2.5.8/org.metaborg.spoofax.eclipse.updatesite-2.5.8-assembly.zip-unzip/``

.. _2.5.8-intellij-update-site: http://artifacts.metaborg.org/content/repositories/releases/org/metaborg/org.metaborg.intellij.dist/2.5.8/org.metaborg.intellij.dist-2.5.8.zip
.. _2.5.8-intellij-update-site-archive: http://artifacts.metaborg.org/content/repositories/releases/org/metaborg/org.metaborg.intellij.dist/2.5.8/org.metaborg.intellij.dist-2.5.8.zip
.. |2.5.8-intellij-update-site| replace:: ``http://artifacts.metaborg.org/content/repositories/releases/org/metaborg/org.metaborg.intellij.dist/2.5.8/org.metaborg.intellij.dist-2.5.8.zip``

.. _2.5.8-sunshine-jar: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.sunshine2/2.5.8/org.metaborg.sunshine2-2.5.8.jar
.. _2.5.8-spt-testrunner-jar: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spt.cmd/2.5.8/org.metaborg.spt.cmd-2.5.8.jar

.. _2.5.8-spoofax-core-uber-jar: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spoofax.core.uber/2.5.8/org.metaborg.spoofax.core.uber-2.5.8.jar
.. |2.5.8-spoofax-core-uber-maven-artifact| replace:: ``org.metaborg:org.metaborg.spoofax.core.uber:2.5.8``

.. _2.5.8-strategoxt-distrib: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/strategoxt-distrib/2.5.8/strategoxt-distrib-2.5.8-bin.tar
.. _2.5.8-strategoxt-jar: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/strategoxt-jar/2.5.8/strategoxt-jar-2.5.8.jar
48 changes: 24 additions & 24 deletions include/hyperlink/download-rel.rst
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
.. |rel-version| replace:: |2.5.7-version|
.. |rel-date| replace:: |2.5.7-date|
.. |rel-version| replace:: |2.5.8-version|
.. |rel-date| replace:: |2.5.8-date|

.. _rel-eclipse-windows-32-jre: 2.5.7-eclipse-windows-32-jre_
.. _rel-eclipse-windows-64-jre: 2.5.7-eclipse-windows-64-jre_
.. _rel-eclipse-linux-32-jre: 2.5.7-eclipse-linux-32-jre_
.. _rel-eclipse-linux-64-jre: 2.5.7-eclipse-linux-64-jre_
.. _rel-eclipse-macos-64-jre: 2.5.7-eclipse-macos-64-jre_
.. _rel-eclipse-windows-32-jre: 2.5.8-eclipse-windows-32-jre_
.. _rel-eclipse-windows-64-jre: 2.5.8-eclipse-windows-64-jre_
.. _rel-eclipse-linux-32-jre: 2.5.8-eclipse-linux-32-jre_
.. _rel-eclipse-linux-64-jre: 2.5.8-eclipse-linux-64-jre_
.. _rel-eclipse-macos-64-jre: 2.5.8-eclipse-macos-64-jre_

.. _rel-eclipse-windows-32: 2.5.7-eclipse-windows-32_
.. _rel-eclipse-windows-64: 2.5.7-eclipse-windows-64_
.. _rel-eclipse-linux-32: 2.5.7-eclipse-linux-32_
.. _rel-eclipse-linux-64: 2.5.7-eclipse-linux-64_
.. _rel-eclipse-macos-64: 2.5.7-eclipse-macos-64_
.. _rel-eclipse-windows-32: 2.5.8-eclipse-windows-32_
.. _rel-eclipse-windows-64: 2.5.8-eclipse-windows-64_
.. _rel-eclipse-linux-32: 2.5.8-eclipse-linux-32_
.. _rel-eclipse-linux-64: 2.5.8-eclipse-linux-64_
.. _rel-eclipse-macos-64: 2.5.8-eclipse-macos-64_

.. _rel-eclipse-update-site: 2.5.7-eclipse-update-site_
.. _rel-eclipse-update-site-archive: 2.5.7-eclipse-update-site-archive_
.. |rel-eclipse-update-site| replace:: |2.5.7-eclipse-update-site|
.. _rel-eclipse-update-site: 2.5.8-eclipse-update-site_
.. _rel-eclipse-update-site-archive: 2.5.8-eclipse-update-site-archive_
.. |rel-eclipse-update-site| replace:: |2.5.8-eclipse-update-site|

.. _rel-intellij-update-site: 2.5.7-intellij-update-site_
.. _rel-intellij-update-site-archive: 2.5.7-intellij-update-site-archive_
.. |rel-intellij-update-site| replace:: |2.5.7-intellij-update-site|
.. _rel-intellij-update-site: 2.5.8-intellij-update-site_
.. _rel-intellij-update-site-archive: 2.5.8-intellij-update-site-archive_
.. |rel-intellij-update-site| replace:: |2.5.8-intellij-update-site|

.. _rel-sunshine-jar: 2.5.7-sunshine-jar_
.. _rel-spt-testrunner-jar: 2.5.7-spt-testrunner-jar_
.. _rel-sunshine-jar: 2.5.8-sunshine-jar_
.. _rel-spt-testrunner-jar: 2.5.8-spt-testrunner-jar_

.. _rel-spoofax-core-uber-jar: 2.5.7-spoofax-core-uber-jar_
.. |rel-spoofax-core-uber-maven-artifact| replace:: |2.5.7-spoofax-core-uber-maven-artifact|
.. _rel-spoofax-core-uber-jar: 2.5.8-spoofax-core-uber-jar_
.. |rel-spoofax-core-uber-maven-artifact| replace:: |2.5.8-spoofax-core-uber-maven-artifact|

.. _rel-strategoxt-distrib: 2.5.7-strategoxt-distrib_
.. _rel-strategoxt-jar: 2.5.7-strategoxt-jar_
.. _rel-strategoxt-distrib: 2.5.8-strategoxt-distrib_
.. _rel-strategoxt-jar: 2.5.8-strategoxt-jar_
112 changes: 112 additions & 0 deletions source/release/note/2.5.8.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
=============
Spoofax 2.5.8
=============

Spoofax 2.5.8 includes several bugfixes and improvements.

Changes
-------

SDF
~~~

- The Java version of sdf2table is now slightly faster and takes up less peak memory due to improvements in writing away the parsetable to file.
- The old (Aster based) version of make-permissive (to add error recovery to your grammar) used to be called in a way that create a small memory leak, which would compound over time with subsequent builds. This is has now been fixed. The old version of make-permissive is only in effect if you use ``sdf2table: c`` in your ``metaborg.yaml`` file.

Parser
~~~~~~

- Add two experimental variants to the JSGLR2 parser: ``recovery`` and ``recovery-incremental``.
- Add Unicode support to the JSGLR1 and JSGLR2 parsers. The meta-languages themselves do not support Unicode yet, because they are bootstrapped with and old version of SDF3. However, other languages built with Spoofax can use Unicode.
- Add logging to the JSGLR2 parser. Configure by setting ``language.sdf.jsglr2-logging`` to ``all``, ``none``, ``minimal``, ``parsing`` or ``recovery`` in ``metaborg.yaml``.

Programmatic API
~~~~~~~~~~~~~~~~

- ``TermFactory`` for building Stratego terms now supports a builder for lists that creates an arraylist-like structure instead of the standard linkedlist-like structure. This is typically more efficient for building stratego list terms in Java.
- Add ``org.spoofax.terms.util.TermUtils`` class with functions for working with terms. This replaces the equivalent (now deprecated) functions in ``org.spoofax.interpreter.core.Tools``.

NaBL2
~~~~~

- Improve error message location when scopes are used as term indices.
- Dropped support for polymorphism, which was unsound.
- Small improvements to solver performance.
- Add support for external calls for language with Stratego JAR compilation.

Statix
~~~~~~

- :ref:`Ability to automatically generate <statix-signature-generator>` Statix signatures from SDF3 specifications.
- Add support for importing other modules in Statix specifications.
- Add support for custom messages, and a ``try`` construct for warnings and notes.
- Add support for adding multiple values to AST properties.
- Improve disunification support in the solver.
- Extend reserved keywords to fix parsing problems.
- Several smaller bugfixes.

Overall
~~~~~~~

- Fixed several issues with files not being released properly, causing file I/O errors on Windows.

Downloads
---------

Eclipse plugin
~~~~~~~~~~~~~~

Premade Eclipse installations
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

With embedded JRE:

- `Windows 32-bits, embedded JRE <2.5.8-eclipse-windows-32-jre_>`_
- `Windows 64-bits, embedded JRE <2.5.8-eclipse-windows-64-jre_>`_
- `Linux 32-bits, embedded JRE <2.5.8-eclipse-linux-32-jre_>`_
- `Linux 64-bits, embedded JRE <2.5.8-eclipse-linux-64-jre_>`_
- `macOS, embedded JRE <2.5.8-eclipse-macos-64-jre_>`_

Without embedded JRE:

- `Windows 32-bits <2.5.8-eclipse-windows-32_>`_
- `Windows 64-bits <2.5.8-eclipse-windows-64_>`_
- `Linux 32-bits <2.5.8-eclipse-linux-32_>`_
- `Linux 64-bits <2.5.8-eclipse-linux-64_>`_
- `macOS <2.5.8-eclipse-macos-64_>`_

Update site
^^^^^^^^^^^

- Eclipse update site: |2.5.8-eclipse-update-site|
- `Eclipse update site archive <2.5.8-eclipse-update-site-archive_>`_

IntelliJ plugin
~~~~~~~~~~~~~~~

- IntelliJ update site: |2.5.8-intellij-update-site|
- `IntelliJ update site archive <2.5.8-intellij-update-site-archive_>`_

Command-line utilities
~~~~~~~~~~~~~~~~~~~~~~

- `Sunshine JAR <2.5.8-sunshine-jar_>`_
- `SPT testrunner JAR <2.5.8-spt-testrunner-jar_>`_

Core API
~~~~~~~~

- `Spoofax Core uber JAR <2.5.8-spoofax-core-uber-jar_>`_
- Spoofax Core uber Maven artifact: |2.5.8-spoofax-core-uber-maven-artifact|

StrategoXT
~~~~~~~~~~

- `StrategoXT distribution <2.5.8-strategoxt-distrib_>`_
- `StrategoXT JAR <2.5.8-strategoxt-jar_>`_

Maven artifacts
~~~~~~~~~~~~~~~

Maven artifacts can be found on our `artifact server <artifact-server-releases_>`_.
The Maven version used for this release is ``2.5.8``. See the instructions on :ref:`using MetaBorg Maven artifacts <dev-maven>` for more information.
49 changes: 0 additions & 49 deletions source/release/note/2.6.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,54 +9,5 @@ See the corresponding :ref:`migration guide <2.6.0-migration-guide>` for migrati
Changes
-------

SDF
~~~

- The Java version of sdf2table is now slightly faster and takes up less peak memory due to improvements in writing away the parsetable to file.
- The old (Aster based) version of make-permissive (to add error recovery to your grammar) used to be called in a way that create a small memory leak, which would compound over time with subsequent builds. This is has now been fixed. The old version of make-permissive is only in effect if you use ``sdf2table: c`` in your ``metaborg.yaml`` file.

Parser
~~~~~~

- Add two experimental variants to the JSGLR2 parser: ``recovery`` and ``recovery-incremental``.
- Add Unicode support to the JSGLR1 and JSGLR2 parsers. The meta-languages themselves do not support Unicode yet, because they are bootstrapped with and old version of SDF3. However, other languages built with Spoofax can use Unicode.
- Add logging to the JSGLR2 parser. Configure by setting ``language.sdf.jsglr2-logging`` to ``all``, ``none``, ``minimal``, ``parsing`` or ``recovery`` in ``metaborg.yaml``.

FlowSpec
~~~~~~~~

- Bugfix: Names with namespaces were broken in an earlier version during performance optimization. The error would like: ``java.lang.AssertionError: Unrecognised Namespace: Namespace("Var")``.

Stratego
~~~~~~~~

- Stratego separate compilation is now switched to the new system. It no longer has any limitations that were previously mentioned. Do note that separate compilation will give the same stricter error messages that the editor does: You need to import anything you use. Transitive imports still work, but you cannot use something from a module that imports your module.

Programmatic API
~~~~~~~~~~~~~~~~

- ``TermFactory`` for building Stratego terms now supports a builder for lists that creates an arraylist-like structure instead of the standard linkedlist-like structure. This is typically more efficient for building stratego list terms in Java.
- Add ``org.spoofax.terms.util.TermUtils`` class with functions for working with terms. This replaces the equivalent (now deprecated) functions in ``org.spoofax.interpreter.core.Tools``.

NaBL2
~~~~~

- Improve error message location when scopes are used as term indices.
- Dropped support for polymorphism, which was unsound.
- Small improvements to solver performance.
- Add support for external calls for language with Stratego JAR compilation.

Statix
~~~~~~

- :ref:`Ability to automatically generate <statix-signature-generator>` Statix signatures from SDF3 specifications.
- Add support for importing other modules in Statix specifications.
- Add support for custom messages, and a ``try`` construct for warnings and notes.
- Add support for adding multiple values to AST properties.
- Improve disunification support in the solver.
- Extend reserved keywords to fix parsing problems.
- Several smaller bugfixes.

Overall
~~~~~~~

1 change: 1 addition & 0 deletions source/release/note/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Release notes describe the changes made in the release, and provide download lin
.. toctree::
:maxdepth: 1

2.5.8 (28-04-2020) <2.5.8>
2.5.7 (26-06-2019) <2.5.7>
2.5.6 (24-05-2019) <2.5.6>
2.5.5 (23-05-2019) <2.5.5>
Expand Down

0 comments on commit cf436b3

Please sign in to comment.