
= rufus-scheduler CHANGELOG.txt


== rufus-scheduler - 3.0.9    released 2014/08/30

- fix TZ with underscores, thanks https://github.com/gnilrets
- integrate https://github.com/ecin Lock mecha


== rufus-scheduler - 3.0.8    released 2014/06/09

- handle TZInfo errors on DST transitions, thanks https://github.com/junhanamaki
- implement Scheduler#up?
- let schedule and schedule_at use Chronic if present
- let Rufus::Scheduler.parse use Chronic if present


== rufus-scheduler - 3.0.7    released 2014/03/18

- implement Scheduler #occurrences and #timeline, inspired by kreynolds
- implement Job #last_work_time and #mean_work_time
- implement Job#count
- add more info to the stderr error output (scheduler/tz info)
- prevent skipping a day on switch to summertime, gh-114, thanks Matteo


== rufus-scheduler - 3.0.6    released 2014/02/14

- avoid "can't be called from trap context" on Ruby 2.0, gh-98


== rufus-scheduler - 3.0.5    released 2014/01/30

- implement Job#call(do_rescue=false), gh-97
- implement :first => :now for repeat jobs, gh-96


== rufus-scheduler - 3.0.4    released 2014/01/19

- make CronLine#frequency faster (to avoid 20s schedule_cron times)


== rufus-scheduler - 3.0.3    released 2013/12/12

- CronLine#previous_time fix by Yassen Bantchev (https://github.com/yassenb)
- introduce ZookeptScheduler example in the readme
- rename #consider_lockfile to #lock and introduce #unlock


== rufus-scheduler - 3.0.2    released 2013/10/22

- default :max_work_threads to 28
- fix "rufus rushes to create work threads" issue, thanks Gatis Tomsons
- introduce Rufus::Scheduler::NotRunningError, thanks Gatis Tomsons


== rufus-scheduler - 3.0.1    released 2013/10/19

- fix post_install_message, thanks Ted Pennings
- bring back .parse_time_string and .parse_duration_string


== rufus-scheduler - 3.0.0    released 2013/10/02

- complete rewrite.
- introduce scheduler.interval('10s') { ... }


== rufus-scheduler - 2.0.24    released 2013/09/02

- lowered tzinfo dependency to >= 0.3.22
  http://stackoverflow.com/questions/18551970


== rufus-scheduler - 2.0.23    released 2013/07/26

- mutex vs timeout fix by Tobias Kraze


== rufus-scheduler - 2.0.22    released 2013/07/16

- parse "/10 * * * *" again (like <= 2.0.19 did), thanks @skrd


== rufus-scheduler - 2.0.21    released 2013/07/15

- add license (MIT) to gemspec file


== rufus-scheduler - 2.0.20    released 2013/07/15

- add Rufus::Scheduler.new (so that rs 3.0 quickstarts are OK with 2.0.20)
- implement CronLine#previous_time(now=Time.now) (Idea Matteo Cerutti)
- throw ArgumentError for invalid cron lines (Thanks Aimee Rose)
- cron 0 vs 24 hour case straightening (Thanks Aimee Rose)
- support for sun#L or sun#-2 in cron lines


== rufus-scheduler - 2.0.19    released 2013/05/07

- raise ArgumentError on <= 0.0 "every" frequency (Thanks Lucy Fu)
- support multiple mutexes (Thanks Rainux Luo)


== rufus-scheduler - 2.0.18    released 2013/03/06

- support for "L" in cron lines (Thanks Andrew Davey)
- support for negative time strings (Thanks Danny "northox" Fullerton)
- reject invalid weekdays (Thanks pazustep)


== rufus-scheduler - 2.0.17    released 2012/06/14

- @andrehjr patch to make it work on Ruby 1.9.3
- raises ArgumentError on unknown/unsupported options (Idea Tero Tilus)


== rufus-scheduler - 2.0.16    released 2011/12/31

- hardened Rufus.parse_time_string
- running job thread: getting rid of the job pointer once job is done


== rufus-scheduler - 2.0.15    released 2011/12/20

- Scheduler#running_jobs (Thanks Louis Coilliot)


== rufus-scheduler - 2.0.14    released 2011/12/11

- Job #pause and #resume
- Scheduler #pause(job_or_job_id) and #resume(job_or_job_id)
- Scheduler#unschedule(job_or_job_id)


== rufus-scheduler - 2.0.13    released 2011/11/14

- cron lines now OK with "09". Thanks Anthony Lewis


== rufus-scheduler - 2.0.12    released 2011/10/28

- hardened exception handling. Thanks Sam Gibson
- accepting #handle_exception, #log_exception or #on_exception
- scheduler.in '1s', :mutex => 'that_mutex_name'


== rufus-scheduler - 2.0.11    released 2011/09/30

- require 'rufus-scheduler' works


== rufus-scheduler - 2.0.10    released 2011/06/26

- every and allow_overlapping now surviving exceptions. Thanks sha1dy


== rufus-scheduler - 2.0.9    released 2011/04/22

- Scheduler#first_at and :discard_past => true. Thanks concept47
- Scheduler#cron and monthdays (sun#2 or mon#1)
- Scheduler#unschedule_by_tag(t)


== rufus-scheduler - 2.0.8    released 2010/12/31

- issue with cron '0 7-23/2 * * *' fixed. Thanks Pickerel


== rufus-scheduler - 2.0.7    released 2010/11/09

- :allow_overlapping => false, thanks Adam Davies
- cron and timezones, thanks Tanzeeb Khalili
- Scheduler#trigger_threads, thanks Tim Uckun


== rufus-scheduler - 2.0.6    released 2010/05/01

- timeout jobs not outliving their parent job anymore, thanks Joel Wood


== rufus-scheduler - 2.0.5    released 2010/03/02

- fixed parse_time_string(s) issue, thanks Gonzalo Suarez


== rufus-scheduler - 2.0.4    released 2010/02/12

- addressing issue with every and timeout, thanks Tony Day


== rufus-scheduler - 2.0.3    released 2009/11/04

- made sure Schedulables with a call(job) method were OK when passed as second
  parameter (thanks Nate Wiger)


== rufus-scheduler - 2.0.2    released 2009/10/31

- unified JobQueue and CronJobQueue, and handed @last_second management to the
  latter
- #trigger_block method for easier override
- passing :job => job among Schedulable trigger parameters


== rufus-scheduler - 2.0.1    released 2009/05/07
== rufus-scheduler - 2.0.0    released 2009/05/07

...

- initial release

(was openwferu-scheduler before that)

