Overview of changes:
* Added experimental ruleset manager
Instead of manipulating queue over and over, handler can now
start a ruleset tied to a queue loader and add rules as functions
that always operate on freshly loaded queue. Once queue stops
yielding no more rules are executed, saving unnecessary round trips
with server.
To make this work with least possible amount of typing to use,
this module is stateful operation, but with some basic care it
should be safe and overall the ruleset approach should make it
easier to prevent conflicts such as when later, more inclusive rule
overrides former.
Overview of changes:
* Revamped packaging and handler API for Lua-correctness
Most of imapdomo now behaves more like proper Lua code and part of
this also rubs off to user, OTOH it only relates to one-time changes
it's balanced by some extra configuration freedoms.
* Added support for hooks
Handlers can now call dedicated external scripts prepared by user
in advance, under `.imapdomo/config/hooks`. The API is not fully
fleshed, though.
* Enabled lock-related debugging
Revamp packaging to achieve more correct Lua style
Several changes regarding packaging, namespacing and handler API:
* Utility function module is now called 'imapdomo', not 'common'.
* The module behaves as one, instead of being just a global-modifying
include.
* Lots of cleanups as advised by luacheck (local declarations,
removal of unused variables...)
* Handlers now have to access utility API via `require` and provide
accout configuration in new file mailboxes.lua, which has to return
table. Accessing mailboxes is via utility function. (This sounds
complicated but actually is not. Believe me! :))
Overview of changes:
* Fixed some grep calls to avoid ambiguities
* Update MKit to latest version
* Added few notes about performance and lock disabing
* Updated URLs after move from github
Overview of changes:
* Added locking mechanism
We have to assume that filtering can take long, so if cron is used
to launch imapdomo and gap is too small, imapdomo instances could
run over each other, increasing the load even more.
Now imapdomo drops a lockfile by default, and silently gives up if
lockfile exists. This can be disabled by command line switch.
* Removed dead code
Overview of changes:
* imapdomo will now override imapfilter's certificate storage
Also added CLI option, but default value is
$IMAPDOMO_HOME/certificates
* Empty action will now throe usage error
... instead of crashing further down the line.
* Path in handler error message has been fixed
* Codebase maintenance
Overview of changes:
* Removed restriction to four valid actions
User can now define as many actions as they want by simply adding
handlers for them.
* Improved usage messages
* Added meaningful error messages
* Added arguments to show version
* Added 'last' branch to keep latest version
* Fixed and cleaned up packaging info
* Updated for Shellfu v0.10.*
* Codebase maintenance
Fix dependencies, use spaces instead of tabs in .spec file, rename
`imapdomo.spec` to `template.spec`, rename `imapdomo.install` to
`install`, remove unnecessary `override_dh_auto_install`, add URL to
.spec, update Summary, clean up.