Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Unreleased
10.0.0 - 2026-06-11
Changed
- [NET] - Upgraded Test project dependencies and adjusted test code due to breaking changes in MSTest v4.
- BREAKING CHANGE: [JavaScript] Switch to ESM (#280)
9.1.0 - 2026-02-17
Changed
- [JavaScript] Expose named export and type (#251)
9.0.0 - 2026-01-25
Changed
- [Java] Set release version to 17 (#220)
8.1.0 - 2025-11-26
Added
- [.NET] Add a .NET implementation
Fixed
- Render the empty tag expression as an empty string (#222)
- Improve error message for missing operands (#221)
8.0.0 - 2025-10-14
Fixed
- [Perl] Fix building release artifacts (#214)
Removed
- [Python] Dropped support for end-of-life Python versions from
2to3.9(#215)
7.0.0 - 2025-10-03
Changed
- [Ruby] Minimum ruby version is now bumped from
2.3to2.6(With minor refactors to the parser) (#204) - [Ruby] Speed up
Parser#parseby removing redundantnilsafety check - [Python] PEP 639 licence metadata specification (#211)
6.2.0 - 2025-05-25
Added
- [PHP] Add new implementation (#194)
6.1.2 - 2025-01-29
Added
- [All] Run CI testing only for relevant areas of the codebase (#186)
- [Python] Extended documentation and type hints within docstrings (#182)
- [Ruby] Support the testing in CI on later rubies (#185)
6.1.1 - 2024-10-28
Changed
- [Python] Use the new action cucumber/action-publish-pypi in release process (#147 #172 #178)
- [Ruby] Fixed up remaining simple cops and began to reduce complexity of code (#158)
6.1.0 - 2024-01-10
Added
- [Python] Support the feature of escaping also in Python (#144)
Fixed
- [Python] Added workflow to release to Pypi (#145, #146, #20)
- [Ruby] Fixed up around 75% of all rubocop offenses (#138)
6.0.0 - 2023-10-13
Added
- [Ruby] Initial rubocop gems and basic compliance added (More work to come) (#133)
Changed
- [Ruby] Minimum ruby version is now bumped from 1.9 to 2.3 (#133)
Fixed
- [Perl] Include README.md and LICENSE in the release tarball (by ehuelsmann)
5.0.6 - 2023-08-13
Fixed
- [Perl] Fixed test failures when running tests out-of-tree by restricting testdata based tests to run in development only (ehuelsmann)
5.0.5 - 2023-08-11
Fixed
- [Perl] Fixed inclusion of CHANGELOG.md causing release to fail(ehuelsmann)
5.0.4 - 2023-08-10
Fixed
- [Perl] Corrected working directory for CPAN upload action (ehuelsmann)
5.0.3 - 2023-08-10
Fixed
- [Perl] Fixed CPAN upload in release process (ehuelsmann)
5.0.2 - 2023-07-15
Added
Fixed
Not.to_string()conversion has unneeded double-parenthesis if binary operator is contained (#94 jenisys)
5.0.1 - 2023-01-03
Fixed
- [Java] Fix scm and project urls
5.0.0 - 2023-01-02
Added
- [JavaScript] Support for EcmaScript modules (aka ESM). (#5)
- [Java] Enabled reproducible builds
Changed
- Only allow escape character
\in front of(,),\or whitespace. Throw error otherwise. (#17)
Deprecated
Fixed
- [Perl] Fixed missing dependency as well as new syntax in the tests (#15 ehuelsmann)
- Document escaping. (#16, #17)
- [Ruby, Perl] Empty expression evaluates to true
- [Go] Fix module name (#82)
Removed
4.1.0 - 2021-10-08
Added
- [Perl] Add new implementation (#1782 ehuelsmann)
Fixed
- [Go, JavaScript, Java, Ruby] Support backslash-escape in tag expressions (#1778 yusuke-noda)
4.0.2 - 2021-09-13
Fixed
- [Python] Remove call to deprecated
2to3library causingpip installto fail (#1736 krisgesling)
4.0.0 - 2021-09-02
Changed
- [Go] Move module paths to point to monorepo (#1550)
3.0.1 - 2021-03-31
Fixed
- Previous release 3.0.0 did not publish to npm for some reason. Re-releasing.
3.0.0 - 2020-06-11
Added
- [Java] Enable consumers to find our version at runtime using
clazz.getPackage().getImplementationVersion()by upgrading tocucumber-parent:2.1.0(#976 aslakhellesoy)
Changed
- [Java] Updated
TagExpressionParserto use a static method to parse a tag expression and return anExpressionobject to the user. - [Java] Reduced public API to the bare minimum required.
- [Java] Added more informative error messages for
TagExpressionParserthrough theTagExpressionException. (#1005 cyocum
2.0.4 - 2020-01-10
Changed
- [JavaScript] changed module name to
@cucumber/tag-expressions
2.0.3 - 2019-12-10
Changed
- [Java] Upgrades to
cucumber-parent:2.0.2 - [Ruby] Renamed gem to
tag-expressions
Removed
- [Ruby] Removed
tag-expressionsexecutable
2.0.2 - 2019-07-15
Fixed
- Fix incomplete 2.0.1 release
2.0.1 - 2019-07-15
Fixed
- Fix incomplete 2.0.0 release
2.0.0 - 2019-07-10
Added
- [Go] New implementation. (#339 charlierudolph)
Changed
- [JavaScript] Changed API to return a
parsefunction rather than a class with aparsemethod. - [JavaScript] Refactored to TypeScript
Fixed
Removed
- [Java] OSGi support has been removed. (#412 aslakhellesoy)
1.1.1 - 2017-12-01
Fixed
- [Java] Fix OSGI exported package (#309 by mpkorstanje)
1.1.0 - 2017-11-28
Added
- [Ruby] Added
tag-expressionscommand-line tool for tag expressions (#282 by aslakhellesoy) - Escape special chars in tags (#286 #285 by link89)
Fixed
- Don't support RPN (#304 by aslakhellesoy)
- Parse empty tag expressions (always evaluates to true) (#296 by aslakhellesoy)
1.0.1 - 2017-05-28
Fixed
- [JavaScript](#76 #78 #104 by charlierudolph)
- [Java] Make the jar a bundle to support OSGi (#99 by brasmusson)
- Add a changelog (#213 by aslakhellesoy)
1.0.0 - 2016-09-01
Added
- First stable release!