GNU micron -- history of user-visible changes. 2024-01-06
See the end of file for copying conditions.

Please send micron bug reports to <gray@gnu.org>

Version 1.4, 2024-01-06

* Micron is a part of GNU project

* Take into account DST changes when computing job startup time

* Minor fix in crontab parser

Version 1.3, 2021-10-29

* Appending cronjob output to a file

Output of a cronjob can be captured and appended to a disk file,
instead of sending it via email or logging it using syslog.  This is
controlled by the _MICRON_OUTFILE (global) and _JOB_OUTFILE (per-job)
built-in variables.

* New option -P FILE

Writes PID of the running process to FILE.  The file will be removed
when the program terminates.

* Option -v replaces -o

To set initial value of a built-in variable, use the "-v NAME=VALUE"
option.

* The -V option

To obtain the micrond version, use the -V option.

* Bugfixes

** Fix allocation of environment and built-in variables defined in crontabs.

Version 1.2, 2021-04-15

* Fix cronjob access serialization

Version 1.1, 2021-02-15

* Fix unsetting variables in crontabs

Version 1.0, 2021-02-03

* Restore signal handlers in cronjobs

* Improvements in foreground mode

** Redirect /dev/null to stdin

This ensures that the cronjobs don't remain attached to the console.

** New micrond option: -S

This option instructs micrond to log its diagnostic messages to syslog
even when running in foreground (using the -f option).  This is
useful when starting micrond as a systemd service.

* Vixie-style input specification

A percent sign in the job command line terminates the command.  Any
material to the right of it is taken as the standard input to the
command.  Occurrences of percent sign in the input text are replaced
with the newlines.

To use literal percent sign in the command, prefix it with a
backslash or place it inside a pair of single or double quotes.

To use literal percent sign in the input text, prefix it with a
backslash.

* Terminate all running cronjobs before exiting

Before exiting, micrond checks if any of the commands it started are
still running.  If so, it terminates them.  This is done in two steps:
first, the SIGTERM is sent to all running jobs and they are given 60
seconds to terminate (the timeout is configurable, see the -t option
below).  Any job that is still running after this time is sent the
SIGKILL signal.

** New micrond option: -t timeout

Sets the cronjob termination timeout.

* Fix micrond.8 manual page

* Provide full documentation in texinfo format

* Fix memory leaks


Version 0.9, 2021-01-12

* Bugfix: properly serialize access to the process list

Version 0.8, 2020-06-25

* Cronjobs inherit umask value from the parent of micrond


Version 0.7, 2020-06-24

* crontab: set proper ownership on created crontabs

* micrond

** ignore inotify events on backup and temporary files

** allow for user group crontabs owned by root


Version 0.6, 2020-06-05

* Unsetting environment variable in crontab

The construct

   NAME =

(with empty right-hand side) unsets the variable NAME.

* New built-in variable _JOB_MAILTO

This variable temporarily masks the MAILTO variable and disables
the two _SYSLOG_ variables for the next crontab entry.  Use it to
redirect output of a single crontab entry to a particular address.

* crontab -g -l

This command used without the filename argument lists names and
owners of all crontabs in the selected group.


Version 0.5, 2020-05-19

* Rename built-in variables.

Each variable has two variants.  The variable prefixed with _MICRON
affects all crontab entries that follow it, until redefined.  The
variable prefixed with _JOB affects only the crontab entry that
follows it (with eventual variable assignments in between).

* Fix a bug in crontab


Version 0.4, 2020-05-16

First release.

Version 0.3 (git)

Added documentation.

Version 0.2 (git)

Implemented user crongroups.

Version 0.1 (git)

Initial version.

=========================================================================
Copyright information:

Copyright (C) 2020-2024 Sergey Poznyakoff

   Permission is granted to anyone to make or distribute verbatim copies
   of this document as received, in any medium, provided that the
   copyright notice and this permission notice are preserved,
   thus giving the recipient permission to redistribute in turn.

   Permission is granted to distribute modified versions
   of this document, or of portions of it,
   under the above conditions, provided also that they
   carry prominent notices stating who last changed them.

Local variables:
mode: outline
paragraph-separate: "[  ]*$"
eval: (add-hook 'write-file-hooks 'time-stamp)
time-stamp-start: "changes. "
time-stamp-format: "%:y-%02m-%02d"
time-stamp-end: "\n"
end:


