Tapestry 5.7.0 released

Tapestry 5.7.0 is a new major version which needs a migration step for projects using previous versions. To upgrade, update the dependency in your build configuration (Maven POM, Gradle build script, etc.) – or Download the new JAR file. Please check the Upgrade Guide section below for details. This is a step that only needs to be done once. Please also review the How to Upgrade instructions before upgrading.

The main new features are:

  • Partial Java 9+ modules (JPMS) support. It's partial because module-info.java classes are not provided yet. On the other hand, Tapestry's JARs don't have split packages anymore, making them easier to be used with Java 9+ modules. Many classes had to be moved to other packages, and sometimes even to a different JAR. The migration tool mentioned above will take care of updating your code so it uses the correct new fully-qualified class names for the ones that were moved and/or renamed.
    • TAP5-2641 - Turn the Tapestry subprojects into Java 9+ modules (JPMS) RESOLVED TAP5-2627 - Fix split packages RESOLVED
  • TypeCoercer now uses mapped configuration so coercion overrides are done in an explicit manner. 
    • TAP5-2650 - Change TypeCoercer configuration to MappedConfiguration CLOSED
  • It's not possible to use the Tapestry request handling framework, specially the RequestFilter, Dispatcher, Request, Response and HttpServletRequestFilter classes, without the page framework. These classes were moved to a new artifact, tapestry-http, which can be used in place of tapestry-core (which depends on tapestry-http). tapestry-http Servlet filter class is org.apache.tapestry5.http.TapestryFilter. The original TapestryFilter, from org.apache.tapestry5, can be used in the same way way as in past Tapestry versions.

Please check all the details in Release Notes 5.7.0.