forked from jmettraux/ruote
-
Notifications
You must be signed in to change notification settings - Fork 1
/
CHANGELOG.txt
160 lines (125 loc) · 6.51 KB
/
CHANGELOG.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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
= ruote - CHANGELOG.txt
== ruote - 2.1.11 not yet released
- Engine.new(worker, :join => true) will let the worker run in the current
thread (and not return)
- StorageParticipant#query(:count => true)
- storage.get_many(type, keys, :descending => true)
- engine.processes(:skip => 50, limit => 50)
- listen expression : using lwfid instead of wfid (storage change)
- fixed issue when re-applying root expressions (Thanks Brett)
- storage_participant.query using :skip and :limit
- engine.schedules([wfid]) and ProcessStatus#schedules
- differentiating on_re_apply from on_cancel (process gardening)
- engine.participant_list= more tolerant about its input
- engine.process(wfid).stored_workitems
- engine.process(wfid).workitems and .position
- engine.process(wfid).last_active
- engine.errors(wfid=nil) now returns array of ProcessError instances
- engine.register { block } (Torsten)
- participant.accept?(workitem)
- 'ref' expression (pointing to participants or subprocesses)
- engine.process_wfids (list process instance wfids)
- set 'v:alpha' => [ 'MyParticipant', { 'flavour' => 'vanilla' }]
participants registered as variables (just for that process instance)
- engine.participant_list and .participant_list=
- engine.register_participant 'al', 'AlParticipant', :require_path => 'pa/th'
- engine.register_participant 'al', 'AlParticipant', :load_path => 'pa/th'
- engine.[un]register for .[un]register_participant
- engine.noisy = true (a shortcut)
- engine.storage_participant (a shortcut)
- removed direct dependency on rufus-lru
- WaitLogger : a transient @seen (Thanks Kaspar)
- error_handler : more error catching
- storage#copy_to(other_storage) item by item implementation
- Engine#wait_for OK with multiple threads
- ExpressionMap now loads all expressions in Ruote::Exp:: namespace
- 'error_intercepted' msg now features error_class, _message and _backtrace (RM)
- Engine#join and Worker#join
- workitem.error now includes error's backtrace (contributed by Rich Meyers)
== ruote - 2.1.10 released 2010/06/15
- storage#copy_to(other_storage) implemented
- #launch moved from Engine to ReceiverMixin
- participants without initialize(opts) are now allowed
- engine.wait_for(:inactive)
- engine.wait_for(*interests) unlocked
- engine.wait_for(:empty)
- fixed issue with participant 'x' and :on_error. Thanks Oleg.
- receiver : reply and reply_to_engine : from aliases to wrappers
- Ruote::StorageParticipant more flexibility for method args
- Ruote::FlowExpressionId .extract_h and .extract
- dropped fs_history (storage_history is better)
- parser to_xml _if 'x == b' --> <if test="x == b">
- workitem.sid shortcut for workitem.fei.to_storage_id
- workitem.wfid shorcut for workitem.fei.wfid
- new error_handler service
- Receiver.new(x), x can be worker, engine, context or storage
- Participant#on_reply(workitem) manipulating workitems when they come back
- set '${v:customers.0.name}' => 'x' now OK, was limited to fields. Thanks Oleg
- LocalParticipant#put(fei, hash) #get(fei, key) for stashing info
- LocalParticipant#re_dispatch(wi, opts)
- bug in HashStorage, apply over apply didn't raise a persist error. Fixed.
- keeping track of workitem fields as they were right before a participant error
- Workitem.error holds the error when on_error. Thanks Oleg.
- Workitem#error and Workitem#timed_out shortcuts
- participant :on_error => 'x' broken. Fixed. Thanks Oleg.
- Engine#workitem(fei) for advanced users
- LocalParticipant : added a reject(workitem) method
- participant exp : dispatched = true set right after dispatch
== ruote - 2.1.9 released 2010/03/22
- made participant.cancel occur asynchronously (as should be)
- lookup_variable : making sure not to break when the parent exp is gone
- workitem.fields['__dispatch_time__'] is now set
== ruote - 2.1.8 released 2010/03/15
- participant#schedule_timeout workaround for issue with JRuby 1.4.0 (1.8.7)
- implemented Ruote::CompositeStorage
- leveraging rufus-cloche 0.1.16 and the 'cloche_nolock' option (FsStorage)
- SmtpParticipant and ruote/part/template.rb reorganization
- StorageParticipant when returned by engine#register was unusable. Fixed.
- string keys for SmtpParticipant. Thanks Gonzalo
- fixed every('10m') bug. Thanks Gonzalo Suarez
- Ruote::FlowExpressionId.from_id(s) more permissive
- concurrence (and concurrent-iterator) :merge_type => :stack
== ruote - 2.1.7 released 2010/02/15
- now works on WinXP, Ruby 1.8.7
- reformed msgs ids and adapted Ruote::StorageHistory
- engine.register_participant(x, Ruote::StorageParticipant) now returning
a instance of the participant, for easy query
- StorageParticipant, added #query(criteria), thanks Torsten and Brett
- Ruote::Workitem #lookup('deep.field') and #set_field('deep.field') are back
- Ruote::Workitem added == and hash (list.uniq friendly), thanks Brett
- Engine#configure(key, value), thanks Torsten
- Ruote.to_tree (lightweight version of Ruote.process_definition)
- ParticipantList#names, thanks Kenneth
== ruote - 2.1.6 released 2010/02/08
- welcoming ruote-dm (datamapper persistency)
- Engine#re_apply(fei, opts) where opts in [ :tree, :fields, :merge_in_fields ]
- fixed issue about StorageParticipant#update, thanks Torsten
== ruote - 2.1.5 released 2010/01/28
- fixed StorageParticipant a to b flow, fix by Torsten
- fixed StorageParticipant#cancel
- dollar : made sure of ${fei} and ${wfid}
- implemented ProcessStatus#to_dot
- if a participant implementation cancel method returns false,
reply_to_parent will not get called
- changes about errors without [stored] expressions, they now appear in process
statuses
- EngineParticipant implemented
- 'ruby_eval_allowed' instead of :ruby_eval_allowed
- ${v:customer.address.1} deep trick now ok (as it was ok for fields)
- added d() to the $ notation : echo "${r: d('f:toto') }"
- Engine#kill_process(wfid) can cure errored participant expressions
- made sure ${r:wi} and ${r:workitem} is and instance of Ruote::Workitem
- implemented StorageParticipant#by_field
== ruote - 2.1.4 released 2010/01/11
- implemented StorageHistory
- using yyyy-mm-dd instead of yyyy/mm/dd for Ruote.time_to_utc_s(t)
- implemented Storage#purge_type!(t)
- Engine#add_service now returning just bound service
== ruote - 2.1.3 released 2010/01/04
- fixed issue with Rufus.is_cron_string (thanks Torsten)
- fixed issue with FlowExpression#cancel (Kenneth)
== ruote - 2.1.2 released 2010/01/03
- fixed issue when initializing engine without worker. Thanks Matt Nichols.
== ruote - 2.1.1 released 2009/12/31
== OpenWFEru - 0.9.2 released 2007/01/26
== openwfe-ruby - 1.7.0 released 2006/05/08