From 3.0 to 3.1

By default JBehave Web dependes on JBehave Core 3.1. It still supports running with JBehave Core 3.0 except when excercising 3.1 functionality, such as meta filtering in the Run Story page.

From 2.x to 3.x

The 3.x Web Runner is a webapp build on Wicket, while the 2.x Web Runner was built on Waffle.

Wicket and Waffle share a similar philosophy (embeddable, pure Java, no XML aside from the webapp web.xml), but Wicket offers a component-oriented approach (as opposed to a pure MVC one) that makes Java-driven rich web functionality easier and is supported by a much wider community base.

Just like in Waffle the application was configured by extending a Registrar class, in Wicket users need to extend an Application class. The Registrar and Application classes serve functionally the same scope and migrating from one to the other is quite straightforward. The customising web runner page details the configuration of the application.

The main different between the JBehaveRegistrar and the WebRunnerApplication is that in the WebRunnerApplication instances of components need to be returned, while in the JBehaveRegistrar we had void registering methods that invoked parent registering methods.

The trader runner example provides a fully-functional example.