# JBehave Core - Version 4.3 (Apr xx, 2018)

## New Feature

- [JBEHAVE-1275] - Provide Surefire XML Report

## Task

- [JBEHAVE-1274] - Convert JsonFactory to inner class of ParameterConverters

## Improvement

- [JBEHAVE-1254] - Upgrade Apache Commons IO from 2.5 to 2.6
- [JBEHAVE-1260] - Upgrade Apache Commons Lang from 3.4 to 3.7
- [JBEHAVE-1272] - Provide timing to PerformableScenario in PerformableTree
- [JBEHAVE-1273] - Model objects should lazily provide composed empty objects only when needed
- [JBEHAVE-1276] - ParametersConverters should support ParameterizedTypes automatically

# JBehave Core - Version 4.2 (Mar 24, 2018)

## Bug

- [JBEHAVE-1138] - GivenStories at story level are reported to StoryReporter chaotically in multi-threaded mode
- [JBEHAVE-1142] - Unable to use parametrised steps and parametrised ExamplesTable within one scenario
- [JBEHAVE-1174] - afterStory not reported for AfterStories when multithreaded
- [JBEHAVE-1246] - Parent story Meta is not passed to given stories

## New Feature

- [JBEHAVE-1225] - Add Lifecycle Scope
- [JBEHAVE-1248] - Support JSON output formats
- [JBEHAVE-1261] - Convert parameters of collection type automatically

## Task

- [JBEHAVE-1240] - jbehave-sprint-archetype doesn't compile in version 4.1.1
- [JBEHAVE-1262] - Replace JUnit Assert with Hamcrest MatcherAssert in unit tests
- [JBEHAVE-1263] - Replace explicit types with diamond operators supported by JDK7
- [JBEHAVE-1264] - Add lifecycle doc page
- [JBEHAVE-1269] - Provide example of using synonyms using custom keywords overriding default for a given locale
- [JBEHAVE-1271] - Upgrade build plugin versions

## Improvement

- [JBEHAVE-1180] - Support partial named parameter replacement in parameterized steps
- [JBEHAVE-1257] - Add ability to distinguish Scenarios with same names
- [JBEHAVE-1258] - Allow keywords for a given locale to override a configurable base locale
- [JBEHAVE-1259] - Provide generics-based abstraction layer for ParameterConverters
- [JBEHAVE-1267] - Encapsulate String parameter processing logic in dedicated StringConverter
- [JBEHAVE-1268] - Treat blank values as empty collections while converting collection type parameters
- [JBEHAVE-1270] - LocalizedKeywords should provide the classloader path when the resource bundle is not found

# JBehave Core - Version 4.1.3 (Oct 28, 2017)

## Task

- [JBEHAVE-1249] - Add ParameterConverters(TableTransformers) constructor for backward compatibility

## Improvement

- [JBEHAVE-1247] - Add support for Simplified Chinese locale

# JBehave Core - Version 4.1.2 (Oct 12, 2017)

## Bug

- [JBEHAVE-1133] - ExamplesTableFactory should use configured ResourceLoader
- [JBEHAVE-1222] - Comma in the end of GivenStories declaration leads to empty GivenStory
- [JBEHAVE-1231] - Provide default constructor for ParameterConverters
- [JBEHAVE-1238] - MetaFilter not using specified EmbedderMonitor
- [JBEHAVE-1243] - Fix broken JBehave Core Example

## Task

- [JBEHAVE-1241] - Separate stories that are expected failing or pending
- [JBEHAVE-1245] - Support JDK 1.7 source

## Improvement

- [JBEHAVE-1239] - Support Guava DirectExecutorService
- [JBEHAVE-1244] - ExamplesTableProperties should provide default values for separators

# JBehave Core - Version 4.1.1 (May 27, 2017)

## Bug

- [JBEHAVE-1110] - When using scenario level GivenStories no report is written
- [JBEHAVE-1188] - Scenario metadata is not broadcast to StoryReporters
- [JBEHAVE-1202] - Normal Scenarios must reset Example Context
- [JBEHAVE-1209] - ExamplesTable doesn't preserve column order while replacing named parameters
- [JBEHAVE-1213] - ExamplesTable is not parsed properly when inlined separators are used
- [JBEHAVE-1223] - Boolean outcome values are not handled properly in HTML output

## Improvement

- [JBEHAVE-1215] - Add support for Russian locale
- [JBEHAVE-1217] - Provide single configuration point for TableTransformers
- [JBEHAVE-1219] - Make ExamplesTableProperties API public

# JBehave Core - Version 4.1 (Dec 1, 2016)

## Bug

- [JBEHAVE-990] - PostStoryStatisticsCollector produces incomplete stats with givenstories
- [JBEHAVE-1158] - Race Condition in StoryManager prevents it waiting for all tasks to be done
- [JBEHAVE-1160] - NoClassDefFound latest jbehave plugin in Jenkins
- [JBEHAVE-1176] - Story Meta not properly parsed when Lifecycle is present.
- [JBEHAVE-1198] - NumberFormatException when using Transformer for ExampleTable

## New Feature

- [JBEHAVE-1153] - Add support for TeamCity build script interaction
- [JBEHAVE-1172] - Context managed by JBehave
- [JBEHAVE-1178] - Add AncestorDelegatingResolver

## Task

- [JBEHAVE-1159] - Some dependencies require Java 1.6 despite target compatibility 1.5
- [JBEHAVE-1167] - Upgrade JBehave project to latest compatible dependencies
- [JBEHAVE-1168] - Remove sysout of story in GherkinStoryParser

## Improvement

- [JBEHAVE-1135] - Run story-level Given stories only if story contains scenarios
- [JBEHAVE-1136] - Allow parameter conversion in example table to support generic Type
- [JBEHAVE-1152] - Allow filtering on meta by row in parametrised example scenarios
- [JBEHAVE-1154] - Upgrade to Apache Commons Collections v4.0 from v3.2.1
- [JBEHAVE-1155] - Upgrade to Apache Commons Lang v3.1 from v2.6
- [JBEHAVE-1163] - Example Table parameters to take preference over Meta parameters
- [JBEHAVE-1171] - Add start and end time to each step in cross reference
- [JBEHAVE-1191] - Distinguish ignored steps and comments

# JBehave Core - Version 4.0.5 (Feb 6, 2016)

## Bug

- [JBEHAVE-998] - MatchingStepMonitor should use delegating model
- [JBEHAVE-1122] - PerformableTree is adding empty PerformableScenario instances causing a NPE
- [JBEHAVE-1127] - Custom StepMonitor doesn't work in version 4.x
- [JBEHAVE-1128] - Parametrised Scenarios with empty Examples shouldn't be run
- [JBEHAVE-1129] - Scenario metadata overwrite
- [JBEHAVE-1134] - Meta of Examples doesn't inherit scenario meta
- [JBEHAVE-1141] - NumberConverter does not allow Negative BigDecimal values

## Task

- [JBEHAVE-1150] - Upgrade maven-hpi-plugin to 3.0.3

# JBehave Core - Version 4.0.4 (Sep 10, 2015)

## Bug

- [JBEHAVE-1117] - PerformableTree is adding Not Allowed ExamplePerformableScenario instances
- [JBEHAVE-1119] - Story description doesn't get escaped in XML template

## Task

- [JBEHAVE-1116] - Identify and fix false positive or nonfailing tests

## Improvement

- [JBEHAVE-1120] - Allow having stories in classpath with encoding different than UTF-8

# JBehave Core - Version 4.0.3 (Aug 5, 2015)

## Bug

- [JBEHAVE-1105] - Scenario not being restarted after a RestartingScenarioFailure exception is thrown
- [JBEHAVE-1111] - StoryReporter.restartedStory() is printed on a Closed Stream in PrintStreamOutput Class
- [JBEHAVE-1113] - NumberConverter should not ignore all non digit characters for BigDecimal type

## Improvement

- [JBEHAVE-1108] - Allow next Steps to be Ignored / Skipped

## Task

- [JBEHAVE-1114] - Add license to parent POM

# JBehave Core - Version 4.0.2 (Jul 17, 2015)

## Bug

- [JBEHAVE-1101] - Custom StoryReporter's not being executed in the same Thread they were created

## Improvement

- [JBEHAVE-1092] - Allow localised keywords to default to English locale if not found
- [JBEHAVE-1093] - Allow matching of lifecycle after steps by meta filter
- [JBEHAVE-1103] - Allow Hyphen character in Meta filters
- [JBEHAVE-1104] - Allow Custom implementations of MetaMatcher

## Task

- [JBEHAVE-1095] - Remove unused references of StoryRunner from Embedder and StoryManager
- [JBEHAVE-1098] - Upgrade jenkins plugin to xunit 1.96

# JBehave Core - Version 4.0.1 (Jun 7, 2015)

## Bug

- [JBEHAVE-1084] - Embedder recreates StoryManager instead of using existing one
- [JBEHAVE-1085] - Ensure report output directory exists when StoryManager writes story durations

## Improvement

- [JBEHAVE-1088] - Allow timeout to be disabled by a zero value
- [JBEHAVE-1089] - Support multiple formats of story timeouts
- [JBEHAVE-1090] - Reports should support configurable multiple view types

# JBehave Core - Version 4.0 (May 30, 2015)

## Bug

- [JBEHAVE-811] - FailingUponPendingStep strategy not honoured
- [JBEHAVE-826] - Installing new m2e plugin does not like goal "unpack-view-resources"
- [JBEHAVE-856] - XML reporter creates invalid xml for stories with narrative in 4.x branch
- [JBEHAVE-1035] - @BeforeStory steps not performed before GivenStories
- [JBEHAVE-1036] - StoryReporterBuilder fails to parse test results if story has GivenStories
- [JBEHAVE-1039] - Scenarios not allowed by filter are not skipped and cause NPEs

## Improvement

- [JBEHAVE-808] - Add timings to serialisable data of PerformableStory
- [JBEHAVE-938] - Update fluent-selenium to most recent version 1.10 and refactor FluentWebDriverPage to work with this versions' FluentWebDriver
- [JBEHAVE-981] - Changing the default of "useDelimiterNamedParameters"
- [JBEHAVE-1002] - Improve extensibility of Configuration and Embedder elements

## New Feature

- [JBEHAVE-777] - A tree-based story runner that separates creation of performable steps from execution

## Story

- [JBEHAVE-778] - Capture the execution time of steps

## Task

- [JBEHAVE-1071] - Migrate from Codehaus Nexus to Sonatype Nexus
- [JBEHAVE-1081] - Update configuration and documentation to reflect migration from Codehaus

# JBehave Core - Version 3.10 (May 30, 2015)

## Improvement

- [JBEHAVE-1066] - Upgrade dependencies to support JDK 8

## Task

- [JBEHAVE-1071] - Migrate from Codehaus Nexus to Sonatype Nexus
- [JBEHAVE-1081] - Update configuration and documentation to reflect migration from Codehaus

# JBehave Core - Version 3.9.5 (Oct 4, 2014)

## Bug

- [JBEHAVE-1046] - FailingUponPendingSteps strategy not honoured
- [JBEHAVE-1049] - StepCreator doesn't support method generics parameters
- [JBEHAVE-1050] - Last of two subsequent AND-clauses with translated keywords is not performed
- [JBEHAVE-1051] - The method StoryManager.waitUntilAllDoneOrFailed(BatchFailures) can cancel un-started stories

## Improvement

- [JBEHAVE-1045] - Support for class-based AOP in step classes in Spring
- [JBEHAVE-1048] - Update toString() to show the system based values

# JBehave Core - Version 3.9.4 (Aug 24, 2014)

## Bug

- [JBEHAVE-987] - Plugin execution not covered by lifecycle configuration
- [JBEHAVE-1037] - Story duration timeout occurs for not started story
- [JBEHAVE-1038] - Unable to resolve dependencies using ANT

## Improvement

- [JBEHAVE-1041] - Allow StoryManager to calculate story durations
- [JBEHAVE-1042] - Support package scanning for annotated Steps classes

# JBehave Core - Version 3.9.3 (Jun 19, 2014)

## Bug

- [JBEHAVE-1018] - Parametrised step is rendered incorrectly if there is more than 1 parameter and a table

## Improvement

- [JBEHAVE-1014] - Lifecycle steps: after upon outcome
- [JBEHAVE-1017] - Update JBehave Needle to support latest version of Needle4J 2.3
- [JBEHAVE-1019] - Allow BooleanConverter to accept Boolean.TYPE and return false for unknown values

# JBehave Core - Version 3.9.2 (Apr 12, 2014)

## Bug

- [JBEHAVE-1005] - Underscores in step parameters unsupported since JBehave 3.9
- [JBEHAVE-1007] - Before/after scenario steps and lifecycle steps are executed in wrong order

## Improvement

- [JBEHAVE-1008] - Add ScenarioType.ANY to allow @Before/AfterScenario to run before/after any scenario
- [JBEHAVE-1009] - Ensure lazy initialisation in ConfigurableEmbedder.configuredEmbedder()
- [JBEHAVE-1010] - Add formatting table transformer
- [JBEHAVE-1011] - Add replacing table transformer

## Task

- [JBEHAVE-1001] - Support Maven 3.1+ in building JBehave Core

# JBehave Core - Version 3.9.1 (Mar 1, 2014)

## Bug

- [JBEHAVE-970] - Tests do not fail when Spring context fails to load
- [JBEHAVE-993] - Lifecycle steps not run before/after each Example Scenario

## Improvement

- [JBEHAVE-789] - Allow meta filters to ignore stories listed in GivenStories
- [JBEHAVE-974] - Allow step pattern parameter names to use a configurable character class
- [JBEHAVE-976] - Add support for XWiki as REST provider
- [JBEHAVE-977] - Allow export via REST of filesystem resources found in source path
- [JBEHAVE-980] - Allow configuration of report view encoding
- [JBEHAVE-982] - Add name resolving strategy for REST resources
- [JBEHAVE-985] - Improve string representation of model and step objects
- [JBEHAVE-994] - Allow import to filesystem from Confluence
- [JBEHAVE-996] - Allow stories to fail when they time out

# JBehave Core - Version 3.9 (Dec 13, 2013)

## Bug

- [JBEHAVE-911] - XML format is broken when story is cancelled
- [JBEHAVE-930] - IOUtils test fails when not in UTF-8
- [JBEHAVE-943] - ExecutorService not shutdown if doIgnoreFailureInView is set to false
- [JBEHAVE-948] - Jenkins plugin - all scenarios duration is zero
- [JBEHAVE-949] - Same Stacktrace message is repeated for all failed tests in Jenkins plugin test result
- [JBEHAVE-950] - Some of JBehave Jenkins plugin option cannot be used
- [JBEHAVE-953] - jbehave-core / jbehave-jenkins-plugin cannot compile package

## Improvement

- [JBEHAVE-902] - Improve extensibility of core elements
- [JBEHAVE-905] - Support Narrative syntax "As a, I want to, So that"
- [JBEHAVE-906] - Add support for scenario before/after lifecycle in story syntax
- [JBEHAVE-907] - Support for "Background" keyword and its functionality to align with Gherkin DSL
- [JBEHAVE-917] - Use more flexible "Consumer extends" for list of step instances.
- [JBEHAVE-918] - Allow specification of include/exclude filters as CSV in StoryFinder
- [JBEHAVE-922] - Allow mapping of ExamplesTable rows to annotated custom types
- [JBEHAVE-924] - PatternVariableBuilder can be extremely inefficient in some cases
- [JBEHAVE-940] - Add meta tag support to Gherkin story parser
- [JBEHAVE-942] - Support synonym for Given
- [JBEHAVE-947] - Add spanish language support
- [JBEHAVE-957] - Support for accented letters in step pattern placeholder names
- [JBEHAVE-959] - Allow FreemarkerViewGenerator to specify the class for template loading
- [JBEHAVE-962] - Inline Comments
- [JBEHAVE-963] - Add Enum converters to default ParameterConverters
- [JBEHAVE-965] - Add scenario meta to xref output
- [JBEHAVE-967] - Show pending story status in CrossReference

## New Feature

- [JBEHAVE-899] - Support Needle as DI and Mocking Framework
- [JBEHAVE-923] - Add scenario-specific filters as anchors of GivenStories paths
- [JBEHAVE-958] - Allow retrieval of stories via REST API
- [JBEHAVE-966] - Add context view mechanism with JFrame window to show current execution

## Task

- [JBEHAVE-904] - Upgrade JUnit to 4.11 and Hamcrest to 1.3
- [JBEHAVE-913] - Require Oracle JDK 1.7 to build
- [JBEHAVE-915] - Upgrade to Hamcrest 1.3 and JUnit 4.11
- [JBEHAVE-919] - Rename example modules

# JBehave Core - Version 3.8 (Apr 14, 2013)

## Bug

- [JBEHAVE-573] - Step Marked as PENDING without preceding FAILED step - silent failure???
- [JBEHAVE-585] - BeforeStories.xml can be zero length ( causing xUnit to fail a Jenkins job )
- [JBEHAVE-652] - Cannot use the same step multiple times in a scenario
- [JBEHAVE-837] - Step parameters incorrectly marked in the reports
- [JBEHAVE-839] - Story meta incorrectly parsed when GivenStories are specified at story level
- [JBEHAVE-841] - Story execution continues with steps even of failure of GivenStory
- [JBEHAVE-848] - Report files not closed
- [JBEHAVE-850] - Tables in ODT files are not parsed
- [JBEHAVE-855] - UnderscoredToCapitalized class not properly handling paths with "story" in them
- [JBEHAVE-868] - Parameterised scenarios are skipped when filtered by story meta
- [JBEHAVE-871] - StepsBehaviour test broken for OpenJDK 7
- [JBEHAVE-896] - ExamplesTable incorrectly parses files with windows line endings

## Improvement

- [JBEHAVE-844] - GherkinStoryParser has a sysout
- [JBEHAVE-846] - Allow meta filtering on example scenarios
- [JBEHAVE-851] - Allow puncuation characters in default meta filters
- [JBEHAVE-870] - Find stories when running from jar with dependencies
- [JBEHAVE-872] - StoryFinder.findPaths is missing the parameter (URL, List, List)
- [JBEHAVE-883] - Support synonyms of step-starting keywords
- [JBEHAVE-886] - Use ParametisedStep in StepMonitors
- [JBEHAVE-892] - Annotations should be @Documented
- [JBEHAVE-893] - Improve DE keywords
- [JBEHAVE-895] - Expose the stepsType inside StepCandidate
- [JBEHAVE-897] - Make mojos @requireDependencyResolution test
- [JBEHAVE-898] - Finnish language support
- [JBEHAVE-900] - Honor order in @UsingSteps instances

## Task

- [JBEHAVE-836] - Improve documentation on step prioritisation
- [JBEHAVE-847] - Improve documentation on pending steps
- [JBEHAVE-857] - Add unit test for our IOUtils, close for Exception missing
- [JBEHAVE-875] - Upgrade to maven-release-plugin 2.4
- [JBEHAVE-878] - Support Travis CI
- [JBEHAVE-879] - Update docs on configuring localised stories
- [JBEHAVE-880] - Minor documentation fixes
- [JBEHAVE-884] - Minor documentation fixes
- [JBEHAVE-894] - Upgrade Core dependencies version

# JBehave Core - Version 3.7.5 (Dec 30, 2012)

## Bug

- [JBEHAVE-585] - BeforeStories.xml can be zero length ( causing xUnit to fail a Jenkins job )
- [JBEHAVE-868] - Parameterised scenarios are skipped when filtered by story meta
- [JBEHAVE-871] - StepsBehaviour test broken for OpenJDK 7

## Improvement

- [JBEHAVE-870] - Find stories when running from jar with dependencies
- [JBEHAVE-872] - StoryFinder.findPaths is missing the parameter (URL, List, List)

## Task

- [JBEHAVE-875] - Upgrade to maven-release-plugin 2.4

# JBehave Core - Version 3.7.4 (Nov 24, 2012)

## Bug

- [JBEHAVE-573] - Step Marked as PENDING without preceding FAILED step - silent failure???
- [JBEHAVE-652] - Cannot use the same step multiple times in a scenario
- [JBEHAVE-848] - Report files not closed
- [JBEHAVE-850] - Tables in ODT files are not parsed
- [JBEHAVE-855] - UnderscoredToCapitalized class not properly handling paths with "story" in them

## Improvement

- [JBEHAVE-851] - Allow puncuation characters in default meta filters

## Task

- [JBEHAVE-857] - Add unit test for our IOUtils, close for Exception missing

# JBehave Core - Version 3.7.3 (Oct 31, 2012)

## Improvement

- [JBEHAVE-844] - GherkinStoryParser has a sysout
- [JBEHAVE-846] - Allow meta filtering on example scenarios

## Task

- [JBEHAVE-847] - Improve documentation on pending steps

# JBehave Core - Version 3.7.2 (Oct 18, 2012)

## Bug

- [JBEHAVE-839] - Story meta incorrectly parsed when GivenStories are specified at story level
- [JBEHAVE-841] - Story execution continues with steps even of failure of GivenStory

# JBehave Core - Version 3.7.1 (Oct 7, 2012)

## Bug

- [JBEHAVE-837] - Step parameters incorrectly marked in the reports

## Task

- [JBEHAVE-836] - Improve documentation on step prioritisation

# JBehave Core - Version 3.7 (Sep 16, 2012)

## Bug

- [JBEHAVE-756] - NumberConverter not threadsafe
- [JBEHAVE-758] - NumberFormat instance in ParameterConverters.NumberConverter is not threadsafe
- [JBEHAVE-760] - TemplateableOutput does not handle properly parametrised scenarios
- [JBEHAVE-762] - CrossReference not creating givenStories hierarchy in xref.json
- [JBEHAVE-763] - LoadFromRelativeFile break on windows when using maven traversal
- [JBEHAVE-773] - CrossReference does not consider pending steps as failures when the PendingStepStrategy is used
- [JBEHAVE-779] - Change of ExamplesTableFactory constructor in patch release
- [JBEHAVE-784] - Parser skips lines from story, if keyword is separated from text without space char.
- [JBEHAVE-788] - Parsing recursive composite steps fail if the composite steps don't use any parameters
- [JBEHAVE-799] - Empty lines in an example table are processed as tests
- [JBEHAVE-802] - Some template-generated reports are invalid.
- [JBEHAVE-803] - XmlTemplateOuput is misspelled
- [JBEHAVE-806] - Stack traces not properly formatted on Windows
- [JBEHAVE-807] - odf unit test fails due to cr/lf issue on Windows
- [JBEHAVE-812] - OutcomesTable with date values makes an error in freemarker
- [JBEHAVE-813] - html template report contains encoded html tags
- [JBEHAVE-814] - Format.XML_TEMPLATE using Hamcrest matchers produces invalid xml tags
- [JBEHAVE-815] - template reports do not mark step parameter if it contains special chars
- [JBEHAVE-829] - Unable to locate stories running from CLI an executable jar built from Eclipse

## Improvement

- [JBEHAVE-718] - Allow transformation of example tables
- [JBEHAVE-722] - Examples Table parser can be improved to allow a comment as the first line
- [JBEHAVE-753] - Allow GivenStories to be parametrised by examples in a scenario context
- [JBEHAVE-754] - Support Spring AnnotationConfigApplicationContext
- [JBEHAVE-757] - Allow non-programmatic configuration of ExecutorService
- [JBEHAVE-767] - Norwegian language support out-of-the-box
- [JBEHAVE-769] - Swedish language support
- [JBEHAVE-774] - Embedder should pass meta filter to CrossReference
- [JBEHAVE-776] - StoryManager should be responsible for running before and after stories steps
- [JBEHAVE-782] - Minor change to function parseScenario in RegexStoryParser
- [JBEHAVE-787] - Allow Freemarker TemplateProcessor to specifiy class for template loading
- [JBEHAVE-792] - Allow GivenStories to be specified at story level
- [JBEHAVE-804] - Improved test in PrintStreamOutputBehaviour
- [JBEHAVE-816] - refactor methods narrateAnInterestingStory into one method
- [JBEHAVE-819] - mark cut off stacktraces with "..." at the end
- [JBEHAVE-822] - Swedish language was incorrect
- [JBEHAVE-823] - NoClassDefFoundError in Java7

## New Feature

- [JBEHAVE-834] - Allow textual stories to be transformed before parsing
- [JBEHAVE-835] - Add support for parsing Gherkin stories

## Task

- [JBEHAVE-591] - Build not working on JDK 1.7
- [JBEHAVE-765] - Variants documentation is misleading wrt whitespace
- [JBEHAVE-768] - Add documentation page on how to contribute
- [JBEHAVE-770] - Ensure behaviour is reproducible in unit tests when retrieving methods from Class.getMethods()
- [JBEHAVE-781] - Deprecate ConfigurableEmbedder addSteps() methods in favour of useStepsFactory()
- [JBEHAVE-794] - Update documentation of EBNF Grammar
- [JBEHAVE-828] - Add example and documentation in using JRuby for writing steps

# JBehave Core - Version 3.6.9 (Aug 16, 2012)

## Bug

- [JBEHAVE-799] - Empty lines in an example table are processed as tests
- [JBEHAVE-802] - Some template-generated reports are invalid.
- [JBEHAVE-803] - XmlTemplateOuput is misspelled
- [JBEHAVE-806] - Stack traces not properly formatted on Windows
- [JBEHAVE-807] - odf unit test fails due to cr/lf issue on Windows
- [JBEHAVE-812] - OutcomesTable with date values makes an error in freemarker
- [JBEHAVE-813] - html template report contains encoded html tags
- [JBEHAVE-814] - Format.XML_TEMPLATE using Hamcrest matchers produces invalid xml tags
- [JBEHAVE-815] - template reports do not mark step parameter if it contains special chars

## Improvement

- [JBEHAVE-804] - Improved test in PrintStreamOutputBehaviour
- [JBEHAVE-816] - refactor methods narrateAnInterestingStory into one method
- [JBEHAVE-819] - mark cut off stacktraces with "..." at the end

## Task

- [JBEHAVE-794] - Update documentation of EBNF Grammar

# JBehave Core - Version 3.6.8 (Jul 5, 2012)

## Bug

- [JBEHAVE-784] - Parser skips lines from story, if keyword is separated from text without space char.
- [JBEHAVE-788] - Parsing recursive composite steps fail if the composite steps don't use any parameters

## Improvement

- [JBEHAVE-792] - Allow GivenStories to be specified at story level

# JBehave Core - Version 3.6.7 (Jun 2, 2012)

## Improvement

- [JBEHAVE-782] - Minor change to function parseScenario in RegexStoryParser
- [JBEHAVE-787] - Allow Freemarker TemplateProcessor to specifiy class for template loading

## Task

- [JBEHAVE-781] - Deprecate ConfigurableEmbedder addSteps() methods in favour of useStepsFactory()

# JBehave Core - Version 3.6.6 (May 10, 2012)

## Bug

- [JBEHAVE-779] - Change of ExamplesTableFactory constructor in patch release

# JBehave Core - Version 3.6.5 (Apr 30, 2012)

## Bug

- [JBEHAVE-762] - CrossReference not creating givenStories hierarchy in xref.json
- [JBEHAVE-773] - CrossReference does not consider pending steps as failures when the PendingStepStrategy is used

## Improvement

- [JBEHAVE-774] - Embedder should pass meta filter to CrossReference
- [JBEHAVE-776] - StoryManager should be responsible for running before and after stories steps

# JBehave Core - Version 3.6.4 (Apr 27, 2012)

## Improvement

- [JBEHAVE-718] - Allow transformation of example tables
- [JBEHAVE-722] - Examples Table parser can be improved to allow a comment as the first line
- [JBEHAVE-769] - Swedish language support

## Task

- [JBEHAVE-768] - Add documentation page on how to contribute
- [JBEHAVE-770] - Ensure behaviour is reproducible in unit tests when retrieving methods from Class.getMethods()

# JBehave Core - Version 3.6.3 (Apr 18, 2012)

## Bug

- [JBEHAVE-763] - LoadFromRelativeFile break on windows when using maven traversal

## Improvement

- [JBEHAVE-767] - Norwegian language support out-of-the-box

## Task

- [JBEHAVE-765] - Variants documentation is misleading wrt whitespace

# JBehave Core - Version 3.6.2 (Apr 10, 2012)

## Bug

- [JBEHAVE-760] - TemplateableOutput does not handle properly parametrised scenarios

## Improvement

- [JBEHAVE-753] - Allow GivenStories to be parametrised by examples in a scenario context

# JBehave Core - Version 3.6.1 (Apr 4, 2012)

## Bug

- [JBEHAVE-756] - NumberConverter not threadsafe
- [JBEHAVE-758] - NumberFormat instance in ParameterConverters.NumberConverter is not threadsafe

## Improvement

- [JBEHAVE-754] - Support Spring AnnotationConfigApplicationContext
- [JBEHAVE-757] - Allow non-programmatic configuration of ExecutorService

# JBehave Core - Version 3.6 (Mar 29, 2012)

## Bug

- [JBEHAVE-430] - build.xml may not work due to user rights and can change users {ant.home}/lib
- [JBEHAVE-599] - Failures in view do not cause build to fail
- [JBEHAVE-600] - Scenario title parsed to empty on Windows
- [JBEHAVE-619] - ParameterConverters throwing ConcurrentModificationException
- [JBEHAVE-621] - Pending step failures not detected in stories view generation
- [JBEHAVE-634] - Ant copy-dependencies task (for the bin distribution) doesn't work in Windows
- [JBEHAVE-642] - StackOverflowError in RegexStoryParser with long scenario titles
- [JBEHAVE-646] - @Named not respecting parameter order
- [JBEHAVE-650] - Ant copy-dependencies (binary distribution) doesn't find all required artifacts when the local maven cache is empty
- [JBEHAVE-655] - Title before "Scenario" ends up as package name
- [JBEHAVE-656] - HTML decoration for parameter empty string puts a span between each char in the line
- [JBEHAVE-666] - ExecutorService instance not shutdown() at the end of stories.
- [JBEHAVE-667] - ParameterConverters - NumberFormatException exception
- [JBEHAVE-674] - HTML decoration marks parameters twice
- [JBEHAVE-681] - Pending steps methods leave invalid chars in the method name
- [JBEHAVE-688] - metaFilters "-skip" doesn't work while "-skip true" works
- [JBEHAVE-690] - Misprint in class name(HtmlTemplateOu[t]put), resulting in a broken link at JBehave site
- [JBEHAVE-699] - Duplicate step error message not reported
- [JBEHAVE-705] - decorated txt reports get broken if the text contains <script></script> tags
- [JBEHAVE-709] - Named parameters sorrounded by quotes are not handled properly
- [JBEHAVE-710] - Pending steps methods should remove even more characters
- [JBEHAVE-712] - Spaces in path breaks StoryFinder().findPaths()
- [JBEHAVE-724] - Too many columns in an example table give IndexOutOfBoundsException
- [JBEHAVE-725] - Some unit tests fail on Windows due to cr/lf encoding
- [JBEHAVE-729] - Current path is converted to file:/home/.../ when accessing codeLocationFromClass from inside a jar
- [JBEHAVE-733] - Composed steps don't behave like steps in a story when using parameters
- [JBEHAVE-739] - NumberFormatException when trying to convert parameters to BigDecimal with German Locale
- [JBEHAVE-745] - @Named annotation doesn't work in scenario when Examples table and MetaInfo is used
- [JBEHAVE-746] - ReportsCount is counting files that aren't stories in the story count
- [JBEHAVE-747] - codeLocationFromPath breaks for paths with spaces

## Improvement

- [JBEHAVE-563] - Improve story running logic such that events such as timeouts can be monitored by story reporters
- [JBEHAVE-602] - Multiline scenario title appears on one line in HTML report
- [JBEHAVE-609] - Allow named parameters to be replaced in table row parameters values
- [JBEHAVE-611] - The StoryRunner should use the configured FailureStrategy when resetting the story failure state
- [JBEHAVE-615] - Ignore full-stop/period|punctation at end of step
- [JBEHAVE-617] - Speed up RegexStoryParser by removing leading .*
- [JBEHAVE-622] - Improve embedder monitoring
- [JBEHAVE-623] - Support AtomicInteger and AtomicLong parameters
- [JBEHAVE-624] - Support nested composite steps
- [JBEHAVE-625] - MetaFilter should support meta matching logic written in a Groovy
- [JBEHAVE-626] - Wrap runtime exceptions as MojoFailureException to avoid FATAL outcome
- [JBEHAVE-627] - Upgrade PicoContainer to 2.14, and Paranamer to 2.4
- [JBEHAVE-628] - PicoContainer 2.14.1 upgrade
- [JBEHAVE-641] - Close down stats file input stream after loading them
- [JBEHAVE-648] - Expose story and scenario elements as Meta
- [JBEHAVE-649] - Allow filtering on story and scenario elements
- [JBEHAVE-651] - ant copy-depedencies improvements
- [JBEHAVE-660] - Allow reports to be generated in fail-fast mode
- [JBEHAVE-661] - Allow stack traces of failures to be printed in verbose mode
- [JBEHAVE-662] - Total exclusion of excluded stories from reports
- [JBEHAVE-664] - Allow mutability of ExamplesTable
- [JBEHAVE-675] - Fix typos in archetypes and removed unused file my_step.xml for non-Spring archetype
- [JBEHAVE-680] - PendingStepMethodGenerator doesn't put a space between ) and {
- [JBEHAVE-686] - Allow configuration of view directory in Maven goal unpack-view-resources
- [JBEHAVE-689] - More control of verbosity of excluded stories by filter
- [JBEHAVE-691] - Provide Null-Object implementation of monitors
- [JBEHAVE-694] - Add i18n keywords for story cancellation and duration
- [JBEHAVE-711] - empty lines in example tables should be ignored
- [JBEHAVE-716] - Add an optional StoryFinder class element to @UsingPaths annotation
- [JBEHAVE-717] - Make parametrised name delimiters configurable
- [JBEHAVE-719] - Upgrade Groovy dependency to 1.8.6, and Selenium to 2.19
- [JBEHAVE-720] - Allow parametrisation of scenarios by delimited names
- [JBEHAVE-721] - Add a beforeStep() method in the StoryReporter
- [JBEHAVE-723] - Enable override of configured properties with values specified as table properties

## New Feature

- [JBEHAVE-607] - Add Scala support
- [JBEHAVE-610] - Add Jenkins support
- [JBEHAVE-657] - Allow StoryManager to submit a single textual story not retrievable by path
- [JBEHAVE-659] - Provide StoryManager to manage execution and outcomes of running stories
- [JBEHAVE-668] - Allow pluggable Embedder failure handling strategies
- [JBEHAVE-671] - Add XML templateable output
- [JBEHAVE-687] - Add standalone cross-reference navigator
- [JBEHAVE-695] - Add i18n support to OutcomesTable
- [JBEHAVE-702] - Allow directives to support multiple step pattern variant

## Task

- [JBEHAVE-598] - Failing build on Windows
- [JBEHAVE-647] - Add documentation page on external articles and blog entries on users' experiences
- [JBEHAVE-665] - Document the Out-In configuration philosophy of the Embedder controls
- [JBEHAVE-673] - Upgrade to Weld 1.1.4
- [JBEHAVE-679] - Update EBNF grammar
- [JBEHAVE-684] - Upgrade to Maven 3 for reporting and distribution
- [JBEHAVE-697] - Update docs to use InjectableStepsFactory
- [JBEHAVE-698] - Add example showing the use of TestNG
- [JBEHAVE-727] - Some source code is checked in with CR/LF line endings
- [JBEHAVE-732] - Configure atlassian repo for accessing Google GData artifact
- [JBEHAVE-736] - Upgrade StoryNavigator to latest version
- [JBEHAVE-740] - Better documentation of management of transitive dependencies
- [JBEHAVE-751] - Need to update the EBNF grammar

## Test

- [JBEHAVE-744] - Unit test can fail due to random list ordering

# JBehave Core - Version 3.5.4 (Nov 27, 2011)

## Bug

- [JBEHAVE-642] - StackOverflowError in RegexStoryParser with long scenario titles

## Improvement

- [JBEHAVE-617] - Speed up RegexStoryParser by removing leading .*
- [JBEHAVE-625] - MetaFilter should support meta matching logic written in a Groovy
- [JBEHAVE-641] - Close down stats file input stream after loading them
- [JBEHAVE-648] - Expose story and scenario elements as Meta
- [JBEHAVE-649] - Allow filtering on story and scenario elements

## Task

- [JBEHAVE-647] - Add documentation page on external articles and blog entries on users' experiences

# JBehave Core - Version 3.5.3 (Nov 7, 2011)

## Improvement

- [JBEHAVE-624] - Support nested composite steps
- [JBEHAVE-626] - Wrap runtime exceptions as MojoFailureException to avoid FATAL outcome

# JBehave Core - Version 3.5.2 (Oct 30, 2011)

## Bug

- [JBEHAVE-619] - ParameterConverters throwing ConcurrentModificationException
- [JBEHAVE-621] - Pending step failures not detected in stories view generation

## Improvement

- [JBEHAVE-602] - Multiline scenario title appears on one line in HTML report
- [JBEHAVE-609] - Allow named parameters to be replaced in table row parameters values
- [JBEHAVE-611] - The StoryRunner should use the configured FailureStrategy when resetting the story failure state
- [JBEHAVE-622] - Improve embedder monitoring
- [JBEHAVE-623] - Support AtomicInteger and AtomicLong parameters

## New Feature

- [JBEHAVE-607] - Add Scala support
- [JBEHAVE-610] - Add Jenkins support

## Task

- [JBEHAVE-614] - Groovy 1.8.3 upgrade

# JBehave Core - Version 3.5.1 (Sep 14, 2011)

## Bug

- [JBEHAVE-599] - Failures in view do not cause build to fail
- [JBEHAVE-600] - Scenario title parsed to empty on Windows

## Task

- [JBEHAVE-598] - Failing build on Windows

# JBehave Core - Version 3.5 (Sep 11, 2011)

## Bug

- [JBEHAVE-514] - jbehave-maven-plugin ignoring execution
- [JBEHAVE-520] - StoryRunner failure strategy is not set when running before or after stories steps in multiple threads
- [JBEHAVE-521] - Typo in jbehave-spring-archetype causes malformed pom.xml
- [JBEHAVE-527] - Composed steps not being matched when using non-named parameter matching for the composite step
- [JBEHAVE-531] - OutcomesTable not being reported
- [JBEHAVE-539] - ConcurrentModificationException in xref when run multithreaded.
- [JBEHAVE-546] - Reports are not showing properly, all are showing as Zero
- [JBEHAVE-547] - StoryRunner.runParametrisedScenariosByExamples does not execute the examples after the first failure
- [JBEHAVE-557] - When story has multiple failed scenarios, only one screenshot is created
- [JBEHAVE-567] - Excluded (filtered-out) scenarios are reported as pending as well
- [JBEHAVE-570] - Excluded scenarios should not be included into ScenarioSuccessful count
- [JBEHAVE-578] - Story execution not failing-fast when ignoreFailuresInStories=false
- [JBEHAVE-580] - NPE in BatchFailures.toString() if no 'cause'
- [JBEHAVE-583] - Of multiple exclusion meta filters only one is evaluated
- [JBEHAVE-588] - FailingUponPendingSteps only works for normal steps, it does not do as it suggests for composite steps
- [JBEHAVE-589] - Ignorable steps before And steps should not be marked as pending

## Improvement

- [JBEHAVE-523] - Allow specification of Configuration implementation class via @Configure annotation
- [JBEHAVE-530] - Add time duration to story statistics and reports view
- [JBEHAVE-537] - Pluggable template processor for view generator
- [JBEHAVE-544] - Ignore !-- comments in story meta
- [JBEHAVE-553] - Upgrade to Weld 1.1.1
- [JBEHAVE-571] - Compactify method and annotation information in BeforeOrAfterFailed message
- [JBEHAVE-586] - StoryReporterBuilder code location should be settable from the output directory by Ant tasks and Maven goals
- [JBEHAVE-590] - Add failed step as UUIDExceptionWrapper message
- [JBEHAVE-595] - Use name as String representation of Format

## New Feature

- [JBEHAVE-534] - Lazy instantiation of steps classes, only if candidate steps are matched
- [JBEHAVE-535] - Template-based reporters
- [JBEHAVE-540] - ANSI-coded console output
- [JBEHAVE-543] - Before/After Story/Scenario methods could accept parameters that have meaning at that moment
- [JBEHAVE-548] - Add support for annotated steps before and after example scenarios
- [JBEHAVE-584] - Support loading stories from Google Docs

## Task

- [JBEHAVE-414] - Document generating StepDocs from a Embeddable instance
- [JBEHAVE-522] - Add documentation page on tutorials
- [JBEHAVE-529] - Simplify trader-ant example to not depend on the Maven pom.xml
- [JBEHAVE-532] - Split hamcrest-all dependency
- [JBEHAVE-558] - Maven build should be updated to play well with Eclipse m2e 1.0
- [JBEHAVE-564] - Update Ant and Maven configuration documentation
- [JBEHAVE-565] - Make public StoryRunner.State interface
- [JBEHAVE-574] - Improve documentation on using archetypes
- [JBEHAVE-587] - Website Documentation - "Pending Steps page" refers to incorrect strategy class FailingPendingStepStrategy
- [JBEHAVE-596] - Upgrade to Hudson 2.1.0

# JBehave Core - Version 3.4.5 (Jun 12, 2011)

## Bug

- [JBEHAVE-531] - OutcomesTable not being reported

## Task

- [JBEHAVE-532] - Split hamcrest-all dependency

# JBehave Core - Version 3.4.4 (Jun 9, 2011)

## Improvement

- [JBEHAVE-530] - Add time duration to story statistics and reports view

# JBehave Core - Version 3.4.3 (Jun 5, 2011)

## Bug

- [JBEHAVE-514] - jbehave-maven-plugin ignoring execution

## Task

- [JBEHAVE-414] - Document generating StepDocs from a Embeddable instance

# JBehave Core - Version 3.4.2 (Jun 4, 2011)

## Bug

- [JBEHAVE-527] - Composed steps not being matched when using non-named parameter matching for the composite step

## Task

- [JBEHAVE-529] - Simplify trader-ant example to not depend on the Maven pom.xml

# JBehave Core - Version 3.4.1 (Jun 1, 2011)

## Bug

- [JBEHAVE-520] - StoryRunner failure strategy is not set when running before or after stories steps in multiple threads
- [JBEHAVE-521] - Typo in jbehave-spring-archetype causes malformed pom.xml

## Improvement

- [JBEHAVE-523] - Allow specification of Configuration implementation class via @Configure annotation

## Task

- [JBEHAVE-522] - Add documentation page on tutorials

# JBehave Core - Version 3.4 (May 17, 2011)

## Bug

- [JBEHAVE-473] - Multi-threading is not aware of RunContext.givenStory
- [JBEHAVE-474] - Pending step method generation fails with And steps
- [JBEHAVE-481] - PrintStream output types are showing the UUIDExceptionWrapper when it should not.
- [JBEHAVE-483] - Concurrent printing of cross-reference data and writing to it causes exception
- [JBEHAVE-489] - AfterStories.xml and BeforeStories.xml being corrupt or zero length will break the Hudson plugin
- [JBEHAVE-501] - Report stying not being generated
- [JBEHAVE-504] - Ant task RunStoriesWithAnnotatedEmbedderRunner not passing system properties to embedder
- [JBEHAVE-510] - PrintStreamOutput not threadsafe

## Improvement

- [JBEHAVE-148] - Auto-generate method stubs for pending steps with no parameters
- [JBEHAVE-464] - Specify a mvn repository for weld-se
- [JBEHAVE-468] - Extract NullStepMonitor as standalone class
- [JBEHAVE-469] - Provide ParanamerConfiguration
- [JBEHAVE-470] - Allow configuration of storyTimeoutInSecs via @UsingEmbedder annotation
- [JBEHAVE-471] - Show as pending in reports view scenarios and stories that contain pending steps or no steps
- [JBEHAVE-472] - Improve state management of StoryRunner
- [JBEHAVE-478] - Add localization for zh_TW
- [JBEHAVE-496] - Null meta filters should be ignored in Maven plugin
- [JBEHAVE-499] - Rename run-with-annotated-embedder goal to run-stories-with-annotated-embedder
- [JBEHAVE-500] - Annotated Embedder Runner class should be read from annotation when running in CLI
- [JBEHAVE-506] - Allow system properties to be specified for AnnotatedEmbedderRunner
- [JBEHAVE-507] - unpack-view-resources goal requires resources to be in compile scope
- [JBEHAVE-508] - Curtailed stack traces for "known failures".
- [JBEHAVE-511] - Embedder should report in the monitor annotated embedder runner being used to run the stories
- [JBEHAVE-512] - GivenStories path list should be more tollerant with spaces
- [JBEHAVE-513] - @Before/AfterStories executions that have failed should be highlighted in red in the reports.hml entries
- [JBEHAVE-519] - Table parameters should be formatted as styleable HTML tables

## New Feature

- [JBEHAVE-149] - Support loading of stories from ODT format
- [JBEHAVE-466] - Provide @Pending annotation to mark methods that have not yet been implemented
- [JBEHAVE-476] - Archetypes to boostrap creation of projects
- [JBEHAVE-487] - Allow parameters to be specified as meta properties
- [JBEHAVE-492] - CandidateSteps instances should be created by StoryRunner context allowing for multi-threaded stateful steps logic

## Task

- [JBEHAVE-467] - Increase unit test coverage
- [JBEHAVE-480] - Add settings.xml to the bin distribution
- [JBEHAVE-484] - Upgrade to latest released version of build plugins
- [JBEHAVE-495] - Upgrade Groovy dependency to 1.8.0
- [JBEHAVE-497] - Upgrade PicoContainer to 2.13.4
- [JBEHAVE-502] - Add installation instructions to website documentation
- [JBEHAVE-503] - Add Ant script example in trader-maps to show how to generate story maps
- [JBEHAVE-515] - Create trader-ant example

# JBehave Core - Version 3.3.2 (Apr 13, 2011)

## Bug

- [JBEHAVE-474] - Pending step method generation fails with And steps
- [JBEHAVE-475] - Groovy Stack traces not compressing for 1.8RC2.

# JBehave Core - Version 3.3.1 (Apr 9, 2011)

## Bug

- [JBEHAVE-473] - Multi-threading is not aware of RunContext.givenStory

## Improvement

- [JBEHAVE-148] - Auto-generate method stubs for pending steps with no parameters
- [JBEHAVE-464] - Specify a mvn repository for weld-se
- [JBEHAVE-468] - Extract NullStepMonitor as standalone class
- [JBEHAVE-469] - Provide ParanamerConfiguration
- [JBEHAVE-470] - Allow configuration of storyTimeoutInSecs via @UsingEmbedder annotation
- [JBEHAVE-471] - Show as pending in reports view scenarios and stories that contain pending steps or no steps

## New Feature

- [JBEHAVE-466] - Provide @Pending annotation to mark methods that have not yet been implemented

# JBehave Core - Version 3.3 (Apr 1, 2011)

## Bug

- [JBEHAVE-440] - JBehave i18n: Some german translations in keyword_de.properties are WRONG!
- [JBEHAVE-449] - StackTrace compression not matching Groovy closures correctly where Groovy could be between 1.7.5 and 1.8
- [JBEHAVE-463] - Failures in @BeforeStories and @AfterStories steps cause NPE

## Improvement

- [JBEHAVE-445] - Add story timing info to CrossReference
- [JBEHAVE-447] - CrossReference should allow output of JSON or XML data per completed story and to write to only one format
- [JBEHAVE-452] - Provide property-based EmbedderControls
- [JBEHAVE-456] - ExamplesTableFactory should load resources from classpath by default

## New Feature

- [JBEHAVE-438] - Multithreaded story execution capability
- [JBEHAVE-442] - Support for Weld/Context and Dependency Injection framework
- [JBEHAVE-448] - Ability to enqueue ad-hoc stories asynchronously.

## Task

- [JBEHAVE-393] - Split trader example different running modes into separate modules
- [JBEHAVE-443] - Update ExamplesTableConverter documentation for i18n cconfiguration
- [JBEHAVE-451] - Deprecate Configuration.defaultStoryReporter()
- [JBEHAVE-453] - Building jBehave requires com.google.code.guice:guice:2.0.1
- [JBEHAVE-455] - Upgrade to Guice 3
- [JBEHAVE-457] - Improve documentation on examples philosophy and building from source
- [JBEHAVE-458] - Improve home page documentation
- [JBEHAVE-459] - Change XSLT filename to refer to jbehave-3.x
- [JBEHAVE-460] - Get Hudson plugin unit tests working in both CLI and IDE

# JBehave Core - Version 3.2 (Feb 22, 2011)

## Bug

- [JBEHAVE-370] - IDE_CONSOLE no longer any different to IDE (w.r.t console output)
- [JBEHAVE-377] - BigDecimal parameter conversion fails for numbers with seven or more significant digits.
- [JBEHAVE-389] - Spaces in Path breaks LoadFromRelativeFile
- [JBEHAVE-397] - Failure to execute all scenarios within a story.
- [JBEHAVE-401] - XML Scenario reporter doesn't always include a closing story xml tag
- [JBEHAVE-402] - The sourceDirectory property of the jbehave-maven-plugin is read-only in maven 2.2.1
- [JBEHAVE-407] - Failing Scenarios are Reported as Successfull
- [JBEHAVE-409] - @Composite step is executing "successfully" when one of its sub-steps is Pending.
- [JBEHAVE-420] - Output formats have broken XML, HTML (etc) - missing endScenario and endStory in the case of meta-filters that exclude
- [JBEHAVE-422] - Maven goal run-stories-with-annotated-embedder-runner doesn't exist
- [JBEHAVE-429] - @AfterScenario should execute in reverse order to @BeforeScenario
- [JBEHAVE-435] - MetaFilters not properly read from the configuration
- [JBEHAVE-436] - StoryMaps generation relies on stories in a directory (package). Packageless stories don't have a name in the final output.

## Improvement

- [JBEHAVE-234] - Improve JUnit integration
- [JBEHAVE-379] - Allow scenarios following a failed scenarios to be skipped in a single story
- [JBEHAVE-380] - Allow story controls to be configurable via annotations
- [JBEHAVE-384] - Allow Before and After Scenario steps to be skipped if running a GivenStory
- [JBEHAVE-386] - Allow different StoryNameResolvers to be used in report generation
- [JBEHAVE-387] - Allow ExamplesTable to be loaded from external resources
- [JBEHAVE-396] - Throw exception if ParameterConverters cannot convert to the desired type.
- [JBEHAVE-399] - Count scenarios in a story separately from those in the GivenStories.
- [JBEHAVE-404] - Open up Format ( CONSOLE, STATS etc) to allow third party implementations.
- [JBEHAVE-408] - GivenStories should be able to be loaded relative to the story depending on them.
- [JBEHAVE-410] - WebDriverProvider#takeScreenshot() should return a boolean to say if the screenshot has been taken
- [JBEHAVE-413] - Failing steps could be assigned a unique failure-context that could to a) name screenshots, and b) be used in HTML reports
- [JBEHAVE-418] - Stacktraces for failure 'yes' vs 'no' should be settable with the 'enum' like list of output formats.
- [JBEHAVE-419] - Generic Parameter Converter for Enum classes.
- [JBEHAVE-421] - Use of String.toUpper/LowerCase() should be locale-aware
- [JBEHAVE-426] - BooleanConverter and BooleanListConverter
- [JBEHAVE-432] - StepPattern to encapsulate both annotated and resolved patterns and report to the StepMonitor
- [JBEHAVE-434] - Stack Traces should be compressible in printed output
- [JBEHAVE-437] - Allow to report stepdocs as embeddables

## New Feature

- [JBEHAVE-388] - Support composition of steps
- [JBEHAVE-394] - Hudson Plugin to import JBehave reports
- [JBEHAVE-398] - Provide table row values as converted parameters
- [JBEHAVE-403] - NullStoryReporter to facilitate subclassing, and use in conjunction with DelegatingStoryReporter
- [JBEHAVE-427] - Add CrossReference report

# JBehave Core - Version 3.1.2 (Nov 13, 2010)

## Improvement

- [JBEHAVE-384] - Allow Before and After Scenario steps to be skipped if running a GivenStory
- [JBEHAVE-386] - Allow different StoryNameResolvers to be used in report generation
- [JBEHAVE-387] - Allow ExamplesTable to be loaded from external resources

# JBehave Core - Version 3.1.1 (Oct 31, 2010)

## Bug

- [JBEHAVE-377] - BigDecimal parameter conversion fails for numbers with seven or more significant digits.

## Improvement

- [JBEHAVE-379] - Allow scenarios following a failed scenarios to be skipped in a single story
- [JBEHAVE-380] - Allow story controls to be configurable via annotations

# JBehave Core - Version 3.1 (Oct 25, 2010)

## Bug

- [JBEHAVE-368] - Ensure same instance of EmbedderClassLoader is used to find and run stories from Ant or Maven
- [JBEHAVE-373] - BigDecimal-converted parameters don't preserve number of digits

## Improvement

- [JBEHAVE-360] - Improve tabular story report
- [JBEHAVE-362] - Convert story name in report to human readable form
- [JBEHAVE-363] - GivenStories and Examples keywords should only be parsed after newline
- [JBEHAVE-364] - Ensure ExamplesTable preserves ordering of columns
- [JBEHAVE-366] - Upgrade to use SyntaxHighlighter 3 for reports
- [JBEHAVE-367] - Add to StoryFinder method to find paths by URL code location and single include/exclude patterns
- [JBEHAVE-369] - Allow processing of system properties before stories are run
- [JBEHAVE-371] - Allow leading and trailing spaces to be preserved in example table cells
- [JBEHAVE-375] - Add unpack-view-resources goal to Maven Plugin

## New Feature

- [JBEHAVE-220] - Allow per-story and per-scenario meta-information
- [JBEHAVE-358] - Add Story Mapping with Swimlane view
- [JBEHAVE-359] - Allow filtering of stories and scenarios based on meta-info
- [JBEHAVE-365] - Add Groovy support
- [JBEHAVE-372] - Parametrised GivenStories

## Task

- [JBEHAVE-337] - Document how to configure jbehave-maven-plugin to be aware of log4j dependency
- [JBEHAVE-357] - Add pom.xml to binary distribution

# JBehave Core - Version 3.0.3 (Oct 2, 2010)

## Bug

- [JBEHAVE-353] - Empty example table row values cause exception

## Improvement

- [JBEHAVE-352] - Allow comments in tables

## Task

- [JBEHAVE-356] - Update ParameterConvertersBehaviour to support non-English default locales

# JBehave Core - Version 3.0.2 (Sep 25, 2010)

## Bug

- [JBEHAVE-349] - SpringStepsFactory should ignore beans with undefined type and that fail instantiation

## Improvement

- [JBEHAVE-260] - Improve SpringStepsFactory to allow delegating the CandidateStep creation to other factories
- [JBEHAVE-339] - HTML report numbers could be more tabular
- [JBEHAVE-350] - Collect successful scenarios stat and render in story reports

# JBehave Core - Version 3.0.1 (Sep 24, 2010)

## Bug

- [JBEHAVE-344] - @BeforeScenario failures prevent the story reporting to complete

## Improvement

- [JBEHAVE-342] - Update Maven goals to be compatible with Maven 3
- [JBEHAVE-346] - Add getter/setter for FilePathResolver in SpringStoryReporterBuilder
- [JBEHAVE-347] - Method useViewGenerator in Configuration does not honour the builder pattern
- [JBEHAVE-348] - SpringStepsFactory should not try to instantiate abstract beans

# JBehave Core - Version 3.0 (Aug 31, 2010)

## 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

# JBehave Core - Version 2.5.9 (Jun 7, 2010)

## Improvement

- [JBEHAVE-297] - GivenScenarios comma-separated paths should support newlines between paths

# JBehave Core - Version 2.5.8 (May 25, 2010)

## Bug

- [JBEHAVE-296] - Failure exception being thrown in PrintStream reporters prevents the delegating reporter from completing

# JBehave Core - Version 2.5.7 (May 21, 2010)

## Bug

- [JBEHAVE-290] - Stack Overflow when parsing a scenario with a very long step

## Improvement

- [JBEHAVE-291] - Add method and steps instance information to matching events in StepsMonitor

# JBehave Core - Version 2.5.6 (May 15, 2010)

## Improvement

- [JBEHAVE-207] - Exclude SCM patterns from ScenarioClassNameFinder
- [JBEHAVE-287] - Dry-run Scenario to determine that no steps are Pending

# JBehave Core - Version 2.5.5 (May 8, 2010)

## Improvement

- [JBEHAVE-283] - Report Renderer should be failure aware

## Task

- [JBEHAVE-285] - Add stepdocs documentation page

# JBehave Core - Version 2.5.4 (May 5, 2010)

## Bug

- [JBEHAVE-282] - Using GivenScenarios causes failed tests to be forgotten

# JBehave Core - Version 2.5.3 (May 3, 2010)

## Bug

- [JBEHAVE-281] - Multiple And steps are not matched

# JBehave Core - Version 2.5.2 (May 1, 2010)

## Bug

- [JBEHAVE-277] - Reports are outputted to $ANT_HOME/lib instead of target dir
- [JBEHAVE-278] - 'And' Step (AndStep) ignores CandidateStep step type
- [JBEHAVE-279] - GivenScenarios runs called scenario as PENDING not the implemented version

## Improvement

- [JBEHAVE-276] - Clarify the Scenario Reporters example and API

## Task

- [JBEHAVE-273] - Ensure jbehave-core dependencies are excluded or shaded
- [JBEHAVE-274] - Add example showing use of SpringJUnit4ClassRunner

# JBehave Core - Version 2.5.1 (Apr 5, 2010)

## Improvement

- [JBEHAVE-245] - Abstract scenarios should not be executed
- [JBEHAVE-250] - Provide better exception handling when Maven/Ant fails with classloader injected
- [JBEHAVE-252] - Improve documentation on scenario and step configuration
- [JBEHAVE-253] - ClassLoader-aware Spring ApplicationContext factory

# JBehave Core - Version 2.5 (Mar 9, 2010)

## Bug

- [JBEHAVE-206] - Regex overflow in using Examples table
- [JBEHAVE-242] - Regex Stackoverflow error with ExampleTables on Windows

## Improvement

- [JBEHAVE-162] - Need to be able to set order of steps for matching
- [JBEHAVE-243] - Get rid of trailing whitespaces after the table

## New Feature

- [JBEHAVE-133] - Allow Steps dependencies to be composable via PicoContainer
- [JBEHAVE-163] - Support comments in plain-text scenarios
- [JBEHAVE-230] - Add Narrative elements to Story parsing
- [JBEHAVE-239] - Add @BeforeStory and @AfterStory annotations in candidate steps
- [JBEHAVE-240] - Allow Steps dependencies to be composable via Spring
- [JBEHAVE-241] - Allow Steps dependencies to be composable via Guice

## Task

- [JBEHAVE-235] - Improve documentation on running trader example with reports
- [JBEHAVE-236] - Checking out, building and testing JBehave from scratch

# JBehave Core - Version 2.4.1 (Feb 6, 2010)

## Improvement

- [JBEHAVE-237] - HTML/XML reports should handle better missing or null values from the examples table
- [JBEHAVE-238] - Provide default values for KeyWords, when not reading from a I18n bundle

## New Feature

- [JBEHAVE-163] - Support comments in plain-text scenarios

## Task

- [JBEHAVE-235] - Improve documentation on running trader example with reports
- [JBEHAVE-236] - Checking out, building and testing JBehave from scratch

# JBehave Core - Version 2.4 (Jan 20, 2010)

## Bug

- [JBEHAVE-200] - Candidate step does not match AND steps
- [JBEHAVE-211] - StringListConverter converts an empty String to a one element List instead of an empty List
- [JBEHAVE-212] - Starting words are not updated when keywords are overridden in steps configuration
- [JBEHAVE-221] - Maven runner documentation has incorrect capitalization (should be camel case)
- [JBEHAVE-223] - 0.0 gets parsed as a Long
- [JBEHAVE-224] - Double.NaN should be parseable into a double
- [JBEHAVE-225] - Multiline scenario title is parsed as empty

## Improvement

- [JBEHAVE-165] - Allow scenarios to run in batch mode
- [JBEHAVE-175] - Add support for BigDecimal and BigInteger parameters
- [JBEHAVE-196] - Candidate steps should be aware of the method annotation type when matching textual steps
- [JBEHAVE-199] - Allow ScenarioClassLoader to instantiate scenarios using default constructor
- [JBEHAVE-202] - Allow class loader injection to be optional in scenario classes when running in command line
- [JBEHAVE-204] - Scenario runner should report before and after story only once when running given scenarios
- [JBEHAVE-209] - Add ParameterConverter for ExamplesTable
- [JBEHAVE-210] - Report embedded status in before/after story events
- [JBEHAVE-215] - Allow a step to be reused between scenarios with and without example tables
- [JBEHAVE-217] - Allow configuration to be overridden
- [JBEHAVE-219] - Create standard human and machine-readable reports
- [JBEHAVE-222] - Add/rename examples events in ScenarioReporter
- [JBEHAVE-229] - PatternScenarioParser should depend on KeyWords and not Configuration
- [JBEHAVE-231] - Allow CandidateSteps methods to be defined in POJOs

## New Feature

- [JBEHAVE-161] - HTML-based scenario reporting
- [JBEHAVE-214] - Allow for multiple aliases for a given step
- [JBEHAVE-226] - Statistics ScenarioReporter
- [JBEHAVE-227] - XML Scenario Reporter
- [JBEHAVE-228] - ScenarioReporterBuilder

## Task

- [JBEHAVE-197] - Improve documentation of candidate steps and aliases in reference guide
- [JBEHAVE-203] - StepsBehaviour tests fail with JDK 1.5

# JBehave Core - Version 2.3.2 (Nov 3, 2009)

## Bug

- [JBEHAVE-200] - Candidate step does not match AND steps

## Improvement

- [JBEHAVE-199] - Allow ScenarioClassLoader to instantiate scenarios using default constructor
- [JBEHAVE-202] - Allow class loader injection to be optional in scenario classes when running in command line

# JBehave Core - Version 2.3.1 (Oct 31, 2009)

## Bug

- [JBEHAVE-198] - I18n keywords resource bundle not found by Ant task

## Improvement

- [JBEHAVE-175] - Add support for BigDecimal and BigInteger parameters
- [JBEHAVE-196] - Candidate steps should be aware of the method annotation type when matching textual steps

## Task

- [JBEHAVE-197] - Improve documentation of candidate steps and aliases in reference guide

# JBehave Core - Version 2.3 (Oct 10, 2009)

## Improvement

- [JBEHAVE-164] - I18N Keywords
- [JBEHAVE-173] - Support annotated named parameters in Steps methods
- [JBEHAVE-174] - Improve documentation
- [JBEHAVE-178] - Allow output patterns to be overridden and localised in PrintStreamScenarioReporter

## New Feature

- [JBEHAVE-126] - GivenScenarios
- [JBEHAVE-130] - Table examples include
- [JBEHAVE-177] - Support named parameters in Steps methods via Paranamer

## Task

- [JBEHAVE-176] - Provide BNF for BDD grammar
- [JBEHAVE-185] - Upgrade to JUnit 4.5

# JBehave Core - Version 2.2.1 (Aug 25, 2009)

## Improvement

- [JBEHAVE-170] - Alias (singular) annotation in addition to Aliases (plural)

# JBehave Core - Version 2.2 (Apr 25, 2009)

## Bug

- [JBEHAVE-127] - Doesn't find scenarios with numbers in the file name
- [JBEHAVE-152] - Scenario's in the default package cause NullPointerException
- [JBEHAVE-155] - Maven plugin can't identify Scenario classes in src/test/java

## Improvement

- [JBEHAVE-117] - Should throw an exception if two candidate step methods have the same annotation
- [JBEHAVE-144] - Ensure utility methods should be independent of unit-testing framework
- [JBEHAVE-145] - Unit-test runners should decorate Exceptions a bit more clearly
- [JBEHAVE-147] - Improve javadocs
- [JBEHAVE-154] - Scenario keyword should include any separation char, e.g. ":"
- [JBEHAVE-159] - Support multiple CandidateSteps instances in Stepdoc generation
- [JBEHAVE-160] - Improve regex-based scenario parsing

## New Feature

- [JBEHAVE-131] - Aliases for steps
- [JBEHAVE-158] - Generate StepDoc from annotated methods of CandidateSteps instance

## Task

- [JBEHAVE-27] - Document best practices and suggested use cases

# JBehave Core - Version 2.1 (Oct 25, 2008)

## Bug

- [JBEHAVE-135] - Scenario class lookup fails on Windows
- [JBEHAVE-138] - Bug recognising Step with content starting with Given, When, Then, And

## Improvement

- [JBEHAVE-132] - Support multiple test frameworks
- [JBEHAVE-134] - Extract CandidateSteps interface
- [JBEHAVE-137] - Make default converter classes publicly accessible and allow configuration of number format

## New Feature

- [JBEHAVE-129] - @BeforeScenario and @AfterScenario
- [JBEHAVE-136] - Add Ant task integration

## Task

- [JBEHAVE-143] - Improve documentation for scenario developers

## Wish

- [JBEHAVE-140] - new StepMonitor method - executingStep(..)
- [JBEHAVE-141] - Allow mutability of Configuration instance
- [JBEHAVE-142] - RunnableScenario.addSteps(CandidateSteps) -> method needed

# JBehave Core - Version 2.0.1 (Oct 7, 2008)

## Bug

- [JBEHAVE-135] - Scenario class lookup fails on Windows

## Improvement

- [JBEHAVE-137] - Make default converter classes publicly accessible and allow configuration of number format

# JBehave Core - Version 2.0 (Sep 1, 2008)

## Bug

- [JBEHAVE-105] - Should not require a space before a new line
- [JBEHAVE-114] - Build isn't running the scenarios
- [JBEHAVE-121] - Only Parentheses are escaped in DollarStepPatternBuilder

## Improvement

- [JBEHAVE-26] - Two Minute Intro for JBehave needs some work
- [JBEHAVE-116] - Need really great javadoc for all injectable / configurable classes
- [JBEHAVE-119] - DollarArgThingumy should take the $ as an argument - this is what people are most likely to want to change
- [JBEHAVE-124] - Eclipse can't find the test to run when it's in JBehave's jar
- [JBEHAVE-128] - Candidate step should support generic parameter conversion

## New Feature

- [JBEHAVE-79] - Localisation
- [JBEHAVE-106] - Should be able to have multiple scenarios in a story
- [JBEHAVE-107] - Should be able to title scenarios
- [JBEHAVE-108] - Story narratives
- [JBEHAVE-109] - Story titles
- [JBEHAVE-110] - Pending steps optionally break the build
- [JBEHAVE-111] - Only output broken scenarios
- [JBEHAVE-112] - Output pending scenarios as well as broken when option to break build on pending is selected
- [JBEHAVE-113] - Sort out the website
- [JBEHAVE-123] - JBehave configuration classes
- [JBEHAVE-125] - Custom converters