I work on a project that uses jbpm and it seems to us that the following features would be logical:
Allow every script to also read variables that are only local to the token, and provide a way to create a variable that is only local to the token.
Allow the TaskController to also read and write variables that are only local to the token
Introduce a "distribution fork" to fork multiple tokens over the leaving transitions. This can be controlled by an input-collection, for whose entries and every transition a token will be created. The used entry of the collection could then be put into a local variable to that created token.
Such a fork is very useful when first there is a task to collect a distribuution-list of users, for which a second task should be executed in parallel
Make the Scheduler more flexible, so the main functionality is separated into an extra class (like a Runnable or so), so one can use it with an own JbpmSessionFactory or even a special JbpmSession
Extend Jpdl so it contains the nOutOfM-field of joins and the isSynchronized-field of merges and also extend the hibernate-files so they will be saved.
Complete the JbpmWriter, so one can recreate the xml from an object-graph: Writing of the Tasks of a task-node, and the expression of scripts