# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). Back to [Readme](README.md). ## [1.16.0] - 2025-08-28 ### Changed __Breaking changes:__ * When line numbers are specified that match example table rows, these rows are now generated as individual scenario outlines with the specified rows each. * When individual scenario are generated from scenario outlines, the `generated-features.properties` file is now containing line numbers that point to the individual example tables. ## [1.15.2] - 2025-08-18 ### Fixed * Line numbers were ignored when generating scenarios from feature files (#200) ## [1.15.1] - 2025-07-18 ### Fixed * Major bug with step generation with example table references. (#199) ## [1.15.0] - 2025-07-17 ### Changed * **Major upgrade**: Updated Gherkin library from v5.2.0 to v33.0.0 * Migrated from AST-based to message-based API using Pickles * All existing functionality preserved (scenario slicing, backgrounds, outlines, DataTables, etc.) * Improved performance and memory efficiency * Updated JUnit Vintage Engine to `5.13.1` ## [1.14.1] - 2025-05-27 ### Fixed * Fixed scenario generation with features sharing the same filename in different directories did not work in "feature" mode (#192) ### Changed * Better logging for feature file generation * Updated Mockito to `5.18.0` ## [1.14.0] - 2025-05-19 ### Fixed * Scenario generation did not work correctly with features sharing the same filename in different directories (#192) ### Changed * Updated Cucumber tag-expressions to `6.1.2` * Updated Jacoco to `0.8.13` * Updated Mockito to `5.17.0` * Updated Maven compiler plugin to `3.14.0` * Updated Maven JAR plugin to `3.4.2` ## [1.13.0] - 2025-03-24 ### Changed This release is supposed to be the starting point for a more active development of the plugin and migrating to more recent versions of the underlying Cucumber dependencies. * Updated Nexus Staging Plugin to `1.7.0` * Updated GPG Plugin to `3.2.7` * Updated Maven Testing Harness to `4.0.0-beta-3` * Updated Jacoco to `0.8.12` * Updated Maven Source version to `3.3.1` * Updated Apache Commons version to `3.17.0` * Updated Plexus utils version to `4.0.2` * Updated Maven wrapper version to `3.9.9` * Updated JUnit Vintage Engine to `5.12.1` * Updated Mockito to `5.16.1` ## [1.12.0] - 2024-05-08 ### Fixed * `generated-features.properties` only included the last generated feature, not all ### Changed * Updated dependencies * Infrastructure changes (GitHub workflow, Maven wrapper, etc.) ## [1.11.0] - 2023-12-04 ### Added * New way to only generate features without runners by specifying `0`. ### Changed * Default value of `` was changed from `0` to `-1`: * `-1` means that the number generated runners should be equal to the number generated scenarios. * `0` means that no runners should be generated at all. * Java 11 requirement ### Changed * Updated dependencies ## [1.10.0] - 2023-06-27 ### Added * Ability added to specify a folder containing rerun text files [183] * Additional `generated-features.properties` file in the generated feature directory that stores all generated feature names and their reference to the respective source feature [184] * Feature source options can now be freely combined * Cucable version is now mentioned in the generated runners and features ### Changed * Various dependency updates ## [1.9.0] - 2020-11-26 ### Added * Better error messages when features cannot be parsed (#173) * `Background` steps are now preserved as `Background` in generated scenarios (#160) ## [1.8.0] - 2020-08-15 ### Fixed * Correct handling of feature tags in combination with multiple tagged example tables (#168) * Invalid runner class name for features beginning with numbers (#156) ## [1.7.2] - 2020-04-03 ### Fixed * Cucable does not fail on empty Cucumber feature list file. ## [1.7.1] - 2020-04-03 ### Changed * Runner and feature file names generated from Cucumber feature text files are now postfixed with `_rerun_IT` ## [1.7.0] - 2020-03-30 ### Added * Support for Cucumber feature text files (#154) ### Changed * Various dependency and documentation updates ## [1.6.0] - 2019-12-10 ### Changed * Cucable is now more resilient when trying to deal with unparsable features - these are skipped instead of stopping the overall execution. ### Fixed * Utf-8 encoding error on linux (#150) * Scenarios had too many tags when there were also feature tags (#145) ## [1.5.3] - 2019-09-09 ### Added * Scenario name support (#127, contributed by @josepj) ## [1.5.2] - 2019-07-11 ### Changed * Updated dependencies * Replaced `cobertura` with `jacoco` ## [1.5.1] - 2019-03-14 ### Fixed * Potentially wrong handling of scenarios without tags when a tag expression is provided in `` ( #107) ## [1.5.0] - 2019-03-11 ### Fixed * Untrue error on missing example table columns (#100) * Errors before scenario parsing are not reported as parse errors anymore ### Added * [Cucumber tag expression](https://docs.cucumber.io/cucumber/api/#tag-expressions) support (#104) ### Removed * Removed parameters `excludeScenarioTags`, `includeScenarioTagsConnector` and `excludeScenarioTagsConnector` in favor of [Cucumber tag expressions](https://docs.cucumber.io/cucumber/api/#tag-expressions) in `includeScenarioTags` ### Changed * `includeScenarioTags` now expects a [Cucumber tag expression](https://docs.cucumber.io/cucumber/api/#tag-expressions) ## [1.4.0] - 2019-02-13 ### Added - Support for `and` and `or` mode for `includeScenarioTags` and `excludeScenarioTags` via `includeScenarioTagsConnector` and `excludeScenarioTagsConnector` parameters (default: 'or') (#88): ``` and or ``` - Support to specify multiple `sourceFeatures` (#55), e.g.: ``` src/test/resources/features/sometests, src/test/resources/features/MyFeature.feature:8:15 ``` - Ability to generate runners with a specific number of features by specifying `desiredNumberOfFeaturesPerRunner` (#70) ### Changed - `includeScenarioTags` and `excludeScenarioTags` are now specified as a list of strings: ``` @tag1,@tag2 @tag3 ``` - `includeScenarioTags` and `excludeScenarioTags` can now be used without the preceding `@`: `tag1,tag2` - Completely rewritten feature handling to support more options ## [1.3.2] - 2019-02-01 ### Fixed - Feature parsing on windows (#73) - Arbitrary table cell content handling (#94) ## [1.3.1] - 2019-01-21 ### Fixed - Fixed handling of data and example tables containing line breaks (`\n`) ## [1.3.0] - 2018-11-30 ### Added - Support for scenarios with multiple example tables ### Changed - `parallelizationMode=features` now uses exact copies of the source features ## [1.2.0] - 2018-11-12 ### Added - New property `parallelizationMode` so that Cucable can optionally parallelize complete features instead of individual scenarios ### Changed - Logging tweaks and removed code duplication ## [1.1.0] - 2018-06-25 ### Added - Support for custom template placeholders via `[CUCABLE:CUSTOM:xxx]` ## [1.0.0] - 2018-05-18 ### Added - Support a fixed number of runners running multiple scenarios in sequence - New `[CUCABLE:RUNNER]` template placeholder that is substituted with the current runner name - New `[CUCABLE:FEATURE]` template placeholder that is substituted with the one or multiple features in the generated runner ### Changed - Feature and runner generation is now separated in order to support more features in the future. ### Fixed - Better logging for missing example table placeholders in scenario outlines (contributed by [@daczczcz1](https://github.com/daczczcz1)) ### Removed - Template placeholder `[FEATURE_FILE_NAME]` is not supported anymore, please use `[CUCABLE:FEATURE]` and `[CUCABLE:RUNNER]` instead ## [0.1.11] - 2018-05-08 - Fix for wrong unicode detection of source feature path in runner comments ## [0.1.10] - 2018-05-08 - Runner comments containing "\u" were wrongly considered unicode ## [0.1.9] - 2018-04-20 ### Added - It is now possible to use an existing Java runner class as a template for generated runners - Source runner template is now included as a comment in generated runners ## [0.1.8] - 2018-03-30 ### Added - Source feature path is now included as a comment in generated features and runners - Configurable logging with 4 levels: _default_, _compact_, _minimal_, _off_ - The number of generated scenarios per feature is shown in the default logs - The total number of generated features is shown in a summary line in all log levels except _off_ ### Changed - All dependencies are updated to their latest version ## [0.1.7] - 2018-03-02 ### Changed - Updated to Gherkin 5.0.0 ### Added - All Gherkin languages are now supported ## [0.1.6] - 2018-02-09 ### Added - Ability to use example placeholders in scenario outline names (contributed by [@daczczcz1](https://github.com/daczczcz1)) ## [0.1.5] - 2018-02-07 ### Added - Docstring support in steps - Possibility to specify multiple line numbers to process specific scenarios (like in Cucumber), e.g. ```myFeature.feature:12:42:111```. ## [0.1.4] - 2018-02-05 ### Fixed - Scenario and feature descriptions were not included in generated feature files ## [0.1.3] - 2017-12-20 ### Fixed - Fixed handling of data tables that include example table values ## [0.1.2] - 2017-12-05 ### Fixed - Tag filtering now also considers feature tags ## [0.1.1] - 2017-11-28 ### Fixed - Removed debug logs ## [0.1.0] - 2017-11-28 ### Added - Ability to include and exclude scenarios based on certain tags - More unit tests ## [0.0.9] - 2017-10-27 ### Changed - Logging is now more compact - Changed license blocks from trivago GmbH to trivago N.V. ### Added - It is now possible to process a specific scenario inside a feature file by specifying a line number prefix (like in Cucumber), e.g. ```myFeature.feature:12```. - More unit tests added. ## [0.0.8] - 2017-09-24 ### Changed - Fixed parse error on empty cells in data tables - Fixed file name generation bug with special chars in source feature file names ### Added - Unit tests for data table handling ## [0.0.7] - 2017-09-20 ### Changed - Complete rewrite of the internal logic of the plugin to support all edge cases like - empty scenarios - background steps (also with data tables) - scenario steps with data tables - complex scenario outlines - Scenario outlines will be scenario outlines with a single example table row instead of a single scenario ### Added - Better logging (including plugin version) - Clearer error messages ## [0.0.6] - 2017-08-31 ### Added - Ability to run single features multiple times in parallel - Properties are now logged on plugin start - More unit tests ### Changed - Complete project now uses dependency injection via Google [Guice](https://github.com/google/guice) - POM parameter _featureFileDirectory_ was renamed to _sourceFeatures_ since it now supports specifying either a directory or a single feature file ## [0.0.5] - 2017-08-18 ### Added - Cucumber 'Background' is now supported in feature files ### Changed - More logging added. ## [0.0.4] - 2017-06-01 Initial project version on GitHub and Maven Central. [1.16.0]: https://github.com/trivago/cucable-plugin/compare/1.15.2...1.16.0 [1.15.2]: https://github.com/trivago/cucable-plugin/compare/1.15.1...1.15.2 [1.15.1]: https://github.com/trivago/cucable-plugin/compare/1.15.0...1.15.1 [1.15.0]: https://github.com/trivago/cucable-plugin/compare/1.14.1...1.15.0 [1.14.1]: https://github.com/trivago/cucable-plugin/compare/1.14.0...1.14.1 [1.14.0]: https://github.com/trivago/cucable-plugin/compare/1.13.0...1.14.0 [1.13.0]: https://github.com/trivago/cucable-plugin/compare/1.12.0...1.13.0 [1.12.0]: https://github.com/trivago/cucable-plugin/compare/1.11.0...1.12.0 [1.11.0]: https://github.com/trivago/cucable-plugin/compare/1.10.0...1.11.0 [1.10.0]: https://github.com/trivago/cucable-plugin/compare/1.9.0...1.10.0 [1.9.0]: https://github.com/trivago/cucable-plugin/compare/1.8.0...1.9.0 [1.8.0]: https://github.com/trivago/cucable-plugin/compare/1.7.2...1.8.0 [1.7.2]: https://github.com/trivago/cucable-plugin/compare/1.7.1...1.7.2 [1.7.1]: https://github.com/trivago/cucable-plugin/compare/1.7.0...1.7.1 [1.7.0]: https://github.com/trivago/cucable-plugin/compare/1.6.0...1.7.0 [1.6.0]: https://github.com/trivago/cucable-plugin/compare/1.5.3...1.6.0 [1.5.3]: https://github.com/trivago/cucable-plugin/compare/1.5.2...1.5.3 [1.5.2]: https://github.com/trivago/cucable-plugin/compare/1.5.1...1.5.2 [1.5.1]: https://github.com/trivago/cucable-plugin/compare/1.5.0...1.5.1 [1.5.0]: https://github.com/trivago/cucable-plugin/compare/1.4.0...1.5.0 [1.4.0]: https://github.com/trivago/cucable-plugin/compare/1.3.2...1.4.0 [1.3.2]: https://github.com/trivago/cucable-plugin/compare/1.3.1...1.3.2 [1.3.1]: https://github.com/trivago/cucable-plugin/compare/1.3.0...1.3.1 [1.3.0]: https://github.com/trivago/cucable-plugin/compare/1.2.0...1.3.0 [1.2.0]: https://github.com/trivago/cucable-plugin/compare/1.1.0...1.2.0 [1.1.0]: https://github.com/trivago/cucable-plugin/compare/1.0.0...1.1.0 [1.0.0]: https://github.com/trivago/cucable-plugin/compare/0.1.11...1.0.0 [0.1.11]: https://github.com/trivago/cucable-plugin/compare/0.1.10...0.1.11 [0.1.10]: https://github.com/trivago/cucable-plugin/compare/0.1.9...0.1.10 [0.1.9]: https://github.com/trivago/cucable-plugin/compare/0.1.8...0.1.9 [0.1.8]: https://github.com/trivago/cucable-plugin/compare/0.1.7...0.1.8 [0.1.7]: https://github.com/trivago/cucable-plugin/compare/0.1.6...0.1.7 [0.1.6]: https://github.com/trivago/cucable-plugin/compare/0.1.5...0.1.6 [0.1.5]: https://github.com/trivago/cucable-plugin/compare/0.1.4...0.1.5 [0.1.4]: https://github.com/trivago/cucable-plugin/compare/0.1.3...0.1.4 [0.1.3]: https://github.com/trivago/cucable-plugin/compare/0.1.2...0.1.3 [0.1.2]: https://github.com/trivago/cucable-plugin/compare/0.1.1...0.1.2 [0.1.1]: https://github.com/trivago/cucable-plugin/compare/0.1.0...0.1.1 [0.1.0]: https://github.com/trivago/cucable-plugin/compare/0.0.9...0.1.0 [0.0.9]: https://github.com/trivago/cucable-plugin/compare/0.0.8...0.0.9 [0.0.8]: https://github.com/trivago/cucable-plugin/compare/0.0.7...0.0.8 [0.0.7]: https://github.com/trivago/cucable-plugin/compare/0.0.6...0.0.7 [0.0.6]: https://github.com/trivago/cucable-plugin/compare/0.0.5...0.0.6 [0.0.5]: https://github.com/trivago/cucable-plugin/compare/v0.0.4...0.0.5 [0.0.4]: https://github.com/trivago/cucable-plugin/tree/v0.0.4