# License

All the software included in this distribution is distributed under Apache license V2 unless for these exceptions:

- We are including slightly modified source code of the Apache Licensed JUEL 2.2.1, created by Odysseus Software GmbH.

# Documentation

- 10 Minute Tutorial
- The User Guide
- Javadocs

# Links

- Activiti User Forum
- Activiti Developer Forum (for Activiti development itself)
- Activiti bug tracking system

A more elaborate collection of Activiti-links can be found on the Activiti Community page

# Activiti Release Notes

### Release Notes - Activiti - Version 5.22.0

#### Highlights

This release contains an important bug fix. A concurrency bug caused when deleting a variable (task or process variable) and attempting to save the delete variable event.

All changes:

## Bug

- [ACT-1968] - Custom Database schema on PostgreSQL not working
- [ACT-4113] - REST Task API Not working: /service/runtime/tasks?assigneeLike=XX and service/runtime/tasks?ownerLike=YY
- [ACT-4193] - Bug in 'Like' expressions in Activiti Rest?
- [ACT-4199] - DefaultDeploymentCache uses non thread safe HashMap
- [ACT-4212] - Mutating list variable for users in parallel multi instance tasks causes floating executions

## Task

- [ACT-4210] - Add category as query param and json field for Task Rest API

## Improvement

- [ACT-4074] - Activiti Spring Boot REST API starter does not use IdentityServiceUserDetailsService
- [ACT-4206] - Webservice endpoint address should be customizable

### Release Notes - Activiti - Version 5.21.0

#### Highlights

This release contains some quite important bugfixes, more specifically

- it fixes some cases where the end time was not set for activities in a process definition under certain conditions.
- A concurrency bug was discovered when using delegateExpressions together with field injection. Make sure to read the updated documentation section on the use of 'delegateExpression'.

Included in this release is the 'secure scripting' feature (for javascript), which allows to execute scripts in a secure way. You can find the documentation in the 'advanced' section of the user guide.

All changes:

## Bug

- [ACT-2081] - taskCandidateOrAssigned doesn't work with custom GroupEntityManager and UserEntityManager
- [ACT-4090] - Boundary timer with fixed number of repeats fires all events at once when attached to nested activity
- [ACT-4152] - Task Category not included in query result under MS SQL Server 2012
- [ACT-4171] - End time incorrectly set on multi-instance subprocess historic activity
- [ACT-4172] - DelegateExpression usage not thread-safe
- [ACT-4176] - End time not correctly set on historic activity
- [ACT-4185] - NullpointerException occured on referring HistoricVariableUpdate(Serializable Type)
- [ACT-4186] - ConcurrentModificationException when event listener removes itself
- [ACT-4189] - Process diagram generator: support multiple pools
- [ACT-4190] - Job with null due date is never picked up again
- [ACT-4181] - fix or queries containing processDefinitionKey clause eliminated adhoc tasks from result set
- [ACT-4184] - Fetching historic task with task local and process variables returns current task variables

## New Feature

- [ACT-4166] - Support for multiple signal start events
- [ACT-4167] - Support for multiple timer start events
- [ACT-4177] - Secure scripting feature
- [ACT-4179] - Allow to set business calendar on timer event definition
- [ACT-4180] - Process diagram generator: allow to change font for annotations
- [ACT-4182] - Query historic variables with a list of execution/task ids
- [ACT-4183] - Explorer: omitting the protocol (scheme) in order to preserve the protocol of the current page
- [ACT-4187] - Make variable limit configurable when fetching variables
- [ACT-4188] - Add support for associations in auto layout and diagram generator

## Improvement

- [ACT-2146] - Consider switching around the firing of TaskListeners and ActivitiEventListeners

### Release Notes - Activiti - Version 5.20.0

#### Highlights

This is a bugfix release (mainly fixing the bug around losing message and signal start event subscriptions on process definition redeployment, see ACT-4117).

## Bug

- [ACT-2163] - Fix some bugs and optimize display on text in workflow drawing
- [ACT-4051] - Spring Boot support does not discover processes in external JARs
- [ACT-4097] - Subprocess start events not present in historic activity instance list
- [ACT-4101] - NPE when there are multiple routes to terminateEndEvent, and both are reached
- [ACT-4109] - Database exception when using both processInstanceId and executionId on HistoricVariableInstanceQuery
- [ACT-4112] - Subscribed Event Deleted after the related process is redeployed (MySQL database)
- [ACT-4117] - Signal and Boundary event subscription are lost when deploying a new process definition version
- [ACT-4118] - Signal and Message start event are not restored when deleting the latest version of a deployment
- [ACT-4119] - Stale ProcessDefinition cache when modifying the suspensionState
- [ACT-4130] - Unused assignment and possible integer overflow
- [ACT-4131] - Message events are not restored after deployment for processes with tenant id
- [ACT-4137] - Historic process instance endTime not set when using terminate end event

## Task

- [ACT-4091] - Tasks list empty in executionEntity
- [ACT-4104] - Boundary message event isn't exported

## Improvement

- [ACT-4064] - Missing some search filters in "Get historic task instances" REST service

### Release Notes - Activiti - Version 5.19.0

#### Highlights

- We introduced a new service DynamicBpmnService that allows you to change a defined set of properties of a process definition without needing to redeploy http://bpmn20inaction.blogspot.com/2015/10/adding-dynamic-behaviour-to-activiti.html
- Improved support for the terminate end event. According to the BPMN spec a terminate end event should only terminate the current scope. So in case of a multi instance sub process, a terminate end event inside that multi instance sub process should only kill a single instance and the rest of the instances (of the multi instance) will continue. And in case a call activity kicks off a sub process, a terminate end event in the sub process will only kill the sub process instance, and the parent process will continue. We've added a new attribute on the terminate end event (activiti:terminateAll) that allows you to terminate all parent scopes if the value is set to true. By default only the current scope is killed.
- ACT-4072 was fixed, a repeating timer (time cycle) now works according to the defined duration values
- Various bug fixes

Check out the Release notes for more details

#### Bug fixes and various smaller improvements

## Bug

- [ACT-1768] - Revision of same variable is always zero
- [ACT-2129] - Activiti can't store string variables with length >2000 and <4000 characters in oracle db
- [ACT-2163] - Fix some bugs and optimize display on text in workflow drawing
- [ACT-3997] - Validate bpmn components for max length
- [ACT-4066] - Timer Start Event ignores Time Cycle value if iteration count not present
- [ACT-4069] - Activiti Spring Boot REST API starter incompatible with Spring Boot HATEOAS starter
- [ACT-4079] - NullPointerException in DbSqlSessionFactory.isBulkInsertable() when Custom Entity is inserted
- [ACT-4084] - Multi instance parallel task fails with empty collection

## New Feature

- [ACT-4010] - Design tools should support message artifact - what is the runtime implementation for registering custom messages?

## Task

- [ACT-4045] - enable shared process definitions per tenants
- [ACT-4072] - Repeating timer with no repetition bound does not follow duration
- [ACT-4080] - Verify terminate end behavior

### Release Notes - Activiti - Version 5.18.0

#### Highlights

- We introduced bulk inserts. For more information you can read more about it in this blog post http://www.jorambarrez.be/blog/2015/07/20/the-activiti-performance-showdown-2015/
- We enhanced the OR query support, it's now possible to use multiple OR parts in one query
- Improvements to the async executor we introduced in Activiti 5.17.0. There were some cases that could result in deadlock exceptions and that's resolved in this version.
- Improvements to the Activiti Modeler with terminate end events, cancel event and transaction support, and more intermediate catch and throw event support. Also, improvements to interrupting and non-interrupting solid and dashed line for boundary events.
- Upgraded Spring dependency version to 4.1. Activiti is still working with Spring 4.0.x and 3.x as well
- Various bug fixes

#### Known issues

- There's a known issue with Chrome and the Activiti Explorer / Vaadin 6. You can get a blank screen in the details part of the Explorer. This is a known issue for Vaadin 6 and Chrome 43 and 44. There are bug fixes under way with Chrome 45, so that might fix it. Other browsers like Firefox work fine.

#### Backwards incompatible changes

- https://activiti.atlassian.net/browse/ACT-2186 : When variables are removed, the historic variable entry is also removed. In earlier versions, the value of the historic variable was set to null.
- https://activiti.atlassian.net/browse/ACT-4036 : when using an execution listener for the start event, in combination with multi instance, the behavior is changed. In 5.18, there will be one extra invocation of the execution listener (when entering the multi instance, without the loopCounter variable being said). For more information, check the section Multi instance and execution listeners in the user guide.

#### Bug fixes and various smaller improvements

Check out the Release notes for more details

## Bug

- [ACT-2100] - Compensation event endTime is not logged
- [ACT-2173] - Add support of import relative to the BPMN description
- [ACT-2175] - NPE when retrieving a local variable with a null value multiple times
- [ACT-2176] - SkipExpression support is not completing skipped user tasks
- [ACT-2179] - unable to use Date process variable in timeDuration
- [ACT-2182] - Historic process instance query is missing columns for MS SQL
- [ACT-2185] - Unexpected behavior calling a suspended process as a called activity
- [ACT-2186] - Historic variable is not removed when variable is removed
- [ACT-2188] - New Modeler - Missing "cancelActivity" in the BoundaryMessageEvent
- [ACT-2194] - NPE when using parallel multi-instance on embedded subprocess
- [ACT-2195] - Int type for data object not working in Activiti Designer
- [ACT-2198] - Exporting/importing model changes name of Message
- [ACT-2199] - Boundary Signal Event ignores "cancel activity" flag
- [ACT-2203] - Fix potential null pointer deferences and other
- [ACT-2210] - Add support for terminate event in Modeler
- [ACT-2217] - JPAEntityScanner / EntityMetaData cannot deal with Id methods defined in generic super classes
- [ACT-2219] - Wrong redirected URI when converting a deployed process to editable model
- [ACT-2220] - An enum type form property in model designed in Activiti modeler does not show during execution
- [ACT-2221] - Admin completed instances > show variable id instead of name
- [ACT-2231] - type ENUM not supported in Activti 5.17
- [ACT-2232] - Activiti REST not support Groovy script
- [ACT-2236] - Import of process model corrupts boundary events
- [ACT-3999] - ClassCastException when importing a WSDL
- [ACT-4001] - CxfWsdlImporter does not import correctly inherited types
- [ACT-4011] - Duplicate event when deleting a candidate group
- [ACT-4012] - IllegalArgumentException when invoking a service task requiring a date
- [ACT-4021] - Asynchronous tasks on model created via the AngularJS modeler are handled as synchronous ones
- [ACT-4022] - TimerStartEvent with Time Cycle fires erratically
- [ACT-4025] - Problem import / export task listeners in Alfresco Modeler
- [ACT-4026] - DB2/LINUXPPC64 not supported by the Activiti workflow engine
- [ACT-4032] - Activiti Explorer fails to render this process when uploaded
- [ACT-4034] - ProcessDefinitionQuery doesn't account for tenantId
- [ACT-4035] - async executor with all jobs set to exclusive executes in parallel
- [ACT-4036] - Multi instance: loopCounter is null in the first iteration
- [ACT-4038] - Database product name support for DB2 for z/OS
- [ACT-4041] - formKey return value is null when using taskQuery with includeProcessVariables()
- [ACT-4042] - BulkInsert fails on DB2 (zos)

## Improvement

- [ACT-2066] - Add index on ACT_HI_TASKINST(PROC_INST_ID_)
- [ACT-2135] - Limit copied camel properties to activiti
- [ACT-2189] - Extension elements are not parsed from Lane definition
- [ACT-2200] - "call-activity" element click to related diagram in Eclipse activiti designer.(solved)
- [ACT-2233] - Unable to override DbSqlSessionFactory via spring config
- [ACT-4013] - Support for TerminateEndEvent in AngularJS Modeler
- [ACT-4014] - Handle the bulk insert queries at db level

## New Feature

- [ACT-1662] - New methods processDefinitionIds(Set<String> processDefinitionIds) and processDefinitionKeys(Set<String> processDefinitionKeys)
- [ACT-1832] - Provide full support for TerminateEndEvent
- [ACT-2008] - Support Attachments in MailActivityBehavior
- [ACT-2196] - Query Tasks by multiple process instance ids
- [ACT-2205] - Query historical processes by multiple process definition keys
- [ACT-4004] - Add support for conditional events
- [ACT-4005] - Add support for compensation boundary events, compensation intermediate throwing Events and compensation handlers
- [ACT-4029] - Allow tasks, historic task instances and executions to be queried by a list of process definition keys
- [ACT-4033] - Add execution id to Camel exchange for calling specific instance of a task

## Task

- [ACT-4000] - HistoricVariableInstanceQuery does not support filtering by executionId
- [ACT-4017] - Display BPMNs correctly when coordinates are negative
- [ACT-4028] - Issue with DrawMultilineText method

### Release Notes - Activiti - Version 5.17.0

#### Highlights

- We introduced a fully tested and brand new Async executor, which supersedes the old Job executor. The new Async executor uses less database queries to execute asynchronous jobs and is more performant in general. By default the Activiti Engine still uses the old Job executor, so you have to explicitly choose for the new Async executor by setting the asyncExecutorEnabled property in the process engine configuration. For more details you can look at the advanced section of the user guide.
- The Activiti Modeler is fully revised and is implemented using Angular JS. This is donated from the Alfresco Activiti BPMN editor that's part of the Alfresco Activiti Enterprise offering. The new Angular JS Activiti Modeler is LGPL licensed. Note that some dialogs are not yet ported to the new Activiti Modeler, but you'll also find quite a bit of new functionality, including Mule and Camel tasks and being able to define a sequence flow order for an exclusive gateway. Any help with adding new features is really appreciated.
- The user guide has been revamped with a rewrite to AsciiDoc
- It's now possible to start a process instance a skip tasks based on a skipExpression. This is very handy when you are migrating process instances to the Activiti Engine (thanks to Robert Hafner for the pull request).
- We added a new module named activiti-jmx to the Activiti project, which enables JMX for the Activiti Engine. Read Saeids blog for more details (thanks Saeid).
- Variable fetching has been optimized for process instances and executions in general.
- The database upgrade scripts use a different minor version than the JAR version. With the 5.17.0 release, the database version is 5.17.0.2. This versioning enables us to release snapshots and still be able to upgrade from a snapshot release to a stable release. For a 5.17.1 release the database version will be 5.17.1.x where x can be any number. So only the last minor version number can differ from the Activiti Engine release version.

#### Specific notes

- Note that the version number is 5.17.0 instead of 5.17. Make sure you use version 5.17.0 for your Maven dependency.

#### Bug fixes and various smaller improvements

Check out the Release notes for more details

## Bug

- [ACT-1527] - ProcessDiagramGenerator misses instructions for message start event
- [ACT-1544] - Asynchronous Continuations join exception
- [ACT-1849] - Null pointer exception when deploying a workflow created by Activiti explorer integrated workflow editor
- [ACT-1900] - RuntimeService.getVariables(String, Collection) fetches all variables from DB
- [ACT-2061] - Suspicious instanceOf test
- [ACT-2062] - FeatureDescriptor's setValue method will not accept a null value
- [ACT-2068] - update for redundant namespace usage
- [ACT-2071] - Non executable processes are no validation failure
- [ACT-2083] - Autolayout fails with subprocess data objects
- [ACT-2084] - TaskService.unclaim(taskId) does not fire an ActivitiEvent
- [ACT-2088] - drawEventBasedGateway does not work
- [ACT-2093] - the label of sequenceFlow is wrong
- [ACT-2096] - Deadlock while concurrently finishing process instances on MSSQL
- [ACT-2102] - Duplicate condition in 'if' statement
- [ACT-2103] - Sql bug with task query when using OR statement
- [ACT-2116] - Fix unreachable code in org.activiti.engine.test.api.event.DatabaseEventLoggerTest
- [ACT-2120] - JobRetryCmd doesn't use tenantId to query the activity
- [ACT-2145] - Activiti Modeler UserTask form property expression problem
- [ACT-2151] - Deployment fails when Intermediate Event is waiting for same message as start message
- [ACT-2155] - Boolean field form is converted to String
- [ACT-2157] - Activiti diagram drawing missing some nodes
- [ACT-2159] - Infinite loop when using multi instance service task
- [ACT-2164] - The converter BPMN to XML does not manage correctly /definitions/message/@itemRef
- [ACT-2166] - Missing ${prefix} before ACT_ID_MEMBERSHIP in script /org/activiti/db/mapping/entity/Task.xml
- [ACT-2168] - Standard XML preamble is missing on SOAP request sent
- [ACT-2171] - NPE, integrity constraint violation, and timers firing after task completion on processes with certain combinations of timers, messages, and user tasks

## Improvement

- [ACT-2089] - Task sorting on due date needs to place those with due date null after those with a duedate
- [ACT-2091] - Add likeIgnoreCase for most used properties with like query
- [ACT-2092] - Create parent interface for TaskQuery and HistoricTaskInstanceQuery that groups all common methods
- [ACT-2094] - New method "getVariableInstances()" on VariableScopeImpl

## New Feature

- [ACT-1963] - Data Object support for Activiti Modeler
- [ACT-2073] - Document custom identity link feature in User Guide
- [ACT-2074] - add support for custom identity links to Modeler

### Release Notes - Activiti - Version 5.16.4

#### Highlights

- First implementation of a new lock free job executor (New job executor wiki). Note that exclusive jobs and suspended process instances are not supported yet.
- Restlet has been replaced with Spring MVC for the REST API

#### Implementation changes

- https://activiti.atlassian.net/browse/ACT-2071: A deployment must always contain at least one executable (property 'isExecutable' on the process element) process definition to be deployable. However, a deployment can now contain process definitions that are not executable. Before, any non-executable process definition would result in a validation error. Now, these are warnings which do not prevent the deployment.

### Release Notes - Activiti - Version 5.16.1

#### Highlights

- Bug fix for database constraint issue, introduced in 5.16
- Basic OR query support for process instances and task. You can now query with one OR statement chain included using the query api

### Release Notes - Activiti - Version 5.16

#### Highlights

- Added Spring boot support and more Spring annotation support in general (thanks to Josh Long)
- Refactoring of the job executor to simplify its logic and prevent possible long wait times.
- Added new event log table that stores process engine events when wanted, by default this is switched off.
- Introduction of Crystalball, which is an experimental new project that allows you to replay and simulate process instances (Thanks to Martin)
- Upgraded to Spring 4.x and Restlet 2.2.x
- Various fixes and improvements

#### Bug fixes and various smaller improvements

Check out the Release notes for more details

## Bug

- [ACT-1945] - Empty diagram produces xml parse error
- [ACT-1955] - Can not use table-driven editor (Kickstart) with LDAP-User
- [ACT-1977] - 5.15.1 release missing activiti-process-validation jar file
- [ACT-1978] - Obsolete signal subscriptions are not being removed, causing signals to be fired in old process definitions
- [ACT-1988] - Camel routes containing activiti consumers cannot be adviced.
- [ACT-1995] - ExtensionElement does not parse correctly and xml generation contains redundant namespace declarations
- [ACT-2000] - custom attribute parser fails with empty string for namespace
- [ACT-2005] - NPE ValuedDataObjectXMLConverter class for empty-valued data objects
- [ACT-2016] - Tenancy does not work for call activity
- [ACT-2023] - Optimize namespace usage - redundant namespace usage in XML
- [ACT-2026] - Modeler workspace never opens
- [ACT-2027] - MessageEventDefinitionParseHandler does not set extension elements.
- [ACT-2033] - Camel component cannot be multi instance
- [ACT-2042] - runtimeService.deleteProcessInstance does not set process instance end time when current activity is a scope
- [ACT-2047] - Incorrect self comparison of value with itself
- [ACT-2048] - Redundant null check in org.activiti.engine.impl.persistence.entity.JobEntity
- [ACT-2049] - Multi tenancy support is not working in case of duplicate filtering while deploying processes
- [ACT-2050] - Suspicious equals() test in org.activiti.engine.impl.persistence.entity.DeploymentEntityManager
- [ACT-2052] - Subprocess DataObjects created in wrong scope.
- [ACT-2055] - Subprocess extensions are not getting parsed
- [ACT-2056] - Incorrect 'contains' comparison
- [ACT-2057] - Equals method for ValuedDataObject should use .equals()
- [ACT-2058] - Null deference possible
- [ACT-2059] - Redundant null test in execute method
- [ACT-2060] - Method uses the same code for two branches

## Improvement

- [ACT-1987] - Portuguese brazilian translation of Activiti
- [ACT-2002] - Upgrade Restlet & Jackson libraries
- [ACT-2037] - Performance - Bulk deletion of variables at process end
- [ACT-2051] - Code change: a null check is not needed before using instanceof.

## New Feature

- [ACT-1996] - DiagramGenerator does not give possibility to change icons for custom service tasks
- [ACT-2011] - Expose formKey on Task
- [ACT-2038] - Custom IdentityLinkType support

## Wish

- [ACT-2013] - support candidateGroupIn for runtime tasks in activiti-rest

### Release Notes - Activiti - Version 5.15.1

#### Highlights

- Bug fix release for a MySQL upgrade issue (more details here)
- Some small improvements from pull requests

### Release Notes - Activiti - Version 5.15

#### Highlights

- Multi tanancy support added to Activiti, including the Java and REST API.
- Added new event support to listen for events in the Activiti Engine, like task deleted, variable updated, process engine created and many more.
- Introduction of data object support (thanks to Lori Small and team)
- Improved Spring support with great and easy to use annotations (thanks to Josh Long)
- Added an easy way to do custom sql execution (http://www.jorambarrez.be/blog/2014/01/17/execute-custom-sql-in-activiti/)
- Improved OSGi support + added OSGi unit testing using Tinybundles
- Various fixes and improvements

#### Bug fixes and various smaller improvements

Check out the Release notes for more details

## Sub-task

- [ACT-1608] - Fix DB2 metadata problem

## Bug

- [ACT-1339] - MultipleInstance UserTask does not use AtomicOperation -> CDI Event Listener fails
- [ACT-1549] - endTime of joining parallel gateway is not set: HistoricActivityInstance.getEndTime() returns null
- [ACT-1589] - NPE when executing SignalThrowingEvent
- [ACT-1610] - DbSqlSession isTablePresent method adds table prefix which causes check to fail
- [ACT-1627] - Save task will throw assignment-event even if assignee is not altered
- [ACT-1712] - Duplicate task when signal is sent to User Task
- [ACT-1733] - REST API documentation for Task Query points to wrong URL
- [ACT-1745] - ProcessDiagramGenerator misses some diagram flow elements and truncates labels
- [ACT-1752] - In BpmnDeployer, only schedule start timers AFTER process definition has been persisted
- [ACT-1794] - LDAP - Group lookups for a user fail if the DN has special characters
- [ACT-1795] - lineChart report hasn't been rendered
- [ACT-1816] - ManagementService doesn't seem to give actual table Name for EventSubscriptionEntity.class
- [ACT-1822] - MultiInstance loopIndexVariable support
- [ACT-1823] - CancelEndEvent goes into dead lock
- [ACT-1825] - Infinite recursion in TestActivityBehaviorFactory
- [ACT-1826] - OSGI bundle activiti-engine/5.14 failed to deploy due to duplicated imported org.activiti.osgi + WorkAround
- [ACT-1828] - Completing a task in DelegationState.PENDING does not throw ActivitiException
- [ACT-1838] - Activiti 5.14 did not ship incremental upgrade DB schema migration script (to auto upgrade 5.13 -> 5.14)
- [ACT-1839] - ACT_FK_VAR_BYTEARRAY violated on variable update
- [ACT-1842] - Add taskService.complete() method that takes an option boolean to determine the scope of variables
- [ACT-1844] - ActivitiRule fails if test methods are declared in a super class
- [ACT-1848] - ClassCastException when using CdiEventSupportBpmnParseHandler with multi instance user task
- [ACT-1854] - ExtensionElements parsing causes NullpointerException in non Process/Activity Context
- [ACT-1858] - Groovy generated classes aren't garbage collected
- [ACT-1859] - TaskListeners configured for ALL event types do not receive DELETE events
- [ACT-1863] - NPE on HistoricVariableInstanceQuery
- [ACT-1872] - Text Annotation is not generated in export and in viewer
- [ACT-1879] - Job Executor job acquisition can lead to deadlocks in clustered setup
- [ACT-1881] - activiti-engine OSGi bundle requires junit classes
- [ACT-1882] - activiti-spring OSGi bundle requires spring-test classes.
- [ACT-1883] - Listener end event is not notified when compensation done
- [ACT-1884] - add missing type of serviceTask in activiti-bpmn-extensions-5.15.xsd
- [ACT-1887] - Inserting a variable with the same name on the same process-instance from 2 threads results in duplicate name/revision entry in ACT_RU_VARIABLE
- [ACT-1888] - UserTask XML converter error when it has default sequence flow
- [ACT-1889] - Boundary event don't follow pool position.
- [ACT-1891] - After edit or click form properties typed enum lose values
- [ACT-1892] - Repeat add listener
- [ACT-1894] - the parameter name of HistoricActivityInstanceQuery.activityInstanceId() should be activityInstanceId, not processInstanceId
- [ACT-1896] - Using activityId(..) and processInstanceBusinessKey(.., true) on Execution-query causes SQL-exception
- [ACT-1897] - Form-properties (and some other table-based properties) no longer selectable/editable/removable in Designer 5.14.0
- [ACT-1901] - The coordinates of activity nodes contained in a DiagramLayout are sometime not correct.
- [ACT-1908] - Activiti designer 5.14 removes custom form property information
- [ACT-1909] - REST queries should support paging like their normal GET counterparts do
- [ACT-1912] - Task Listener Bug
- [ACT-1914] - Activiti designer does not update sequence flow references
- [ACT-1918] - deploying a process fails with hibernate 4.2.6.Final "The object is already closed"
- [ACT-1923] - Setting task assignee and using updateTask() does not update task history
- [ACT-1927] - Manual tasks are actually created as generic tasks in the BPMN source
- [ACT-1928] - Changing the id of elements in the Properties view does not change references to it leading to broken models
- [ACT-1929] - Co-ordinates of BPMNEdge labels are relative to the wrong origin
- [ACT-1930] - Activiti designer 5.14 form editor prevents editing of fields
- [ACT-1935] - BeanELResolver hides target exception in ELException when catching InvocationTargetException
- [ACT-1937] - StackOverflowError when using an EndErrorEvent from an Event Sub-Process
- [ACT-1939] - HistoryService loads invalid task local variables for completed task
- [ACT-1940] - Possible bug in MS-SQL server configuration with schema
- [ACT-1941] - IdentityService interface leaking implementation details
- [ACT-1944] - LDAP-Authentication fails if LDAP-User has no forename
- [ACT-1949] - Jobs are not being removed from ACT_RU_JOB for for <timeCycle> timers
- [ACT-1951] - ACT_RU_JOBS has orphaned rows after deleting Process with repeat timers
- [ACT-1953] - multi instance sub process,variable conflict?

## Improvement

- [ACT-1491] - Parsing association, drawing Annotation and connections
- [ACT-1496] - Replace JSON.org with GSON dependencies
- [ACT-1781] - Diagram improvement: curved flows, annotations, associations, label position.
- [ACT-1860] - Remove unique constraint on business key
- [ACT-1867] - MySQL DATETIME and TIMESTAMP precision
- [ACT-1911] - Adopt MyBatis 3.2.4
- [ACT-1916] - Double-check all REST-resources for explicit authenticate() call, to improve overall security
- [ACT-1952] - Refactor process definition validation + allow to plugin in custom validation

## New Feature

- [ACT-1448] - Support for expressions in candidate/assignee/...
- [ACT-1797] - Send events for major state changes of domain objects
- [ACT-1840] - Allow to set a 'category' on tasks
- [ACT-1890] - Multi tenancy support
- [ACT-1898] - Allow to execute custom SQL
- [ACT-1904] - Introduce Process Engine Configurator concept
- [ACT-1907] - Add ProcessInstanceHistoryLog
- [ACT-1910] - Introduce @EnableActiviti for Spring
- [ACT-1933] - Delete Identity Link from RuntimeService IdentityLink list
- [ACT-1936] - Query Tasks by process category
- [ACT-1954] - Warning Date on Task

## Task

- [ACT-1631] - Deploy artifacts to central maven repository
- [ACT-1833] - get BusinessCalendar from BusinessCalendarManager except new a instance
- [ACT-1869] - Document signal event scope

### Release Notes - Activiti - Version 5.14

#### Highlights

- Version 5.14 is focused on bug fixes and small improvements.
- Improved process and task query support
- Add OSGi bundle headers to all Activiti module JARs
- Thanks to the community for the large number of pull requests, especially Martin Grofcik, Mike Dias and Saeid Mirzaei

#### Important Note for MSSQL and DB2 users

Activiti 5.13 and 5.14 contain changes to the default indexes that are created when using MSSQL or DB2 as database. These indexes are not created automatically when upgrading Activiti, as they may conflict with custom indexes or impact the database load. The purpose if the indexes is to avoid deadlock exceptions when using Activiti under high load.

As such, please review carefully following commits and apply to your database (where applicable):

- https://github.com/Activiti/Activiti/commit/4911bd176b78fa4c466e3fcbd3617af3bd95eba0
- https://github.com/Activiti/Activiti/commit/22f6c8d0cf126320addb90f86495e89e7d656939

#### Bug fixes and various smaller improvements

Check out the Release notes for more details

## Bug

- [ACT-821] - HistoryService.deleteHistoricProcessInstance() does not delete sub processes
- [ACT-1186] - ActivitiRule services not initialized when using SpringJUnit4ClassRunner together with @ContextConfiguration
- [ACT-1438] - Target expressions for call activities are not supported
- [ACT-1454] - Support for custom type of comment
- [ACT-1600] - Activiti Modeler target namespace not saved to BPMN XML
- [ACT-1609] - problem evaluating script while click "Reports->Process Instance Overview" on activiti-explorer.(DB2 datasource)
- [ACT-1612] - Modeler missing cancelActivity
- [ACT-1625] - Text-annotation elements are ignored when parsed, but the corresponding BPMN-DI is not which causes a warning
- [ACT-1649] - Deadlock occurred in load test with db2
- [ACT-1663] - StartEvent hasn't the attribute "formKey" in the Activiti Modeler
- [ACT-1720] - Redundant space between table prefix and table name in org\activiti\db\mapping\entity\User.xml
- [ACT-1723] - ORA-01747: select count(RES.*) from ACT_HI_VARINST RES WHERE RES.PROC_INST_ID_ = ?
- [ACT-1725] - Incorrect display subprocess in subprocess, when it open in Activiti Modeler. (Problem with coordinates of elements after conversation BPMN to JSON)
- [ACT-1727] - activiti-explorer process instance highlight diagram is incorrect
- [ACT-1728] - If the process instance was started by a callActivity, it will be not have the startEvent activity in ACT_HI_ACTINST table
- [ACT-1731] - Fail start process with variables
- [ACT-1740] - REST-status cannot be created when exception contains newlines
- [ACT-1741] - activiti-spring POM should not depend on slf4j-log4j12
- [ACT-1743] - candidateGroup can't use expression with comma
- [ACT-1749] - Impossible to remove identity-links from create-listener
- [ACT-1755] - ACT_HI_ACTINST does not record parallel gateway end times and durations
- [ACT-1756] - Changing ID of an activity or event makes a copy of BPMNShape element
- [ACT-1758] - MySQL + BTM fails on schema create
- [ACT-1762] - Support multiple occurrences of extension elements and attributes with same id
- [ACT-1770] - Model query for latest version is broken
- [ACT-1771] - VariableScope#getVariableLocal should take parameter of type String rather than Object
- [ACT-1775] - NPE when retrieving JPA Entity process variables via REST API /runtime/tasks
- [ACT-1777] - Activiti sql file problem for MySQL 5.6
- [ACT-1780] - User Guide: Create a User (new api) does not list password for body
- [ACT-1788] - Fields of Java services obtained with a delegateExpression aren't injected when handling signals.
- [ACT-1789] - Make HistoricTaskInstanceQuery to support "taskCandidateUser"
- [ACT-1791] - Modeler does not allow creation ENUM type fields in forms.
- [ACT-1793] - Process flow through boundary events not rendered in diagram viewer
- [ACT-1801] - JSON Serialization of Process with Lane leads to infinite recursion
- [ACT-1806] - Race condition during BPMN deployment

## Improvement

- [ACT-1076] - Draw transitions names in diagram generator
- [ACT-1529] - Declare activiti-webapp-explorer2 as distributable in web.xml
- [ACT-1630] - Extend SerializableType to *not* support entities with null id
- [ACT-1634] - FormKey and TargetNameSpace attributes using Activiti Modeler
- [ACT-1665] - Add support for UUIDs as queryable process variables
- [ACT-1699] - Mail server configuration using JNDI
- [ACT-1722] - Property isExecutable aren't available in Activiti Modeler
- [ACT-1732] - Updating Process Business Key
- [ACT-1738] - Adding MDC (Mapped Diagnostic Context) logging
- [ACT-1747] - Upgrade some legacy dependencies (commons-lang, jackson)
- [ACT-1753] - Add missing sql mapping for 'selectProcessDefinition'
- [ACT-1782] - Provide hook to create custom UserTaskActivityBehavior
- [ACT-1786] - Shared packages between activiti-common-rest & activiti-rest modules
- [ACT-1798] - Provide getter for field MultiInstanceActivityBehavior#innerActivityBehavior
- [ACT-1807] - Add support for Async Message/Signal triggering from RuntimeService
- [ACT-1815] - Add getJobExecutor/setJobExecutor to ProcessEngineConfiguration interface

## New Feature

- [ACT-830] - Provide API ProcessInstanceQuery#processDefinitionName
- [ACT-1746] - Query for failed process instances
- [ACT-1751] - Catch Mail sending fail exception

### Release Notes - Activiti - Version 5.13

#### Highlights

- Fully refactored REST API. The REST API should now offer the same functionality as the Java API.
- Out-of-the-box LDAP integration
- Include process and task variables in the result of the process, historic process, task and historic task queries
- Lots of fixes

#### Bug fixes and various smaller improvements

Check out the Release notes for more details

## Sub-task

- [ACT-1264] - Reintroduce ExportMarshaller invocation

## Bug

- [ACT-1388] - NPE in ExecutionEntity#ensureExecutionsInitialized()
- [ACT-1426] - Nested multi-instance activities do not work
- [ACT-1542] - CommandContext Logs and Re-throws Exceptions
- [ACT-1578] - Update documentation: sort parameter in REST-API method /process-definitions
- [ACT-1591] - Referential integrity constraint violation on PROC_INST and IDENTITY_LINK
- [ACT-1605] - The execution of many processes at once will cause constraint violations with the ID_ field.
- [ACT-1607] - org.activiti.engine.ActivitiIllegalArgumentException: taskId is null when using taskService.addComment with process instance
- [ACT-1619] - NullPointerException when no script is given to the script task,leading to process failure
- [ACT-1620] - My Instances view fails to generate process diagram
- [ACT-1623] - NPE when eventbased gateway is after referenced event
- [ACT-1626] - Make not storing variable automatically in scripts the default
- [ACT-1641] - Process diagram not shown for certain hostnames
- [ACT-1653] - Deleting candidate users/groups for any user task
- [ACT-1654] - Camel integration does not handle exceptions propagated back by Camel DefaultErrorHandler
- [ACT-1655] - Wrong execution order
- [ACT-1656] - Designer puts Task listener class where Execution listener class should be
- [ACT-1657] - Wrong execution order of execution-listeners on event-based gateway and service-task
- [ACT-1664] - Parsing results in exception when using textannotation on collaboration tag
- [ACT-1668] - Auto refresh of task counts after task completion in Explorer
- [ACT-1669] - Possible NPE in ActivitiDiagramMatchingStrategy
- [ACT-1673] - CamelBehavior throws Exception when using with StrongUuidGenerator
- [ACT-1674] - Classloading bug when using ExpressionFactory in OSGI environment
- [ACT-1679] - Activiti 5.12.1 not compatible with Mybatis 3.2.2
- [ACT-1685] - In activiti-web-explorer2, when call method "drawCollapsedCallActivity" throw an error "Object#<Object> has no method 'drawCollapsedTask'"
- [ACT-1688] - Add identity-links to history and allow querying history based on involvedUser
- [ACT-1690] - NPE when converting to BPMN a model with boundary event that is not attached to a task
- [ACT-1698] - Activiti fails to build when default charset is Windows-1252
- [ACT-1702] - Setting the databaseTablePrefix not possible directly on the ProcessEngineConfiguration
- [ACT-1703] - The "result variable name" attribute of a Java service task is lost when exporting a process
- [ACT-1709] - Some fields cannot be set directly on the ProcessEngineConfiguration

## Improvement

- [ACT-1523] - Always set ProcessDefinitionId available on JobEntity
- [ACT-1576] - Rest API improvements for getting tasks
- [ACT-1606] - Create a convenience method in TaskService to set a task's due date
- [ACT-1616] - Expose activityID in interface Execution (add a public getter for activityID)
- [ACT-1642] - Deprecated IMAGE datatype under MS SQL Server
- [ACT-1672] - Add getKey() to PvmProcessDefinition
- [ACT-1704] - Option to exclude subprocesses in ProcessInstancesQuery and HistoricProcessInstanceQuery
- [ACT-1705] - Some methods on the {{ProcessEngineConfiguration}} are not supporting the builder pattern

## New Feature

- [ACT-1588] - Native query support paging
- [ACT-1647] - Enable querying TaskService for Tasks including local variables
- [ACT-1652] - Add support for message start events to the REST-API
- [ACT-1680] - Support for custom ProcessEngine selection in REST
- [ACT-1691] - Allow to update process definition category through RepositoryService
- [ACT-1696] - Provide out of the box LDAP integration
- [ACT-1706] - Add fullNameLike to UserQuery

## Task

- [ACT-1396] - Bring REST api in sync with Java API
- [ACT-1707] - Remove UserCache from Activiti Explorer

### Release Notes - Activiti - Version 5.12.1

#### Highlights

- Fix for ACT-1591, with referential constraint error (JIRA link)
- Resolved javascript JDK 7 issue (link to blog post)
- Small Explorer and Modeler bug fixes
- Other small fixes

#### Important upgrade notes when using script tasks and auto storage of variables

Due to recent changes to the JDK (removing Serializable from sun.org.mozilla.javascript.internal.Undefined), the auto storing of variables is not possible anymore with the built-in Javascript scripting engine. See this link for more information. Each script variable that needs to be stored as process variable needs to be explicitly stored by calling execution.setVariable("variableName", variableValue).

For backwards compatibility reasons, the old behavior can still be used by setting the autoStoreVariables property on a scriptTask to true. As written in the linked article from above, this might not work when using a recent JDK version and the built-in Javascript scripting engine.

### Release Notes - Activiti - Version 5.12

#### Highlights

- Added new javascript-based diagram viewer to Explorer (thanks to Dmitry Farafonov)
- Unified the BPMN parser and model for the Engine, Modeler and Designer
- Added Activiti Kickstart to the Explorer to quickly create processes without deep BPMN knowledge
- Simplified and extended the Activiti Camel module (thanks to Ryan Johnston)
- Added first stage of reporting functionality to the Explorer via "reporting processes"
- Added auto-layout module for Kickstart and BPMN import in Modeler (TBD) and Designer
- Added script task and execution listeners
- Lots of bug fixes

#### Important upgrade note

The internal org.activiti.engine.impl.bpmn.parser.BpmnParseListener interface and related classes have been removed.

Yes, we know many people relied on its capabilities, although it was a class in an internal package. But do not worry: we have introduced a replacement in the api package that offers similar (and even more powerful) functionality. The code is not backwards compatible, but the required changes should be minimal (eg the XML element is replaced by a Java pojo representation of the element). Read more about it in the new 'Advanced' chapter of the userguide.

#### Bug fixes and various smaller improvements

Check out the Release notes for more details

## Sub-task

- [ACT-1565] - activiti-bpmn-converter BaseBpmnXMLConverter ignores defaultFlow for Gateways

## Bug

- [ACT-863] - HistoricVariableUpdate#getValue() throws NPE for JPA entities
- [ACT-995] - Not possible to update/overwrite a JPA entity in workflow
- [ACT-1025] - Methods deleteDeployment(String deploymentId, ...) and deleteDeploymentCascade(String deploymentId, ...) do not throw an exception with passed a non-existent deployementId
- [ACT-1026] - Inclusive gateway isn't properly joining sequence flows coming from call activities
- [ACT-1040] - TaskManager.findTaskById does not utilize session cache
- [ACT-1054] - Unable to complete user task coming from parallel gateway
- [ACT-1196] - Invalid login screen localization on non-utf-8 based hosts
- [ACT-1204] - InclusiveGateway with two subprocesses does not join correctly
- [ACT-1317] - Wrong task event generated when setting assignee to null
- [ACT-1345] - method name orderByHistoricActivityInstanceStartTime in class HistoricTaskInstanceQuery should be orderByHistoricTaskInstanceStartTime
- [ACT-1372] - User Task with form: form will be not displayed if the value expression in next line used
- [ACT-1377] - removeVariables() in VariableScopeImpl does not consider parent scopes
- [ACT-1414] - ClassCastException when completing a referenced sub process after Boundary Event with cancelActivity = false
- [ACT-1417] - Fix Explorer session serialization
- [ACT-1418] - NullPointerException if throw a not catched exception/error
- [ACT-1470] - Import definition type fails with CxfWSDLImporter when using complex data types
- [ACT-1477] - In user guide error api for form property from history detail
- [ACT-1479] - activiti-engine has invalid symbolic name
- [ACT-1486] - The ability to add an attachment to a process instance is broken
- [ACT-1494] - Get garbled string when render form in chines
- [ACT-1499] - Form properties not initialized when null or empty
- [ACT-1502] - Custom font name in the engine for diagram
- [ACT-1504] - Cannot create new user and membership in JavaDelegate using identityService
- [ACT-1512] - HistoricVariableUpdates no longer returned when using postgres
- [ACT-1516] - BPMN Converter: Adding a listener to a script task produces erroneous XML content.
- [ACT-1524] - Variable update detection does not work for byte[]
- [ACT-1528] - All variables are deleted after delete a history processinstance
- [ACT-1533] - Undeployment of old process versions deletes jobs for TimerStartEvents
- [ACT-1540] - HistoricVariableInstance does not expose taskId, nor does HistoricVariableQuery expose querying based on taskId
- [ACT-1546] - Impossible to assign default flow on exclusive gateways
- [ACT-1553] - Refactor BpmnParse to use separate handlers for each bpmn element
- [ACT-1555] - ProgrammaticBeanLookup doesn't regard alternatives
- [ACT-1556] - BpmnDeployer creates duplicates identity links when deploying processes with initiation authorization active
- [ACT-1579] - Process engine can be DoS'ed when deploying unsafe XML
- [ACT-1586] - ExecutionQuery returns wrong results when using multi instance on a receive task
- [ACT-1596] - Not generated boundary event in diagram created by RaphaÃ«l

## Improvement

- [ACT-1274] - Remove SEVERE level logging for expected exception in taskservice.claim()
- [ACT-1324] - Add specific exceptions for common error scenarios (TaskNotFoundException if a task if not found etc)
- [ACT-1463] - Review rest-response codes and error-body response
- [ACT-1498] - IntermediateCatchEventActivitiBehaviour name does not match other ActivityBehavior's
- [ACT-1505] - Should throw an exception if the picture is not generated
- [ACT-1561] - Add the ability to register a TaskListener for all event types
- [ACT-1568] - Query API documentation out of sync with codebase

## New Feature

- [ACT-432] - Terminate end event
- [ACT-1164] - Add possibility to hook in own implementation of BusinessRuleTask
- [ACT-1493] - Make DeploymentCache pluggable and allow to set cache limit
- [ACT-1511] - Extract ActivityBehavior and Task/ExecutionListener instantiation in a pluggable factory
- [ACT-1518] - Add generic simple workflow creator API to activiti
- [ACT-1537] - Allow to configure whether script variables are stored as process variables
- [ACT-1569] - Introduce process instance scope for signal events
- [ACT-1571] - Auto layout for BPMN 2.0 processes
- [ACT-1572] - Designer should generate XML with delegationExpression
- [ACT-1574] - Loop type for subprocess in Modeler
- [ACT-1580] - Add method to retrieve BpmnModel (Pojo version of BPMN 2.0 process) to RepositoryService
- [ACT-1588] - Native query support paging
- [ACT-1593] - Basic reporting for Explorer

## Task

- [ACT-1031] - Rename JobQuery methods
- [ACT-1397] - Remove Account related service operations from IdentityService
- [ACT-1465] - Document services in userguide
- [ACT-1538] - Move BpmnParseListener to public API package
- [ACT-1581] - Refactor ProcessDiagramGenerator to take BpmnModel as input instead of ProcessDefinitionEntity

## Wish

- [ACT-1362] - Extend JPAEntityMappings to support UUID as Id

### Release Notes - Activiti - Version 5.11

#### Highlights

- Added Activiti Modeler to the Activiti Explorer web application
- Removed buggy demo script and replaced with simpler distribution
- Support for doing queries that are not out-of-the-box possible with the query api (called 'native queries')
- Enhanced ability to query for history variable values
- Improved functionality to suspend and activate process definitions and instances
- Improved Activiti QA and added DB2 and MSSQL servers
- Added support for using a service call in aJava delegates (see here for more details)
- Lots of bug fixes

#### Important upgrade note

In 5.11 we introduce a new history table for process variables. There is an optional migration database script that you can run to generate historic variables for existing process instances. This is optional because the engine will just create those records upon update of the variable if they don't exist.

The files can be found in the database directory of the Activiti distribution `org/activiti/db/upgrade/optional`.

#### API Change

The functionality of the repositoryService.suspendProcessDefinitionByXXX has been slightly altered. Previously, calling this method would stop the execution of jobs related to this process definition. Now, calling this method will not do this, but rather make sure a process instance cannot be created from this process definition. We've added a new method with an additional parameter 'suspendProcessInstances' which can be used to get the same behavior: when set to 'true', all the associated process instances will be suspended. This will avoid process instance continuation, including the execution of jobs related to the process instance.

#### Bug fixes and various smaller improvements

Check out the Release notes for more details

## Sub-task

- [ACT-1406] - Extend Activiti BPMN XML Schema
- [ACT-1407] - Marshall ID to BPMN when saving
- [ACT-1408] - Read and use ID when parsing BPMN model

## Bug

- [ACT-234] - CompetingJobAcquisitionTest does not work on windows
- [ACT-454] - Variables not being escaped when mail is sent as HTML
- [ACT-700] - Bug in DB2 supporting.
- [ACT-734] - Schema creation in mssql 2005
- [ACT-785] - User Task Assignments are not handled correctly if the value of an expression holds more than one group-id or user-id
- [ACT-820] - Serializable values altered in scriptTask aren't persisted to DB
- [ACT-847] - activiti:field not injected for tasklistener on event="create"
- [ACT-865] - timeCycle requires seconds to be in the startDate
- [ACT-866] - couldn't deduct database type from database product name 'DB2/LINUXX8664'
- [ACT-870] - Multiple documentation elements not supported
- [ACT-876] - Activiti Designer creates NPE when dragging tab to second window
- [ACT-920] - ActivityException thrown on ProcessEngineConfiguration.buildProcessEngine()
- [ACT-927] - nullpointer on empty sourceref in datainputassociation
- [ACT-934] - Inconsistent procvar behaviour
- [ACT-940] - When starting the demo, support Windows 7 for "explorer.browser.open"
- [ACT-1002] - The Database Specific Statement is not applied in some cases
- [ACT-1057] - Custom tasks in Designer with only BOOLEAN_CHOICE do not write proper XML
- [ACT-1063] - Typo in org.activiti.engine.impl.jobexecutor.TimerDeclarationType#caledarName
- [ACT-1070] - activiti explorer shows mistakenly non-activiti tables if their name starts with 'ACT*'
- [ACT-1083] - Variables stored inside a subprocess are not linked to activity-id's.
- [ACT-1090] - There is not async attribute in activiti XML schema
- [ACT-1102] - Beans specified in activiti.cfg.xml not available in expressions
- [ACT-1130] - Removing identity link does not remove owner in task entity.
- [ACT-1147] - Posting a comment to a task causes an exception (Bad value for type long) (After updating from 5.8 to 5.9)
- [ACT-1174] - historyLevel property not found when creating tables manually
- [ACT-1180] - Add version fixing after running activiti.postgres.upgradestep.58.to.59.engine.sql to avoid the application try to autoupdate schema at restart
- [ACT-1187] - Default image for CustomServiceTasks is not loaded correctly
- [ACT-1189] - displayHelpLong of a custom property is not displayed
- [ACT-1239] - Exclusive gateway: Condition on default flow is not ignored
- [ACT-1251] - Manual upgrade throwing ActivitiWrongDbException
- [ACT-1252] - Signal Events and None intermediate event not rendered during Diagram Generation
- [ACT-1259] - Finishing last task (or signal last receive-task) of process doesn't do optimistic locking
- [ACT-1295] - Error BoundaryEvent in multiInstance call activity does not work as intended
- [ACT-1304] - EnumFormType always returns null when converting model value to form value
- [ACT-1316] - org.activiti.spring.SpringTransactionContext#addTransactionListener, TransactionState.ROLLED_BACK registers listener that is also invoked for successful commit
- [ACT-1320] - Start Timer is executed for suspended process definitions
- [ACT-1321] - Add NOT NULL constraint to PROCDEF table
- [ACT-1328] - Typo : "evalutaing" in JuelExpression
- [ACT-1329] - Add NOT NULL constraint on VERSION_ in PROCDEF table
- [ACT-1331] - RuntimeService.getVariables(String, Collection) retrieves more than the specified variables
- [ACT-1338] - SetProcessDefinitionVersionCmd should update TaskEntity.processDefinitionId as well
- [ACT-1340] - BusinessProcess.isAssociated throws NPE if no execution is associated
- [ACT-1341] - Activiti engine drop statement for MSSQL misses a foreign key constraint
- [ACT-1342] - Suspending a process with active timer can cause AcquireJobsRunnable to get into a loop that causes heavy load on database
- [ACT-1353] - do not generates eventBasedGateway with ProcessDiagramGenerator.generateDiagram
- [ACT-1361] - Broken Build: Activiti webapp REST uses junit but does not declare dependency using maven
- [ACT-1370] - DB2 upgrade failed from 5.9 to 5.10 because missing NOT NULL
- [ACT-1375] - Remove workspace with examples from distribution (maybe replace with website)
- [ACT-1380] - Engine should throw exception when flow out of XOR-Gateway neither has condition nor is default flow
- [ACT-1381] - Add support for SQL pagination in DB2 & MSSQL
- [ACT-1390] - Activiti incorrectly logs SEVERE level messages for expected lock collisions
- [ACT-1391] - Deploying a process with illegal expression doesn't cause deployment to fail
- [ACT-1394] - NullPointerException in UserTaskAssignmentHandler
- [ACT-1402] - Interrupting boundary events don't cancel all parallel sub-process instances in case sub-process is multi-instance
- [ACT-1410] - Executing the TaskService.deleteAttachments(String attachmentId) does not remove the file data from ACT_GE_BYTEARRAY table
- [ACT-1415] - TimeCycle expression is not evaluated on timer-start event
- [ACT-1416] - RepositoryService startableByUser() method not identity-implementation agnostic, using ACT_ID_MEMBERSHIP
- [ACT-1421] - Error Boundary Event - execution not closed properly
- [ACT-1423] - BusinessRuleTask are not converted/exported in between Activiti Modeler and Activiti Engine
- [ACT-1424] - Job timestamp defaults to current date when set to null (MySQL)
- [ACT-1429] - Remaining flowNodeRef when deleting BPMN elements within lanes
- [ACT-1431] - Invalid warning with exception thrown when di information is missing
- [ACT-1434] - Rest call contains incorrect mimetype for resource service
- [ACT-1435] - Exception for Expressions with 2 params in BusinessRule ruleVariablesInput
- [ACT-1436] - Activiti-Rest : Binding error with form properties
- [ACT-1440] - Activiti Explorer : Null Pointer Exception for Users with a Picture
- [ACT-1441] - Eclipse Plugin : Missing a parentheses on a text label.
- [ACT-1442] - EventBasedGateway not drawn in diagram
- [ACT-1444] - Race condition in CallActivityBehavior
- [ACT-1449] - Boundary events in designer are not deleted properly
- [ACT-1455] - Add support to filter on HistoricVariables values on HistoricProcessInstanceQuery
- [ACT-1456] - Add support for processVariableValueEquals(value)
- [ACT-1459] - Add support for filtering queries based on string variable values, ignoring case
- [ACT-1461] - The startableByUser method on the ProcessDefinitionQuery object does not return process definitions records for "candidate starter groups" when a custom session factory has been implemented
- [ACT-1468] - Task query: can't query by process id with ordering by due date

## Improvement

- [ACT-716] - Add log guards to org.activiti.engine.impl.interceptor.LogInterceptor
- [ACT-721] - Usage of Collections.synchronizedMap might cause performance degradation or java deadlock in DbSqlSessionFactory
- [ACT-877] - Allowing expressions in properties of CustomServiceTask
- [ACT-900] - TaskService.deleteTask should allow a reason to be specified
- [ACT-969] - Add description of JavaDelegate implementation for CustomServiceTasks to the user guide
- [ACT-998] - Add a ScripTaskListener
- [ACT-1015] - Process formKey as an expression
- [ACT-1023] - random order in enum fields
- [ACT-1064] - Remove 'selectNextJobsToExecute_mysql' and remove duplicate criterion where clause
- [ACT-1067] - Make BpmnDeployer#addTimerDeclarations and BpmnDeployer#removeObsoleteTimers protected
- [ACT-1112] - Ease integration of Activiti Explorer / Split up explorer into a JAR and a WAR example application
- [ACT-1122] - databaseSchemaUpdate should not downgrade, it leads to inconsistent databases
- [ACT-1134] - Reduce number of compensate event subscription queries when a subprocess is completed
- [ACT-1138] - Optimize job acquisition (exclusive jobs / maxJobsPerAcquisition)
- [ACT-1162] - activiti-spring pom.xml contains dependencies that should have scope 'test'
- [ACT-1169] - Redundant RETRIES predicate in 'selectExclusiveJobsToExecute'
- [ACT-1206] - GroupManager.findGroupsByUser called twice
- [ACT-1224] - Remove Eclipse IDE Artifacts (.classpath,...) from SVN
- [ACT-1273] - In the TaskService it is possible to removing variables
- [ACT-1279] - Add foreign key to PROC_DEF_ID_ on ACT_RU_EXECUTION
- [ACT-1291] - Allow subtask filtering
- [ACT-1301] - Refactoring BpmnParse class
- [ACT-1327] - activiti-osgi add blueprint context EL resolver
- [ACT-1336] - Support start authorization in Designer
- [ACT-1350] - Can not send mail use gmail smtp with ssl
- [ACT-1352] - Reduce the log level when a job could not found due to cancelActiviti
- [ACT-1383] - Enable specialization of BusinessProcess bean by moving producer methods into separate bean
- [ACT-1392] - Activities rendered by DiagramGenerator should show task-names on multiple lines, if too big for single line.
- [ACT-1405] - CustomServiceTask ID is not stored in model
- [ACT-1430] - Add faster and more convenient methods for retrieving form keys
- [ACT-1443] - Use the standard Activiti classloading mechanism for resolving serialized classes
- [ACT-1445] - Improve documentation for creating Designer Extensions
- [ACT-1447] - in Designer, The cancelActivity should not be shown for errorEventDefinition and cancelEventDefinition
- [ACT-1450] - Modification on ProcessInstanceResource to insert taskDefinitionKey in results
- [ACT-1451] - Rest API to see startableByUser process definitions
- [ACT-1453] - Rest API to list groups

## New Feature

- [ACT-933] - orderByDueDate for HistoricTaskInstanceQuery
- [ACT-936] - Provide custom navigator for Activiti projects
- [ACT-1020] - Get Process Documentation
- [ACT-1293] - Add SQL Query extensions
- [ACT-1300] - Add own History table for HistoricProcessVariable
- [ACT-1302] - Add more information to HistoricActivityInstance
- [ACT-1322] - Interrupting Message Event Sub-Process
- [ACT-1330] - Improve History Queries
- [ACT-1374] - Add "processVariableValueEquals" to ExecutionQuery
- [ACT-1378] - Change behavior with HistoricProcessVariable
- [ACT-1379] - Add field injection to delegateExpression
- [ACT-1387] - Allow service invocation in a JavaDelegate/ActivityBehavior
- [ACT-1457] - Suspend/Activate a process instance
- [ACT-1458] - Allow to suspend/activate a process definition at a given date

## Task

- [ACT-840] - Userguide refers to JPAVariableTest, but isn't present in examples anymore
- [ACT-1332] - Remove servlet api jar from activiti-explorer
- [ACT-1333] - Fix upgrade script
- [ACT-1334] - ad hoc task has 2 owners
- [ACT-1347] - Clean up cycle references
- [ACT-1355] - Clean up jira issues
- [ACT-1369] - Fix docs on starting h2 test console
- [ACT-1425] - Add category to deployment

### Release Notes - Activiti - Version 5.10

#### Highlights

- Drastic performance improvements: See Joram's blog The Activiti performance showdown for the amazing details
- Tijs' book Activiti in Action published by Manning came out!
- Added support voor bpmn message start event
- Added capability for clients to validate a user's rights to start a process
- Added support for nested sub-processes and embedded subprocesses in designer
- Added support for catching intermediate and boundary message events
- Bug fixes and various smaller improvements. Check out the Release notes for more details

#### Bug

- [ACT-674] - ClaimTaskCmd should verify userId
- [ACT-697] - Exception thrown when bpmndi:BPMNPlane elements does not reference a process id
- [ACT-714] - Multi-threaded usage of non thread safe java.util.HashMap in ClassNameUtil
- [ACT-733] - Potential Problem with ${empty someProcessVariable} or ${someProcessVariable != null}
- [ACT-832] - Infinite loop in ErrorEndEventActivitiBehavior if errorEndEvent defined in a call-activity sub process and no matching boundary event
- [ACT-873] - typo: TaskQuery.taskUnnassigned()
- [ACT-886] - Process Definition Query Using CategoryLike Is Missing 'like' Clause
- [ACT-955] - Integrity constraint ACT_FK_VAR_EXE violated - child record found
- [ACT-958] - using a jobquery with processInstanceId AND executable filter fails with an SQLException
- [ACT-962] - Failed Testcases because of Equal Check on Exception Messages
- [ACT-984] - Activiti Designer: NullPointerException when saving arbitrary XML file
- [ACT-1000] - [Eclipse] Diagram modifications removes data in XML file
- [ACT-1016] - Eclipse freezes when opening xhtml page AND Activiti Designer
- [ACT-1019] - REST-API, getting process instance diagram error
- [ACT-1039] - Broken Round Trip bpmn20.xml-.activiti in Designer
- [ACT-1048] - HistoricalActivityInstance missing for parallel GW
- [ACT-1059] - Delegation state of task's not saved in database
- [ACT-1071] - Process Instance Diagram has wrong content-type
- [ACT-1075] - getting process variables through rest does not work
- [ACT-1077] - Wrong URL for "Delete Deployments" in the User Guide REST API Documentation
- [ACT-1113] - Remove deprecated cycle tables
- [ACT-1115] - Parsing of process definition files with several pools and DI information (for graphical representation) fails
- [ACT-1116] - Can't browse database tables with activiti-explorer when using Postgresql-9.1
- [ACT-1125] - Missing "import java.util.Date" in HumanTimeTest causes build to fail
- [ACT-1129] - BooleanFormPropertyRenderer: java.lang.IllegalArgumentException: CheckBox only accepts Boolean values
- [ACT-1131] - Asynchronous Servicetasks with DB2
- [ACT-1132] - Regression: Process Diagram generation not possible in headless mode anymore
- [ACT-1137] - BusinessProcess#getExecutionId() does not participate in current command
- [ACT-1143] - Activiti Update from 5.8 to 5.9 (using PostgreSQL)
- [ACT-1144] - "isExpanded" attribute missing in DI for sub processes
- [ACT-1146] - Class cast while saving changes - before closing editor
- [ACT-1150] - NullPointerException during application startup with autodeployment set to true
- [ACT-1154] - Missing pictures in the user guide
- [ACT-1156] - Callactivity with Expression always use value of first evaluation
- [ACT-1160] - Parsing results in Exception when using textannotation on association
- [ACT-1170] - 'selectExclusiveJobsToExecute' does not work for DB2 and MSSQL
- [ACT-1172] - activiti.mssql.create.engine.sql does not drop table ACT_RU_JOB
- [ACT-1176] - Parsing Collaboration Tag fails because of DI reference
- [ACT-1179] - Fix binary value on activiti.postgres.upgradestep.58.to.59.engine.sql
- [ACT-1182] - REST: Error when trying to get process variables with null value.
- [ACT-1183] - TimerCatchingEvent not showing up when re-opening bpmn file
- [ACT-1185] - When using a multi-instance subprocess, the execution is ended after first loop
- [ACT-1188] - JtaProcessEngineConfiguration does not use proper JTA Synchronizations
- [ACT-1191] - Bug: NullPointerException in FailedJobListener
- [ACT-1193] - REST-webapp: unable to get process instance diagram
- [ACT-1200] - Location of labels of sequence flows move after reopening process definition
- [ACT-1202] - History: tracking of multiple end events reached
- [ACT-1209] - Mybatis pagination does not scale on MySQL & H2
- [ACT-1216] - When receycling execution it is not activated correctly
- [ACT-1222] - Receycling the root execution leads to stuck process instance when using call activities
- [ACT-1223] - Activiti Designer creates pom.xml with dependency to Activiti 5.8
- [ACT-1237] - SubProcesses within pool
- [ACT-1238] - SignalBoundaryEvent not displayed when inside subprocess that has another subprocess as fault handler
- [ACT-1242] - Designer removes "Input variables" attribute of BusinessRuleTask
- [ACT-1245] - Diagram resource generation should only be triggered when deployment is new
- [ACT-1249] - ORA-00918 when processUnfinished() and orderByHistoricTaskInstanceEndTime() called on HTIQ
- [ACT-1253] - JobQuery 'selectJobByQueryCriteria.withExceptions' doesn't find all jobs with failures
- [ACT-1257] - CDI Injection for process variables does not work correctly in call stacks including other processes
- [ACT-1258] - ThreadpoolExecutor injection point is depending on actual class instead of Executor Interface
- [ACT-1260] - REST: JSON field values have to be null instead of "null"
- [ACT-1277] - activiti-engine-5.9.pom file has invalid URL for repository
- [ACT-1278] - List<HistoricProcessInstance> is not serializable
- [ACT-1286] - REST: Starting a process instance does not handle StartEvent property datatypes correctly
- [ACT-1287] - HistoricTaskInstanceQuery orderByTaskDefinitionKey() does not work
- [ACT-1298] - Deploying two processes with same id breaks engine
- [ACT-1305] - Parsing call-activity may lead to NullPointerException
- [ACT-1308] - Null-Pointer Exception in ProcessInstanceResource.java
- [ACT-1309] - NullPointerException in SignalEventHandler

#### Improvement

- [ACT-380] - Add method getCandidates() to interface DelegateTask
- [ACT-656] - Add support for schema prefixes for table names
- [ACT-897] - Make JuelFormEngine.getFormTemplateString(FormData) protected
- [ACT-923] - HistoricProcessInstance should hold the super processInstanceId
- [ACT-946] - Category in ProcessDefinition REST Response
- [ACT-974] - Don't register Activiti XML editor as default XML editor in Eclipse
- [ACT-991] - improve exception thrown by taskservice.claim()
- [ACT-1056] - Contention in mybatis due to dynamic query creation in ExecutionEntity.remove()
- [ACT-1133] - Reduce number of task / event subscription queries when execution is removed
- [ACT-1140] - Add RuntimeService.startProcessInstanceByMessage(String, String) Method
- [ACT-1145] - Selecting the Activity's name from the DelegateExecution could be a convenience method
- [ACT-1246] - FormService returns null instead of exception if no form is defined
- [ACT-1276] - SetProcessDefinitionVersionCmd should work with CallActivities as well
- [ACT-1280] - Add unique index to process-definitions on KEY and VERSION
- [ACT-1284] - Improve error message if process definition with Message Start Events gets started by "startProcessInstanceByKey"
- [ACT-1294] - Upgrade Spring dependency to 3.1.2.RELEASE

#### New Feature

- [ACT-638] - Implement non interrupting boundaryEvent (cancelActivity="false")
- [ACT-740] - Mechanism of management rights on the start of process.
- [ACT-892] - Support nested sub-processes in designer
- [ACT-932] - Support embedded subprocesses in Designer
- [ACT-959] - Retrieve process diagram through rest interface by processDefinitionId
- [ACT-960] - Retrieve active task list from processInstanceId
- [ACT-1020] - Get Process Documentation
- [ACT-1028] - Support default values for form properties
- [ACT-1046] - Allow engine to configure a delay between retries and the amount of retries.
- [ACT-1117] - Add support for suffix ".bpmn" instead only ".bpmn20.xml"
- [ACT-1136] - Add support for catching intermediate and boundary message events
- [ACT-1139] - Add startProcessInstanceByMessage* methods to BusinessProcess bean
- [ACT-1159] - BpmnError should be handled in expression based ServiceTasks.
- [ACT-1164] - Add possibility to hook in own implementation of BusinessRuleTask
- [ACT-1167] - Start and End event should be able to have Execution Listeners as well
- [ACT-1181] - Group provisioning & group assignment missing in REST
- [ACT-1190] - Add possibility to hook in own MyBatis Queries
- [ACT-1213] - Add "processVariableValueNotEquals" to TaskQuery
- [ACT-1225] - Provide infrastructure for mock testing
- [ACT-1282] - Add method TaskQuery#taskDelegationState(DelegationState)
- [ACT-1288] - Timer due date configured by expression can take java.util.Date directly - not only String with ISO 8601

#### Task

- [ACT-1161] - Remove experimental Webservices from activiti-cxf project

#### Wish

- [ACT-1197] - Spring based configuration with user specified expression manager
- [ACT-1247] - Could u supply a WF graph with highlighted active node

### Release Notes - Activiti - Version 5.9

#### Highlights

- Support for Exclusive Jobs and Plugability of the Job Executor Infrastructure
- Persistent event subscriptions (infrastructure)
- Intermediate signal throw / catch
- Event based gateway
- BPMN transaction (cancel end event & cancel boundary event)
- BPMN compensation (compensation catch & compensation throw)
- Interrupting error event subprocesses
- (Multiple) message start events (not implemented yet, should be a quick win)
- Various bug fixes

#### Bug

- [ACT-583] - Processes are not found in the bar file, if they are below root
- [ACT-736] - SpringAutoDeployment deploymentsDiffer incorrect (results in unnecessary deployment each application restart)
- [ACT-834] - JavaDelegate instances should not be cached
- [ACT-848] - Delete Reason not saved in database
- [ACT-861] - Statement-Leak in Mybatis
- [ACT-862] - VariableScopeImpl#getVariableNames does not take parent scopes into account
- [ACT-907] - Timer start event triggers twice
- [ACT-930] - startUserId missing in REST v2 /process-instances
- [ACT-944] - Activiti 5.7 "Create deployment artifacts" in Eclipse creates unusable .jar file
- [ACT-953] - Error catching boundary event that catches ALL errors doesn't work
- [ACT-954] - REST webapp doesn't set the authenticated user on the Authentication object
- [ACT-981] - ActivitiOptimisticLockingException thrown on CallActivity with Async serviceTask and Multi-Instance construct.
- [ACT-983] - Only test in Activiti Explorer fails
- [ACT-990] - Activiti-cdi: CdiActivitiTestCase troubles Jboss AS7 classloader
- [ACT-1001] - Activiti-cdi: taskService.claim() does not work
- [ACT-1003] - Exceptions thrown on a multi instance sub process with asynchronous property
- [ACT-1027] - Activiti engine bundle has optional dependencies declared as mandatory in OSGi manifest
- [ACT-1035] - Calling interrupt() on thread that access the database closes db connection and causes ConnectionClosed exceptions (H2 and Derby)
- [ACT-1047] - Possible infinite loop with log flooding in JobAcquisitionThread
- [ACT-1050] - AtomicOperationProcessEnd does not propagate caught Exceptions
- [ACT-1053] - Activiti cdi: Remove CommandExecutor bean
- [ACT-1061] - Process Image is cut off in "My instances" instead of scrolling
- [ACT-1062] - Database table generation fails on Oracle if multiple activiti engine schematas are visible to the database user
- [ACT-1087] - Add missing "parseReceiveTask" to BpmnParseListener
- [ACT-1097] - Execution.takeAll() takes transitions with executions which have been deleted
- [ACT-1098] - RuntimeService.deleteProcessInstance loses deleteReason
- [ACT-1099] - Parsing results in exception when using text annotation connected with association
- [ACT-1114] - Timer throw exception.

#### Improvement

- [ACT-249] - Need a way to skip process where isExecutable='false'
- [ACT-326] - Store current authenticated user Id into HistoricDetail
- [ACT-702] - All tests should also run with full history configuration on all DB's
- [ACT-831] - CallActiviti to select subprocess based upon an expression evaluated at runtime.
- [ACT-889] - Typo error in User guide
- [ACT-948] - Database in activiti.cfg.xml in REST is hardcoded to H2
- [ACT-964] - Also catch and handle Errors when generating diagram
- [ACT-1005] - Activiti jpa integration does not merge detached entities
- [ACT-1012] - REST - Get form properties from startform
- [ACT-1036] - Check for isActive flag before going to sleep in JobAcqusitionThread
- [ACT-1038] - Improve JobAcqusitionThread
- [ACT-1045] - Finding a better way for executing task rejected by ThreadPoolExecutor.
- [ACT-1052] - Activiti-cdi: Upgrade Jboss Weld to resolve Issue with BeforeShutdown event in ActivitiExtension
- [ACT-1055] - Activiti cdi: Change ProcessEngineLookup into a java.util.ServiceLoader like SPI
- [ACT-1072] - Execution gets stuck after nested Sub-Process with no outgoing Sequence Flows
- [ACT-1079] - TimerEntity#getPersistentState() should include duedate field
- [ACT-1104] - Overload method to pass in process variables to RuntimeService.signal
- [ACT-1105] - Activiti -cdi: use signal method to pass in process variables to execution

#### New Feature

- [ACT-441] - Allow historic queries for a specific date range
- [ACT-456] - Sending mails with Activiti with TLS (eg using Gmail as SMTP)
- [ACT-461] - Activity type for executing OS commands
- [ACT-846] - Add Scrollbars to Process image in Explorer2
- [ACT-883] - Variable query support for HistoricProcessInstances
- [ACT-903] - RuntimeService.signal should be able to take signalName
- [ACT-945] - Enable creating new users through rest interface
- [ACT-947] - Retrieve process variables through REST interface
- [ACT-985] - Support activiti:priority userTask extension at run-time
- [ACT-989] - Implement exclusive jobs
- [ACT-1004] - There is no ability to sort process instances by 'start time' in Activiti-API. Good if it would be...
- [ACT-1021] - Trigger BPMN Error Events from Java Delegate
- [ACT-1028] - Support default values for form properties
- [ACT-1034] - Fix synchronization on isActive and isJobAdded fields in JobAcquisitionThread
- [ACT-1068] - Error Event Sub-Process
- [ACT-1074] - Support suspension of JobExecution for particular ProcessDefinitions and ProcessInstances
- [ACT-1086] - Add "businessKey" query capabilities to TaskQuery and ExecutionQuery
- [ACT-1091] - Add support for persistent event subscriptions
- [ACT-1092] - Add support for bpmn20 signal throw and catch in engine
- [ACT-1093] - Add support for bpmn20 event based gateway in engine
- [ACT-1094] - Add support for bpmn20 compensation in engine
- [ACT-1095] - Add support for bpmn20 transactions in engine
- [ACT-1103] - Add support for bpmn20 message start event in engine
- [ACT-1107] - Implement None Intermediate Throw Event

#### Task

- [ACT-34] - Refactor JobExecutor threading
- [ACT-994] - Get contributor agreement from Thilo

### Release Notes - Activiti - Version 5.8

#### Highlights

- Asynchronous continuations (tech preview)
- Added BPMN inclusive gateway
- Improved Spring support
- CDI integration improvements
- Bug fixes

#### Bug

- [ACT-908] - Designer .activiti file won't compile and generate a BPMN 2.0 xml file
- [ACT-910] - duplication of flownodes when nodes are out of order
- [ACT-919] - Activiti-cdi: make interceptors serializable
- [ACT-922] - Activiti-cdi: make sure to use the right BeanManager in ProgrammaticLookups
- [ACT-924] - BPMN Export fails for Sequence Flows under IBM JDK because of wrong namespace definition in SequenceFlowExport.java
- [ACT-937] - Designer form property editor flips ID and Name fields
- [ACT-939] - Mime-type and extension of uploaded attachments isn't handled correctly
- [ACT-943] - ReceiveTask with TimerBoundaryEvent not working as expected !
- [ACT-957] - Unable to add 2 timerBoundaryEvents in sub process

#### Improvement

- [ACT-288] - Variable with authenticated user for be used inside form
- [ACT-909] - Null-check for process name in explorer2 ui
- [ACT-918] - Activiti-cdi: revisit process variable handling and interceptor
- [ACT-926] - Add method that is called when root-element of BPMN is parsed to BPMNParseListener

#### New Feature

- [ACT-126] - Asynchronous continuations
- [ACT-890] - Add Inclusive Gateway Support
- [ACT-916] - Activiti-cdi: add thread context for thread-scoped associations
- [ACT-917] - Activiti-cdi: add execution-based associations.

### Release Notes - Activiti - Version 5.7

#### Highlights

- A new Activiti Explorer application completely rewritten in Vaadin
- The REST services have been rewritten to Restlet

#### Important

A couple of add-on applications have spun off from the Activiti download and started life on their own. Activiti Modeler continues as a Google code project called Signavio Core Components. Activiti Cycle now lives on as Camunda Fox. An evolved version of Activiti KickStart will become part of a new Alfresco cloud case management solution.

Activiti Explorer has acquired Activiti Probe for an undisclosed amount :-) The resulting Activiti Explorer has been restyled and includes more dynamic task management features.

The REST services were rewritten with the Restlet framework with backwards compatibility, so the REST interfaces haven't changed. The previous versions of Activiti included a REST services web application that used the Spring Surf and Webscripts framework. To implement a new or revised REST service you had to learn these frameworks. With moving to Restlet implementing new or revised REST services has become really simple.

The demo setup has been limited to H2 database only, as many people struggled with getting the demo setup to run on their databases. The demo setup is a quick way to get familiar with Activiti and its tools, but it is by no means meant for production purposes. A section 'Changing the database' has been added to the userguide and is intended for advanced users who want to run the Activiti tools on their servers and databases.

#### Sub-task

- [ACT-705] - Enable opening a call activity's process if it exists in the workspace

#### Bug

- [ACT-481] - Replacing MailTask with ServiceTask by reconnecting connections renders different type of connection after deletion of MailTask
- [ACT-629] - BPMN waypoints are not created accurately
- [ACT-768] - JtaTransactionInterceptor should not rollback existing JTA transactions but use setRollbackOnly instead
- [ACT-803] - Activiti-Designer creates activiti:field for empty field-values which causes an error on deployment of bar on activiti-probe
- [ACT-842] - Activiti explorer pretty-time label tooltip doesn't show time, only date
- [ACT-856] - Error format xml in parameters of Call-Activity
- [ACT-867] - Login page of activiti explorer 2 is not showing in ie
- [ACT-879] - Designer plugin creates multiple extensionElements Nodes in a serviceTask Node

#### Improvement

- [ACT-730] - Easier way to retrieve businessKey from task listeners
- [ACT-833] - [PATCH] make new explorer SSO friendly
- [ACT-835] - Make commands serializable
- [ACT-841] - Designer changes timer start event to none start event
- [ACT-843] - Rendering variable values in process-instance view should be made pluggable
- [ACT-860] - Ability to set targetNamespace /process definition category
- [ACT-880] - Add query capability to search for historic process instances based on the parent process instance id

#### New Feature

- [ACT-450] - Use a Activiti XSD for the XML editor
- [ACT-708] - Allow dragging a shape and connector directly from the context buttons
- [ACT-846] - Add Scrollbars to Process image in Explorer2
- [ACT-852] - Support timer start event

#### Task

- [ACT-436] - Create retry interceptor
- [ACT-773] - Define strategy for classloading
- [ACT-787] - Enable probe functionality subset in the new webapp
- [ACT-836] - Cleaning obsolete modules from codebase
- [ACT-839] - Remove impl from the public javadocs
- [ACT-849] - Integrate explorer 2 in demo setup
- [ACT-857] - Limit demo setup to H2
- [ACT-864] - Add support for MS SQL bootstrap

### Release Notes - Activiti - Version 5.6

#### Highlights

- Added direct Mule and Camel integration
- Easier way to retrieve businessKey from task listeners
- Improved support for Alfresco processes
- Added support for delegateExpressions in tasklistener
- Added support for BPMN multi instance in the eclipse designer
- Extended length of all user defined text columns to 4000

#### Known upgrade limitation

In the DB schema creation scripts, we've enlarged the max size of certain varchar columns from 255 to 4000. See ACT-236. These schema updates are not part of the automatic upgrade procedure.

Max length of following columns has been set to 4000:

- ACT_RU_JOB.EXCEPTION_MSG_
- ACT_RU_JOB.HANDLER_CFG_
- ACT_RE_PROCDEF.RESOURCE_NAME_
- ACT_RE_PROCDEF.DGRM_RESOURCE_NAME_
- ACT_RU_TASK.DESCRIPTION_
- ACT_RU_VARIABLE.TEXT_
- ACT_RU_VARIABLE.TEXT2_
- ACT_HI_TASKINST.DESCRIPTION_
- ACT_HI_TASKINST.DELETE_REASON_
- ACT_HI_DETAIL.TEXT_
- ACT_HI_DETAIL.TEXT2_
- ACT_HI_COMMENT.MESSAGE_
- ACT_HI_ATTACHMENT.DESCRIPTION_
- ACT_HI_ATTACHMENT.URL_

If you want to perform these changes, you can do that manually. Check your database capabilities for the easiest way on changing the type of columns from varchar(255) to varchar(4000). As a fall back, for each table affected, you can:

1. create a new temporary table
2. copy the contents from the original to the temporary table
3. delete the original table
4. recreate the original table using the new create script with the proper lengths
5. copy the contents from the temporary table back to the new original table
6. drop the temporary table

#### Bug

- [ACT-665] - Activiti Designer 0.8.0 can not delete by keyboard
- [ACT-691] - Cannot see property changes when clicking on new tasks (Activiti Engine)
- [ACT-786] - NPE on default sequenceFlow without id
- [ACT-803] - Activiti-Designer creates activiti:field for empty field-values which causes an error on deployment of bar on activiti-probe
- [ACT-806] - Bug: multi instance service task with collection doesn't inject collection element
- [ACT-808] - Support for default sequence flow in Activiti Designer
- [ACT-809] - Deploying Webservice
- [ACT-813] - deleting task cascading problem for new variable instances
- [ACT-826] - Rules Filter in Business Rules Task

#### Improvement

- [ACT-730] - Easier way to retrieve businessKey from task listeners
- [ACT-795] - Refactor BPMN 2.0 validation to worker list

#### New Feature

- [ACT-236] - Introduce new variable type text
- [ACT-781] - Allow to set charset when sending email
- [ACT-797] - Set a userTask priority on the bpmn20.xml
- [ACT-799] - Implement support for specifying timer event definitions other than timeDuration
- [ACT-805] - Add Ant view to Activiti perspective
- [ACT-807] - support definition of delegateExpressions in tasklistener
- [ACT-811] - Support BPMN Multi-instance

#### Task

- [ACT-703] - Complement palette
- [ACT-780] - Enhancing the create task input field
- [ACT-788] - Enable Alfresco user repository integration in the new webapp

### Release Notes - Activiti - Version 5.5

#### Highlights

- Added CDI support
- Added dynamic sub task capabilities
- Added support for event/activity streams
- In the eclipse process designer,added support for default value for CustomServiceTask fields
- Simplified persistence
- Performance improvements
- Many bug fixes

#### Bug

- [ACT-477] - Creating new diagram using wizard with existing name overwrites without warning
- [ACT-718] - Ternary operator not working in Listener field expression
- [ACT-757] - calledElement missing from call activity in generated bpmn
- [ACT-764] - MultiInstance doesn't work for serviceTask
- [ACT-765] - Initial priority from task is not stored on HistoricTaskInstanceEntity
- [ACT-766] - Querying tasks causes HistoricTaskInstanceEntity to be loaded for each result
- [ACT-782] - Javadoc of org.activiti.engine.test.Deployment is inconsistent with its implementation

#### Improvement

- [ACT-653] - When folders src/test/java and src/test/resources are missing my unittests are not generated
- [ACT-725] - Expose task query criteria for priority >= and <= in addition to =
- [ACT-728] - When creating a process model not in src/main/resources (e.g. test), the activiti file is created in the src/main/resources anyway
- [ACT-732] - Upgrade to iBatis 3.04
- [ACT-735] - Task owner is not stored on the HistoricTaskInstance
- [ACT-742] - Use spring to wire explorer 2 application
- [ACT-744] - Management pages should only be visible for admins
- [ACT-750] - Refactor task-lists in explorer 2
- [ACT-752] - Add more demo-data to explorer 2
- [ACT-753] - Navigate to task URL for task where user is not involved should be forbidden

#### New Feature

- [ACT-559] - Allow default value for CustomServiceTask fields
- [ACT-644] - Add support for dynamic subtasks
- [ACT-743] - Add screen to edit user profile
- [ACT-746] - Add people involvement in task UI
- [ACT-747] - Add support for dynamic tasks in explorer UI
- [ACT-748] - Add support for showing/adding subtasks in UI
- [ACT-751] - Show event-stream in new explorer
- [ACT-755] - Add/remove related URL to task
- [ACT-759] - Allow user assignable Id for process elements.
- [ACT-760] - Add Skype buttons

#### Task

- [ACT-741] - Refactoring persistence
- [ACT-754] - Apply styling to vaadin-components
- [ACT-767] - Add support for Events
- [ACT-790] - Look at cycle persistence

#### Test

- [ACT-745] - Incorporate user/group administration into explorer 2

### Release Notes - Activiti - Version 5.4

#### Compatibility note

After releasing 5.3, we discovered that execution listeners and task listeners and expressions were still in non-public api. Those classes were in subpackages of `org.activiti.engine.impl...`, which has `impl` in it). `org.activiti.engine.impl.pvm.delegate.ExecutionListener`, `org.activiti.engine.impl.pvm.delegate.TaskListener` and `org.activiti.engine.impl.pvm.el.Expression` have been deprecated. From now on, you should use `org.activiti.engine.delegate.ExecutionListener`, `org.activiti.engine.delegate.TaskListener` and `org.activiti.engine.delegate.Expression`. In the new publicly available API, access to `ExecutionListenerExecution.getEventSource()` has been removed. Apart from the deprecation compiler warning, the existing code should run fine. But consider switching to the new public API interfaces (without .impl. in the package name).

#### Highlights

- Added first version of BPM-Roundtrip with Activiti Cycle (see this Screencast)
- Started building case management features in the engine: Added dynamic comments, attachments and due dates to tasks in Activiti Engine
- IMAP folder scanning for new tasks
- Added accounts to users in Activiti Engine
- Provided support to specify form properties in Activiti Designer Eclipse plugin
- Many bug fixes

#### Sub-task

- [ACT-692] - Activiti Designer 0.8.0 can not show diagram with callActivity tasks

#### Bug

- [ACT-607] - Developer Friendly BPMN doesn't remove Pools/Lanes in DI
- [ACT-634] - Generated Jar file is invalid
- [ACT-666] - Activiti 5.3 demo setup does not work on JDK 5
- [ACT-667] - Diagram is cut off in some cases
- [ACT-668] - Mail task doesn't leave activity
- [ACT-670] - Designer 0.8.0 generates wrong bpmnElement references for subprocess elements
- [ACT-681] - Db autodiscovery for DB2 does not work on all installations of DB2
- [ACT-685] - Executing processes can cause StackOverflows
- [ACT-695] - Exception when using HistoricVariables of type ByteArray on Postgres
- [ACT-731] - Webservice invocation doesn't continue process execution

#### Improvement

- [ACT-655] - Throw better exception when form is not found
- [ACT-669] - FormService.submitStartFormData should provide a way to specify businessKey for process instance

#### New Feature

- [ACT-459] - Query for tasks for a specific process definition
- [ACT-564] - Add dueDate to tasks
- [ACT-661] - Parse process definition documentation
- [ACT-663] - Provide support to specify form properties
- [ACT-672] - Allow querying task based on process-instance variable
- [ACT-673] - Extend HistoricTaskInstanceQuery sorting: assignee, taskId
- [ACT-675] - Allow querying HistoricTaskInstances based on the state of historic process-instance (running/completed)
- [ACT-676] - Allow querying HistoricTaskInstances based on the value of the last variable-update for a certain task-variable
- [ACT-677] - Query HistoricTaskInstances based on the process definition key, id and name
- [ACT-688] - Add comments to tasks and process instances
- [ACT-712] - Create feature that scans a IMAP-folder and creates task for each email in it.

#### Task

- [ACT-628] - Resolve publicly exposed implementation classes
- [ACT-648] - Fix activiti-cycle-maven-template.zip
- [ACT-649] - Document process instance visualization in Probe & REST
- [ACT-650] - Verify links to jdk, eclipse and ant in userguide
- [ACT-652] - Ensure docs on how to deploy from designer to engine
- [ACT-679] - Add attachments to tasks and to process instances
- [ACT-687] - Add owner property to tasks
- [ACT-690] - Verify activiti dependency versions against the ones used in Alfresco
- [ACT-694] - Add photo, skypeid and other account data to identities
- [ACT-696] - Prototype new Explorer UI

### Release Notes - Activiti - Version 5.3

#### Highlights

- Added BPMN multi instance (==foreach) support
- Added BPMN intermediate timer catch event
- Added business rule task with Drools integration
- Improved Spring integrations: added possibility to limit visibility of beans and also exposed spring beans in scripts
- Added administrator console to manage users and groups
- Added automatic DB type discovery
- Various bug fixes

#### Bug

- [ACT-485] - Fields in HistoricTaskInstance aren't updated when corresponding Task fields are updated using API
- [ACT-568] - Deleting an gateway does not delete the associated sequence flows
- [ACT-575] - Name of node in diagram not updated in specific case
- [ACT-589] - Kickstart does not display properly on 1024x768
- [ACT-592] - Nullpointer when trying to set variables on process-instance which is waiting in a Task with a timer on it, when history-level is FULL
- [ACT-598] - Bug in drawing of process diagrams: sequence flow out of gateways can't have conditional markers
- [ACT-599] - BPMN20ExportMarshaller generates wrong id for startEvent and endEvent elements of subProcesses
- [ACT-603] - docs for generated processdefinition id not correct
- [ACT-604] - Cannot add variables to standalone task when history level is 'full'
- [ACT-610] - ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE does not work with Oracle
- [ACT-611] - It's not possible to delete sequenceFlows
- [ACT-612] - ServiceTask: Switching the type from class to expression doesn't update BPMN2.0.xml
- [ACT-618] - Call of setter before null check in file BpmnParse
- [ACT-621] - When creating HistoricFormPropertyEntity query for HistoricActivityInstance isn't limited to the active one
- [ACT-625] - Task form just displays a Failure error when deployed from Eclipse Designer
- [ACT-627] - Subprocess Start and End event ids incorrectly generated
- [ACT-629] - BPMN waypoints are not created accurately
- [ACT-631] - Investigate potential concurrency bug
- [ACT-637] - Using a call activity with activiti: in extension for variable passing results in null pointer when history level set to "full"

#### Improvement

- [ACT-429] - Allow to use expressions in timer duration
- [ACT-484] - Add task priority to HistoricTaskInstance
- [ACT-529] - Processimage name does not follow conventions used by explorer/API to show or get image
- [ACT-530] - Deployment doesn't export process image
- [ACT-549] - Need brief documentation of working with Eclipse Designer Sources
- [ACT-584] - Add ability to delete IdentityLinks using API and DelegateTask
- [ACT-585] - Limiting/disabling spring-beans in expressions should be possible
- [ACT-587] - FieldInjection should try public setter first and revert to setting private field
- [ACT-600] - Review and improve 10 minute tutorial
- [ACT-601] - Review and improve Designer section in userguide

#### New Feature

- [ACT-469] - Add support for specifying a Form key for StartEvent in Designer
- [ACT-483] - Support for specifying a form (form key) on a StartEvent
- [ACT-506] - For each support (Multi instance)
- [ACT-527] - Implement a Business Rule Task with Drools integration
- [ACT-581] - CallActivity with in/out parameters: Add sourceExpression and documentation to User Guide
- [ACT-582] - Add deleteHistoricProcessInstance() to HistoryService
- [ACT-588] - Extend TaskQuery to add variableValue querying similar to the ProcessInstanceQuery
- [ACT-593] - Allow firing of custom events to the active node on a given execution
- [ACT-596] - Result DTO of KickstartService.findKickstartWorkflowById() is missing Task-ID's
- [ACT-606] - Open existing BPMN XML directly in the project with the Designer
- [ACT-641] - Implement intermediate timer catch event

#### Task

- [ACT-97] - Expose spring beans in Scripts
- [ACT-416] - Document how to open mgr of the in memory db
- [ACT-422] - Make spring parsing dependency optional
- [ACT-442] - expose root cause for class not found exceptions
- [ACT-526] - Provide Money tasks example code from userguide in repository
- [ACT-540] - Distill db name from the datasource
- [ACT-571] - Upgrade KickStart to Vaadin 6.5.0
- [ACT-574] - Rename service task resultVariableName to resultVariable
- [ACT-623] - Simplify access to process engine configuration through Context
- [ACT-632] - Update repo link
- [ACT-642] - Include MIT license file in the activiti-modeler.war distribution file
- [ACT-645] - Merge Administrator branch into trunk

### Release Notes - Activiti - Version 5.2

#### Highlights

- First version of the jBPM-Activiti migration
- Visualization of the current activity in Activiti Probe
- Added support for BPMN error event in Activiti Engine
- Added support for BPMN 2.0 import in Activiti Designer
- Improved form datatypes
- Automated in container testing
- Various bug fixes

#### Sub-task

- [ACT-512] - Add Checkbox control
- [ACT-513] - Add static dropdown control
- [ACT-514] - Add radio control
- [ACT-515] - Add datepicker control

#### Bug

- [ACT-428] - It is not possible to use function with more then 1 argument as custom assignment handler for candidateGroups
- [ACT-473] - ProcessEngineFactoryBean fails to register created process engine properly
- [ACT-474] - Activiti Designer doesn't support multiple end events
- [ACT-479] - Vacation Request form example code in user guide is not correct
- [ACT-505] - Process definition cache not in sync when redeploying process definition with same generated id
- [ACT-509] - Reported progress for ExportMarshallers and ProcessValidators is incorrect
- [ACT-533] - In Eclipse the export process to bpmn20.xml fails in some attributes of "UserTask"
- [ACT-557] - Field TASK_DEF_KEY_ is not populated on ACT_HI_TASK and not exposed on HistoricTaskInstance
- [ACT-572] - Maven "check" profile states successful build when there are test-failures

#### Improvement

- [ACT-467] - Invalid small icon path throws unclear exception
- [ACT-492] - Incorrect icon paths result in exceptions for CustomServiceTasks
- [ACT-498] - Include active activity instance id on HistoricVariableUpdate when variable is updated
- [ACT-499] - Start- and end-event should also be include as HistoricActivityInstance when history-level is at FULL
- [ACT-534] - The BPMN validator should not fail validation if CustomServiceTasks are included
- [ACT-567] - Allow assignee of a task to be set to null

#### New Feature

- [ACT-15] - Implement BPMN boundary error event
- [ACT-281] - BPMN default sequence flow
- [ACT-354] - Add data mapping capabilities in call activity
- [ACT-446] - Add support for execution and task listener configuration
- [ACT-447] - Add support for a receive task
- [ACT-511] - Add support for simple controls in CustomServiceTasks
- [ACT-543] - Capture initiator in KickStart
- [ACT-554] - Return deploymentId when deploying process in AdhocWorkflowService (KickStart)
- [ACT-555] - Rename AdhocWorkflowService to KickstartService
- [ACT-560] - Improve CallActivity for independant subprocess to support parameters
- [ACT-563] - Start JBPM Migration
- [ACT-569] - Visualize current activities of process instances in probe

#### Task

- [ACT-108] - Create server script for continuous integration
- [ACT-457] - Support the documentation element
- [ACT-486] - User library is not present by default
- [ACT-494] - Refactor deployments
- [ACT-496] - Change action icons to links
- [ACT-504] - Document exception handling in service task
- [ACT-510] - Check export for each PropertyType to BPMN
- [ACT-544] - Fix oracle metadata problem

#### Wish

- [ACT-188] - Source jar files are not published on maven repository
- [ACT-476] - document the activiti database tables

### Release Notes - Activiti - Version 5.1

#### Warning

The automatic upgrade does not have enough coverage to have full confidence. For more info, see the user guide, section Database upgrade.

#### Changes

- In attribute <serviceTask delegateExpression="..."> previously always performed a leave after calling the delegate that was obtained by evaluating the expression. Which means that it's always an automatic activity. Now the leave is only performed only when the delegate object implements JavaDelegate. In case the delegate object implements ActivityBehavior the leave will not be called. In that case, the ActivityBehavior is responsible for calling leave if it wants to be an automatic activity.

#### Highlights

- Added Activiti KickStart making the creation of new BPMN process models as easy as 1, 2, 3
- Added automatic upgrade of the DB schema from 5.0 to 5.1
- Added generation of process definition diagram based on DI information
- Added display of process definition diagram
- Added historic task instances
- Added Comments to artifacts in Cycle
- Improved Cycle Plug-In Infrastructure (now using Annotations)
- Fixed various bugs

#### Sub-task

- [ACT-386] - Split the BPMN 2.0 marshalling into marshalling and validation parts

#### Bug

- [ACT-418] - Missing groovy dependency in demo setup
- [ACT-419] - Remove automatic leave when using delegateExpression in serviceTask
- [ACT-424] - BPMN Export differs between manual and automatic and causes unnecessary exceptions
- [ACT-430] - SequenceFlows are only deleted for Task elements
- [ACT-434] - SaveHandler is only invoked from key combination
- [ACT-443] - HistoricDetail doesn't use activitiyInstanceId

#### Improvement

- [ACT-18] - Show process definition diagram
- [ACT-226] - Retrieve the expression from the PvmTransition

#### New Feature

- [ACT-336] - Create email service task node
- [ACT-385] - Create extension point to validate diagrams
- [ACT-408] - Allow usage of lists as property of CustomServiceTask
- [ACT-413] - Allow parametrization of PropertyTypes
- [ACT-421] - Introduce task-local variables
- [ACT-455] - Make parselisteners configurable on ProcessEngineConfiguration
- [ACT-464] - Introduce HistoricTaskInstance
- [ACT-470] - Create and include Activiti KickStart in the distribution

#### Task

- [ACT-293] - Refactor variable map
- [ACT-420] - Automatic upgrade
- [ACT-439] - Extract image generation in code in module activiti-engine
- [ACT-440] - Add process image generation to bpmn deployer
- [ACT-444] - Add task query criteria for taskDefinitionKey and -Like
- [ACT-458] - Check if seperate selectTaskByQueryCriteria is needed for MySQL in task.mapping.xml
- [ACT-471] - Add taskId ref to HistoricDetail

### Release Notes - Activiti - Version 5.0

#### Highlights

- Various bug fixes
- Activiti Engine: Added more configuration options and synced standalone with Spring configuration
- Activiti Engine: Added task listeners
- Activiti Probe: Deployment through file upload
- Activiti Cycle: Loads of improvements for the GUI, tagging and linking, new connectors for SVN and SFTP, Maven project generation
- Activiti Designer: Possibility to add your own developed nodes to the Designer with the Designer extension functionality
- Activiti Designer: BPMN 2.0 XML editor with content assist
- Activiti Designer: Deployment editor with support to generate a BAR file
- Activiti Designer: Support for e-mail and manual tasks
- Activiti Designer: Field extensions editor for the Service task and support for expressions
- Activiti Designer: Support for Formkey attribute for User tasks
- Activiti Designer: Automatic generation of the BPMN 2.0 XML and a process image after each save of the editor diagram (no need to for an explicit export).

#### Bug

- [ACT-194] - Business model is not persisted when reconnecting SequenceFlow
- [ACT-215] - TaskEntity does not populate processInstanceId
- [ACT-217] - Review documentation
- [ACT-225] - Cannot see database view in Probe
- [ACT-255] - Access via url to Explorer lose url after authentication.
- [ACT-295] - Sorting processes on name doesn't work
- [ACT-297] - Error when creating link in activiti-cycle on postgres DB
- [ACT-306] - Nullpointer exception when sequence flow has invalid destination
- [ACT-308] - Review DeployBarTask handling when no ProcessEngine is found
- [ACT-314] - REST-call task get doesn't return valid JSON
- [ACT-318] - Cannot open PNG picture in Activiti-Cycle if the model name has whitespaces in the name
- [ACT-320] - Replace of JAVA_OPTS in demo setup not working on Windows
- [ACT-323] - Business key not persisted in HistoricProcessInstance
- [ACT-329] - HistoricProcessInstance startActivityId() and endActivityId() is always null
- [ACT-334] - Remove check whether user/group exists when claim/addCandidateXX/etc.
- [ACT-338] - Pagination Links in Processes List in Activiti Explorer doesn't work
- [ACT-347] - Fix Spring bean usage in ServiceTask
- [ACT-351] - Possible illegal query results when querying ProcessInstances by date/long variable value
- [ACT-352] - HistoricVariableUpdate of type byteArray/serializable throws NPE when calling getValue()
- [ACT-353] - Boolean variables are stored as bytearray
- [ACT-366] - Problems with Umlauts in Modeler
- [ACT-369] - Modeler requires Java 6 to run
- [ACT-371] - Latest SVG API doesn't work with Activiti Modeler examples
- [ACT-377] - Empty diagrams have no Process entity by default
- [ACT-379] - Methode getLabels() is missing in Shape
- [ACT-391] - Exception with BPMN 2.0 XML Export of examples in Modeler.
- [ACT-403] - Cycle in demo-setup throws exception when opening 'Activiti Modeler' node in tree
- [ACT-405] - Cycle create-scripts for oracle contain errors
- [ACT-409] - Task form properties not persisted on history level audit

#### Improvement

- [ACT-162] - Simplify extensibility of identity component
- [ACT-212] - Prefix foreign keys with FK_ACT_* instead of FK_*
- [ACT-252] - Typo in warning message is misleading: "XPath currently not supported as typeLanguage"
- [ACT-274] - Switch to Spring Surf/Webscripts 1.0 for all web applications & rest api (and use its new abstract authenticator base class)
- [ACT-292] - Stop making default event being bookmarked
- [ACT-327] - Add finished() to the HistoricActivityInstanceQuery to be able find all completed activities
- [ACT-328] - add getId() into HisctoricActivitiInstance and add search by id into HistoricActivitiInstanceQuery
- [ACT-359] - Invoke export to BPMN 2.0 automatically via ExportMarshaller extension point

#### New Feature

- [ACT-211] - BPMN: assignment handler
- [ACT-222] - Make activiti jars valid OSGi bundles
- [ACT-235] - Add an OSGi extender to deploy activiti processes as osgi bundles along with the needed URL handlers and fileinstall deployers
- [ACT-278] - Add support for extending designer's functionality with custom service tasks
- [ACT-290] - SVG API should not peform access to Signavio Academic Version in the Internet
- [ACT-300] - Deploy business archive with Activiti Probe
- [ACT-301] - Expose getFormService() for ActivitiRule
- [ACT-360] - Provide an osgi web bundle for the rest api
- [ACT-363] - Bug with relative paths in Modler Backend
- [ACT-364] - The BPMN 2.0 serialization isn't the latest version
- [ACT-365] - The BPMN 2.0 DI is still the early draft, not the spec version
- [ACT-367] - Release a new Maven version of the Signavio core components and upload them to the alfresco repository
- [ACT-396] - activiti.cfg.jar should go in webapps\activiti-rest\WEB-INF\lib as well

#### Task

- [ACT-123] - Review the user guide for experimental features
- [ACT-163] - Investigate if smaller groovy jar is sufficient
- [ACT-171] - Remove model repository workaround in demo.setup
- [ACT-180] - Fix forced downloads in mule build
- [ACT-205] - Create Ant script to assemble update site
- [ACT-256] - Changed config param dbSchemaStrategy to databaseSchemaUpdate
- [ACT-296] - Fix date picker in safari
- [ACT-299] - Fix JobQuery test
- [ACT-311] - Rename JavaDelegation to JavaDelegate
- [ACT-315] - fix wsdl importer parsing
- [ACT-317] - Improve lib dependency management in distribution
- [ACT-321] - Add orderByCreateTime() to TaskQuery
- [ACT-332] - Make variable types configurable
- [ACT-335] - Move modeler patching from demo setup to a dedicated build
- [ACT-337] - Refactor distribution to remove maven and include the libs in the distro
- [ACT-340] - Add process definition diagram resource property
- [ACT-342] - Make sessions configurable
- [ACT-348] - Make handling of process definition resource name and other resource names consistent
- [ACT-349] - Delete rest 2 webapp
- [ACT-355] - Test java delegations in demo setup after distro refactoring
- [ACT-358] - Lazy initialization of delegation classes
- [ACT-378] - Unify and simplify configuration
- [ACT-381] - Verify history level configuration
- [ACT-383] - Fix exception message
- [ACT-393] - Create build file for example projects to deploy business archives and classes
- [ACT-394] - Review setup target cfg.create
- [ACT-395] - Doc URIEncoding for Activiti Modeler
- [ACT-399] - Check driver jars and setup demo.start with other dbs
- [ACT-400] - Add release notes to the readme.html
- [ACT-401] - Add cxf module to the checkmule profile
- [ACT-402] - Add version number to userguide title

### 5.0.rc1 (November 1, 2010)

#### Highlights

- Activiti Probe added Job and Deployment management
- Event listeners
- Query for process instances based on variable values
- Parameterized method expressions
- History details and audit capabilities
- Extracted FormService and improved flexible form handling
- Activiti config file from properties to xml
- PostgreSQL en Oracle support
- Improved DB performance by fine tuning indexes

#### Known limitations

- [ACT-294] - Currently the forms as worked out in Activiti Explorer do not yet use the submitStartFormData and submitTaskFormData. So the form properties are not yet archived when using the forms in Activity Explorer.

#### Sub-tasks

- [ACT-191] - Documentation Mistake in ProcessEngineFactoryBean section of User Guide

#### Bug

- [ACT-144] - Canot start process instance when sorted on version first
- [ACT-192] - Table "ACT_ID_GROUP" not found for dbSchemaStrategy = "create-drop"
- [ACT-194] - Business model is not persisted when reconnecting SequenceFlow
- [ACT-195] - UpdateConnectionFlowElementFeature is not invoked for SequenceFlows
- [ACT-206] - Cannot unclaim a task
- [ACT-233] - Connection pool of Ibatis is not used in standalone usage
- [ACT-287] - Starting process instance in explorer doesn't show 'Start form' anymore when the process has a startform

#### Improvement

- [ACT-21] - Manage list of deployments
- [ACT-22] - Manage list of jobs
- [ACT-23] - Add no-wrap to task list menu navigation
- [ACT-129] - Make connection pool of MyBatis configurable
- [ACT-138] - Create REST API for Manage list of jobs
- [ACT-139] - REST API for Manage list of deployments
- [ACT-179] - Fix css code so its consistent with the rest of the app
- [ACT-189] - Engine should be able to resolve parameterised method expressions
- [ACT-196] - Process and subprocess diagram should have default content
- [ACT-197] - SequenceFlow arrowheads are mispositioned and too large
- [ACT-209] - Expose Task start time in interface and query API
- [ACT-210] - Rename ActivitiRule.getHistoricDataService() to ActivitiRule.getHistoryService()
- [ACT-213] - Verify all basic indices exist on supported databases
- [ACT-214] - Clarify documentation demo setup
- [ACT-216] - ServiceTaskMethodExpressionActivityBehavior / ServiceTaskValueExpressionActivityBehavior should support storing service task return value in process variable
- [ACT-219] - Update Userguide with latest UI changes
- [ACT-224] - Allow parsing of document element for all activity types
- [ACT-230] - Change BpmnParse: instead of throwing an exception, use the addProblem() method
- [ACT-238] - Extract common methods from Query API to single Interface
- [ACT-241] - Handle closing of inputstreams in a consistent way
- [ACT-246] - Missing warning when process has a construct which is unsupported.
- [ACT-257] - Define a order for group list (left panel)
- [ACT-259] - Make method naming in Query API consistent
- [ACT-260] - Make namespace prefix consistent activiti:
- [ACT-261] - Change dashes in xml-entities to camelCase
- [ACT-265] - Always use ReflectUtil to do classloader-related operations
- [ACT-272] - Only use 'Expression' instead of making distinction between value/method

#### New Feature

- [ACT-120] - Audit tracking
- [ACT-125] - BPMN: add event listeners
- [ACT-145] - Add Task.getTaskDefinitionKey()
- [ACT-148] - Make Activiti "offline runnable"
- [ACT-152] - Introduce business key
- [ACT-190] - Query for process instances based on variable values
- [ACT-208] - Cannot remove a variable
- [ACT-220] - Allow for parameter injection in method-expr on service-task
- [ACT-242] - Expose process definition model for introspection
- [ACT-258] - Introduce form instances
- [ACT-273] - Allow user to customize preference of automatically adding labels to sequence flows

#### Task

- [ACT-134] - Revisit configuration
- [ACT-137] - Add oracle support
- [ACT-174] - Document link to Signavio community in our wiki
- [ACT-183] - Remove 'about' tabs in the webapps
- [ACT-186] - Improve exception analysis when no tables are present
- [ACT-193] - Bring CYCLE_CONFIG in sync with rest of table naming conventions
- [ACT-243] - Expose Execution.getProcessInstanceId
- [ACT-245] - review variable in ByteArrayEntity
- [ACT-247] - Clean unused table columns
- [ACT-248] - Verify HistoricProcessInstance query filtering
- [ACT-251] - Add task audit to history
- [ACT-262] - Check docs about bar file classloading
- [ACT-263] - Use a correct versioning scheme for activiti-juel module
- [ACT-264] - Remove eclipse/idea files from trunk
- [ACT-266] - Make demo-setup run on Postgres
- [ACT-267] - Merge pvm and juel modules into engine
- [ACT-282] - Transform BpmnJavaDelegation class to JavaDelegation interface
- [ACT-283] - rename activiti bpmn extensions namespace

#### Test

- [ACT-221] - Add an integration test for the webservice task solely based on CXF

### 5.0.beta2 (October 1, 2010)

#### Highlights

- Added Activiti Designer, an eclipse plugin for process authoring targetted for developers
  - Design BPMN processes grafically: start event, end event, sequence flow, parallel gateway, exclusive gateway, embedded subprocess, script task, user task and service task.
  - Generate JUnit test case by right click on the process in the package explorer
  - Run the JUnit test with an embedded h2 database
  - Configure Java class for a service task
  - Configure assignee or candidate for a user task
  - Configure script with a script task
- Added DB support for MySQL and PostgreSQL
- Activiti Modeler and Activiti Engine are now synced on the final BPMN 2.0 specification
- New improved version of Activiti Modeler
- Loads of Activiti Cycle improvements
- Added JDK 5 compatibility
- Added history activity instances
- Added unit testing support
- Added email support and receive activity
- Added optimistic locking for out-of-the-box clustering support
- Added more query APIs
- Minor API cleanup

#### Bug

- [ACT-1] - Change init servlet into context listener
- [ACT-56] - Activiti Modeler is bound to localhost instead of the actual servername
- [ACT-57] - Condition on sequence flow is not saved to bpmn20.xml file after reopening an existing process
- [ACT-71] - Activiti Modeler doesn't work if not installed by demo setup
- [ACT-76] - JSON Response contains unescaped control caharcters
- [ACT-94] - java.util.logging.ErrorManager/ NullPointerException in catalina.out at startup of tomcat
- [ACT-113] - Modeler "Save" does not regenerate bpmn20.xml file
- [ACT-114] - Unable to save newly created diagram twice
- [ACT-115] - Table ACT_GE_PROPERTY cannot be created on MySQL with UTF-8 encoding due to limitation of key index length
- [ACT-142] - Logo is linked to Signavio jBpm page
- [ACT-181] - Automatic deployment on resource change doesn't work

#### Improvement

- [ACT-7] - Move logging.properties process activiti-engines-init to tomcat installation
- [ACT-23] - Add no-wrap to task list menu navigation
- [ACT-64] - Configure Tomcat in demo setup to have more memory
- [ACT-66] - Make task form rendering consistent in API
- [ACT-68] - Make demo.setup run on MySQL
- [ACT-69] - Add ant target to start up h4 console
- [ACT-70] - Review API and build systematic test coverage
- [ACT-73] - Document usage of activiti prefix
- [ACT-104] - Replace findXxx methods returning lists with query API
- [ACT-140] - REST API for Show process definition diagram
- [ACT-158] - ScriptTaskActivity should support storing script execution result in a process variable with configurable name
- [ACT-182] - Add internal support for create-if-necessary db schema stragegy

#### New Feature

- [ACT-35] - Provide external URL for navigating task forms
- [ACT-83] - Capture the initiator
- [ACT-109] - BPMN: document receive task
- [ACT-146] - Add Activiti FavIcon to webapp
- [ACT-168] - Introduce identityLink in API

#### Task

- [ACT-30] - Finish the basic history data model
- [ACT-44] - Verify exception and rollback behavior in Spring context
- [ACT-49] - make activiti compatible with jdk 5
- [ACT-52] - Remove BPMN 2.0 Beta compatibility
- [ACT-67] - Rename modules activiti-probe to activiti-webapp-probe, similar for activiti-explorer
- [ACT-78] - move sortorder out of the interface package
- [ACT-84] - move parsing of value expression to bpmn parser
- [ACT-87] - Fill exception field when job fails
- [ACT-89] - Review test support
- [ACT-95] - fix testTwoNestedSubProcessesInParallelWithTimer
- [ACT-103] - Consider removing Page from engine interface
- [ACT-105] - Add auto redirect to Activiti Modeler
- [ACT-106] - Add testing for optimistic locking
- [ACT-110] - Move Chapter 11. Running QA tests to wiki
- [ACT-124] - Document library dependencies
- [ACT-127] - Restructure modules
- [ACT-130] - Reupload Maven artifacts due to checksum error
- [ACT-131] - Switch to new repository/build for Ativiti Modeler
- [ACT-133] - Refactor start process instance
- [ACT-135] - Cleanup unused task properties
- [ACT-136] - Verify MySQL
- [ACT-153] - Replace DbSchemaStrategy enum with String
- [ACT-155] - Create Junit @Rule test with ActivitiRule and document it
- [ACT-156] - Revise Java service task: introduce BpmnJavaDelegation and field injection
- [ACT-157] - Create mail activity
- [ACT-159] - Remove expressionLanguage and typeLanguage in examples
- [ACT-167] - fix excluded test RepositoryConnectorConfigurationManagerImplTest
- [ACT-177] - Document configuration file properties

### 5.0.beta1 (September 1, 2010)

#### Known limitations

- Optimistic locking isn't tested yet [ACT-106]
- History only contains HistoricProcessInstances, no HistoricActivityInstances yet [ACT-30]
- Some API changes are still expected [ACT-104]

#### New Features

- [ACT-55] - Introduce first version of Activiti-Cycle
- [ACT-91] - Expand serviceTask with method and value expressions

#### Bugs

- [ACT-39] - fix ProcessEngineInitializationTest
- [ACT-98] - REST API errors
- [ACT-99] - Table records don't show

#### Improvements

- [ACT-2] - Clean up API
- [ACT-6] - Rename DbProcessEngineBuilder to ProcessEngineBuilder
- [ACT-60] - pvm refactoring
- [ACT-79] - Please add a ELResolver that automatically resolves any bean in the Spring BeanFactory in which the ELResolver resides
- [ACT-80] - Extend service task to SignallableActivityBehavior
- [ACT-82] - Expose form attribute from Task object

#### Tasks

- [ACT-48] - Add Grails plugin link to docs or website
- [ACT-59] - define table/column naming strategy
- [ACT-61] - Introduce query API for deployments and resources
- [ACT-75] - document maven repo in the website community page
- [ACT-85] - Improve error message when db driver is not found
- [ACT-86] - Fix classpath in setup script for other dbs
- [ACT-90] - Add Spring integration examples and documentation
- [ACT-96] - Cycle demo build creates 2 files in codebase
- [ACT-101] - Add sorting of the table names in Probe

### 5.0.alpha4 (August 1, 2010)

#### Improvements

- MySQL support
- Support for method expressions on sequence flow
- Revised ActivityExecution API
- Added ConcurrencyController API
- Process Event Bus
- Taskforms: added date and date picker support
- Explorer: changed process definition drop down list to a separate page

#### New features

- BPMN parallel gateway
- BPMN manual task
- BPMN (embedded) subprocess
- BPMN call activity (subprocess)
- BPMN Java service task
- Spring integration (experimental, no docs yet)

#### Bugfixes

- Made engine compatible with BPMN 2.0 beta process models
- Fixed exception on windows and linux when using boundary timer event
- Expression cannot have whitespaces

### 5.0.alpha3 (July 1, 2010)

#### Improvements

- Switch from iBatis to MyBatis
- JobExecutor
- BPMN Timers
- BPMN JSR 223 script support.
- Updated to a newer version of BPMN xsd
- Query API
- Switched JUnit usage from 3-style inheritance to 4-style annotations

### 5.0.alpha2 (June 1, 2010)

#### Improvements

- Task forms in Activiti Explorer
- Database table content viewer in Activiti Probe
- Exclusive gateway
- Unified Expression Language support
- Reduced download size

#### Known limitations

- No history in Activiti Engine
- Only single DB: H2
- Only one tx demarcation tech: standalone JDBC
- No process concurrency

### 5.0.alpha1 (May 17, 2010)

#### Known limitations

- No history in Activiti Engine
- Only single DB: H2
- Only one tx demarcation tech: standalone JDBC
- No task forms
- No process concurrency
- No Activiti Cycle