2001.06.11 initial release 2001.06.13 renamed package from zeus to runwhen, and program from zeus to somewhen portability fixes fixed big bug with calendar calculations 2001.06.25 factored somewhen into caldelay, maxdelay, and delayrun bugfix for default run time specs bugfix for now>mtime+$MAXINTERVAL 2001.07.01 caldelay increases its inherited $DELAY instead of setting a new one maxdelay is now maxinterval; $LASTRUN is now $MAXINTERVAL_FILE somewhen is gone bugfix for unchecked failure of pathexec_env 2001.08.23 recategorized in admin use new mkmed feature: caldelay: each time spec variable can contain multiple constraints, or'ed together bugfix: caldelay: calculate last day of month based on working month and year, not current month and year bugfix: caldelay: set increased=1 when advancing to next week 2001-09-01 added dependency notes to README 2001-09-03 new command: mininterval 2001-09-04 feature: caldelay: -n time specs clean up exit codes bugfix: delayrun: don't unblock previously-blocked signals 2001-09-22 bugfix: caldelay: handle =1=2 when current unit==1 2001-11-27 bugfix: delayrun: leave SIGALRM blocked when not sleeping, even if we don't sleep at all, so an extra signal doesn't kill us cleanup: use errstat() to check errno 2001-12-07 delayrun: ignore SIGALRM after sleeping, don't block, so we don't interfere with programs that use it 2002-02-21 bugfix: delayrun: sigset arguments to sigprocmask were reversed 2003-04-09 use new mkmed use skalibs 2003-06-04 caldelay: silence gcc 3.3's warning about alloc() alignment 2003-08-10 new commands: rw-add, rw-max, rw-min, rw-now, rw-sub, rw-wake 2003-08-12 caldelay.c: don't need to cast alloc() argument new commands: rw-match added sample-service 2003-08-14 rw-wake.c: simplify overflow check 2003-08-21 rw-wake.c: improve timer.it_value.tv_sec overflow check 2003-09-10 install runwhen.h and runwhen.a 2003-09-11 factor rw_match.c; include it in runwhen=l use rw_ prefix for everything in runwhen.h use uint32 & uint64 use timeval_from_taia & timeval_from_taia_relative 2003-09-14 rw_scan.c: use tai_u64, not taia_ulong, to work with large values 2003-09-26 move more of rw-match.c into rw_match.c rw_wake.c: make month and monthday 1-based 2003-09-30 rw_match.c: fix constraints initialization 2003-10-04 rename rw-wake* to rw-sleep* rw_scan.c: add 'n' case remove rw-now* 2003-10-14 rw_match.c: use localtime/mktime instead of caldate 2003-10-15 rw-match.c: add out-of-range error rw_match.c: fix weekday wraparound 2003-10-17 merge rw_match.c into rw-match.c rw-match.c: disallow multiple constraints per unit rw_scan.c: add scaling factors for "d" rw-sleep.c, rw-touch.c: use pathexec0 2003-10-20 rw-match.c: clear flag_increased when setting flag_need_increase 2003-10-21 rw_scan.c: use mktime instead of caltime_tai 2003-10-30 sample-service/run: bring it up to date with changes in command interfaces