Skip to content

Releases: NitorCreations/nflow

v1.0.0

16 Oct 19:51
Compare
Choose a tag to compare
  • 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

02 Sep 19:00
Compare
Choose a tag to compare
v0.3.1 Pre-release
Pre-release
  • 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

02 Sep 19:03
Compare
Choose a tag to compare
v0.3.0 Pre-release
Pre-release
  • 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

02 Sep 19:03
Compare
Choose a tag to compare
v0.2.0 Pre-release
Pre-release
  • 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

02 Sep 19:04
Compare
Choose a tag to compare
v0.1.0 Pre-release
Pre-release
  • Initial public version