7ee5f09c6d
6.0.15 - 2018-10-31 Added * (Go) Executables are uploaded to GitHub releases. Fixed * Fix bug where leading tabs prevented parser from identifying keywords (#512 [VjacheslavVytjagov]) * [JavaScript] Fix JavaScript build (#499 noisygerman) 6.0.13 - 2018-09-25 This major release aligns Gherkin with Example Mapping, a collaborative technique for designing scenarios and discovering details about rules and behaviour. A new Rule keyword has been introduced, and acts as a grouping of one or more Examples - a new synonym for Scenario. The Scenario Outline keyword can now be interchanged with the Scenario keyword, which makes Gherkin a little less confusing, especially to beginners. These are the first major change to the Gherkin grammar in 8 years or so, and we're pretty excited about them. We hope they will guide people towards thinking of scenarios as examples of business rules rather than a series of form submissions and link clicking. This rule-focused style engages product owners, and can act as amazing living documentation of your product. It opens up for the true benefits of BDD - a business-friendly format for describing and agreeing on software behaviour, and a guide to development. Developers will code against this spec, and produce better (simpler) software faster. The software will do what it says on the tin. The new Gherkin grammar is backwards compatible, meaning that existing Gherkin documents are still valid. The library API however is not backwards compatible. It is now a stream-like API which produces a stream of messages (source, AST and pickle messages). Internally, each library shells out to a go executable (embedded in the library for all major OSes and processor architectures), and communicates via STDIN/STDOUT using protocol buffers. The rationale behind this architectural change is to reduce the maintenance burden (a single parser rather than a dozen), but also to make it quicker and easier to implement a Gherkin library in a new language. Just generate some protobuf classes/structs and write a small program that shells out and communicates using those messages. Our preliminary benchmarks suggest that performance is comparable to the native implementations, or better. There is a small hit in startup cost, but this is offset against a higher throughput of the parser. At the time of this writing Gherkin 6 is nearly integrated in Cucumber-JVM and Cucumber-Ruby. Integration with Cucumber.js has not started and we would really welcome some help with that. The message protocol will continue to evolve to represent runtime information such as results, parameter types, cucumber expressions and other metadata. This will make it easier for the community to build plugins for Cucumber. One HTML Gherkin formatter to rule them all. Statistic plugins and more. Added * (TypeScript) - Added TypeScript definitions (.d.ts) for Gherkin. * Added Rule keyword (#250 aslakhellesoy) * Added Example as synonym for Scenario in English and many other languages. This is to align Gherkin with BDD and Example Mapping terminology. (aslakhellesoy) * Added Ukoliko as an additional synonym for Given, in Croatian. (#480 banovotz) Changed * (JavaScript,Java,Ruby) The native parsers are removed. Parsing is done by gherkin-go executables which are bundled with the published libraries. (aslakhellesoy, [jaysonesmith]) * (JavaScript,Java,Ruby,Go) Scenario keyword (or Example keyword) can be used to create Scenario Outline. (#353 aslakhellesoy) Removed * (Java) OSGi support has been removed. (#412 aslakhellesoy) Fixed * (JavaScript) Fix ability to pass language to parser. (#401 charlierudolph) |
||
---|---|---|
.. | ||
ALTERNATIVES | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST |