We are happy to announce the release of SeedStack 17.7 «Magnolia». This version focuses on cloud-related capabilities (see AWS Lambda and Consul add-ons below) and much-improved project generation including an optional ready-to-use Docker environment for your Web projects.

New features

Amazon Web Services (AWS) add-on

A new AWS add-on provides the necessary support to run SeedStack code in AWS Lambda server-less architecture.

Consul add-on

A new Consul add-on provides the ability to connect to one or more Consul instances, providing service discovery and distributed configuration features.

Flyway add-on

A new Flyway add-on provides automatic relational database migration using Boxfuse Flyway. Databases configured with the JDBC add-on can automatically be migrated to their latest on application startup but tools are also available to these migrations or other maintenance tasks manually.

Web-bridge add-on

Security-related REST API, used to bridge frontend clients to SeedStack backends have now been extracted from the W20 bridge add-on to a separate add-on, paving the way for Angular 2 and other frontend frameworks support.

Improved project generator

The generate goal of the project generator has been vastly improved. It is now capable of asking questions during generation and using the answers to customize the generated project. This is used to provide the following options in the Web project template:

  • Automatic persistence configuration, supporting JPA with Hibernate and MongoDb with Morphia.
  • Automatic W20 UI configuration, allowing to choose the theme you want to use.
  • Automatic Dockerization of the generated project, including a Docker compose file with the database if you choose one of the supported persistences.

HTTP/2

HTTP/2 is now enabled by default when running a Web application with the Undertow embedded server.

New binding API

In addition to the existing @Install (which installs Guice modules) and @ITBind (which makes a class injectable during tests), the following features have been added:

  • The @Bind annotation can make a class injectable in normal mode (not only in tests).
  • The @ITBind and @Bind annotations can be used to inject the class through an interface or superclass by specifying the from parameter.
  • The @ITBind and @Bind annotations can define an overriding binding instead of a normal one, allowing an existing binding to be overridden by it.
  • The @Install annotation can install the module as an overriding module instead of a normal one, allowing it to override any existing binding.

See @Bind and @Install javadoc.

A default banner is now shown on SeedStack startup, displaying the version of the core and the version of the business framework if present. This banner can be replaced by adding a banner.txt file at the root of the classpath. Banners can be in color as shown by this Nyan Cat example banner.

Improved support for form authentication

Form authentication was possible before but necessitated multiple complex settings. Now all these setting are configurable under security.web.form. You can now also directly configure the redirect after success and redirect after logout URL with the security.web.successUrl and security.web.logoutUrl options.

Fixes

This version contains fixes in various components, please check individual component change logs for details.

Changes

This version only contains minor breaking changes, please check individual component change logs for details.

Upgraded dependencies

Various libraries have been upgraded, the major ones being:

  • Guice has been upgraded to 4.1.0.
  • Shiro has been upgraded to 1.4.0.
  • Jersey to 2.25.1.
  • Hibernate validator has been upgraded to 5.4.1.Final.
  • Jackson has been upgraded to 2.8.9.
  • Undertow has been upgraded to 1.4.14.

See individual component change logs for the full list of upgraded libraries.

Component versions

General

Core

Add-ons