v0.3.0-beta4
v0.3.0-beta4
- WiP serialization and deserialization ... please don't try yet ... it's not working in this beta3 version
- make explicit engine name optional (#73 BREAKING CHANGE)
- use global ID generator internally, to avoid ID collisions between multiple engine instances
- refactor
activity.LifecylceState(BREAKING CHANGE) - refactor
process_instance.State(BREAKING CHANGE)- new return type for e.g.
instance.GetState()--is-->ActivityState(BREAKING CHANGE)
- new return type for e.g.
- new ExpressionEvaluationError
- new support intermediate link throw & catch element (#141)
- new
CreateInstanceById()andCreateAndRunInstanceById()functions to ease handling with multiple versions - use Go Getter idiomatic (BREAKING CHANGE) (#144)
Migration notes for breaking changes
New Initializer
Bpmn Engines are anonymous by default now, and shall be initialized by calling .New()
Example: replace bpmn_engine.New("name") with bpmn_engine.New()
Note: you might use .NewWithName("a name") to assign different names for each engine instance.
This might help in scenarios, where you e.g. assign one engine instance to a thread.
activity.LifecylceState and process_instance.State
Both are consolidated towards bpmn_engine.ActivityState, which you can simply use in the same manner.
Use Go Getter idiomatic
For some interfaces, the prior code looked like e.g. engine.GetName().
According to https://go.dev/doc/effective_go#Getters, this getter should better be written as engine.Name().