CHANGELOG.txt in ruote-2.1.10 vs CHANGELOG.txt in ruote-2.1.11
- old
+ new
@@ -1,9 +1,59 @@
= ruote - CHANGELOG.txt
+== ruote - 2.1.11 released 2010/10/01
+
+- Engine#process broken with process where schedule count > 1 (Thanks David)
+- Engine#launch_single for 1! instance processes (Thanks Eric)
+- Workitem#command and #command= helpers
+- ProcessError#workitem helper
+- fetch_flow_expression made public and aliased to fexp
+- ${r:workitem_field} (idea: Nathan Stults)
+- Ruote::Dollar::Dict and Ruote::Dollar::RubyContext
+- made Ruote.dsub a service : @context.dollar_sub.s(...) (idea: Nathan Stults)
+- moved simpler services to ruote/svc/
+- using BlankSlate for ruby process definitions
+- 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
@@ -28,10 +78,10 @@
- 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
-- LocalParticpant : added a reject(workitem) method
+- LocalParticipant : added a reject(workitem) method
- participant exp : dispatched = true set right after dispatch
== ruote - 2.1.9 released 2010/03/22