CHANGE LOG
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
Added
- Initial Perl implementation (#1670 ehuelsmann)
Changed
Deprecated
Removed
Fixed
17.0.1 - 2021-07-19
Fixed
- [Ruby]
seconds_to_durationconvert nanos to an integer to match the json schema (#1655)
17.0.0 - 2021-07-08
Added
- Added
Ci#buildNumberfield (#1632 #1606 aslakhellesoy) - [Ruby] Generate DTOs from the json schemas to avoid usage of plain ruby hashes (#1574 #1605)
- [Java] Added various overloads to
JSONto work with streams efficiently
Changed
- BREAKING Move
willBeRetriedfield fromTestStepResulttoTestCaseFinished(#902 #1631) - [Go] Move module paths to point to monorepo (#1550)
- [Java] Removed implicit utility class constructors and made classes final
16.0.1 - 2021-05-24
Fixed
- [JavaScript]
addDurationsworks with legacy messages that representsecondsas astring.
16.0.0 - 2021-05-15
Added
- [Ruby] The generated code is added to Git. (#1461 aslakhellesoy)
- [JavaScript] Added
getWorstTestStepResultfunction (moved from@cucumber/query)
Changed
- [Go, Java, JavaScript, Ruby] The library no longer depends on protocol buffers. The message classes are generated from JSON Schemas.
(#1414
aslakhellesoy)
- Empty
stringproperties are set to""rather than being omitted. - Empty
Arrayproperties are set to[]rather than being omitted. - The
secondsproperty onTimestampandDirationis now anumberrather than astring.
- Empty
- [Go, Java, JavaScript, Ruby] Packages and structs have changed:
- [JavaScript]: Import with
import * as messages from '@cucumber/messages' - [Ruby] Messages are now plain ruby hashes with camelCase symbol keys instead of objects with snake_case properties.
- [JavaScript]: Import with
15.0.0 - 2021-03-23
Added
- [All] Added tags to Rule node (#1356 [sebrose], [gasparnagy], brasmusson, [WannesFransen1994])
Removed
- [JavaScript] moved code that depends on Node.js stream APIs to
@cucumber/message-streams
Fixed
- [Elixir] Make sure messages.proto is updated with ../messages.proto
- [Elixir] Generated new message modules based on the new messages.proto file
14.1.2 - 2021-03-23
Fixed
- [JavaScript] revert breaking changes in 14.1.1 (#1437)
14.1.1 - 2021-03-22
Fixed
- The 14.1.0 release failed half way through due to build script problems.
14.1.0 - 2021-03-22
Added
- [All] Added tags to Rule node (#1356 [sebrose], [gasparnagy], brasmusson, [WannesFransen1994])
Fixed
- [Elixir] Make sure messages.proto is updated with ../messages.proto
- [Elixir] Generated new message modules based on the new messages.proto file
14.0.1 - 2021-02-08
Fixed
- [JavaScript] Remove
Longfrom function signatures inTimeConversion
14.0.0 - 2021-02-05
Changed
- [JavaScript] The stream classes have to be imported separately:
import { MessageToBinaryStream, MessageToNdjsonStream, BinaryToMessageStream, NdjsonToMessageStream} from '@cucumber/messages/dist/src/stream'(#1331) - In JavaScript, Int64 fields are now typed as
number, rather thannumber|Long
Fixed
- [JavaScript] removed circular dependencies. (#1292 [davidjgoss] aslakhellesoy)
13.2.1 - 2020-11-19
Fixed
- In case a line cannot be parsed as JSON, throw an error with the offending line in the exception message.
13.2.0 - 2020-11-12
Added
- Elixir implementation (#1175 [WannesFransen1994])
13.1.0 - 2020-09-14
Added
- Add
Attachment#url. This makes it possible to "detach" attachments so the main stream gets smaller and the attachments can be processed/downloaded separately with more ease. (#1183 aslakhellesoy)
Fixed
- Ignore empty lines rather than throwing an error.
13.0.1 - 2020-08-07
Fixed
- Release again since the 13.0.0 release didn't fully sync to subrepos
13.0.0 - 2020-08-07
Changed
- Move
JavaMethodandJavaStackTraceElementto be children ofSourceReference
12.4.0 - 2020-07-31
Added
- Suggested file name to the Attachment messages (#1128)
- Added ProtocolVersion to access messages version reliably (#1127 mpkorstanje)
12.3.2 - 2020-07-29
Fixed
- Release process for 12.3.1 failed
12.3.1 - 2020-07-29
Fixed
- Release process for 12.3.0 failed
12.3.0 - 2020-07-29
Added
- Add
JavaMethodandJavaStackTraceElementasSourceReference(#1120)
Fixed
- [Ruby] Fix computing of Timestamp (see cucumber-ruby#1438)
12.2.0 - 2020-06-26
Added
- Added field
citoMetamessage.
12.1.1 - 2020-04-21
Fixed
- [Ruby] Add
VERSIONfile to gem, soMessages::Envelope::VERSIONworks
12.1.0 - 2020-04-21
Added
- Expose the library version through the API
- Java:
io.cucumber.messages.Messages.Envelope.class.getPackage().getImplementationVersion() - Ruby:
Messages::Envelope::VERSION - JavaScript:
import { version } from '@cucumber/messages'
- Java:
- Add
Metamessage (#976 aslakhellesoy) - [Java] Upgrade to
cucumber-parent:2.1.0(needed to expose library version) (#976 aslakhellesoy)
12.0.0 - 2020-04-14
Added
- Add
idfield toBackground,RuleandExamples. Needed for search engine indexing.
Changed
- Some messages have been nested under other messages (removal of other messages) made it possible to scope them more locally
Removed
- Several messages that weren't used have been removed (#962 #951 aslakhellesoy)
Fixed
- Ignore unknown fields when parsing JSON. This is to ensure forward and backward compatibility when using JSON encoding (NDJSON). (#959 #957 aslakhellesoy mpkorstanje)
11.1.1 - 2020-03-30
Fixed
- The #932 pull request wasn't actually included in 11.1.0
11.1.0 - 2020-03-30
Added
- [JavaScript] Add
#addDurationsfunction toTimeConversion(#932 charlierudolph)
11.0.1 - 2020-03-30
Fixed
- Release process
11.0.0 - 2020-03-30
Changed
Attachment#textandAttachment#binaryhave been replaced withAttachment#body, andAttachment#content_encodinghas been added. (#947 aslakhellesoy)
10.0.3 - 2020-03-05
Fixed
- 10.0.2 release process failed.
10.0.2 - 2020-03-02
Fixed
- [JavaScript] make stream readable/writable object modes explicit. Better buffer handling.
- [Ruby] Don't depend on the
jsongem, since it only installs on Windows with a C compiler toolchain. Thejsongem is part of the Ruby stdlib. - [Go] Increase max size of a JSON message to 10Mb (#901 #903 aslakhellesoy)
10.0.1 - 2020-02-13
Fixed
- The 10.0.0 release failed.
10.0.0 - 2020-02-13
Added
- Add
UndefinedParameterType(#890 aslakhellesoy) - Add
TestCaseFinished#message(#890 aslakhellesoy)
Changed
- Rename
TestResulttoTestStepResult(#890 aslakhellesoy)
Fixed
- Ruby: Fixed rounding errors in
TimeConversion
9.0.3 - 2020-01-10
Fixed
- Ruby: Fix inclusion of generated lib/messages.pb.rb
9.0.2 - 2020-01-10
- Ruby: Fix error in gemspec
9.0.1 - 2020-01-09
Fixed
- Fixed release scripts for Go and JavaScript
9.0.0 - 2020-01-09
Added
- Added
ParameterTypeas an envelope message
Changed
- Renamed module name from
cucumber-messagestomesssages(#850 aslakhellesoy) - Use pure Ruby protobuf in order to avoid problems with Ruby 2.7.0 and JRuby. (#813 #843 mvz aslakhellesoy)
- A
TestCasenow has a list ofStepMatchArgumentsListrather than a list ofStepMatchArgument. This allows aTestCaseto hold matches from more than oneStepDefinition, which is possible in the case of ambiguous matches. - Renamed
content_typefields tomedia_type - Removed the
Mediamessage - Attachments can have one of
string textandbytes binaryas thebody
Removed
- Removed
TestCase#test_result. Aggregate results will be computed bycucumber-queryinstead
8.0.0 - 2019-12-10
Added
- Added
testStepIdandtestCaseStartedIdtoAttachment(#814 charlierudolph) - Added new classes for working with NDJSON streams
- Added new
TimeConversionutilities for converting between protobufTimestamp/Durationand the platform's representation of timestamps (clock time) and duration (monotonic time)
Changed
- Renamed some of the classes for dealing with streams
7.0.0 - 2019-11-14
Added
- Support retry (#722 charlierudolph)
Changed
- Added more reference ids and removed deprecated/reserved fields (#790 #794 vincent-psarga aslakhellesoy)
6.0.2 - 2019-10-16
- [Java] Fix shading of
com.google.protobuf.util
6.0.1 - 2019-10-03
Fixed
- [Go] Release 6.0.0 is unusable.
6.0.0 - 2019-10-02
Added
- New
TestStepMatchedmessage Durationmessage to express duration in a seconds + nano format- field
durationinTestResultmessage
Changed
- Renamed
PatternMatchtoStepMatchArgument - Renamed
CommandRunTestStep#patternMatchestoCommandRunTestStep#stepMatchArguments - Replace Google's Timestamp by our own message
Removed
durationNanoSecondsfield inTestResultmessage
5.0.1 - 2019-08-23
Fixed
- [Go] Fix module version (5.0.0 left it at v4)
5.0.0 - 2019-08-23
Changed
- The ordinal numbers of the
Statusenum have changed, to easier compute an aggregated status.
Fixed
- [JavaScript] Don't swallow exceptions happening in
ProtobufMessageStream
4.0.0 - 2019-08-14
- [Go] Append v4 to go module name to comply with the go.mod spec
3.0.5 - 2019-08-14
Fixed
- [Go] Tag the cucumber/messages-go subrepo (again)
3.0.4 - 2019-08-14
Fixed
- [Go] Tag the cucumber/messages-go subrepo (again)
3.0.3 - 2019-08-14
Fixed
- [Go] Tag the cucumber/messages-go subrepo
3.0.2 - 2019-08-01
Added
- Add Timestamp property and comments to TestRunFinished message (#665 SabotageAndi
3.0.1 - 2019-07-15
Added
- [.NET] Publish NuGet package (#635 SabotageAndi aslakhellesoy vincent-psarga)
3.0.0 - 2019-06-05
Added
- Added
TestRunStarted#timestampfield (#615 david1995) - Added
TestCaseStarted#platformfield (#626 #616 david1995)
Changed
- Use an enum for the
encodingfield. - Misc changes for
cucumber-engine(#549)
Deprecated
Removed
Fixed
2.1.2 - 2019-03-29
Fixed
2.1.1 - 2018-11-02
Fixed
- Release process improvements
2.1.0 - 2018-11-01
Added
- Add testResult to the TestCaseFinished message (#488 brasmusson)
2.0.0 - 2018-10-14
Added
- Several messages to support cucumber-engine (#502 charlierudolph)
1.1.2 - 2018-10-01
Added
- Added
TestHookStartedandTestHookFinishedto distinguish between messages about Gherkin steps and hooks (aslakhellesoy)
1.0.0 - 2018-09-15
Added
- Protobuf messages for Go, Java, JavaScript, TypeScript and Ruby