forked from copper-engine/copper-engine
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathWHATSNEW.txt
142 lines (125 loc) · 8.51 KB
/
WHATSNEW.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
COPPER 3.2.1
============
- Refactoring: Fixed many typos in copper-monitoring.
- Refactoring: Renamed Dashboard as Configuration in copper-monitoring-client.
- New feature: Preliminary version of the new Dashboard view.
- Bugfix: Issue #43: Copper Monitoring Workflows View - Total Count always 0.
- Bugfix: Issue #44: Copper Monitoring View - Workflow Repository multiple entry for workflow names.
- Bugfix: Issue #45: Copper Monitoring: High loading times for Dashboard and Resources views.
COPPER 3.2
============
- New feature: Support for Java 8
- gradle update (now using version 2.0)
COPPER 3.1.1
============
- Bugfix: COPPER doesn't work with MySQL with case-sensistive table names #42
COPPER 3.1
============
- New feature: PersistentLockManager - a service to obtain/manager persistent locks, e.g. to functionally synchronize workflow instances.
- New feature: PersistentProcessorPool.suspendDequeue/resumeDequeue Suspends/resumes dequeuing of workflow instances from the storage.
- New feature: New utility org.copperengine.core.util.Backchannel, that offers functionality to signal a response from within a persistent workflow to its originator
- New feature: support for the H2 database
- New feature: added SimpleJmxExporter in copper-coreengine to ease the registering of JMX beans when COPPER runs without Spring
- Maven: copper-coreengine: moved dependency on C3P0 to copper-regtest. Removed *ConnectionCustomizer classes, because they broke the JDBC spec regarding autoCommit; also removed OracleConnectionTester as it can be substituted by setting 'preferredTestQuery="SELECT 1 FROM DUAL"' in C3P0 datasource.
- Maven: copper-coreengine: removed unnecessary dependencies on aopalliance, findbugs-annotations and commons-codec, so the only remaining dependencies are on ASM and slf4j-api
COPPER 3.0
==========
- no changes
COPPER 3.0-RC.5
===============
- New feature: COPPER now uses the Eclipse compiler ecj (or any other JSR-199 compatible java compiler) when found on the CLASSPATH and the default Java compiler is not available. Thus you can run COPPER on a normal JRE instead of a full JDK, ie. you no longer need to provide tools.jar as long as you add ecj.jar to your runtime dependencies.
- Bugfix: Issue #26: Removed commons-logging from dependencies
- Bugfix: Issue #25: Removed log4j dependency from copper-coreengine
COPPER 3.0-RC.4
===============
- interim release for build testing purposes only; nothing added or changed
COPPER 3.0-RC.3
===============
- interim release for build testing purposes only; nothing added or changed
COPPER 3.0-RC.2
===============
- First public release on Maven Central
COPPER 3.0-RC.1
===============
- Refactoring: Renamed COPPER major Throwable from "de.scoopgmbh.copper.InterruptException" to "org.copperengine.core.Interrupt". Persistent workflow instances and responses in existing databases keep compatible due to a loadtime adaptation feature - see StandardJavaSerializer.classnameReplacement
- Refactoring: COPPER's toplevel package has been renamed from "de.scoopgmbh.copper" to "org.copperengine". Persistent workflow instances and responses in existing databases keep compatible due to a loadtime adaptation feature - see StandardJavaSerializer.classnameReplacement
- Refactoring: All Spring supporting classes have been moved to an own subproject: copper-spring. Attention! SpringTransactionController and SpringTxnAuditTrail have been moved to another package
- Refactoring: de.scoopgmbh.copper.audit.BatchingAuditTrail does no longer implement spring's InitializingBean. This makes copper less dependent on spring stuff.
- Refactoring: de.scoopgmbh.copper.Response.internalProcessingTimeout changed from Integer to Long to enable really LONG timeouts
- Refactoring: Renamed table ADAPTERCALL to COP_ADAPTERCALL, renamed index IX_ADAPTERCALL to COP_IDX_ADAPTERCALL
- New feature: Added new wait methods, e.g. de.scoopgmbh.copper.Workflow.wait(WaitMode, long, TimeUnit, String...)
COPPER 2.4
==========
- New feature: engine.run throws DuplicateIdException if an existing workflow instance id is used - this is also implemented for the transient engine which substitutes throwing an IllegalStateException
- New feature: Default value for property "loadNonWorkflowClasses" in "FileBasedWorkflowRepository" changed from false to true, due to various problems, e.g. Switch-case not working out-of-the-box
- Bugfix: ArrayIndexOutOfBoundsException and other exceptions during workflow instrumentation when extensively using nested blocks and local variables
COPPER 2.3
==========
- New feature: Extended JMX interface
- New feature: COPPER now allows for multipe responses for the same correlationId - see new method Workflow.getAndRemoveResponses(..)
- New feature: Custom persistence - persist application specific data in extra database tables and columns. This enables viewing (and modifying) data with standard SQL
- New feature: Monitoring GUI (beta)
- Maintenance: Now using ASM 4.1
- Bugfix: Timeout signaled for missing responses in case of WaitMode.FIRST
- New feature: generic return value for RetryingTransaction
COPPER 2.2
==========
- internal development release - not published
COPPER 2.1
==========
- Now using gradle instead of ant for build
- New feature: Refactoring of StandardJavaSerializer to enable easy subclassing
- New feature: Batching latency time now configurable
- New feature: Extendable/customizable AuditTrail, see issue #38
- New feature: Disengageable early response handling, see issue #37
- New feature: Versioning of Workflows now supported by COPPER
- New minor feature: LoggingStatisticCollector.setResetAfterLogging
- Documentation enhancement: Compatibility rules for workflow modifications
- Documentation enhancement: Revised example copper project
COPPER 2.0
==========
- New feature: Check consistency of all workflow instances during startup (optional) - IDs of inconsistent workflows are logged
- Bugfix: Incorrect handling of INVALID workflow instances
- New feature: workflow object state and data are serialized in different DB columns
- Bugfix: wait(First) followed by wait(?) containing same correlation id caused unique constraint violation exception
- New feature: PersistentProcessor now public to allow subclassing
- New feature: Processor Pools wait up to 30 seconds (configurable) for termination of their processors.
- New feature: Configurable transaction management - COPPER comes with internal or Spring transaction management
- Refactoring: of DB layer: one single db storage class and various configurable DBMS specific SQL dialects; Configurable Transaction Mgmt
- New feature: suspend/resume ProcessorPools
- Bugfix: for MySQL, Postgres & DerbyDB
- New feature: custom stale response timeout
- New feature: Workflow classname in DB - for debugging/monitoring
- New feature: New property for DBStorage: staleResponseRemovalTimeout
- Bugfix: in instrumentation: Bad exception handling may cause non deterministic behavior
- New feature: Implement a custom batch runner. Used e.g. for custom transaction handling
- New feature: Allow custom seqnr for audit trail events
- New feature: Store exceptions during "registerCallback/wait" in database error table
- Bugfix: for AuditTrail on Oracle DB when payload.length >= 4000
- New feature: JMX interface to query AuditTrails
- New feature: PostgreSQL support
- New feature: Hook custom code into the transaction context of COPPER "wait" checkpoints.
- Bugfix: Internal VerifyError when using inner classes.
- New feature: for FileBasedWorkflowRepository: Multiple source directories and multiple source archives
- New feature: Provide db connection used for engine.notify
- New feature: Provide custom javac compiler options for workflow compilation
- Refactoring: Now using slf4j (simple logging fascade for java) instead of log4j
- Bugfix: Fixed some minor bugs or typos
COPPER 1.1
==========
- JMX Management & Monitoring
- support for Java 7
- Enable restart of INVALID workflow instances via COPPER API
- Compression/Base64-Encoding for AuditTrail
- Enable to keep finished workflow instances in the DB
- many bugfixes (see svn history http://code.google.com/p/copper/source/list for details)
COPPER 1.0
==========
Unreleased first COPPER version with all basic features, e.g.
- lightweighted and high performant workflow engine
- workflows described in java
- asynchronous waits without thread blocking
- persistent or transient workflows
- configurable amount and size of processor pools
- persistence support for Oracle and MySQL
- any many more...