Known limitations
XML editing in the process designer
Direct editing of XML can lead to crashes in the graphical designer.
This will be fixed in one of the next releases. Before you start
editing the process XML source, make sure you create a backup copy.
Transition buttons in task forms
When generating a task form for a task, the transitions are not
automatically populated in the generation dialog. Users have to
enter the transition names and the button labels manually. If you
don't do this no transition buttons will be generated to complete the
task in the task form.
Workaround: First option is to add the transition buttons
in the task form generation dialog. If you generated a task form without
transition buttons, you still can complete the task with the console.
Just save the variables in the task form and then in the 'Views' menu,
select 'Transitions'. There you can click the 'end task' link for
each of the available transitions.
Security vulnerability for GPD deployment
In the suite distribution, the console that is deployed in the server
contains a servlet that allows the designer to deploy processes directly
to a running server. This servlet is unprotected and people could load
any process into a default installation. Security constraints will be
added in 3.2.2 See also http://jira.jboss.com/jira/browse/JBPM-991
Changes from 3.2.1 to 3.2.2
Loading process archive resources
Loading process archive resources changed. Loading process archive classes remained the same.
If you load a resource with the process classloader, it will look into the /classes directory
in the process archive instead of loading it from the root of the classpath.
From the docs:
Delegation classes are loaded with the process class loader of their respective process
definition. The process class loader is a class loader that has the jBPM classloader as
a parent. The process class loader adds all the classes of one particular process definition.
You can add classes to a process definition by putting them in the /classes folder in the
process archive. Note that this is only useful when you want to version the classes that
you add to the process definition. If versioning is not necessary, it is much more efficient
to make the classes available to the jBPM class loader.
If the resource name doesn't start with a slash, resources are also loaded from the /classes
directory in the process archive. If you want to load resources outside of the classes
directory, start with a double slash ( // ). For example to load resource
data.xml wich is located next to the processdefinition.xml on the root of the process archive
file, you can do clazz.getResource("//data.xml") or
classLoader.getResourceAsStream("//data.xml") or any of those getResource* variants.
Bug
- [JBPM-288] - Fork/Join and child token deactivation
- [JBPM-429] - Support for external security systems
- [JBPM-681] - GraphElement.raiseException results in Exception with Java EE
- [JBPM-821] - ProcessClassLoader.getResourceAsStream throws JbpmException when the resource is not found in DB
- [JBPM-910] - XML schema urn:jbpm.org:jpdl-3.2 incomplete (atrtibute missing in sub-process; documentation referring to old version)
- [JBPM-930] - jpdl-3.2.xsd doesnt describe "notify" attribute.(used for mailing) - validaiton error using notify attribute in task element
- [JBPM-962] - SuperState.nodes Mapping causes serious problems
- [JBPM-965] - configuring DbPersistenceServiceFactory is not working
- [JBPM-972] - org.jbpm.graph.action.Script does not provide specific (correct) handling for bsh.TargetError
- [JBPM-980] - superstate-enter not fired when taking a transition directly to the super state
- [JBPM-983] - concurrent process execution fails
- [JBPM-988] - JpdlXmlReader fails to readProcessDefinition if process contains nodes with same name inside different containers
- [JBPM-990] - Delete subprocess instances fails if super process token is not in process state
- [JBPM-992] - ProcessClassLoader : cannot load resource from code deployed inside a process archive
- [JBPM-995] - CLONE -concurrent job acquirement fails
- [JBPM-1002] - Process instance delete fails from process definition screen
- [JBPM-1006] - Concurrent use of 'repeat' and 'transition' in a timer declaration will result in an execution of a non existing timer.
- [JBPM-1015] - ProcessLogs that represent changes of process intance that take place within Timer.Execute are not saved in DB
- [JBPM-1017] - Wrong transition taken after ending a task with the taskform button
- [JBPM-1033] - string_max parameterization doesn't work
- [JBPM-1038] - getNodeTypes() and getNodeNames() are switched in org.jbpm.graph.node.NodeTypes
- [JBPM-1042] - org.jbpm.JbpmException: token '1' can't be locked by 'job[1]' cause it's already locked by 'token[1]'
- [JBPM-1043] - ProcessDefinition delete throws HibernateException: null index column for collection: org. jbpm.graph.def.ProcessDefinition.actions
- [JBPM-1044] - TaskMgmtInstance.removeSignalling(Token token) - Remove signalling capabilities from all task instances related to the given token
- [JBPM-1048] - Userguide Section 18.1.1 is missleading when describing ant task for deploment of par archive
Feature Request
- [JBPM-691] - Decision class does not allow setting of Decision Delegation
- [JBPM-979] - Documentation enhancement for sub-process (fix error; add binding attribute)
- [JBPM-981] - Whitespace and line endings in script elements are not preserved - fix?
- [JBPM-1004] - add dynamic (late) subprocessresolving based on EL
- [JBPM-1036] - config-type schema declaration doesnt accept custom instantiator classes
Patch
- [JBPM-848] - Incorrect mail.smtp.host property + configurable mail from address
- [JBPM-1010] - jpdl/examples/build.xml not recognizing user properties
Task
- [JBPM-908] - in the suite, use the original loggin in the server
- [JBPM-1003] - update docs and xsd for late binding of subprocess
Changes from 3.2.GA to 3.2.1
Release Notes - JBoss jBPM - Version jBPM jPDL 3.2.1
Bug
- [JBPM-444] - jbpm Identity : cascade=all in membership.hbm.xml sets.
- [JBPM-619] - outofmemory during ant test suite run
- [JBPM-783] - isPropagated calculation for event is not correct
- [JBPM-837] - Doesn't support eastern character because the wrong specified font
- [JBPM-847] - When a suspended workflow is resumed, all its finished tasks are getting opened.
- [JBPM-853] - Attribute 'expression' not taken from Condition element
- [JBPM-854] - Condition in transition not retrieved from database JBPM_TRANSITIONS#DECISION_
- [JBPM-894] - EL implementation in jBPM does not find inherited methods
- [JBPM-904] - task notify attribute and reminder element not right in schema
- [JBPM-913] - ProcessBean.startInstance does not set ProcessInstance.key, causing second process start for any user to fail
- [JBPM-925] - taskInstance.setPooledActors(Set) throws exception
- [JBPM-928] - ProcessDefinition.hbm maps Nodes incorrectly
- [JBPM-929] - Missing hibernate mapping file(org/jbpm/graph/action/MailAction.hbm.xml) for MailAction class.
- [JBPM-947] - timer repeat='true' not repeating from within EAR
- [JBPM-953] - Token.getAvailableTransitions doesn't return transitions in superstates
- [JBPM-957] - Event Propagation not working correctly
- [JBPM-964] - NullPointerException in ContextInstance.setVariable(java.lang.String name, java.lang.Object value) method.
- [JBPM-968] - NPE in Decision.java
- [JBPM-969] - tuesday spelled thuesday in Calendar
Feature Request
- [JBPM-504] - improve sub process variable handling and make variable method names consistent
- [JBPM-828] - Add accessor methods to TaskNode.java
- [JBPM-885] - User supplied date/time with comment
- [JBPM-949] - added new constructor for ProcessInstance incl business key
- [JBPM-951] - change logging policy
- [JBPM-976] - The setting "resource.mail.properties" is never used.
- [JBPM-977] - migrate to jboss-el
- [JBPM-984] - introduce possibility to intercept user code
Patch
- [JBPM-848] - Incorrect mail.smtp.host property + configurable mail from address
- [JBPM-849] - Unassigning task fails when task mail notification is enabled (with notify="yes")
- [JBPM-858] - Avoid repeat SAXParserFactory instantiation
- [JBPM-892] - Forgotten e.printStackTrace()
- [JBPM-927] - enhance Calendar to make it more reusable
Task
- [JBPM-926] - Add the identity scripts to the jpdl scripts
- [JBPM-959] - check dependencies on jta.jar
jPDL XML Schema Changes from 3.1.x to 3.2.x
- Added email node and action. See user guide for more information.
- Conditions are now allowed on all transitions, not only on decision transitions.
jPDL Database Schema Updates from 3.1.x to 3.2.x
create table JBPM_JOB (
ID_ bigint generated by default as identity (start with 1),
CLASS_ char(1) not null,
VERSION_ integer not null,
DUEDATE_ timestamp,
PROCESSINSTANCE_ bigint,
TOKEN_ bigint,
TASKINSTANCE_ bigint,
ISSUSPENDED_ bit,
ISEXCLUSIVE_ bit,
LOCKOWNER_ varchar(255),
LOCKTIME_ timestamp,
EXCEPTION_ varchar(4000),
RETRIES_ integer,
NAME_ varchar(255),
REPEAT_ varchar(255),
TRANSITIONNAME_ varchar(255),
ACTION_ bigint,
GRAPHELEMENTTYPE_ varchar(255),
GRAPHELEMENT_ bigint,
NODE_ bigint,
primary key (ID_)
)
alter table JBPM_MODULEINSTANCE add column VERSION_ integer
alter table JBPM_NODE add column DESCRIPTION_ varchar(4000)
alter table JBPM_NODE add column ISASYNCEXCL_ bit
alter table JBPM_NODE add column SUBPROCNAME_ varchar(255)
alter table JBPM_NODE add column SCRIPT_ bigint
alter table JBPM_POOLEDACTOR add column VERSION_ integer
alter table JBPM_PROCESSDEFINITION add column CLASS_ char(1)
alter table JBPM_PROCESSDEFINITION add column DESCRIPTION_ varchar(4000)
alter table JBPM_PROCESSINSTANCE add column KEY_ varchar(255)
alter table JBPM_SWIMLANEINSTANCE add column VERSION_ integer
alter table JBPM_TASK add column CONDITION_ varchar(255)
alter table JBPM_TASK add column PRIORITY_ integer
alter table JBPM_TASKINSTANCE add column VERSION_ integer
alter table JBPM_TASKINSTANCE add column PROCINST_ bigint
alter table JBPM_TOKEN add column LOCK_ varchar(255)
alter table JBPM_TOKENVARIABLEMAP add column VERSION_ integer
alter table JBPM_TRANSITION add column DESCRIPTION_ varchar(4000)
alter table JBPM_TRANSITION add column CONDITION_ varchar(255)
alter table JBPM_VARIABLEINSTANCE add column VERSION_ integer
alter table JBPM_JOB add constraint FK_JOB_TOKEN foreign key (TOKEN_) references JBPM_TOKEN
alter table JBPM_JOB add constraint FK_JOB_NODE foreign key (NODE_) references JBPM_NODE
alter table JBPM_JOB add constraint FK_JOB_PRINST foreign key (PROCESSINSTANCE_) references JBPM_PROCESSINSTANCE
alter table JBPM_JOB add constraint FK_JOB_ACTION foreign key (ACTION_) references JBPM_ACTION
alter table JBPM_JOB add constraint FK_JOB_TSKINST foreign key (TASKINSTANCE_) references JBPM_TASKINSTANCE
alter table JBPM_NODE add constraint FK_NODE_SCRIPT foreign key (SCRIPT_) references JBPM_ACTION
alter table JBPM_PROCESSINSTANCE add constraint FK_PROCIN_SPROCTKN foreign key (SUPERPROCESSTOKEN_) references JBPM_TOKEN
alter table JBPM_RUNTIMEACTION add constraint FK_RTACTN_PROCINST foreign key (PROCESSINSTANCE_) references JBPM_PROCESSINSTANCE
alter table JBPM_RUNTIMEACTION add constraint FK_RTACTN_ACTION foreign key (ACTION_) references JBPM_ACTION
alter table JBPM_SWIMLANE add constraint FK_SWL_ASSDEL foreign key (ASSIGNMENTDELEGATION_) references JBPM_DELEGATION
alter table JBPM_SWIMLANE add constraint FK_SWL_TSKMGMTDEF foreign key (TASKMGMTDEFINITION_) references JBPM_MODULEDEFINITION
alter table JBPM_SWIMLANEINSTANCE add constraint FK_SWIMLANEINST_TM foreign key (TASKMGMTINSTANCE_) references JBPM_MODULEINSTANCE
alter table JBPM_SWIMLANEINSTANCE add constraint FK_SWIMLANEINST_SL foreign key (SWIMLANE_) references JBPM_SWIMLANE
alter table JBPM_TASK add constraint FK_TSK_TSKCTRL foreign key (TASKCONTROLLER_) references JBPM_TASKCONTROLLER
alter table JBPM_TASK add constraint FK_TASK_ASSDEL foreign key (ASSIGNMENTDELEGATION_) references JBPM_DELEGATION
alter table JBPM_TASK add constraint FK_TASK_TASKNODE foreign key (TASKNODE_) references JBPM_NODE
alter table JBPM_TASK add constraint FK_TASK_PROCDEF foreign key (PROCESSDEFINITION_) references JBPM_PROCESSDEFINITION
alter table JBPM_TASK add constraint FK_TASK_STARTST foreign key (STARTSTATE_) references JBPM_NODE
alter table JBPM_TASK add constraint FK_TASK_TASKMGTDEF foreign key (TASKMGMTDEFINITION_) references JBPM_MODULEDEFINITION
alter table JBPM_TASK add constraint FK_TASK_SWIMLANE foreign key (SWIMLANE_) references JBPM_SWIMLANE
alter table JBPM_TASKACTORPOOL add constraint FK_TSKACTPOL_PLACT foreign key (POOLEDACTOR_) references JBPM_POOLEDACTOR
alter table JBPM_TASKACTORPOOL add constraint FK_TASKACTPL_TSKI foreign key (TASKINSTANCE_) references JBPM_TASKINSTANCE
alter table JBPM_TASKCONTROLLER add constraint FK_TSKCTRL_DELEG foreign key (TASKCONTROLLERDELEGATION_) references JBPM_DELEGATION
alter table JBPM_TASKINSTANCE add constraint FK_TSKINS_PRCINS foreign key (PROCINST_) references JBPM_PROCESSINSTANCE
alter table JBPM_TASKINSTANCE add constraint FK_TASKINST_TMINST foreign key (TASKMGMTINSTANCE_) references JBPM_MODULEINSTANCE
alter table JBPM_TASKINSTANCE add constraint FK_TASKINST_TOKEN foreign key (TOKEN_) references JBPM_TOKEN
alter table JBPM_TASKINSTANCE add constraint FK_TASKINST_SLINST foreign key (SWIMLANINSTANCE_) references JBPM_SWIMLANEINSTANCE
alter table JBPM_TASKINSTANCE add constraint FK_TASKINST_TASK foreign key (TASK_) references JBPM_TASK
alter table JBPM_TOKEN add constraint FK_TOKEN_PARENT foreign key (PARENT_) references JBPM_TOKEN
alter table JBPM_TOKEN add constraint FK_TOKEN_NODE foreign key (NODE_) references JBPM_NODE
alter table JBPM_TOKEN add constraint FK_TOKEN_PROCINST foreign key (PROCESSINSTANCE_) references JBPM_PROCESSINSTANCE
alter table JBPM_TOKEN add constraint FK_TOKEN_SUBPI foreign key (SUBPROCESSINSTANCE_) references JBPM_PROCESSINSTANCE
alter table JBPM_TOKENVARIABLEMAP add constraint FK_TKVARMAP_CTXT foreign key (CONTEXTINSTANCE_) references JBPM_MODULEINSTANCE
alter table JBPM_TOKENVARIABLEMAP add constraint FK_TKVARMAP_TOKEN foreign key (TOKEN_) references JBPM_TOKEN
alter table JBPM_TRANSITION add constraint FK_TRANSITION_TO foreign key (TO_) references JBPM_NODE
alter table JBPM_TRANSITION add constraint FK_TRANS_PROCDEF foreign key (PROCESSDEFINITION_) references JBPM_PROCESSDEFINITION
alter table JBPM_TRANSITION add constraint FK_TRANSITION_FROM foreign key (FROM_) references JBPM_NODE
alter table JBPM_VARIABLEACCESS add constraint FK_VARACC_TSKCTRL foreign key (TASKCONTROLLER_) references JBPM_TASKCONTROLLER
alter table JBPM_VARIABLEACCESS add constraint FK_VARACC_SCRIPT foreign key (SCRIPT_) references JBPM_ACTION
alter table JBPM_VARIABLEACCESS add constraint FK_VARACC_PROCST foreign key (PROCESSSTATE_) references JBPM_NODE
alter table JBPM_VARIABLEINSTANCE add constraint FK_VARINST_TK foreign key (TOKEN_) references JBPM_TOKEN
alter table JBPM_VARIABLEINSTANCE add constraint FK_VARINST_TKVARMP foreign key (TOKENVARIABLEMAP_) references JBPM_TOKENVARIABLEMAP
alter table JBPM_VARIABLEINSTANCE add constraint FK_VARINST_PRCINST foreign key (PROCESSINSTANCE_) references JBPM_PROCESSINSTANCE
alter table JBPM_VARIABLEINSTANCE add constraint FK_VAR_TSKINST foreign key (TASKINSTANCE_) references JBPM_TASKINSTANCE
alter table JBPM_VARIABLEINSTANCE add constraint FK_BYTEINST_ARRAY foreign key (BYTEARRAYVALUE_) references JBPM_BYTEARRAY
insert into JBPM_JOB
(ID_,
CLASS_,
VERSION_,
DUEDATE_,
PROCESSINSTANCE_,
TOKEN_,
TASKINSTANCE_,
ISSUSPENDED_,
ISEXCLUSIVE_,
LOCKOWNER_,
LOCKTIME_,
EXCEPTION_,
RETRIES_,
NAME_,
REPEAT_,
TRANSITIONNAME_,
ACTION_,
GRAPHELEMENTTYPE_,
GRAPHELEMENT_)
select
ID_,
'T',
0,
DUEDATE_,
PROCESSINSTANCE_,
TOKEN_,
TASKINSTANCE_,
ISSUSPENDED_,
0,
NULL,
NULL,
EXCEPTION_,
0,
NAME_,
REPEAT_,
TRANSITIONNAME_,
ACTION_,
GRAPHELEMENTTYPE_,
GRAPHELEMENT_
from JBPM_TIMER;
drop table JBPM_MESSAGE
Since, 3.2, the table JBPM_DECISIONCONDITION is not used any more. But
it is still in the default generated schema because of backwards compatibility
reasons. Newly deployed processes (even if they have decision conditions)
will not use that table any more. So if your old processes don't have decision
conditions or if you only deploy new processes to your db, you can safely drop
the JBPM_DECISIONCONDITION table. If you do that, don't forget to remove the line
that refers to the decision condition class in your hibernate.cfg.xml and also remove
the decisionConditions list entry in the org/jbpm/graph/node/Decision.hbm.xml file.
Changes from 3.2.Beta2 to 3.2.GA
Bug
- [JBPM-450] - webapp can't handle processes without an image file
- [JBPM-619] - outofmemory during ant test suite run
- [JBPM-621] - Decision 'otherwise' choice does not appear to work.
- [JBPM-732] - remove process start link for processes without start task
- [JBPM-839] - Can't store JSR170 node.
- [JBPM-840] - Fix Readme for GPD in the Starter's Kit
- [JBPM-855] - hibernate sessions might not be closed in case of exceptions
- [JBPM-888] - jBPM Suite web-console: user grover cannot login
- [JBPM-896] - reassign in console crashes
- [JBPM-898] - can't login using grover grover
- [JBPM-900] - starting processes without start task
Feature Request
- [JBPM-152] - ejb (SLSB) command based session facade interface
- [JBPM-540] - Standard VariableResolverImpl should search for transient variables
- [JBPM-596] - task forms based on facelets
- [JBPM-609] - create command based session facade
- [JBPM-705] - Provide monitoring for standalone applications
- [JBPM-714] - packaging just the webapp takes way to long
- [JBPM-762] - show processdefinition.xml in web console
- [JBPM-820] - free choice of initial node type
- [JBPM-841] - add a business key
- [JBPM-851] - Add a discriminator to ProcessDefinition O/R mapping
Task
- [JBPM-598] - fix javascript support in webapp unit testing
- [JBPM-876] - improved enterprise support
- [JBPM-877] - jta configuration for process deployment in enterprise environment
- [JBPM-878] - document enterprise support
- [JBPM-891] - db conversion script for timers
- [JBPM-897] - add feedback when navigating to the next task
- [JBPM-901] - change to JTA transaction configuration
Changes from 3.2.Beta1 to 3.2.Beta2
Bug
- [JBPM-311] - Propertys from inherited Actions not directly accessiblly
- [JBPM-795] - Webapp won't display box on process diagram for non-task nodes
- [JBPM-806] - document JTA integration
Feature Request
- [JBPM-780] - document how to replace hashtable with ehcache cacheprovider
- [JBPM-824] - separated JobListenerBean from CommandListenerBean
- [JBPM-825] - added StartProcessInstanceCommand
Task
- [JBPM-829] - added reference from task instance to process instance
Changes from 3.2.Alpha2 to 3.2.Beta1
Bug
- [JBPM-813] - GraphElement - hibernate - "this==runtimeAction.getGraphElement()"
- [JBPM-814] - depending on the isolation level of your JDBC connection join might not reactivate parent
Feature Request
- [JBPM-454] - conditional transitions
- [JBPM-583] - add jms support for the messaging service
- [JBPM-778] - form generation improvements
- [JBPM-789] - add finder methods for current tasks and current nodes
- [JBPM-808] - Conditional tasks
- [JBPM-809] - Conditional transitions
- [JBPM-816] - added description to node, transition, process and task
Task
- [JBPM-815] - upgrade to hibernate 3.2.1.GA
- [JBPM-818] - removed exception on request of unexisting process file
- [JBPM-819] - support processes without forms
Changes from 3.2.Alpha1 to 3.2.Alpha2
Bug
- [JBPM-682] - task forms are not reloaded when a process is reloaded
- [JBPM-696] - Field Instanciator problems
- [JBPM-754] - job scheduler persistence
- [JBPM-757] - Constraint violation during process deletion
- [JBPM-758] - DbPersistenceService needs update for new Hibernate version
- [JBPM-759] - Hibernate variable type matchers do not deal HibernateProxy objects.
- [JBPM-765] - wrong example in configuring persistence factory
- [JBPM-766] - cancelling a process instance doesn't propagate to subprocesses and tasks
- [JBPM-767] - ExpressionEvaluatorHandler has BeanInfo, which does not use the correct set of methods
- [JBPM-776] - invalid business calendar properties lead to java.lang.StackOverflowError
Feature Request
- [JBPM-452] - Refactor SchedulerThread.executeTimers() to execute Timers in seperate Transactions
- [JBPM-617] - keep the processdefinition.xml in the database
- [JBPM-641] - process end subprocess cascading
- [JBPM-647] - give service factory element precedence over the attribute
- [JBPM-664] - add documentation for configuration properties
- [JBPM-671] - add logs for sub process bindings
- [JBPM-713] - Schedule multiple events at once
- [JBPM-717] - cascade persistence operations from timer to action
- [JBPM-733] - late binding for sub processes
- [JBPM-735] - add indexes to foreign keys
- [JBPM-737] - use JbpmDS instead of the DefaultDS
- [JBPM-760] - Add indexes to foreign keys where appropriate
- [JBPM-763] - removed ehcache dependency
- [JBPM-768] - add getters and setters for action properties
- [JBPM-774] - Add JBoss EULA
Task
- [JBPM-740] - Document c3po configuration more explicitly
Changes from 3.1.2 to 3.2.Alpha1
Bug
- [JBPM-325] - task priority not set properly
- [JBPM-370] - Documentation - misspelling
- [JBPM-371] - Documentation - misspelling
- [JBPM-555] - Bad exception message
- [JBPM-562] - added async attribute to action in schema and docs
- [JBPM-568] - throw ClassNotFoundException instead of JbpmException when a delegation class is not found
- [JBPM-571] - incorrect business calendar date addition
- [JBPM-574] - Unneccesarily slow performance
- [JBPM-577] - add better exception handling in JbpmContext.close
- [JBPM-588] - Add comments to TaskInstance does not processed correctly
- [JBPM-614] - delete sub process instances recursively
- [JBPM-636] - task local variables
- [JBPM-645] - task is not blocking after save of process-instance
- [JBPM-654] - Cancelling a TaskInstance "performs" the task
- [JBPM-663] - Incorrect resolution of process variable values in script when variable is defined (or redefined) in sub-token context
- [JBPM-665] - JVM hangs because of inappropriate error handling
- [JBPM-667] - jBPM unable to pass null variables to bsh scripts
- [JBPM-669] - end-tasks attribute on task-node causes all tasks to be ended, not just tasks for the current token
- [JBPM-677] - change identity expression language to use role instead of name
- [JBPM-678] - jbpm el expression exceptions are masked
- [JBPM-710] - Cancelling a task will signal token over default transition
- [JBPM-748] - check variable hibernatability before serializability
Feature Request
- [JBPM-113] - support for document management
- [JBPM-566] - introduce jaas based security
- [JBPM-579] - add recursive lookup for delegation fields and methods
- [JBPM-580] - email support
- [JBPM-582] - make sub-process resolving pluggable at deployment
- [JBPM-584] - "overwriteSimlane" in TaskInstance.start()
- [JBPM-585] - add ProcessInstance.setProcessDefinition()
- [JBPM-620] - make byte block size configurable
- [JBPM-661] - storing a java 5 enum in a variable instance
- [JBPM-684] - added getXxxx for database loadXxxx methods
- [JBPM-716] - make the timer duedate optional
- [JBPM-744] - unify and improve the messaging and scheduler implementation
- [JBPM-746] - replace NullPointerExceptions with JbpmExceptions
Task
- [JBPM-622] - document lists and maps for field-type injection
- [JBPM-635] - improve default configuration
- [JBPM-638] - renamed configuration property mail.smtp.host to jbpm.mail.smtp.host
- [JBPM-658] - correct equals comparison
- [JBPM-659] - added JbpmConfiguration.close()
- [JBPM-662] - check version attribute on all runtime objects
- [JBPM-666] - report expression exception properly
- [JBPM-683] - enlarged length of message exception property