Pre-rendered manuals, source tarball, and detailed changelog
can be obtained from
https://git.sr.ht/~nabijaczleweli/ratrun/refs/0c
0c-1 packages have been published for all codenames,
cf. https://debian.nabijaczleweli.xyz/README
The highlights of this release include
>20% speedups when sending multiple events¹,
rat correctly locking and respecting ^D interactively,
and many simplified implementation details.
THere are two significant changes that otherwise bear repeating:
* events that don't start with a line are ignored,
instead of their entirety being used as the date;
realistically, this means that empty files are ignored
instead of being equivalent to files consisting of an empty line
(which is equivalent to "midnight today" under coreutils date)
and if you generated events that consisted of only a date that
didn't end with a new-line (i.e. wasn't a line,
which was forbidden by the manual but erroneously accepted)
those events will now be ignored.
Given that this is much harder to do than Not doing that,
and you had to go out of your way to make these,
you are likely not affected, if you worry that you are,
wc -l ~/.ratrun/* will yield 0s for the ignored files
* expired events are moved to:
~/.ratrun/old/event
or
~/.ratrun/old/event-{event date verbatim}
as previously, but if they both exist, the new
~/.ratrun/old/event-{event date in date -Iminutes}
format is used (this matches the rat allocation strategy);
this means that you can
echo 12:00 > ~/.ratrun/event
daily and you'll have a log of all the events;
as an example, assuming you did this every day starting today,
the above will end up in:
~/.ratrun/old/event
~/.ratrun/old/event-12:00
~/.ratrun/old/event-2022-11-18T12:00+01:00
~/.ratrun/old/event-2022-11-19T12:00+01:00
~/.ratrun/old/event-2022-11-20T12:00+01:00
¹ At kiloevent scale without running mail(1);
an event takes 5ms to send, so you'll likely never observe this,
esp. given that this time will then be swamped by mail(1); cf.
https://twitter.com/nabijaczleweli/status/1592285939879276544