Release Notes - JBehave - Version 3.0 - HTML format

Bug

  • [JBEHAVE-278] - 'And' Step (AndStep) ignores CandidateStep step type
  • [JBEHAVE-281] - Multiple And steps are not matched
  • [JBEHAVE-282] - Using GivenScenarios causes failed tests to be forgotten
  • [JBEHAVE-290] - Stack Overflow when parsing a scenario with a very long step
  • [JBEHAVE-296] - Step failure exception being thrown in PrintStream reporters prevents the delegating reporter from completing
  • [JBEHAVE-309] - default report location determined by location of jbehave jar
  • [JBEHAVE-320] - @AfterStory method is not invoked is step parametrisation fails

Improvement

  • [JBEHAVE-244] - Step parameters should be converted just before the step executes (not when the scenario is parsed)
  • [JBEHAVE-246] - Improve terminology, the distinction between a story and a scenario
  • [JBEHAVE-255] - Make column separator configurable in ExamplesTable
  • [JBEHAVE-259] - ClassLoader not injected by default when running stories via CLI
  • [JBEHAVE-263] - Allow lazy parameter convertion
  • [JBEHAVE-264] - Steps methods as parameter converters when annotated by @AsParameterConverter
  • [JBEHAVE-267] - Embedder should be responsible for all configurable aspects of story running
  • [JBEHAVE-268] - Rename PassSilentlyDecorator to SilentSuccessFilter
  • [JBEHAVE-269] - Rename I18nKeyWords to LocalizedKeywords for clarity
  • [JBEHAVE-270] - Rename UnmatchedToPendingStepCreator to MarkUnmatchedStepsAsPending for clarity
  • [JBEHAVE-271] - PatternStoryParser should be RegexStoryParser
  • [JBEHAVE-272] - rename StoryReporter implementations to *Filter *Decorator and *Output as applicable (naming closer to purpose)
  • [JBEHAVE-275] - Ensure consistency of encoding
  • [JBEHAVE-280] - Review MostUsefulStoryConfiguration defaults
  • [JBEHAVE-283] - Report Renderer should be failure aware
  • [JBEHAVE-284] - Allow embedder to generate stories view after running them
  • [JBEHAVE-286] - Adopt builder syntax for Story/StepsConfiguration
  • [JBEHAVE-287] - Dry-run Scenario to determine that no steps are Pending
  • [JBEHAVE-289] - Moved configuration and runner classes to separate packages
  • [JBEHAVE-291] - Add method and steps instance information to matching events in StepsMonitor
  • [JBEHAVE-294] - Separate step pattern parsing from the matching
  • [JBEHAVE-295] - Allow non-HTML file reports to be rendered undecorated with syntax highlighter
  • [JBEHAVE-297] - GivenScenarios comma-separated paths should support newlines between paths
  • [JBEHAVE-300] - Rename StepResult methods for consistency and clarity
  • [JBEHAVE-301] - Rename embeddedStory flag to givenStory in StoryRunner
  • [JBEHAVE-302] - Separate step matching from step creation in CandidateStep
  • [JBEHAVE-303] - Mark start/end of all parameter values in step creation
  • [JBEHAVE-304] - Fix rendering of newlines in ExamplesTable as parameter in HTML
  • [JBEHAVE-305] - Improve reporting of failure
  • [JBEHAVE-306] - StoryReporterBuilder method names should be more consistent
  • [JBEHAVE-307] - Rename RunnableStory to Embeddable and remove redundant methods
  • [JBEHAVE-308] - Consolidate configuration objects
  • [JBEHAVE-310] - Rename failure handling strategies and implement as standalone classes
  • [JBEHAVE-311] - Move step creation concern from Steps to StepCreator
  • [JBEHAVE-313] - Change terminology of report rendering to view generation
  • [JBEHAVE-314] - Use "parameter" language in place of "arg" in StepMonitor and StepCreator
  • [JBEHAVE-315] - Make ParameterConverters to use builder-style paradigm and add DateConverter
  • [JBEHAVE-318] - StoryFinder should be responsible for finding story paths and runnable stories
  • [JBEHAVE-319] - StoryReporterBuilder should allow specification of Keywords
  • [JBEHAVE-322] - Embedder should be responsible for instantiation of Embeddable instances
  • [JBEHAVE-324] - Add methods in EmbedderMonitor to distinguish running an Embeddable from running a story as path
  • [JBEHAVE-325] - StoryParser should look for starting keywords only after a newline
  • [JBEHAVE-327] - Remove dependency on javassist by using standard JDK annotation functionality
  • [JBEHAVE-330] - Allow pluggable strategy to resolve file paths from story location
  • [JBEHAVE-332] - Refactor NumberConverter to use injectable NumberFormat

New Feature

  • [JBEHAVE-150] - URL-based StoryLoader
  • [JBEHAVE-156] - Allow running of multiple textual stories using a single Java entry point
  • [JBEHAVE-247] - jBehave should be more intelligent/flexible with regards to prioritisation of steps
  • [JBEHAVE-248] - Should be able to use JBehave without inheriting from a base class
  • [JBEHAVE-254] - Merge story/steps configuration
  • [JBEHAVE-256] - Stories should be retrievable from external or remote sources
  • [JBEHAVE-265] - Allow annotation-based configuration
  • [JBEHAVE-298] - Add StepFinder
  • [JBEHAVE-323] - Add @BeforeStories/@AfterStories annotations
  • [JBEHAVE-329] - Add inherit* property for array-valued annotation property to control inheritance behaviour
  • [JBEHAVE-334] - Spring Security Example (contribution)

Task

  • [JBEHAVE-257] - Migration path from JBehave 2.x to JBehave 3.x
  • [JBEHAVE-262] - Migrate to Git for version control
  • [JBEHAVE-266] - Remove deprecated method and classes from 2.x
  • [JBEHAVE-274] - Add example showing use of SpringJUnit4ClassRunner
  • [JBEHAVE-285] - Add stepdocs documentation page
  • [JBEHAVE-288] - Replace Ensure methods with Hamcrest direct invocations
  • [JBEHAVE-293] - Move I/O related components into separate package from parsing components
  • [JBEHAVE-321] - Upgrade to new Codehaus release process

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.