Releases: NitorCreations/nflow
Releases · NitorCreations/nflow
v1.0.0
- nflow-engine
- New API between nflow-engine and workflow implementations (StateExecution --> NextAction)
- Added JavaDoc to public API
- Support for multiple start states
- Disallow overloading state methods in WorkflowDefinitions
- Add executor_group to nflow_workflow_uniq index
- Change nflow_workflow.external_id to not null in database
- Use binary backoff for errors by default. Add builder for WorkflowSettings.
- Set nflow_workflow.state_text only when retrying
- Rename instantiateNull to instantiateIfNotExists (@StateVar annotation)
- Check that busy loop next activation is never before now plus small activation delay
- nflow-rest-api
- REST API from v0 to v1 context
- Add externalId to ListWorkflowInstanceResponse
- nflow-tests
- Use fail-fast rule for integration tests
- Code cleanup
- Changed bean names to camelCase
- Replace System.currentTimeMillis with DateTimeUtils.currentTimeMillis
v0.3.1
- Do not log exception, when "Race condition in polling workflow instances detected" happens
- Make dispatcher wait "random(0,1) * short wait time" after race condition (so that probability for race condition lowers in the next poll)
- Sort workflow instances by id before trying to reserve them in dispatcher (otherwise deadlocks may occur)
- Removed pollNextWorkflowInstanceIds from nflow-engine public API
v0.3.0
- Spring 3.2.x compatibility (previously only 4.0.x)
- Divided nflow-engine API to internal and public java packages
- Added 'executor group' concept: nFlow engines update heartbeat in database; workflow instances reserved for dead engines are auto-recovered
- integration to metrics library http://metrics.codahale.com/
- Starting nFlow engine through Spring lifecycle listener
- Allow custom ThreadFactory for creating nFlow threads
- Handle request data attached to workflow instances as state variable
- Timestamps (created, modified, etc) always set by database
- Splitted RepositoryService into WorkflowInstanceService and WorkflowDefinitionService
- Service for waking up workflow instances
- REST API: always return timestamps in ISO-8601 format
- Use 'official' JodaModule for DateTime (de)serialization
- Workflow instance idempotency management moved from nflow-rest to nflow-engine
- Support for legacy MySql databases (5.5 or below)
- Support for MariaDB 5.5.5
- Coveralls - GitHub integration
- Manual and end states no longer require handler methods; unexistent handler method causes workflow instance to be descheduled
- If no next state defined, workflow instance is put to error state
- Bug fix: state variables were saved multiple times, if the next workflow step was immediately executed
v0.2.0
- Choose database through Spring profile (nflow.db.h2, nflow.db.mysql, nflow.db.postgresql)
- Improved workflow instance dispatcher
- Improved integration test framework (nflow-tests)
- Increased unit test coverage
- Travis CI build against all supported databases for both openjdk7 and oraclejdk8
- Custom serialization through JacksonJodaModule instead of NflowJacksonObjectMapper
- Support for MySql 5.5.x
v0.1.0
- Initial public version