- mongodb: useUnifiedTopology
- catch throwing errors during command handling
- Fix for validation error(s) swallowing thanks to ssipos90
- update eventstore
- update eventstore
- update deps and eventstore
- add edge case error handling on main command handler
- update deps and eventstore
- update eventstore
- prepare previousModel before evaluating preConditions in order to prevent model mutation inside them
- updated node-eventstore and added optional position property to event
- updated node-eventstore and lodash dependencies
- pass error constructors to customLoader
- update node-eventstore dependency
- add option for asynchronous custom structureLoader thank to nanov
- update eventstore
- generated rejectedCommand for AggregateDestroyedError now contains revision information (if provided)
- introduce event transformers; to give possibility to be GDPR compliant
- remove deprecated option max_attempts from redis options
- update eventstore
- update eventstore
- compatibility with new mongodb version (3.x)
- Use of node loader extensions for valid file types of parsing definition sources #113 thanks to repkins
- update eventstore
- update eventstore
- update eventstore
- update eventstore
- update eventstore
- fixing dynamodb DocumentClient initialization #105 thanks to Glockenbeat
- Support default exports #104 thanks to IRT-fbachmann
- Added non-breaking option for asynchronous command validation. #99 thanks to velislav-bankov
- correct resolve revision for commands that have no aggregate or context specified #92 thanks to velislav-bankov
- update eventstore
- fix for new mongodb driver
- make command handling faster for some use cases
- fix for defining ignoring snapshots
- update eventstore
- reactivate ignoring snapshots
- fix preLoadConditions check
- update eventstore
- possibility to set payload to '' if there is a defaultPayload in handlers
- update deps
- possibility to disable persistence on an aggregate
- update deps
- update eventstore
- Do not overwrite user-provided meta properties #85 thanks to jwoudenberg
- update eventstore
- update eventstore
- update eventstore
- update eventstore
- update eventstore
- update eventstore
- update eventstore
- introduce applyLastEvent in combination with skipHistory on aggregate
- update eventstore
- update eventstore
- redis, mongodb: call disconnect on ping error
- update eventstore
- Support mongo connection string
- update eventstore
- redis, mongodb: call disconnect on ping error
- update eventstore
- Support for custom conditions before aggregates are locked #76 thanks to hilkeheremans
- update eventstore
- redis: added optional heartbeat
- update eventstore
- fix version handling for command validation
- version property for command validation rules
- updated eventstore
- introduce skipHistory on aggregate
- little optimization for old folder structure in structureLoader
- little optimization for structureLoader
- fix snapshot mongodb usage (ATTENTION: this could break if you have existing snapshots)
- fix for usage without an aggregate name
- redis: fix for new redis lib
- mongodb: added optional heartbeat
- fix initialization of generalContext
- fix event check before setting the event to undispatched
- IMPORTANT: extending the validator (tv4) is done differently, getTv4() not working anymore
- added migration api: defineEventStreamsToLoad for command to ensure business rules
- give possibility to use mongodb with authSource
- update eventstore
- optimization for
npm link
'ed development
- improved a little bit the performance whan applying a lot of history events
- catch throwing errors when calling callback
- expose warnings during initialization
- update eventstore
- introduce defineIgnoreSnapshot function on aggregate
- added optional command de-duplication
- fix calculation of snapshots
- added possibility to use real BusinessRuleError object in pre-conditions and business rules
- update eventstore and make use of its commitStamp functionality
- added more detailed infos for some ValidationErrors
- refactored reorderValidationRules
- extend apply function to pass version
- little fix in structureLoader, general preConditions
- added aggregateIdGenerator
- added defineAggregateIdGenerator
- update eventstore
- update eventstore
- made some performance improvements
- update eventstore
- attach aggregate preConditions to all commands #28
- fix priority of preConditions
- optimize structureParser
- allow setting values on aggregateModel only in event handle function
- fix handling when command does not generate any event
- update eventstore
- fix usage with own db implementation
- catch thrown errors in validation workflow
- expose error prototypes
- added getInfo function
- fix snapshot creation call
- optimized catching of thrown error in businessRules and preConditions
- expose tv4 instance
- IMPORTANT: removed tv4-formats
- introduce existing flag in command
- update some dependencies
- handle case of same aggregateId in different contexts or aggregates
- added possibility to define pre-conditions for all commands of an aggregate
- update eventstore dependency
- address #27
- add possibility to define multiple pre-conditions per command
- fix pre-conditions
- introduced pre-conditions
- update eventstore dependency
- update eventstore dependency
- update eventstore dependency
- clone command and event payload before passing to handle function
- fixes a major bug for concurrent command handling of same aggregate instance
- fixes #22 thanks to zauberpony
- optimize structureLoader (case if directory starts with same name)
- do not extend the command if no aggregateId is presented
- add possibility to define defaultCommandPayload and defaultEventPayload in aggragate
- add additional validation formats for tv4 #21 thanks to zauberpony
- use new version of eventstore
- fix for fallback for file and directory names
- allow to not pass an event function in defining an event
- do not try-catch errors in domain handle
- fix some callback arguments of aggregateLock
- fix handling of command without command validation
- fix multiple adding of same definition
- remove debug in redis
- refactored whole module
- added possibility to define aggregateId, aggregate and context
- generic message structure for commands and events
- command validation changed, now based on tv4
- added a lot of tests
- stabilized everything
- optimized performance
- IMPORTANT: changed API!!!
- do not use newer eventstore version
- do not use newer viewmodel version
- updated node-queue
- send commandRejected event with better reason
- added optional callback on commandhandler defaultHandle
- optimization for npm module naming
- updated eventstore
- introduce versioned messages and snapshots
- fixed naming of handleUndispatchedEvents option
- updated eventstore
- update dependencies
- load sagas always from db
- introduced commandLock for distributed domain (handling same aggregate instance on multiple machines)
- buffer commands by aggregate id
- don't publish in eventstore but publish in domain
- removed flags: publishingInterval, forkEventDispatching
- added handleUpdispatchedEvents flag
- fix for async business rules (issue #13)
- fix commandDispatcher if no commandqueue is used
- a complete change of validation rules (see new rule-validator)
- added disableQueuing flag
- strip .js file extensions to enable loading of .coffee scripts too
- added forcedQueuing flag
- added optional snapshotThreshold on aggregate
- asynchronous api for saga
- optimized performance a little
- updated eventstore package
- optimized initialization