The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

0.86  2023-08-12
       - 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
       - Filtering scenarios by tags regressed in 0.85
       - Tests for tag-filtered scenarios

0.85  2023-08-11
       - Tag filters now use the Cucumber Tag Expressions format (see
       - Minimum Perl version is now 5.14
       - Scenario's `data` attribute removed (deprecated since 4 years)

0.84  2023-07-24
       - Test failures with Perl 5.39.1 due to trying to import
         from File::Spec

0.83  2022-10-30
       - Updated keyword translations from upstream Cucumber project
0.82  2021-08-23
       - 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
       - Remove cruft from released archive (by expanding .gitignore)
0.80  2021-07-18
       - UTF-8 in test output double encoded
       - Tutorial example references `use_ok`, which does not exist in
       - Step redispatching with step data now work (with documentation)
0.79  2021-03-19
       - Fix parallel testing support in the `prove` plugin (prove '-j' support)
0.78  2021-03-19
       - 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
       - 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
       - New option `--version` for `pherkin`
       - Even more compact storage of language definitions
       - 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
       - Mention the `--strict` option for `pherkin` in SYNOPSIS
       - Added deprecation warning to 'data' accessor in
       - 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`
       - 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
       - Dependencies on Clone, List::MoreUtils, Number::Range
0.75  2020-12-28
       - 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
       - Explanation in 'pherkin' how to pass tag patterns
       - Expanded explanation in Tuturial.pod how to pass tag patterns
0.74  2020-12-12
      - Failure exit code from 'pherkin' does not work
      - Synchronized translations with upstream i18n data
0.73  2020-08-24
      - Allow Example variables to be used in Scenario Outline title
      - Failure to load Test::BDD::Cucumber::StepFile; throws error
        'Modification of read-only value attempted'  (gh #165)
0.72  2020-08-21
      - 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
      - Feature file parser crashes on empty files
      - 'prove' plugin doesn't run 'post_execute' hooks
0.70  2020-04-19
      - Due to hash key randomization, incompatible column sets were reported
        where in fact the sets are equal (with tests)
0.69  2020-04-19
      - 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
      - New --strict option for `pherkin` which causes an exit value of 1
        when there are 'pending' or 'missing' steps
      - 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
      - Some improved error messages
0.67  2019-09-26
      - 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.
      - Full support for package declarations in step files
0.66  2019-09-22
      - Harnass outputs 'Scenario' and 'Feature' instead of the actual
        keywords from the feature file (e.g. 'Szenario')
      - Dependency listing clean up
      - Test2::API minimum dependency updated
      - META.json generation -- now includes 'provides' as CPANTS wants
      - Scenario descriptions are now included in output
      - Support for multiple Examples per scenario
      - Support for tags on Examples
      - Support for description blocks in Examples
      - Test files in t/old/ -- not run as tests
0.64  2019-09-15
      - Corrected List::Util dependency failing to declare 1.33 minimum
0.63  2019-09-15
      - Mixing steps with comments is not allowed in Gherkin;
        support for mixing steps and comments will be removed in v1.0
      - Gherkin parser refactoring for readability
      - 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:
    - Rename links (issues, PRs) to point to the new home
    - Reap finished child processes in the `prove` plugin
    - 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
0.54  2018-04-10
    - Set output layers properly to UTF8, via ivanych
0.53  2017-06-26
    - Moose -> Moo, thanks to
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
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
    - ehuelsmann fixes which keys we allow in configuration files
0.46  2016-02-15
    - Spelling mistakes fixed
    - Table quoting fixed
    - Extensions gains setup and teardown methods
    - Works on old Perls again:
0.45  2016-02-11
    - Removed Moose cleanliness method from
0.44  2016-02-09
    - Add extensions! See Test::BDD::Cucumber::Executor and
      Test::BDD::Cucumber::Extensions for details. Work by ehuelsmann:
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
    - Storable dependency removed, thanks ehuelsmann
    - 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:
      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
    - $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
    - Command-line options are now passed through
    - 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
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
    - Changed examples/ to use C->matches
0.25  2014-06-08
    - Highlight parameters properly in TermColor output using @+ and @-
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
    - 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
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
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
    - Try and use Win32::Console::ANSI if on Windows
    - Before and After Hooks now implemented
    - 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
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:
    - Use the original verb that the test file used
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
0.11  2012-05-20
    - Correct Term::ANSIColor dependency
0.10  2012-05-02
    - Changed dependency from Clone::Fast to Clone, because the following
      bug stopped it being installed without a force...
0.09  2012-04-28
    - Fixed a few spelling mistakes
    - Added a minimal man page to pherkin
    - Both as reported by
0.08  2012-04-23
    - Removed some OmniOutliner artifacts. Ooops.
    - Fixed a spelling mistake
    - Both as reported by
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:
      Bug reported by:
    - `pherkin` now returns a non-zero exit code if tests failed, as per:
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