Spoon v6.1.0 Release Notes

Release Date: 2017-12-20 // over 6 years ago
  • ๐Ÿš€ Christmas release! ๐ŸŽ„ ๐ŸŽ… โœจ

    ๐Ÿš€ The main new feature of this release is the integration of Java 9 module in Spoon model, but it also contains some other new features and bug fixes.
    Thanks for the contributors, merry christmas and happy new year for all of you :)

    ๐Ÿ†• New features

    • โž• Add Factory#createQuery(Iterable). (PR: #1777)
    • โž• Add a method to get the unit type of the compilation unit. (PR: #1776)
    • โž• Add support for Java9 constructs in the Spoon metamodel (CtModule and related concepts). (PR: #1730)
    • ๐Ÿ‘Œ Support partial evaluation of new Object[]{...}.length -> Literal. (PR: #1750)
    • โž• Add an explicit construct for imports in the metamodel (CtImport). (PR: #1707)
    • โž• Add method hasAnnotation. (PR: #1737)
    • โž• Add inheritance between roles (CtRole#getSuperRole(), CtRole#getSubRole()). (PR: #1725)
    • CtModel implements CtQueryable. (PR: #1739)
    • ๐Ÿ–จ Processor properties can be passed as string. (PR: #1734)

    ๐Ÿ› Bug Fixes

    • CompilationUnits are created on demand. (PR: #1782)
    • ๐Ÿ–จ Start prefix space in ElementPrinterHelper. (PR: #1768)
    • ๐Ÿ›  Fix a NPE in CtTypeImpl#isSameParameter in noclasspath. (PR: #1767)
    • CtQueryImpl handles well preallocated exceptions done by JVM optimization. (PR: #1759)
    • ๐Ÿ›  Fix bug in partial evaluator. (PR: #1751)
    • ๐Ÿ›  Fix dirty exception in checking code at the end of model building. (PR: #1749)
    • annotation : Bug when using an annotation targeting declaration and types. (PR: #1774)
    • โœ… test : Improve CtGenerationTest and CtScannerTest. (PR: #1736)

    ๐Ÿ“š Documentation

    • โž• Add explanation in Javadoc of CtTypeReference#getActualClass. (PR: #1761)
    • ๐Ÿš€ Bump version number after release 6.0.0. (PR: #1732)

    ๐Ÿ”จ Refactoring

    • OutputType is available in Environment. (PR: #1784)
    • CompilationUnit returns an unmodifiable collection. (PR: #1781)
    • Manage sourceOutputDirectory in Environment. (PR: #1770)
    • ๐Ÿ‘ป SetSourceClasspath throws an exception in case a .class is given. (PR: #1766)
    • โž• Add a new way to build a query in QueryFactory. (PR: #1740)

    โœ… Tests

    • Check inheritance behaviour when using noclasspath with a sourceclasspath. (PR: #1760)
    • ๐Ÿ”จ Refactor test to be independent from JDK version. (PR: #1764)
    • Metamodel's MMField valueTypes are not implicit. (PR: #1756)
    • โž• Add test for substitution of return expression.S() with expressions. (PR: #1755)
    • Prepare upcoming behavioral change in template matcher. (PR: #1748)
    • โž• Add test for getAnnotation().value() on shadow classes. (PR: #1738)

    Other

    • ๐Ÿ’… Skip checkstyle in Travis install phase. (PR: #1746)

    Unknown

    • Prepare for next development iteration.

    Authors

    Name Nb Commit
    Simon Urli 20
    Pavel Vojtechovsky 9
    Martin Monperrus 3