2 * add timestamps to -d output
4 * manual cron.update prodding doesn't affect cl_NotUntil
6 * Use hash when ID=... is supplied. FS#18292.
8 * FS#18352: Another thing: when moving the original file to the backup name, and the edited version is written in it's place, the file is written without preserving the same permissions as the original, so if you have a umask that prevents others from reading your stuff, crontab won't be able to load the new file.
11 * Numeric loglevels specified by 'crond -l <level>' weren't being validated.
12 Now we no longer accept numeric loglevels; they must be specified
13 symbolically. Thanks to Rogutės Sparnuotos.
15 * Continued portability improvements. Makefile now uses -lbsd-compat.
16 Factored allocation and string calls to utils.c.
18 * Added extra/crond.service for systemd. Thanks to Miklos Vajna.
20 * Many internal changes and annotations to pass splint review.
22 * Documentation and error message updates.
25 * Some cron jobs were running multiple times. Now we make sure not to
26 ArmJobs that are already running; and not to resynchronize while jobs are
27 running; and to poll the DST setting. (Fixes Arch FS#18681; thanks to Vincent
28 Cappe and Paul Gideon Dann for identifying the second issue; and Tilman
29 Sauerbeck for identifying the third.)
31 * @monthly was wrongly being parsed the same as @yearly (fixes Arch
32 FS#19123). Thanks to Peter Johnson, Paul Gideon Dann, and Tilman Sauerbeck.
34 * extra/crond.rc: now uses $CROND_ARGS from /etc/conf.d/crond; sample included
35 as extra/crond.conf. Suggested by Eric Bélanger.
37 * Running `/etc/rc.d/crond start` after startup could leak unwanted
38 environment into cronjobs; now we force crond to start in empty env
39 (fixes Arch FS#22085). Thanks to Mantas.
41 * Also set LOGNAME environment variable in cronjobs. Requested by Michael
42 Trunner; fixes Arch FS#18338.
44 * extra/crond.logrotate now correctly gets pid from /var/run/crond.pid
45 (fixes Arch FS#18039). Thanks to Kay Abendroth, revel, and Chlump Chatkupt.
47 * extra/prune-cronstamps now only deletes files, and is formatted as a
48 @weekly crontab. Thanks to Alec Moskvin <alecm@gmx.com>.
50 * extra/crontab.vim works around an issue where vim's writebackup would
51 interfere with crontab's security model (addresses Arch FS#18352).
52 Thanks to Armadillo and Simon Williams.
54 * Makefile uses $LDFLAGS (fixes Arch FS#23784). Thanks to Kristoffer Tidemann
57 * defs.h sets default locations for CRONTABS and CRONSTAMPS beneath /var/spool/cron/,
58 as in earlier versions of dcron.
60 * Documentation updates.
62 * Thanks for testing and feedback: Feifei Jia, Spider.007, Ray Kohler,
63 Igor Zakharoff, Edward Hades, and Joe Lightning.
66 * Finished mailjobs were being left as zombie processes. Fixed.
68 * When using crond with logging-to-file, user jobs could only log some
69 events if they had write access to the log. Fixed this by having crond
70 keep a file descriptor open to the log; also added a SIGHUP handler
71 to make crond re-open the logfile. The sample logrotate script now
74 * More sensible command-line parsing by crontab.
76 * Add prune-cronstamps to extra; document extra/*; general improvement
77 of README and manpages.
79 * Portability improvements, and defs.h now has fuller comments about
82 * Makefile improvements: `make` now caches variables for `make install`;
83 don't stomp CFLAGS environment variable, and added BINDIR,SBINDIR,MANDIR.
85 * Thanks to Juergen Daubert for more testing and suggestions.
88 * Internal refactoring to make buffer overflow checks
89 clearer and portability issues more explicit.
91 * Made file argument to -L mandatory; optional args to
92 getopt needs GNU extensions.
94 * Makefile tweaks. Added CRONTAB_GROUP for `make install`.
95 Renamed TIMESTAMPS -> CRONSTAMPS.
97 * Thanks to Juergen Daubert for testing and suggestions.
100 * Makefile tweaks; moved more constants to #defines.
103 * Fixed bug in parsing some numeric fields in crontabs. (Terminus of range
104 wasn't being modded.)
106 * Updated Makefile to make it easier to customize timestamps at configure
107 time. Also, if LC_TIME is defined when crond runs, we use that instead of
108 compiled-in default (for logging to files, to customize syslog output use
109 syslog-ng's 'template' command).
111 * Fixed Makefile permissions on crond and crontab binaries.
114 * Jim Pryor took over development; folded in changes from his fork "yacron"
116 * Applied "Daniel's patch" from dcron 3.x tarballs to enable logging to syslog or
117 files. Added further logging improvements.
119 * Added -m user@host and -M mailer options
121 * Various crontab syntax extensions, including "2nd Monday of every month",
122 @reboot, @daily, and finer-grained frequency specifiers.
124 * Jobs can wait until AFTER other jobs have finished.
126 * Enhanced parsing of cron.update file, to make it possible for scripts to
127 interact with a running crond in limited ways.
129 * Various internal changes
131 * Updated Makefile, manpage buildchain, and docs
134 Fixed a minor bug, remove the newline terminating a line only if there
135 is a newline to remove.
138 Add support for root-run crontab files in /etc/cron.d and rewrite a
139 good chunk of the crontab file management code. By VMiklos and Matt
143 Fix /tmp race and misc cleanups from Emiel Kollof <emiel@gamepoint.net>
146 Modernize the code, remove strcpy() and sprintf() in favor of snprintf().
147 (Supplied by Christine Jamison <technobabe@mail.nwmagic.net>)
150 Fixed bug found by Christian HOFFMANN. newline removal was broken
151 for lines that began with whitespace, causing crontab lines to be
155 Committed changes suggested by
156 Ragnar Hojland Espinosa <ragnar@redestb.es>
158 Fixed a few printfs, removed strdup() function ( strdup() is now standard
159 in all major clib's )
165 dillon: Fixed bug in job.c -- if ChangeUser() fails, would return from child fork rather
169 dillon: Initial release