6. Changes

6.1. Release 0.5.0 (released 06-Aug-2015)

6.1.1. New features

  • New task types: Event, Lock, Semaphore, BoundedSemaphore from the threading module.
  • Changed examples to work with incompatible changes.
  • Added examples for synchronization objects from the threading module.

6.1.2. Incompatible changes

  • task method: now there is only one target arguments. If target requires more than one argument, pass them as a tuple.

6.1.3. Fixes

  • Methods task_info and runs_left now return correct data when called from outside the inquired task.

6.1.4. Documentation

  • Added new task types.

6.2. Release 0.4.0 (released 04-Jul-2015)

6.2.1. New features

  • New timing generator ‘uniform’: run tasks with a random period with uniform distribution.
  • Timing generators ‘aligned’ and ‘now’ accept fractional periods.
  • Updated timecap.py example for ‘uniform’ timing generator.

6.2.2. Internals

  • Refactored method ‘aligned’: timing computation as closure.

6.2.3. Fixes

  • Eliminated period drift from ‘now’ timing generator.

6.2.4. Documentation

  • Added ‘uniform’ timing generator.

6.3. Release 0.3.0 (released 18-May-2015)

6.3.1. New features

  • Task run timing changed to timing generators.
  • New timing generator ‘aligned’: run tasks periodically aligned to a reference time.
  • New timing generator ‘now’: run task periodically with immediate start.
  • New method runs_left: return the remaining number of times the task will be run. If the task is run forever return -1.
  • New example (timecap.py): show different timing capabilities.

6.3.2. Incompatible changes

  • task method: now all arguments have defaults and timing argument must be one of the timing generators.
  • task_info method: now returns the count of task run times and a tuple with all the arguments given at the call of ‘task’ method.

6.3.3. Internals

  • Refactored RunTask init argument ‘phase’ to ‘epoch’.
  • _time method changed to work with both normal system time and scaled and shifted system time.
  • _run method: refactored ‘task’ to ‘target’ and changed for timing generators.

6.3.4. Fixes

  • Eliminated tick drift from tasks run time.

6.3.5. Documentation

  • Added timing generators and runs_left method.
  • Added new timecap.py example.

6.4. Release 0.2.0 (released 29-Apr-2015)

6.4.1. New features

  • Run time speed: set the scheduling time flowing speed with respect to system time.
  • Run time phase: add an offset to the scheduling time.
  • Method task_info, if task has a finite run count, it returns also the current run number. Otherwise, it returns -1.
  • Extended example to show counted runs and RunTask stopping.

6.4.2. Incompatible changes

  • RunTask class, removed time argument.
  • Method task_data changed name to task_info.

6.4.3. Internals

  • New method _time, run time computation.
  • Method _set, removed, partially replaced by method _time.

6.4.4. Fixes

  • Method stop, errata call to _set, corrige call to set.

6.4.5. Documentation

  • Updated to 0.2.0

6.5. Release 0.1.0 (released 16-Feb-2015)

6.5.1. Changes

  • First release.