aboutsummaryrefslogtreecommitdiffstats
path: root/Changelog
diff options
context:
space:
mode:
Diffstat (limited to 'Changelog')
-rw-r--r--Changelog58
1 files changed, 58 insertions, 0 deletions
diff --git a/Changelog b/Changelog
index 5a9074a..a13801a 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,61 @@
+interimap (0.5) upstream;
+
+ * interimap: the space-speparated list of names and/or patterns in
+ 'list-mailbox' can now contain C-style escape sequences (backslash
+ and hexadecimal escape).
+ * interimap: fail when two non-INBOX LIST replies return different
+ separators. This never happens for a single LIST command, but may
+ happen if mailboxes from different namespaces are being listed. The
+ workaround here is to run a new interimap instance for each
+ namespace.
+ * libinterimap: in tunnel mode, use a socketpair rather than two pipes
+ for IPC between the interimap and the IMAP server. Also, use
+ SOCK_CLOEXEC to save a fcntl() call when setting the close-on-exec
+ flag on the socket.
+ * interimap: new option 'list-reference' to specify a reference name.
+ This is useful for synchronizing multiple remote servers against
+ different namespaces belonging to the same local IMAP server (using a
+ different InterIMAP instance for each local namespace <-> remote
+ synchronization, for instance with the newly provided systemd
+ template unit file).
+ * Add a small test-suite (requires dovecot-imapd).
+ + interimap: write which --target to use in --delete command
+ suggestions.
+ + interimap: avoid caching hierarchy delimiters forever in the
+ database. Instead, use null characters internally, and substitute
+ them with the local and remote hierarchy delimiters (which thus no
+ longer need to match) for IMAP commands. This require a database
+ schema upgrade to alter the mailbox name column type from TEXT to
+ BLOB.
+ + interimap: use the 'user_version' SQLite PRAGMA for database schema
+ version.
+ - libinterimap: bugfix: hierarchy delimiters in LIST responses were
+ returned as an escaped quoted special, like "\\", not as a single
+ character (backslash in this case).
+ - libinterimap: the parser choked on responses with non-quoted/literal
+ astring containing ']' characters. And LIST responses with
+ non-quoted/literal list-mailbox names '%', '*' or ']' characters.
+ - libinterimap: quote() the empty string as "" instead of a 0-length
+ literal. (This saves 3 bytes + one round-trip on servers not
+ supporting non-synchronizing literals, and 4 bytes otherwise.)
+ - interimap: unlike what the documentation said, spaces where not
+ allowed in the 'list-select-opts' configuration option, so at maximum
+ one selector could be used for the initial LIST command.
+ - interimap: unlike what the documentation said, 'ignore-mailbox' was
+ not ignored when names were specified as command line arguments.
+ - interimap: accept comma-separated values for --target.
+ - interimap: --rename of a \NonExistent mailbox didn't trigger a RENAME
+ command on the local/remote IMAP servers, nor an update of the
+ 'mailboxes' table.
+ - interimap: don't try to delete \NoSelect mailboxes (it's an error per
+ RFC 3501 sec. 6.3.4).
+ - interimap: SQLite were not enforcing foreign key constraints (setting
+ the 'foreign_keys' PRAGMA during a transaction is a documented no-op).
+ - interimap: fix handling of mod-sequence values greater or equal than
+ 2 << 63.
+
+ -- Guilhem Moulin <guilhem@fripost.org> Fri, 10 May 2019 00:58:14 +0200
+
interimap (0.4) upstream;
* pullimap: replace non RFC 5321-compliant envelope sender addresses