----- 0.87 2025-05-24 [Added] - Report scenarios skipped due to tag filters as skipped, which prevents feature files with *all* scenarios filtered from being reported as failed in the TAP output (while those with only some scenarios skipped will not) - 'scenario_skip()' event added to the Test::BDD::Cucumber::Harness [Fixed] - Typo in Test::BDD::Cucumber::Model::TagSpec 0.86 2023-08-12 [Breaking] - Parser returns tags prefixed with '@' now, because that's what the Cucumber ecosystem does and what Cucumber::TagExpressions wants as input for its tag names [Fixed] - Filtering scenarios by tags regressed in 0.85 [Added] - Tests for tag-filtered scenarios 0.85 2023-08-11 [Breaking] - Tag filters now use the Cucumber Tag Expressions format (see https://cucumber.io/docs/cucumber/api/?lang=java#tag-expressions) - Minimum Perl version is now 5.14 - Scenario's `data` attribute removed (deprecated since 4 years) 0.84 2023-07-24 [Fixed] - Test failures with Perl 5.39.1 due to trying to import from File::Spec 0.83 2022-10-30 [Changed] - Updated keyword translations from upstream Cucumber project 0.82 2021-08-23 [Added] - Environment variable expansion in configuration profiles; use ${ENVVAR} anywhere in a 'pherkin.yaml' file to substitude the value from the environment. Use $${ENVVAR} to include the exact value '${ENVVAR}. 0.81 2021-07-18 [Fixed] - Remove cruft from released archive (by expanding .gitignore) 0.80 2021-07-18 [Fixed] - UTF-8 in test output double encoded - Tutorial example references `use_ok`, which does not exist in Test2::Bundle::More - Step redispatching with step data now work (with documentation) 0.79 2021-03-19 [Fixed] - Fix parallel testing support in the `prove` plugin (prove '-j' support) 0.78 2021-03-19 [Changed] - Files with DOS line endings (\r\n) no longer leave \r at the end of the line on Unix (\n line-ending systems) - Stop warning about mixed comments being disallowed after consulting the Cucumber project through their Slack channel - Moved CI to GitHub Actions, because TravisCI minutes ran out [Fixed] - Fix passing UTF-8 data from sub-process spawned by `prove` plugin - Fix formatting UTF-8 TAP output collected during step execution 0.77 2021-02-10 [Added] - New option `--version` for `pherkin` [Changed] - Even more compact storage of language definitions [Fixed] - With `prove`, no location details are reported (as they are with regular Test::More tests), unless run in verbose mode which includes all non-failing output too (gh #176) - Require YAML v1.15 to fix failures seen on cpantesters - No exit status reported for tests run by the `prove` integration 0.76 2021-02-07 [Added] - Mention the `--strict` option for `pherkin` in SYNOPSIS - Added deprecation warning to 'data' accessor in Test::BDD::Cucumber::Model::Scenario [Fixed] - Warnings when processing empty feature files or files without a text after the `Feature:` keyword - Feature and scenario descriptions missing space on concatenated lines - Location of failed test in TAP output now points to the failed step, instead of somewhere inside `TAP::Harness` [Changed] - Scenarios defined by a scenario outline (`Examples:`) are now independent as in Cucumber; before, failure of a scenario in an outline would cancel all subsequent steps *and* scenarios -- now only steps are cancelled (skipped), but subsequent scenarios are run (gh #123) - Descriptions of tests no longer contain prefixed 'In ' - Dependency YAML::Syck switched to YAML (which wraps YAML::XS or YAML::PP, whichever is available); YAML has 3x more dependencies on CPAN, increasing chances of prior availability - Language definitions now stored as Perl instead of JSON for compactness and load speed [Removed] - Dependencies on Clone, List::MoreUtils, Number::Range 0.75 2020-12-28 [Fixed] - Passing multiple tags arguments to prove correctly intersects the sets; e.g. '--feature-option tags=@wip --feature-option tags=@daily' now correctly runs stricttly the scenarios matching both @wip and @daily - Tutorial.pod incorrectly stated --tags=@tag1,~@tag2 runs scenarios tagged '@tag1' except those tagged '@tag2': it runs all tagged '@tag1' and all *not* tagged '@tag2'. - Clarified difference between step definitions, step models and step execution contexts [Added] - Explanation in 'pherkin' how to pass tag patterns - Expanded explanation in Tuturial.pod how to pass tag patterns 0.74 2020-12-12 [Fixed] - Failure exit code from 'pherkin' does not work [Changed] - Synchronized translations with upstream i18n data 0.73 2020-08-24 [Added] - Allow Example variables to be used in Scenario Outline title [Fixed] - Failure to load Test::BDD::Cucumber::StepFile; throws error 'Modification of read-only value attempted' (gh #165) 0.72 2020-08-21 [Fixed] - Shebang of 'pherkin' script not replaced on 'make install' (gh #166) - Step dispatch handles data attribute incorrectly (gh #167) - Update copyright years 0.71 2020-05-02 [Fixed] - Feature file parser crashes on empty files - 'prove' plugin doesn't run 'post_execute' hooks 0.70 2020-04-19 [Fixed] - Due to hash key randomization, incompatible column sets were reported where in fact the sets are equal (with tests) 0.69 2020-04-19 [Fixed] - Multiple examples would always report incompatible column sets - Multiple examples trigger parser error due to accessing a deprecated scenario attribute 0.68 2020-04-18 [Added] - New --strict option for `pherkin` which causes an exit value of 1 when there are 'pending' or 'missing' steps [Fixed] - Too much code was running with $/ bound to `undef` when parsing Gherkin from file - NAME section missing in two modules causing Dist::Zilla to fail insertion of VERSION section [Changed] - Some improved error messages 0.67 2019-09-26 [Changed] - Add package statement to step files of core feature tests - Move Executor from Test2::API::context() to Test2::Bundle::More (for pass, fail and done_testing) to fix seemingly random failures. Fixes #155. [Added] - Full support for package declarations in step files 0.66 2019-09-22 [Fixed] - Harnass outputs 'Scenario' and 'Feature' instead of the actual keywords from the feature file (e.g. 'Szenario') [Changed] - Dependency listing clean up - Test2::API minimum dependency updated - META.json generation -- now includes 'provides' as CPANTS wants [Added] - Scenario descriptions are now included in output - Support for multiple Examples per scenario - Support for tags on Examples - Support for description blocks in Examples [Removed] - Test files in t/old/ -- not run as tests 0.64 2019-09-15 [Fixed] - Corrected List::Util dependency failing to declare 1.33 minimum 0.63 2019-09-15 [Deprecated] - Mixing steps with comments is not allowed in Gherkin; support for mixing steps and comments will be removed in v1.0 [Changed] - Gherkin parser refactoring for readability [Added] - Support for scenario descriptions: a block of explanatory text between the `Scenario:` keyword and the step lines 0.62 2019-09-09 - Fix regression in 0.61 with `prove` plugin printing TAP on STDOUT 0.61 2019-09-07 - Renamed Test::BDD::Cucumber::Harness::TestBuilder to Test::BDD::Cucumber::Harness::TAP for consistency with the other harnesses (which have output-based names) - Add support for step functions using Test2 - Added documentation of availability of meta data defined with step functions for use by extensions to the Architecture manual - Split dependencies by Runtime vs TestRequires 0.60 2019-08-31 - Added flag to make `pherkin` check for duplicate matching step functions to help debugging - Added option to specify meta data to step functions and use it in extensions; minimally available meta data identifies the file name and line where the step function has been defined - Added missing dependencies reported by CPANTS - Don't include README anymore, as there always has been a README.pod - Cleaned up release procedure: 0.58 and 0.59 were sloppy, including additional files from the working directory - Reformatted CHANGES to allow MetaCPAN to parse it 0.59 2019-08-29 - Increase minimum Perl version to 5.10 - Updated languge support from Cucumber upstream repository, adding support for: Armenian, Aragonese, Asturian, Azerbaijani, Bosnian, Emoji, Irish, Gujarati, Georgian, Macedonian (Cyrilic), Macedonian (Latin), Mongolian and Tamil - Documentation updates and (hopefully) clarification - Fix dist.ini (and META.{yml,json}) 'author' section - Add contributors in META.{yml,json} 0.58 2019-08-22 - Test::BDD::Cucumber has a new home: https://github.com/pherkin - Rename links (issues, PRs) to point to the new home - Reap finished child processes in the `prove` plugin `TAP::Parser::Iterator::PherkinStream` - Eliminate empty lines between successive feature 0.57 2019-04-09 - Add 'match mode'; don't run steps, only check matches against defined steps in step files - Fix the 'result' argument of the 'post_step' callback of of extensions; it used to always be 'failed' 0.56 2018-04-21 - Minor upgrade to minimum required Moo version to help try and flush out some CPAN smokers failure. 0.55 2018-04-11 - Fix a parsing bug with PyStrings at the end of a scenario, via latk https://github.com/pherkin/test-bdd-cucumber-perl/pull/127 0.54 2018-04-10 - Set output layers properly to UTF8, via ivanych https://github.com/pherkin/test-bdd-cucumber-perl/pull/126 0.53 2017-06-26 - Moose -> Moo, thanks to https://github.com/vti 0.52 2017-02-13 - Removed File::Slurp @ehuelsmann - Minor test fixes @ehuelsmann 0.51 2017-02-07 - Added a TAP source-handler for Cucumber files, should also allow for parallelization - Table and PyString interpolation fixes @ ehuelsmann - Localization examples for Spanish @ Gonzalo Barco - Doc Typos fixed @ Grant McLean - Fixed up JSON output @ Tomas Pokorny 0.50 2016-04-29 - ehuelsmann added placeholders to PyStrings 0.49 2016-02-29 - Special extensions syntax in config files added by ehuelsmann 0.48 2016-02-24 - Now without cruft that was lying around in the build dir 0.47 2016-02-23 - ehuelsmann adds extra documentation on extensions https://github.com/pherkin/test-bdd-cucumber-perl/pull/82 - ehuelsmann fixes which keys we allow in configuration files https://github.com/pherkin/test-bdd-cucumber-perl/pull/81 0.46 2016-02-15 - Spelling mistakes fixed https://github.com/pherkin/test-bdd-cucumber-perl/issues/75 - Table quoting fixed https://github.com/pherkin/test-bdd-cucumber-perl/issues/50 - Extensions gains setup and teardown methods https://github.com/pherkin/test-bdd-cucumber-perl/pull/78 - Works on old Perls again: https://github.com/pherkin/test-bdd-cucumber-perl/issues/79 0.45 2016-02-11 - Removed Moose cleanliness method from Test::BDD::Cucumber::Extension 0.44 2016-02-09 - Add extensions! See Test::BDD::Cucumber::Executor and Test::BDD::Cucumber::Extensions for details. Work by ehuelsmann: https://github.com/pherkin/test-bdd-cucumber-perl/pull/66 0.41 2016-02-09 - pherkin command line options can now be read from config files, based on a patch by ehuelsmann - Scenario outline handling now works properly with i18n, thanks ehuelsmann https://github.com/pherkin/test-bdd-cucumber-perl/pull/71 - Storable dependency removed, thanks ehuelsmann https://github.com/pherkin/test-bdd-cucumber-perl/pull/69 - Various spelling mistakes fixed - thanks James McCoy 0.40 2016-01-02 - Step redispatching 0.39 2015-10-25 - Proper support for Test::Builder's BAIL_OUT() added 0.38 2015-10-25 - Fixed error message when fail_skip is set on Test::Builder harness - Made pherkin -I work again 0.37 2015-08-24 - Allow specification of extra step files and directories in `pherkin` 0.36 24 Aug 2015 - Don't require Devel::FindRef 0.35 2015-06-21 - Fixed the Test::Builder wrapping issue discussed at: https://github.com/pherkin/test-bdd-cucumber-perl/pull/61 Output from Test::Exception should now be properly captured. - Updated git repository all over the places 0.34 2015-04-21 - JSON formatter tests now Win32 compatible 0.33 2015-04-20 - JSON formatter uses filename/line based IDs rather than memory-location ones, thanks Tomas Pokorny - Minor App::pherkin refactor to make harness an attribute, thanks Tomas Pokorny - $ENV{ANSI_COLOR_DISABLED} checked for definedness, not truth in deciding whether to colourize output in some situations; thanks Tomas Pokorny - Minor typo fixes, thanks 'poum', 'Chylli' 0.32 2014-12-23 - Colour themes for TermColor harness, fixes https://github.com/pherkin/test-bdd-cucumber-perl/issues/35 - Command-line options are now passed through https://github.com/pherkin/test-bdd-cucumber-perl/pull/49/files - Both of these are based on a patch from benningm 0.31 2014-10-09 - Specified a minimum version of File::Slurp in response to a private bug report 0.30 2014-08-27 - Use core module Digest::SHA instead of Digest::SHA1 https://github.com/pherkin/test-bdd-cucumber-perl/issues/45 0.29 2014-08-26 - Tried to fix Win32 issue again - Remove FindBin::libs - Installs cleanly on 5.8 again 0.28 2014-08-26 - Fixed the JSON outputter test on Win32 to use Path::Class 0.27 2014-08-25 - Added JSON output support, courtesy of Tomas Zemres - Some useful minor patched via Paul Cochrane - Ran the whole thing through perltidy 0.26 2014-06-21 - Fixed a bug relating to skipped steps in TermColor output https://github.com/pherkin/test-bdd-cucumber-perl/issues/40 - Changed examples/ to use C->matches 0.25 2014-06-08 - Highlight parameters properly in TermColor output using @+ and @- https://github.com/pherkin/test-bdd-cucumber-perl/issues/24 0.24 2014-06-07 - Replacing string `eval` with block `eval` for requiring test harnesses - thanks Paul Cochrane - Module metadata now points to repository and bug tracker - thanks Peter Rabbitson - Removed Ouch 0.23 2014-06-05 - Another attempt to fix up the weird regex test bug - Remove our experiment with ShareDir 0.22 2014-06-04 - Some PerlCritic-ish fixes from Paul Cochrane - Updated copyrights, again from Paul Cochrane - There's some weird-ass bug with $1 not getting set properly, sometimes, on perl's older than 5.14. I can't reproduce, and virtually identical examples act differently. Also I can't reproduce it. Rewritten the test itself to go via ->matches 0.21 2014-06-03 - Now works with 5.10.0 again 0.20 2014-06-03 - Adding missed dependency from Paul Cochrane 0.19 2014-04-24 - Removed Method::Signatures dependency - Added C and S step file shortcut subrefs - Added Internationalization support, thanks to some sterling work by Gregor Goldbach and Pablo Duboue 0.18 2014-04-06 - Removed Find::File dependency in StepFile.pm 0.17 2013-12-01 - the Calculator module should now be hidden from the PAUSE indexer - The scenario stash wasn't being reset between each Outline Scenario execution. 0.16 2013-12-01 - Default behaviour from pherkin is to suppress colours when outputting to not a tty; thanks (for this, and much of the stuff in 0.15) to rjp: https://github.com/pherkin/test-bdd-cucumber-perl/pull/11 - Try and use Win32::Console::ANSI if on Windows https://github.com/pherkin/test-bdd-cucumber-perl/issues/13 - Before and After Hooks now implemented highflying: https://github.com/pherkin/test-bdd-cucumber-perl/pull/15 - Step Placeholder Transform now implemented - Step line number now displayed on failing steps (TestBuilder output) - Fixed bug where results from skipped steps were not being added to the overall results - Run tagged scenarios rjp: https://github.com/pherkin/test-bdd-cucumber-perl/pull/15 highflying: https://github.com/pherkin/test-bdd-cucumber-perl/pull/10 0.15 2013-05-21 - pherkin now accepts an output type via -o, eg: pherkin -o TestBuilder ; pherkin -o TermColor This is a partial solution to: https://github.com/pherkin/test-bdd-cucumber-perl/issues/8 - Use the original verb that the test file used https://github.com/pherkin/test-bdd-cucumber-perl/issues/9 0.14 2013-05-04 - Actually apply the Test::Builder 1.5 stuff 0.13 2013-05-04 - Command-line options for pherkin thanks to cursork - Reintroduced the "auto_corpus" tests, and made them work 0.12 2012-05-17 - Fixed tag-related issues, thanks to Craig Caroon https://github.com/pherkin/test-bdd-cucumber-perl/issues/5 0.11 2012-05-20 - Correct Term::ANSIColor dependency https://github.com/pherkin/test-bdd-cucumber-perl/issues/4 0.10 2012-05-02 - Changed dependency from Clone::Fast to Clone, because the following bug stopped it being installed without a force... https://rt.cpan.org/Public/Bug/Display.html?id=65485 0.09 2012-04-28 - Fixed a few spelling mistakes - Added a minimal man page to pherkin - Both as reported by intrigeri@boum.org 0.08 2012-04-23 - Removed some OmniOutliner artifacts. Ooops. - Fixed a spelling mistake - Both as reported by intrigeri@boum.org 0.07 2012-04-01 - Started migration away from Ouch - Added tags at a code-level (but not to pherkin, yet) 0.06 2012-03-31 - Fixed up the behaviour of Background sections, to run before each and every Scenario. See: https://github.com/pherkin/test-bdd-cucumber-perl/issues/3 Bug reported by: intrigeri@boum.org - `pherkin` now returns a non-zero exit code if tests failed, as per: https://github.com/pherkin/test-bdd-cucumber-perl/issues/1 0.05 2012-03-18 - Yet another feature parsing bug, relating to empty lines after scenarios 0.04 2012-01-14 - Fixed a bug relating to recognizing newlines after the end of Scenario tabular data, as reported by Graham TerMarsch 0.03 2012-01-03 - Unbroke the test suite :-P Left a bit too many development pieces in there - Added a new Data Harness - Tidied up the parser - Switched the harnesses to use ::Model::Result, which mirrors Cucumber's result types - Added step data to colour output - Got the core cucumber-tck thingies passing - Various bits of documentation enhancements 0.02 2011-12-20 - Added extra docs, and a few tiny bug fixes