new version. http://git.dbmail.eu/paul/dbmail/log/ mostly bugfixes, config file change and some imap additions
"ChangeLog" copy from the mailinglist: 3.1.0 (http://permalink.gmane.org/gmane.mail.imap.dbmail/14865): New parameters in dbmail.conf ----------------------------- dburi = sqlite:///home/paul/dbmail.db DBMail now supports the full capabilities of libzdb by allowing you to specify the database URI yourself. This gives you full power to tweak the connection to your liking. See this URL for more information: http://www.tildeslash.com/libzdb/api-docs/ConnectionPool_8h.html backlog = 128 The maximum number of waiting TCP connections in the kernel have been raised to 128 by default, to allow better handling of spikes in the connection load to slower, blocking daemons like lmtpd. If you see deferred messages piling up in your MTA, this is what you should look at. Also, in case of deferred messages, you should consider switching dbmail-lmtpd from running as a stand-alone (single-threaded) daemon to running in inetd mode. Schema change ------------- There is one small schema change that you want to apply if you upgrade from 3.0.2 to 3.1.0. You will find it in the schema directories. For example sql/mysql/3_0_2-3_1_0.mysql. Without this change, dbmail-imapd will work just fine, except that SORT will be broken. This mostly affects Roundcube users, so if you use that client, you will definitely want to apply the change. It is a small and fast change (re-create a view) that won't cause you any additional downtime. Memory usage ------------ Memory fragmentation and leakage was a problem in imapd, but appears to be under control now. Both virtual and resident memory should show pretty much flat-lined graphs. A lot of effort was spent on reducing the memory footprint of especially the IMAP server. A whole new memory allocation scheme was introduced (src/mpool) that optionally uses segmented memory arenas, commonly known as memory pools. Although the use of actual pools is disabled by default, phasing in the programming interface enforced a full audit of memory allocation. Except for the GMime code, the new interface was used as much as possible, or heap allocation was replaced by automatic stack allocation. GMime uses the g-slice allocator which doesn't appear to cause problems anymore now that GObject reference counting was also audited and cleaned up. An additional new allocation feature is support for jemalloc, a fast allocator used by some of the big players like facebook and google. Before using jemalloc however, it good to know that updating to a recent linux kernel (> 3.6) also appears to improve allocation quite significantly, by reducing memory fragmentation. For non-linux users, ymmv, but I'm sure other users will be interested to know how BSD and OpenSolaris users fare. IMAPD improvements ------------------ Using Dovecot's excellent imap test tools, compliance was improved overall. No additional IMAP capabilities were added in this release. Performance was improved by identifying some of codepaths that led to excessive memory allocation or querying of the database. LMTPD improvements ------------------ Some of the same performance bottlenecks that plagued IMAPD have also been resolved in LMTPD. Message insertion is now at least twice as fast, and scales better when injecting messages into large mailboxes. DELIVER, POP3D and TIMSIEVED ---------------------------- Nothing really changed, except for internal code-changes part of the memory audit. Of course, dbmail-deliver also benefits from the delivery improvement done for lmtpd. 3.1.1: It is a bug-fix only release. It fixes some issues with IMAP returning a 'BAD invalid sequence' response, when it really shouldn't. DBMail 3.1.2: This is a bug-fix only release. So no new features or schema-changes. Bugs fixed: - - POP3: Incorrect display of encoded messages in POP3 - - LMTP: Incorrect acknowledgement of recipients in LMTP, which led to deferred messages in the MTA queue. - - IMAP: Fixes the "BAD invalid sequence" response after IMAP UID commands.
Additional note: python files have been removed. 3.1.2 in portage.