13/11/2009 - minor fix release - version 0.9.11 aka 1.0rc2 
	* smd-loop:
	  - save pid in lockfile so that lockfile referring
	    to dead instances can be ignored
	  - on receiving SIGTERM, do the cleanup and exit
	  - write log file ~/.smd/log/loop.log
	* smd-push/pull:
	  - save pid in lockfile so that lockfile referring
	    to dead instances can be ignored
	  - print a tagged error message in case an instance is 
	    already running
	* smd-appled:
	  - ported to vala 0.7.8
	  - accept error messages from smd-pushpull (that is used
	    by both smd-push and smd-pull as the tool identifier)
	  - added pause checkbox menu item to pause smd-loop (actually
	    kill and restart)
	  - menu for left and right mouse button differ:
	    - right has preferences, about and quit
	    - left has pause and logs
	  - unrecoverable but non-network related errors are not silently 
	    hidden, a popup shows their possible cause but the application
	    does not enter error handling mode

3/10/2009 - minor fix release - version 0.9.10 
	* smd-loop:
	  - fixed a bug regarding the lock file name, that was clashing
	    with the one of smd-push/pull
	* smd-push/pull:
	  - print the date in the log, not on stdout

27/9/2009 - minor fix release - version 0.9.9 aka 1.0rc1
	* mddiff:
	  - --help and manpage improved
	  - compile with -O2, why not?
	  - add strict compile time dependency over glib >= 2.19.1,
	    that fixes a bug concerning the checksum of data with
	    length < 2
	* smd-push/pull:
	  - when -v is passed also print the date
	* smd-applet:
	  - less noise when a network error occurrs, just notify the user
	    once and change the icon
	  - added manpage
	  - added view log menu item and relative window
	  - made vala 0.7.6 clean
	* smd-loop:
	  - lockfile to not run two instances concurrently
	* Makefile:
	  - sourceforge paths made variable, easier to change and more
	    readable Makefile
	  - added support for @variable@ substitution in installation 
	    phse for SED, SHA1SUM, XDELTA, CPN, SSH, LUA and PREFIX
	  - added template for osx: make osx/FOO will make target FOO
	    with some variables customized for osx
	* README:
	  - added some notes about installation from sources

16/8/2009 - minor fix release
	* mddiff, smd-client:
	  - REPLACE command implemented
	  - tests added
	* smd-applet:
	  - fixed a minor issue with Vala 0.7.5, GLib.Pid is not an int
	    anymore
	  - fixed a major issue with threading, all code regarding gtk is
	    now run by the main thread
	  - fixed a major issue with memory management, from List to
	    Gee.ArrayList, that have non-week references and thus prevent
	    their data from being collected

26/7/2009 - minor bugfix release
	* smd-applet:
	  - when quit was clicked, it was killing every process in
	    its process group, not in the one of its child smd-loop,
	    thus it was killing all other applets started by gnome-applet
	  - configuration window is not pupped up if no config files are
	    found, an error icon and a notification are used instead, and
	    the software wants the configuration files to be available before
	    it actually does something.

26/7/2009 - major feature release
	* smd-applet, eye-candy applet for smd-loop:
	  - attaches to the notification area
	  - stores its configuration using GConf
	  - notifies the user using libnotify
	  - runs smd-loop, interpreting its output
	  - shows the user possible errors and allows him to
	    perform suggested actions by clicking on buttons
	  - complains if smd-loop or smd-push/pull is not configured and
	    forces the user to configure it before starting
	  - automatically run by gnome-session (/etc/xdg/autostart)
	  - shows an item in gnome-control-center
	* smd-loop, cron like push/pull iterator:
	  - use a line based configuration file ~/.smd/loop in the style
	    of cron, calling smd-push/pull with 1 minute granularity
	  - catches some transient errors giving them a second chance;
	    i.e. if the suggested solution is retry, it does so but only 
	    once
	* error report:
	  - smd-client and smd-server output tags describing the 
	    error that caused a sync failure:
	    - context: which part of the software failed, like ssh, 
	      message-deletion, copy-message, ...
	    - probable-cause: something like network, bad file permissions, ...
	    - human-intervention: avoidable or necessary
	    - suggested-actions: run( command ), display-mail, retry, ...
	  - smd-push/smd-pull catch early network errors, so that
	    some tags are output even if smd-client/smd-server is
	    not even run
	* statistics:
	  - smd-client outputs tags describing its last run, comprising
	    the number of added/deleted messages, so that higher level tools
	    can notify the user or collect statistics

28/4/2009 - minor fix and minor feature release
	* support for multiple servers/clients:
	  - config file is now ~/.smd/config.$FOO and smd-push/pull
	    can get an extra argument for FOO, defulat value of FOO is 
	    `default`.
	  - backward-compatibility code added to automatically migrate 
	    the old config file name to the new one
	* cleanup in ~/.smd/:
	  - fifos are now in the fifo/ subdirectory
	  - logs are now in the log/ subdirectory
	* bugfix to mddiff: 
	  - COPYBODY action used to be always followed by an ADD action,
	    that was unnecessary (but not dangerous either).
	* better error reporting:
	  - syncmaildir.lua improved to better report some errors

21/4/2009 - minor fix and minor feature release
	* track only mailmessages (skip other stuff like dovecott indexes):
	  - scans only files in cur/ and new/
	* add COPYBODY command to mddiff:
	  - mails that are moved around and then flagged by MUA
	    are not deteceted anymore as new messages, only the new header
	    is transmitted
	  - smd-client honors the command
	* smd-client better reports network errors:
	  - if no data at all is readable from stdin, it means that
	    the transport (ssh) is not working and this is reported to
	    the user as such

19/4/2009 - major bugfix release
	* major bugfix: 
	  - the db file must be in sync too to grant all changes are detected
	  - the mtime has not to be the same on client and server (thus
	    has to be removed from the db file)
	  - adopt xdelta to calculate a patch for the db file (should be
	    better than diff and can scale to binary, compressed, db file)
	* new client/server protocol: 
	  - allows the server to ABORT
	  - handshake checking protocol version and dbfile hash
	  - at the end transmit and apply the xdelta patch
	* db file format changed:
	  - no more mtime column
	  - added db.txt.mtime auxiliary file to stores a global timestamp 
	    for the whole db
	* minor bugfixes in the code (mostly better error reporting)
	* more documentation

12/4/2009 - first public release
	* end-user tools: smd-pull, smd-push
	* stupid endpoint: smd-server
	* endpoint implementing politics: smd-client
	* low-level tool: mddiff
