No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ChangeLog 24KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581
  1. 14/03/2014 - feature improvement and gui redesign - version 1.2.6
  2. * mddiff, smd-client, DESIGN:
  3. - Emit MOVE command when appropriate. This optimization and its
  4. implementation was desined by Jesus Cea to make smd ZFS friendly
  5. - --no-move option for retrocompatibility with smd-uniform-names
  6. * test.d/:
  7. - new tests for the MOVE command
  8. * smd-applet:
  9. - Redesign the applet with GNOME3 in mind
  10. - Do not use Gtk.HBox (deprecated in favour of Gtk.Grid)
  11. - Switch from GConf to Gsettings
  12. - Compile with valac 0.22
  13. * smd-common, README:
  14. - Suggest to use "User" and not "Username" for ssh configuration.
  15. Thanks Kim Christensen for spotting that.
  16. 11/06/2012 - minor fix release - version 1.2.5
  17. * mddiff:
  18. - Hashtable from body sha1 to mail now holds a list of
  19. mails so that COPY actions are generated whenever possible.
  20. It used to be the case that on body collisions a COPYBODY
  21. action could have been generated instead.
  22. - Fix: --sha1sum works on empty files too
  23. - Better error messages for malformed db-file (including line number)
  24. * syncmaildir.lua:
  25. - During handshake handle the case in which mddiff is unable to
  26. sha1sum the db file
  27. - Code for calling external tools refactored
  28. - Optimize calls to external translator spawning only
  29. one process (translators must be line bufferd now)
  30. * smd-uniform-names, smd-client:
  31. - Fix escaping of ~ that was always performed on the local host
  32. - Handle server ERROR messages while computing renamings
  33. - Generate better smd-rename.sh script that calls cp instead
  34. of mv if the source message has to be used later on
  35. * smd-client:
  36. - Mode --dry-run prints the list of messages transferred over the
  37. network
  38. 28/05/2012 - minor feature improvement - version 1.2.4
  39. * smd-uniform-names:
  40. - New tool to ease the migration from offlineimap.
  41. When the mailboxes have roughly the same content but emails are
  42. named differently this tool generates a shell script that
  43. renames local mails to conform to the remote mailbox
  44. * smd-applet:
  45. - XDG compliant autostart, with a button in the options window
  46. - Target GLib 2.32 and Gtk+ 3.0 for the .ui file
  47. * smd-push, smd-pull, smd-common, smd-client, smd-server:
  48. - New option -n --nodelete to not propagate deletions
  49. - Support for local synchronizations: -l option to smd-client.
  50. It is now possible to set SERVERNAME=localhost and pass -l
  51. to smd-client (via SMDCLIENTOPTS) to obtain a synchronization
  52. on the same host. (Thanks Miguel Fernandes for the idea
  53. and his time for testing/debugging my prototype implementation).
  54. - Do not use ssh if it is a local synchronization
  55. - Support for SMDCLIENTOPTS and SMDSERVEROPTS in config file
  56. - Code refactoring for external tools invocation
  57. - Put a minimal README in the hooks/ directory to tell the user
  58. what these directories are for
  59. - Fix inconsistency in escaping of the value of TRANSLATOR_LR/RL
  60. - Turn off grep buffered mode for progress reporting (Thanks
  61. Stefano Zacchiroli for enlightening me on the subject)
  62. * smd-translate:
  63. - Fix bug in removing trailing / or " or ' from the
  64. MAILBOX_REMOTE/LOCAL value
  65. - New trasnlator mode: 'move'. It just replaces MAILBOX_LOCAL
  66. with MAILBOX_REMOTE and vice versa, useful for local
  67. synchronizations
  68. * mddiff:
  69. - New option -n --no-delete to not generate DELETE actions
  70. * Makefile:
  71. - Fix templates: C/LDFLAGS are now correctly preserved
  72. * README:
  73. - Update copyright dates to include 2012
  74. - Document smd-uniform-names
  75. 03/03/2012 - minor feature improvement - version 1.2.3
  76. * smd-pull, smd-push:
  77. - print progress report if -v is passed
  78. * smd-client:
  79. - generate progress report if verbose mode is on
  80. - generate verbose progress report during first synchronization
  81. - log "translating:" only when meaningful (i.e. not a noop)
  82. * smd-common:
  83. - create a new fifo for progress reporters
  84. - standard progress reporter printing on stdout PROGRESS: lines
  85. - use mddiff as mkdir and mkfifo (no more calls to mkfifo and mkdir)
  86. * smd-applet:
  87. - ported to vala 0.16
  88. * smd-loop:
  89. - fixed cleanup process (Thanks Ralf Schmitt for the patch)
  90. * smd-restricted-shell:
  91. - new utility to be used in .ssh/authorized_keys, see the command=
  92. option (Thanks Luca Capello for the idea and the documentation)
  93. * syncmaildir.lua:
  94. - When mddiff fails to sha1 a message print the file name (thanks
  95. Zhengdao Wang for the idea)
  96. 01/12/2011 - minor fix - version 1.2.2
  97. * smd-config.5:
  98. - fixed typo and use `quotes' to delimit strings
  99. * smd-common:
  100. - fixed temp file leak
  101. - fixed stale lock file detection
  102. * mddiff:
  103. - add --sha1sum to avoid depending on the sha1sum external utility
  104. - add --mkdir-p to avoid depending on the mkdir external utility
  105. - add --mkfifo to avoid depending on the mkfifo external utility
  106. - print OK on successful symlink creation
  107. - updated copyright
  108. * syncmaildir.lua:
  109. - use mddiff to create symlinks to remove dependency over ln
  110. 10/09/2011 - minor feature improvement - version 1.2.1
  111. * mddiff:
  112. - support for --exclude via fnmatch(3) to filter out unwanted
  113. directories
  114. * smd-server, smd-push, smd-common:
  115. - thread around --exclude
  116. * smd-check-conf:
  117. - many bug fixes
  118. * README:
  119. - document EXCLUDE
  120. - reorganized
  121. * smd-applet:
  122. - ported to vala 0.13.3
  123. - removed embedded copy of libnotify.vapi/deps
  124. 07/09/2011 - major feature improvement - version 1.2.0
  125. * all tools:
  126. - support for renaming mailboxes thanks to translator programs:
  127. useful to switch from offlineimap to smd
  128. - -d option now implies -v
  129. * smd-translate:
  130. - common translator utility to handle renaming typical imap servers
  131. - support dovecot imap server (removal of leading dots)
  132. * smd-check-conf:
  133. - utility to test for round trip of translators on the current
  134. list of mailboxes and perform some other sanity checks
  135. * mddiff:
  136. - accept -l to list all mailboxes rooted in the given paths
  137. - accept -s to create symlinks reading input on a fifo
  138. - minor improvement: basename/g_path_basename now called
  139. only once per mail folder
  140. - directory handler leak fixed
  141. * smd-common:
  142. - accept -s to show tags, while -v is used for more verbose output
  143. - sanitize input of MAILBOX like variables
  144. * smd-client:
  145. - reworked to fix once and for all (hopefully ;-) the problems with
  146. names containing spaces
  147. * syncmaildir.lua:
  148. - better report a network error
  149. * smd-applet:
  150. - notification.set_hint "transient" called with a boolean GVariant
  151. to avoid crashing the notification-daemon
  152. * Makefile:
  153. - minor improvements w.r.t. test running
  154. - eye candy stats target
  155. * tests.d:
  156. - support tests for smd-push
  157. - test for renaming
  158. * smd-config.5:
  159. - new manpage for the configuration file
  160. 24/07/2011 - minor fix 4 Faidon - version 1.1.6
  161. * smd-pull, smd-push:
  162. - mention --dry-run option in manpage
  163. * mddiff,syncmaildir,smd-client,smd-server:
  164. - properly handle file names with spaces
  165. * test.d:
  166. - new test for file names with spaces
  167. * mddiff:
  168. - if we get EPERM opening a mail we retry without O_NOATIME since
  169. that option is allowed only on files owned by the euid of the
  170. process (unless you have CAP_FOWNER). These files were previously
  171. skipped, but it may be the case one has old crap owned by a
  172. different user in his mailbox, like an old broken uid. Thanks
  173. Faidon for debugging this issue
  174. 03/07/2011 - minor fix - version 1.1.5
  175. * smd-applet:
  176. - Ported to NetworkManager 0.9 APIs (GNOME 3)
  177. - Ported to libnotify 0.7
  178. - Ported to GTK+-3.0
  179. - Windows spacings conforming to the GNOME guidelines
  180. 04/03/2011 - minor fix - version 1.1.4
  181. * Makefile:
  182. - add / in front PREFIX when generating smd-config.h
  183. 04/03/2011 - minor fix to the build system release - version 1.1.3
  184. * Makefile:
  185. - compact compilation output: CC, VALAC
  186. call `make H=` to enable verbose output again
  187. - error message for too old glib version improved
  188. - automatic generation and update of smd-config.h based on Makefile
  189. variables, both the static and the command line ones
  190. - better warnings if there is no valac but any vala file changed
  191. - no more -DVERSION compile flag, since all compiled code includes
  192. the same smd-config.h file
  193. * mddiff.c:
  194. - include smd-config.h for SMD_CONF_VERSION
  195. * smd-config.vapi:
  196. - bind smd-config.h to vala
  197. * config.vala:
  198. - removed: smd-config.h is used by smd-applet.vala thanks to
  199. smd-config.vapi
  200. 03/03/2011 - maintenance release - version 1.1.2
  201. * smd-applet.vala:
  202. - ported to valac 0.10
  203. - ported to GDbus (package gio-2.0)
  204. - build dependency over vala removed: config.c and smd-applet.c
  205. are now included in the tarball
  206. * mddiff.c:
  207. - compile with additional -Wcast-align flag
  208. - use %zc to print size_t, if available
  209. - compute the default for --max-mailno using the number of lines
  210. in the db-file (if available) and adding 1000 (as the max amount
  211. of new mails). Overestimating the amount of memory needed can
  212. make malloc fail if the system is under heavy loads. --max-mailno
  213. still makes sense for the first run, since there is no db-file to
  214. look at.
  215. 14/10/2010 - minor fix - version 1.1.1
  216. * syncmaildir.lua:
  217. - tmp_for fixed: the pid component is now a unique index instead of
  218. a fixed one.
  219. The old code Was causing troubles when receiving more then 10
  220. mails during the same second and in the same mailbox and when
  221. the pid component of the mail name was not made just of digits.
  222. The regular expression to capture the pid component has also been
  223. relaxed accepting "_" too.
  224. 01/09/2010 - minor feature release - version 1.1.0
  225. * smd-loop:
  226. - when run, immediately execute the first pull/push scheduled.
  227. it used to sleep for its interval
  228. * smd-applet:
  229. - connect to NetworkManager to query network status, if the
  230. connection is not present, we enter pause mode.
  231. 15/06/2010 - minor fix - version 1.0.0
  232. * smd-applet:
  233. - recognize mailto: actions so that a nice label is used
  234. istead of the raw command that comprises subject and body
  235. - ported to vala 0.9.1, use .connect instead of deprecated +=
  236. * smd-client, syncmaildir.lua:
  237. - generate as suggested action for internal errors:
  238. gnome-open "mailto:...."
  239. * smd-server:
  240. - do not es.execute(touch), use io.open instead
  241. * syncmaildir.lua:
  242. - place fifo for mddiff in HOME/.smd/fifo/ if HOME is set, /tmp
  243. otherwise
  244. - added upperbound to loop generating a fresh name for the fifo
  245. * sample-hooks/persistent-ssh:
  246. - set +e so that if ssh fails smd-pull/push does not fail too and
  247. generates proper tags
  248. * Makefile:
  249. - fixed upload target, used to overwrite the tarball with the
  250. changelog
  251. - substitute SMDVERSION, MKFIFO and MKDIR when installing scripts
  252. - new test/SUITE target to run only one testsuite
  253. * README:
  254. - added notes about the first synchronization
  255. * DESIGN:
  256. - better doc for mddiff
  257. * tests.d/:
  258. - new tests for hooks logging
  259. - new test for fifo creation (syncmaildir.lua function sha_file)
  260. - allow disabling valgrind by exporting the VALGRIND variable
  261. * Makefile, smd-common, syncmaildir.lua:
  262. - remove all explicit mentions of my username on sourceforge
  263. or my home directory layout
  264. 12/04/2010 - minor fix/speedup release - version 0.9.16 aka 1.0~rc5
  265. * smd-client:
  266. - fixed a little bug preventing copybody to work properly
  267. if the target directory was not existing
  268. * syncmaildir.lua, smd-client:
  269. - call mddiff passing a pipe, and use the very same instance
  270. every time the sha1 of a file needs to be computed. This improves
  271. performances considerably when a large number of files needs to
  272. be hashed, for example when two very similar mailboxes are
  273. synced for the first time (here, 8x speedup)
  274. - implement cp in lua to avoid spawning a new process every
  275. time a file is copied/moved. The overhead, for small files,
  276. is too high and the pure lua implementation of cp is 10 times
  277. faster on small files (but could be way slower for big ones).
  278. * mddiff:
  279. - interface change: only a list of directories or a fifo can
  280. be passed as arguments
  281. - in case the fifo is passed, mddiff reads file names separated
  282. by \n and outputs their sha1 sums
  283. * smd-pull, smd-push:
  284. - report an error if a wrong flag is supplied
  285. 23/03/2010 - minor fix release - version 0.9.15 aka 1.0~rc4
  286. * smd-applet:
  287. - the icon used to stay set to warning even after a successful
  288. synchronization
  289. * smd-client, smd-server, syncmaildir:
  290. - never use the lua error() function, all errors should generate
  291. a meaningful tag, only internal errors raise error and thus
  292. are tagged as internal-error by the parachute that also prints
  293. a backtrace
  294. - always use log_tags_and_fail, that calls error but with
  295. the exception {text=....} that is recognized by the parachute
  296. so that no backtrace is printed
  297. - parse mddiff opcodes with a function that is robust in
  298. face of malformed arguments
  299. * tests.d/:
  300. - new test for database mismatch (indirectly testing correct
  301. exception handling) and for malformed mddiff opcodes arguments
  302. * sample-hooks:
  303. - persistent-ssh: exploiting ssh connection sharing capability.
  304. This allows to save a little amount of time every synchronization.
  305. A single secure connection can be established once, at the very
  306. beginning, and then reused for evry subsequent synchronization.
  307. - documentation for hooks in markdown format generating hooks.html
  308. 12/03/2010 - major feature relase - version 0.9.14 aka too many changes to be rc
  309. * syncmaildir.lua:
  310. - mkdir_p creates always a maildir, if the last path component
  311. is in { "new", "tmp", "cur" } (used to do that only if it was
  312. "tmp".
  313. * smd-common:
  314. - major refactoring, almost all code is inside functions
  315. - new function run_hooks
  316. * smd-pull, smd-push:
  317. - adapt to the new smd-common interface: call by hand init
  318. functions instead of having them executed by side effect of
  319. sourcing smd-common
  320. * hooks support in smd-push and smd-pull:
  321. - executables contained in the .smd/hooks/{pre,post}-{pull,push}.d/
  322. directories are executed pre/post the pull/push process.
  323. - hooks receive as argument:
  324. - when: pre/post
  325. - what: push/pull
  326. - endpoint: the endpoint name (usually default)
  327. - status: the current status, 0 for OK, 1 for error. pre-hooks
  328. always receive 0, post hooks receive the value smd-push/pull
  329. will return after hooks terminate
  330. - thanks to Bart Trojanowsk for the hooks idea
  331. * sample-hooks/:
  332. - new directory with sample hooks, for now just a simple
  333. mail-on-failure hook
  334. * tests.d/:
  335. - major redesign of the test framework, allowing multiple
  336. test suites
  337. - new test suite for smd-pull/push
  338. - new test suite for mddiff
  339. * smd-push/pull smd-client/server mddiff:
  340. - support -d --dry-run (i.e. perform no action)
  341. * manpages for mddiff, smd-client, smd-server, smd-pull, smd-push:
  342. - added -d --dry-run doc
  343. - mention hooks
  344. * copyright:
  345. - updated years in all files: 2008-2010
  346. - added copyright banner where missing
  347. * git archive:
  348. - use git archive for the make dist target
  349. * README:
  350. - mention --dry-run
  351. - document hooks
  352. 02/03/2010 - major fix release - version 0.9.13
  353. * smd-server mddiff:
  354. - big fat bug solved: the .mtime file was always updated.
  355. the .mtime file used to be updated even if the synchronization
  356. failed. This could have caused some changes (like in place eader
  357. modifications, but not like new messages or renamings/flagging) to
  358. be ignored in the following synchronization. Now .mtime works
  359. exactly as .db.txt, a .new one is created by mddiff, and is up to
  360. smd-server to rename both.
  361. * mddiff.1.txt:
  362. - fixed typo
  363. 27/12/2009 - minor fix release - version 0.9.12 aka 1.0rc3
  364. * DESIGN:
  365. - mention the ERROR action that mddiff can now emit
  366. * smd-client:
  367. - understand the ERROR action
  368. * mddiff.c:
  369. - use only EXIT_SUCCESS and EXIT_FAILURE as exit codes
  370. - ERROR macro calls exit(EXIT_FAILURE) end emits the
  371. ERROR action
  372. - new macro WARNING, used for what used to be non
  373. fatal errors
  374. - improved argument check: stat is done in advance, and
  375. we bail out if they are not omogeneous
  376. * syncmaildir.lua:
  377. - handshake function emits 'network' as probable failure
  378. cause. Used to emit 'network-error', cheating smd-applet
  379. * smd-client, smd-server, smd-common:
  380. - check for the existence of external helper programs
  381. to fail early if it is not the case
  382. * smd-client, smd-server, syncmaildir.lua:
  383. - more comments in the code and better organization
  384. - littler refactoring for mkdir_p and tmp_for
  385. - added function to check for the existence of an
  386. external program using shell type command
  387. * Makefile:
  388. - added abspath/* template to install the software hardcoding
  389. absolute paths for helper programs
  390. * README, DESIGN:
  391. - fixed indentation so that markdown displays all
  392. blockquotes as such (kudos to Zack).
  393. 13/11/2009 - minor fix release - version 0.9.11 aka 1.0rc2
  394. * smd-loop:
  395. - save pid in lockfile so that lockfile referring
  396. to dead instances can be ignored
  397. - on receiving SIGTERM, do the cleanup and exit
  398. - write log file ~/.smd/log/loop.log
  399. * smd-push/pull:
  400. - save pid in lockfile so that lockfile referring
  401. to dead instances can be ignored
  402. - print a tagged error message in case an instance is
  403. already running
  404. * smd-appled:
  405. - ported to vala 0.7.8
  406. - accept error messages from smd-pushpull (that is used
  407. by both smd-push and smd-pull as the tool identifier)
  408. - added pause checkbox menu item to pause smd-loop (actually
  409. kill and restart)
  410. - menu for left and right mouse button differ:
  411. - right has preferences, about and quit
  412. - left has pause and logs
  413. - unrecoverable but non-network related errors are not silently
  414. hidden, a popup shows their possible cause but the application
  415. does not enter error handling mode
  416. 3/10/2009 - minor fix release - version 0.9.10
  417. * smd-loop:
  418. - fixed a bug regarding the lock file name, that was clashing
  419. with the one of smd-push/pull
  420. * smd-push/pull:
  421. - print the date in the log, not on stdout
  422. 27/9/2009 - minor fix release - version 0.9.9 aka 1.0rc1
  423. * mddiff:
  424. - --help and manpage improved
  425. - compile with -O2, why not?
  426. - add strict compile time dependency over glib >= 2.19.1,
  427. that fixes a bug concerning the checksum of data with
  428. length < 2
  429. * smd-push/pull:
  430. - when -v is passed also print the date
  431. * smd-applet:
  432. - less noise when a network error occurrs, just notify the user
  433. once and change the icon
  434. - added manpage
  435. - added view log menu item and relative window
  436. - made vala 0.7.6 clean
  437. * smd-loop:
  438. - lockfile to not run two instances concurrently
  439. * Makefile:
  440. - sourceforge paths made variable, easier to change and more
  441. readable Makefile
  442. - added support for @variable@ substitution in installation
  443. phse for SED, SHA1SUM, XDELTA, CPN, SSH, LUA and PREFIX
  444. - added template for osx: make osx/FOO will make target FOO
  445. with some variables customized for osx
  446. * README:
  447. - added some notes about installation from sources
  448. 16/8/2009 - minor fix release
  449. * mddiff, smd-client:
  450. - REPLACE command implemented
  451. - tests added
  452. * smd-applet:
  453. - fixed a minor issue with Vala 0.7.5, GLib.Pid is not an int
  454. anymore
  455. - fixed a major issue with threading, all code regarding gtk is
  456. now run by the main thread
  457. - fixed a major issue with memory management, from List to
  458. Gee.ArrayList, that have non-week references and thus prevent
  459. their data from being collected
  460. 26/7/2009 - minor bugfix release
  461. * smd-applet:
  462. - when quit was clicked, it was killing every process in
  463. its process group, not in the one of its child smd-loop,
  464. thus it was killing all other applets started by gnome-applet
  465. - configuration window is not pupped up if no config files are
  466. found, an error icon and a notification are used instead, and
  467. the software wants the configuration files to be available before
  468. it actually does something.
  469. 26/7/2009 - major feature release
  470. * smd-applet, eye-candy applet for smd-loop:
  471. - attaches to the notification area
  472. - stores its configuration using GConf
  473. - notifies the user using libnotify
  474. - runs smd-loop, interpreting its output
  475. - shows the user possible errors and allows him to
  476. perform suggested actions by clicking on buttons
  477. - complains if smd-loop or smd-push/pull is not configured and
  478. forces the user to configure it before starting
  479. - automatically run by gnome-session (/etc/xdg/autostart)
  480. - shows an item in gnome-control-center
  481. * smd-loop, cron like push/pull iterator:
  482. - use a line based configuration file ~/.smd/loop in the style
  483. of cron, calling smd-push/pull with 1 minute granularity
  484. - catches some transient errors giving them a second chance;
  485. i.e. if the suggested solution is retry, it does so but only
  486. once
  487. * error report:
  488. - smd-client and smd-server output tags describing the
  489. error that caused a sync failure:
  490. - context: which part of the software failed, like ssh,
  491. message-deletion, copy-message, ...
  492. - probable-cause: something like network, bad file permissions, ...
  493. - human-intervention: avoidable or necessary
  494. - suggested-actions: run( command ), display-mail, retry, ...
  495. - smd-push/smd-pull catch early network errors, so that
  496. some tags are output even if smd-client/smd-server is
  497. not even run
  498. * statistics:
  499. - smd-client outputs tags describing its last run, comprising
  500. the number of added/deleted messages, so that higher level tools
  501. can notify the user or collect statistics
  502. 28/4/2009 - minor fix and minor feature release
  503. * support for multiple servers/clients:
  504. - config file is now ~/.smd/config.$FOO and smd-push/pull
  505. can get an extra argument for FOO, defulat value of FOO is
  506. `default`.
  507. - backward-compatibility code added to automatically migrate
  508. the old config file name to the new one
  509. * cleanup in ~/.smd/:
  510. - fifos are now in the fifo/ subdirectory
  511. - logs are now in the log/ subdirectory
  512. * bugfix to mddiff:
  513. - COPYBODY action used to be always followed by an ADD action,
  514. that was unnecessary (but not dangerous either).
  515. * better error reporting:
  516. - syncmaildir.lua improved to better report some errors
  517. 21/4/2009 - minor fix and minor feature release
  518. * track only mailmessages (skip other stuff like dovecott indexes):
  519. - scans only files in cur/ and new/
  520. * add COPYBODY command to mddiff:
  521. - mails that are moved around and then flagged by MUA
  522. are not deteceted anymore as new messages, only the new header
  523. is transmitted
  524. - smd-client honors the command
  525. * smd-client better reports network errors:
  526. - if no data at all is readable from stdin, it means that
  527. the transport (ssh) is not working and this is reported to
  528. the user as such
  529. 19/4/2009 - major bugfix release
  530. * major bugfix:
  531. - the db file must be in sync too to grant all changes are detected
  532. - the mtime has not to be the same on client and server (thus
  533. has to be removed from the db file)
  534. - adopt xdelta to calculate a patch for the db file (should be
  535. better than diff and can scale to binary, compressed, db file)
  536. * new client/server protocol:
  537. - allows the server to ABORT
  538. - handshake checking protocol version and dbfile hash
  539. - at the end transmit and apply the xdelta patch
  540. * db file format changed:
  541. - no more mtime column
  542. - added db.txt.mtime auxiliary file to stores a global timestamp
  543. for the whole db
  544. * minor bugfixes in the code (mostly better error reporting)
  545. * more documentation
  546. 12/4/2009 - first public release
  547. * end-user tools: smd-pull, smd-push
  548. * stupid endpoint: smd-server
  549. * endpoint implementing politics: smd-client
  550. * low-level tool: mddiff