Skip to content

Commit

Permalink
Add Spoofax 2.5.12 release.
Browse files Browse the repository at this point in the history
  • Loading branch information
Gohla committed Oct 8, 2020
1 parent f613417 commit 55c716f
Show file tree
Hide file tree
Showing 8 changed files with 151 additions and 54 deletions.
1 change: 1 addition & 0 deletions include/_all.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@
.. include:: /include/hyperlink/download-2.5.9.rst
.. include:: /include/hyperlink/download-2.5.10.rst
.. include:: /include/hyperlink/download-2.5.11.rst
.. include:: /include/hyperlink/download-2.5.12.rst
1 change: 0 additions & 1 deletion include/block/download-rel-eclipse-jre.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
- |Windows| `Windows 32-bit <rel-eclipse-windows-32-jre_>`_ with embedded JRE
- |Windows| `Windows 64-bit <rel-eclipse-windows-64-jre_>`_ with embedded JRE
- |Linux| `Linux 32-bit <rel-eclipse-linux-32-jre_>`_ with embedded JRE
- |Linux| `Linux 64-bit <rel-eclipse-linux-64-jre_>`_ with embedded JRE
- |macOS| `macOS Intel <rel-eclipse-macos-64-jre_>`_ with embedded JRE
1 change: 0 additions & 1 deletion include/block/download-rel-eclipse.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
- |Windows| `Windows 32-bit <rel-eclipse-windows-32_>`_
- |Windows| `Windows 64-bit <rel-eclipse-windows-64_>`_
- |Linux| `Linux 32-bit <rel-eclipse-linux-32_>`_
- |Linux| `Linux 64-bit <rel-eclipse-linux-64_>`_
- |macOS| `macOS Intel <rel-eclipse-macos-64_>`_
29 changes: 29 additions & 0 deletions include/hyperlink/download-2.5.12.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
.. |2.5.12-version| replace:: ``2.5.12``
.. |2.5.12-date| replace:: 08-10-2020

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

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

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

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

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

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

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

.. _rel-eclipse-windows-32-jre: 2.5.11-eclipse-windows-32-jre_
.. _rel-eclipse-windows-64-jre: 2.5.11-eclipse-windows-64-jre_
.. _rel-eclipse-linux-32-jre: 2.5.11-eclipse-linux-32-jre_
.. _rel-eclipse-linux-64-jre: 2.5.11-eclipse-linux-64-jre_
.. _rel-eclipse-macos-64-jre: 2.5.11-eclipse-macos-64-jre_
.. _rel-eclipse-windows-32-jre: 2.5.12-eclipse-windows-32-jre_
.. _rel-eclipse-windows-64-jre: 2.5.12-eclipse-windows-64-jre_
.. _rel-eclipse-linux-64-jre: 2.5.12-eclipse-linux-64-jre_
.. _rel-eclipse-macos-64-jre: 2.5.12-eclipse-macos-64-jre_

.. _rel-eclipse-windows-32: 2.5.11-eclipse-windows-32_
.. _rel-eclipse-windows-64: 2.5.11-eclipse-windows-64_
.. _rel-eclipse-linux-32: 2.5.11-eclipse-linux-32_
.. _rel-eclipse-linux-64: 2.5.11-eclipse-linux-64_
.. _rel-eclipse-macos-64: 2.5.11-eclipse-macos-64_
.. _rel-eclipse-windows-32: 2.5.12-eclipse-windows-32_
.. _rel-eclipse-windows-64: 2.5.12-eclipse-windows-64_
.. _rel-eclipse-linux-64: 2.5.12-eclipse-linux-64_
.. _rel-eclipse-macos-64: 2.5.12-eclipse-macos-64_

.. _rel-eclipse-update-site: 2.5.11-eclipse-update-site_
.. _rel-eclipse-update-site-archive: 2.5.11-eclipse-update-site-archive_
.. |rel-eclipse-update-site| replace:: |2.5.11-eclipse-update-site|
.. _rel-eclipse-update-site: 2.5.12-eclipse-update-site_
.. _rel-eclipse-update-site-archive: 2.5.12-eclipse-update-site-archive_
.. |rel-eclipse-update-site| replace:: |2.5.12-eclipse-update-site|

.. _rel-intellij-update-site: 2.5.11-intellij-update-site_
.. _rel-intellij-update-site-archive: 2.5.11-intellij-update-site-archive_
.. |rel-intellij-update-site| replace:: |2.5.11-intellij-update-site|
.. _rel-intellij-update-site: 2.5.12-intellij-update-site_
.. _rel-intellij-update-site-archive: 2.5.12-intellij-update-site-archive_
.. |rel-intellij-update-site| replace:: |2.5.12-intellij-update-site|

.. _rel-sunshine-jar: 2.5.11-sunshine-jar_
.. _rel-spt-testrunner-jar: 2.5.11-spt-testrunner-jar_
.. _rel-sunshine-jar: 2.5.12-sunshine-jar_
.. _rel-spt-testrunner-jar: 2.5.12-spt-testrunner-jar_

.. _rel-spoofax-core-uber-jar: 2.5.11-spoofax-core-uber-jar_
.. |rel-spoofax-core-uber-maven-artifact| replace:: |2.5.11-spoofax-core-uber-maven-artifact|
.. _rel-spoofax-core-uber-jar: 2.5.12-spoofax-core-uber-jar_
.. |rel-spoofax-core-uber-maven-artifact| replace:: |2.5.12-spoofax-core-uber-maven-artifact|

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

Spoofax 2.5.12 contains an experimental gradual type system for Stratego, performance improvements to NaBL2 and Statix, and updates to Eclipse installations and their embedded JREs.

Changes
-------

Stratego
~~~~~~~~

Stratego has two new reserved words: ``cast`` and ``is``. Local variables can be reserved words if they start with ``'``, so you can use ``'cast`` and ``'is``.

Under the Stratego language options in your ``metaborg.yaml`` file you can turn on the gradual type system, if you use the incremental compiler. This option is ``gradual: static``, and only tests the types statically. The default is ``gradual: none`` right now, meaning the gradual type system is not on by default. There is an experimental third option ``gradual: dynamic`` which not only checks the types statically but also inserts casts to check types dynamically where necessary.

NaBL2
~~~~~

NaBL2 supports a new resolution algorithm based on fexid-point environment computation instead of graph search, which can be enabled by adding ``strategy environments`` to the ``name-resolution`` signature section.
It has much better performance characteristics, especially when dealing with mutually importing scopes and transitive imports.
Compared the the search-based, the environment-based algorithm can get stuck on scope graphs with cycles involving scopes importing references that can be resolved via that same scope.
Note that the environment-based algorithm may increase memory usage.
The default remains the search-based algorithm.

Statix
~~~~~~

Analysis times of large, multi-file Statix specifications has improved significantly.

Eclipse
~~~~~~~

* Premade Eclipse installations have been updated from Eclipse Photon to Eclipse 2020-6.
* Premade Eclipse installations for 32-bit Linux are no longer created.
* Embedded JRE in premade Eclipse installations has been updated from 8u162 (Oracle JRE) to 8u265-b01 (AdoptOpenJDK).



Downloads
---------

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

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

With embedded JRE:

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

Without embedded JRE:

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

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

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

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

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

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

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

Core API
~~~~~~~~

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

StrategoXT
~~~~~~~~~~

- `StrategoXT distribution <2.5.12-strategoxt-distrib_>`_
- `StrategoXT JAR <2.5.12-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.12``. See the instructions on :ref:`using MetaBorg Maven artifacts <dev-maven>` for more information.

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.12 (08-10-2020) <2.5.12>
2.5.11 (17-07-2020) <2.5.11>
2.5.10 (07-07-2020) <2.5.10>
2.5.9 (08-05-2020) <2.5.9>
Expand Down
28 changes: 0 additions & 28 deletions source/release/note/vnext.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,35 +9,7 @@ See the corresponding :ref:`migration guide <vnext-migration-guide>` for migrati
Changes
-------

Stratego
~~~~~~~~

Stratego has two new reserved words: ``cast`` and ``is``. Local variables can be reserved words if they start with ``'``, so you can use ``'cast`` and ``'is``.

Under the Stratego language options in your ``metaborg.yaml`` file you can turn on the gradual type system, if you use the incremental compiler. This option is ``gradual: static``, and only tests the types statically. The default is ``gradual: none`` right now, meaning the gradual type system is not on by default. There is an experimental third option ``gradual: dynamic`` which not only checks the types statically but also inserts casts to check types dynamically where necessary.

NaBL2
~~~~~

NaBL2 supports a new resolution algorithm based on fexid-point environment computation instead of graph search, which can be enabled by adding ``strategy environments`` to the ``name-resolution`` signature section.
It has much better performance characteristics, especially when dealing with mutually importing scopes and transitive imports.
Compared the the search-based, the environment-based algorithm can get stuck on scope graphs with cycles involving scopes importing references that can be resolved via that same scope.
Note that the environment-based algorithm may increase memory usage.
The default remains the search-based algorithm.

Statix
~~~~~~

Analysis times of large, multi-file Statix specifications has improved significantly.

SDF3
~~~~

``prefer`` and ``avoid`` are now deprecated. Usages of the operators will be marked with a deprecation warning.

Eclipse
~~~~~~~

* Premade Eclipse installations have been updated from Eclipse Photon to Eclipse 2020-6.
* Premade Eclipse installations for 32-bit Linux are no longer created.
* Embedded JRE in premade Eclipse installations has been updated from 8u162 (Oracle JRE) to 8u265-b01 (AdoptOpenJDK).

0 comments on commit 55c716f

Please sign in to comment.