Announcing WildFly Swarm 2017.2.0

Announcing our lovingly produced release for Valentine’s!

To spread the love for Valentine’s Day, we’re happy to announce version 2017.2.0 of WildFly Swarm!

What’s New?

  • New docs and config visibility

  • @DefaultDeployment defaults to WAR

  • Fraction auto detection for Arquillian

  • Update to Keycloak 2.5.0.Final

What is WildFly Swarm?

WildFly Swarm is the decomposition and reconstitution of the popular WildFly Java Application Server in order to support just enough appserver for microservice type applications.

Each portion of the appserver is referred to as a fraction, which many times maps to a subsystem from WildFly, but also may include other discrete chunks of non-Java EE or WildFly functionality, such as Swagger, or Jolokia.

New docs and config visibility

We’ve officially released our How To’s and new Reference Guide!

They both might be a little sparse right now, but we will be working hard to fill them with valuable information to make it even easier to develop with WildFly Swarm!

If you have ideas about what should be there, particularly for the How To’s, then please get in touch and let us know.

Along with the configuration being present in the Reference Guide for each fraction, you can now see what configuration is available for your particular uber jar with:

java -jar myapp-swarm.jar --config-help all

Warning, that will produce a lot of output.

If you’d like to see the configuration options for a single fraction, such as Undertow:

java -jar myapp-swarm.jar --config-help undertow

@DefaultDeployment defaults to WAR

Previously when annotating an Arquillian test with @DefaultDeployment it would default to creating a JAR for your test deployment.

After feedback from the community we’ve switched the default to be WAR, which is the far larger use case for our community.

So, be warned that if you have a test with @DefaultDeployment without setting the type, it will now create a WAR instead of a JAR.

Fraction auto detection for Arquillian

Previously there was no way for Arquillian to perform auto detection as part of running a test, which wasn’t great for projects that relied on the plugin doing that as part of a build.

We’ve now modified our Arquillian process to perform the same auto detection that the plugin does when there are no explicit dependencies present in your project. Making it possible to test a project relying on auto detection as part of its build.

Changelog

Release notes for 2017.2.0 are available here.

Task

  • [SWARM-1042] Remove deprecated classes (Done)

  • [SWARM-1025] Move Camel Arquillian tests into /testsuite (Done)

  • [SWARM-1024] Add checkstyle to fraction plugin build (Done)

  • [SWARM-999] Update Keycloak Document (Done)

  • [SWARM-998] Add Keycloak Example (Done)

  • [SWARM-997] Change SNAPSHOT repository to Maven Central (Done)

  • [SWARM-977] Enabling Logstash Example (Done)

  • [SWARM-971] Add Code Style verification to build (Done)

  • [SWARM-941] Use our SWARM_VERSION variable to keep generator and front-page up-to-date (Done)

Feature Request

  • [SWARM-1028] security-domain modules should support the module attribute (Done)

  • [SWARM-986] Non main() way to create Keycloak Security Constraints settings (Done)

  • [SWARM-981] Support List as Configurable (Done)

Enhancement

  • [SWARM-1023] Arquillian should not be detected for BOM but always included (Done)

  • [SWARM-1000] Support parsing fractions-list.json from a different source (Done)

  • [SWARM-994] Switch @DefaultDeployment to be WAR and not JAR type by default (Done)

  • [SWARM-967] Improve documentation around project stage configuration (Done)

  • [SWARM-958] Improve hierarchy of keys for project-stages (Done)

  • [SWARM-907] Generate configuration api for Keycloak (Done)

  • [SWARM-891] Swarm’s Arquillian container should support fraction autodetection (Done)

  • [SWARM-838] Config API’s version number should be >= 1 (Done)

  • [SWARM-672] Extend StageConfig to load info from a different Source (Done)

  • [SWARM-446] Allow to configure hystrix from project-stages.yml (Done)

Bug

  • [SWARM-1017] FileSystemException while attempting to move files in the jaxrs/scala example on Windows (Done)

  • [SWARM-992] Set modifiable List to fields in var-args mutator method for model of List to enable the fields to mutate (Done)

  • [SWARM-990] RuntimeDeployer does not put classes into correct location in archive (Done)

  • [SWARM-987] Can’t enable spatial dialect with hibernate (Done)

  • [SWARM-982] LogstashCustomizer overrides existing root-logger level and handlers (Done)

  • [SWARM-980] Java EE 7 samples: CDI injection fails in some Arquillian in-container tests (Done)

  • [SWARM-979] Java EE 7 samples: UserTransaction not found in JNDI (Done)

  • [SWARM-975] Changing from 2016.12.0 to 2016.12.1 break with "WELD-001408: Unsatisfied dependencies for type SocketBindingGroup" (Done)

  • [SWARM-966] Not loaded modules located by user with wildfly-swarm:run/Run from IDE (Done)

  • [SWARM-919] management resources added by Customizers not visible in the Configurables log (Done)

  • [SWARM-910] HTTPS and CDI in combination (Out of Date)

  • [SWARM-878] The /node endpoint returns json with wfs-version = fixme (Done)

  • [SWARM-873] cdi fraction + remoting fraction + wildfly-swarm:run = deployment failure (Done)

  • [SWARM-866] Surface new config properties/yaml information via java -jar myapp-swarm.jar --help (Done)

  • [SWARM-840] CDI / MAIL incompatibility on windows (Done)

  • [SWARM-839] Swagger unable to set basePath (Done)

  • [SWARM-718] Adding "jaxrs-validator" fragment causes ClassMate to be contained in resulting WAR (Cannot Reproduce Bug)

  • [SWARM-677] Not resolving dependencies from local repo in Arquillian integration tests (Done)

Component Upgrade

  • [SWARM-1015] Upgrade Examples to Arquillian Drone 2.0.1.Final and Arquillian 1.1.12.Final (Done)

  • [SWARM-689] Upgrade Keycloak to 2.4.0 (Done)

Resources

Per usual, we tend to hang out on irc.freenode.net in #wildfly-swarm.

All bug and feature-tracking is kept in JIRA.

Documentation for this release is available:

Thank you, Contributors!

We appreciate all of our contributors since the last release:

Core

  • Heiko Braun

  • Ken Finnigan

  • George Gastaldi

  • Nelson Graça

  • Harro Lissenberg

  • Bob McWhirter

  • Yoshimasa Tanabe

Examples

  • Ken Finnigan

  • George Gastaldi

  • Bob McWhirter

  • Yoshimasa Tanabe

  • Matthias Wessendorf

HowTo

  • Ken Finnigan

  • Bob McWhirter

UserGuide

  • Ken Finnigan

  • George Gastaldi

  • Bob McWhirter

  • Gunnar Morling

  • Yoshimasa Tanabe