[Spoon-discuss] Spoon 4.0 Released

Martin Monperrus martin.monperrus at univ-lille1.fr
Wed Apr 8 16:53:09 CEST 2015

Dear all,

We are pleased to announce the release of Spoon 4.0.

Spoon 4.0 supports the analysis and transformation of Java 8 source code
(e.g. lambdas). We have improved the metamodel and consequently, this
release is not backward-compatible (see changelog below). This major
release also fixes certain bugs (see changelog below).

Spoon 4.0 is available in Maven Central
<http://search.maven.org/#browse%7C-889695893> and on INRIA Gforge
<https://gforge.inria.fr/frs/?group_id=73>. Bug reports are welcome on
Github. Give Spoon a star on Github: https://github.com/INRIA/spoon :-)

Thanks to all contributors and thanks to Inria for the financial support.

Best regards,

--Martin Monperrus
On behalf of the Spoon development team.

*** Changelog ***

*New f**eatures:*
- Full compatibility with Java 8:
  - Supports executable reference expressions
  - Supports lambda expressions
  - Adds the possibility to add default and static methods in interfaces
  - Supportssame annotations on all annotable elements
  - Supports annotations on types
- Initial refactoring capability: refactoring of class names

*Changes in the metamodel:*
-Concepts added
  - CtConstructorCall
  - CtLambda
  - CtExecutableReferenceExpression: represents a reference to a method
or a constructor.
-Concepts removed
  - CtSimpleType(now in CtType, which merges CtType and CtSimpleType).
-Concepts changed
  - CtNewClass: only represents a anonymous class. See CtConstructorCall
for constructor calls.

*Other changes:*
- The javadoc.is not output anymore (incompatible with Java 8)
- Refactors the filtering API
- Supports serialization and deserialization of elements.
- Drops the fragment fonctionality.
- Moves symbolic evaluator to a standalone project.
- New parametrized test for specifying the visitor pattern of

*Bug f**ixes:*
- Adds all references via TypeReferenceScanner.
- Prints toString of elements with imports (no qualified named).
- Gives an access of generic types in anonymous classes.
- Fixes CtExecutableReference.getActualMethod() when method is inherited.
- Fixes bug about the duplication of the type annotation.
- Changing signature of unbounded fields: when the reference type was null.
- Redefining signature of CtParameters and LocalVariables.
- Fixes the signature of CtInvocation
- Fixes the signature of String literals did not included quotes.
- Don't write annotations on package declaration in top level classes.
- Fixes isInterface test in visitor of CtNewClass in ParentExiter.
- Fixes constructor call for static class.
- Fixes multicatch in fully qualified mode.
- Fixes multicatch imports.
- Fixes numeric names for anonymous class.
- Fixes statement replacement.

*Contributors**of Spoon 4.0 (alphabetical order):*
- Matias Martinez
- Martin Monperrus
- Gérard Paligot (Kudos for the heavy-lifting for Java 8)
- Nicolas Petitprez
- Lionel Seinturier

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gforge.inria.fr/pipermail/spoon-discuss/attachments/20150408/bb9654dc/attachment.html>

More information about the Spoon-discuss mailing list