Releases: mpareja/gearshaft
v0.10.1: inert write substitute (2020-01-02)
Highlights
- messaging: write substitute is not bound to in-memory message store by default. Writes are no-ops that always succeed - stream expected version checking is not performed. Use the rich set of assertion methods provided by the substitute to validate a message was written with the corrrect expected version.
Commits
v0.10.0: minor usability enhancements (2020-01-01)
Highlights
- message-store: ease creation of entity stream names from a category.
- messaging: add convenience method
assertStreamWritesInitialfor asserting a set of writes occurred at the start of a stream. - messaging: bug fix: raise correct error when asserting a set of writes occurred but no writes were made
Commits
v0.9.0: consumer group support (2019-12-22)
Highlights
- consumer: support parallel processing via consumer groups.
- message-store: support filtering messages in a category by consumer group.
Commits
- (
ef90298) package: upgrade pg to 7.15.1 - (
95f6969) message-store: support configuring group size/member via env variable - (
1f37027) consumer: support consumer group - (
535b99c) message-store: getCategory: support consumer groups - (
8ff542b) message-store: StreamName: support parsing cardinal id - (
10db52a) tools: add release note generator - (
b94a969) CHANGELOG: reformat commit sections
v0.8.0: support correlated messaging
Highlights
- message-store: messages read from a category can now be filtered by supplying a
correlationcategory name. - consumer: a consumer can now ignore messages unrelated to its workflows by specifying the
correlationoption. Only messages with acorrelation_stream_namematching the suppliedcorrelationcategory will be consumed. - BREAKING: get/read now accept position as a named option rather than positional parameter.
Commits
fc713f0 message-store: add basic getStream benchmark
43ee2e7 benchmark: include node version in results
dfa4370 consumer: use benchmark library and adjust result schema accordingly
77aebc9 benchmark: add writeStatsFile
9def2f8 benchmark: add computeStats and getSystemInfo functions and tests
f47e19f consumer: move bulkWrite and cycle out of consumer
c74695b consumer: update noop-consumer benchmark results
cbff5ca message-store: get supports filtering by correlation stream name
df85ec0 message-store: get/read now accept position as named option
d2b909e message-store: read: position is supplied as named option
v0.7.1: use @eventide/message-db package for database
Highlights
- BREAKING: Gearshaft now depends on @eventide/message-db for the Postgres message store. Existing databases must be migrated.
- Message stores now export
getCategoryandgetStreamfunctions for working explicitly with category streams and entity streams. - CONTRIBUTORS: Ruby is no longer required for working on Gearshaft!
Commits
161f624 package: bump version to 0.7.0
f743a1a tools: github workflow no longer needs ruby
fa6f86e consumer: use getCategory explicitly
0461df0 message-store: memory: export getCategory and getStream
1948f2e message-store: exports getCategory & getStream, separate tests
aaedd43 message-store: add examplePutCategory
e4c1ae5 errors: add assertTruthy
e63d4ba messaging: use assertStrictEqual
16d2bb6 errors: add assertStrictEqual
ada490a message-store: separate category and stream get implementations
30ef27f package: leverage @eventide/message-db
v0.7.0: --- skipped ---
The publish for 0.7.0 mysteriously disappeared. The publish completed successfully, and npm sent out publish completed email, but the new version never appeared in the registry.
v0.6.0: improved experience for implementing handler test cases
Highlights
- Adds
EntityStoreSubstitutewhich can be used by handler test suites wanting to exercise different states of an entity. Entities can be added to an instance ofEntityStoreSubstitutevia theaddfunction. assertNoWriteshas been added toWriterSubstitute. Test suites can now assert no writes have occurred to a specific stream or any streams all together.
Commits
2fae100 entity-store: don't nest entity under record metadata
1531ccd package: upgrade dev dependencies
0326775 entity-store: introduce EntityStoreSubstitute
f267a59 messaging: write substitute: add assertNoWrites assertion
v0.5.0: entity-store: add fetchRecord support
Highlights
- EntityStore now supports obtaining the version of the entity being fetched via the
fetchRecordfunction. Additional metadata will be made available once entity caching support is added.const [ entity, { version } ] = store.fetchRecord(id)
v0.4.0: follow enhancements
Highlights
follownow supports providing an object with additional fields. Additional fields areObject.assigned together with fields from the message being followed before the subsequent message is created.follownow looks for a static method namedcreateon the constructor of the subsequent message. If acreatemethod is found,followwill call it to build the subsequent message rather than using the class constructor and assigning fields. Thecreateimplementation is responsible for assigning fields to the returned message instance. This is an ideal place to introduce message schema validation.
Commits
bc827d7 messaging: follow: support providing additional fields
1509ccf package: upgrade dependencies
3e3e1c3 messaging: follow supports custom message creation
v0.3.1: messaging: write substitute: accept message store
Highlights
createWriterSubstitutenow supports specifying a message store. A message store instance can be used when exercising a handler that writes (via the substitute to benefit from assertions) and reads from the message store.
Commits
0e5fd2e messaging: write-substitute: accept message store
ec629b8 package: add way to browse dependency graph
ed7a682 package: consumer: normalize importing of examples