- Added
setFilters(array)
method toGherkin
class - Added
NarrativeFilter
for non-englishRoleFilter
lovers
- Fix parsing of features without line feed at the end
- Added
getKeyword()
andgetKeywordType()
methods toStepNode
, deprecatedgetType()
. Thanks to @kibao
- Properly handle tables with rows terminating in whitespace
- Handle case where Gherkin cache is broken
- Fixed the compatibility with PHP 5.6-beta by avoiding to use the broken PHP array function
- The YamlFileLoader no longer extend from ArrayLoader but from AbstractFileLoader
- Fixed scenario tag filtering
- Do not allow multiple multiline step arguments
- Sync 18n with cucumber
- Changed the behavior when no loader can be found for the resource. Instead of throwing an exception, the Gherkin class now returns an empty array.
- Dropped the dependency on the Symfony Finder by using SPL iterators directly
- Added testing on HHVM on Travis. HHVM is officially supported (previous release was actually already compatible)
- All paths passed to PathsFilter are converted using realpath
- Add
ComplexFilterInterace
that has complex behavior for scenarios and requires to pass feature too TagFilter
is an instance of aComplexFilterInterace
now
- Example node is a scenario
- Nodes do not have uprefs (memory usage fix)
- Scenario filters do not depend on feature nodes
- All paths passed to PathsFilter are converted using realpath
- TableNode is now traversable using foreach
- All possibly thrown exceptions implement Gherkin\Exception interface
- Sync i18n with cucumber
- Extend ExampleNode with additional methods
- Extract
KeywordNodeInterface
andScenarioLikeInterface
- Add
getIndex()
methods to scenarios, outlines, steps and examples - Throw proper exception for fractured node tree
- Use versioned subfolder in FileCache
- A lot of optimizations in Parser and Lexer
- Node tree is now immutable by nature (no setters)
- Example nodes are now part of the node tree. They are lazily generated by Outline node
- Sync with latest cucumber i18n
- Fix leaks in memory cache
- Fix encoding bug introduced with previous release
- Sync i18n with cucumber
- Explicitly use utf8 encoding
- Support
an
prefix with RoleFilter
- Add RoleFilter
- Add PathsFilter
- Add MemoryCache
- Fix dependency version requirement
- Features filtering behavior change. Now emptified (by filtering) features that do not match filter themselves are removed from resultset.
- Small potential bug fix in TableNode
- Fixed bug in i18n syncing script
- Resynced Gherkin i18n
- Support long row hashes in tables (see)
- Synced Gherkin i18n
- Fixed issue with loading empty features
- Synced Gherkin i18n
- Fixed exception message for "no loader found"
- Fixed minor loader bug with empty base path
- Synced Gherkin i18n
- Added ability to filter outline scenarios by line and range filters
- Synced Gherkin i18n
- Refactored table parser to read row line numbers too
- Fixed StepNode
getLanguage()
andgetFile()
- Features freeze after parsing
- Implemented GherkinDumper (@Halleck45)
- Synced i18n with Cucumber
- Updated inline documentation
- Fixed caching bug, where
isFresh()
always returned false
- Added parser caching layer
- Added support for table delimiter escaping (use
\|
for that) - Added LineRangeFilter (thanks @headrevision)
- Synced i18n dictionary with cucumber/gherkin
- Synced i18n dictionary with cucumber/gherkin
- Fixed issue about parsing features without indentation
- Background titles support
- Correct parsing of titles/descriptions (hirarchy lexing)
- Migration to the cucumber/gherkin i18n dictionary
- Speed optimizations
- Refactored KeywordsDumper
- New loaders
- Bugfixes
- Read feature description even if it looks like a step
- Removed file loading routines from Parser (fixes
is_file()
issue on some systems - thanks @flodocteurklein)
- Updated spanish trasnaltion (@anbotero)
- Integration with Composer and Travis CI
- Updated pt language step types (@danielcsgomes)
- Updated vendors
- Return all tags, including inherited in
Scenario::getTags()
- New
Feature::getOwnTags()
andScenario::getOwnTags()
method added, which returns only own tags
- Fixed comments parsing. You can’t have comments at the end of a line # like this
- Added
getRaw()
method to PyStringNode - Updated vendors
- Updated vendors
- Fixed bug, introduced with 1.0.4 - hash in PyStrings
- Fixed inability to comment pystrings
- Fixed introduced with 1.0.2 pystring parsing bug
- Fixed bugs in text with comments parsing
- Updated vendors
- Updated vendors
- Windows support
- Missing phpunit config
- Huge optimizations to Lexer & Parser
- Additional loaders (Yaml, Array, Directory)
- Filters (Tag, Name, Line)
- Code refactoring
- Nodes optimizations
- Additional tests for exceptions and translations
- Keywords dumper
- New Parser & Lexer (based on AST)
- New verbose parsing exception handling
- New translation mechanics
- 47 brand new translations (see i18n)
- Full test suite for everything from AST nodes to translations