Revision history for Net-IMAP-Server
1.36 Thu Jan 17 08:09:17 2012
* Fix string literals (such as for APPEND), which have counted
characters incorrectly since 1.32 due to newline trimming.
1.35 Mon Nov 12 03:22:17 2012
* Switch to AnyEvent, from EV
1.34 Sat Jul 28 15:49:17 2012
* Don't rely on $" being set to the default " " during UID
SEARCH
1.33 Sat Apr 07 19:37:17 2012
* Test fixes; use recv() with MSG_PEEK | MSG_DONTWAIT to
determine if a TCP connection is in state CLOSE_WAIT
1.32 Fri Apr 06 00:45:17 2012
* Trim newlines passed to all commands, including continuation
lines
* Remove erroneous extra \n on server SASL responses
* Bump MIME::Base64 dependency, and adjust bad mime encoding
techniques to compensate
* Better mapping of SASL mechanism names to method names
1.31 Sun Apr 01 01:18:17 2012
* Add test dependency on IO::Socket::SSL
* Minor ASCII art updates
1.30 Tue Oct 25 11:30:17 2011
* Beginnings of a testsuite based on the RFC spec
* Prepend, rather then append, un-asked-for message attributes,
for picky clients
* Properly escape mailbox names with quotes in LIST/LSUB
* Trap and report base64 errors during AUTH
* Returning -1 from a SASL auth now returns BAD, while returning
false returns NO
* Send an [ALERT] if the password was sent unprotected in
plaintext
* Remove an incorrect call to ->socket which caused errors
during DESTROY
* Selecting a bogus mailbox now leaves the state unselected
* Return BAD on CREATE or RENAME with 8-bit mailbox names or
invalid UTF-7 encoding
* Forbid removal of INBOX
1.29 Mon Aug 2 10:42:17 2010
* Fix "UID SEARCH 1,2"
* Allow "UID SEARCH *"
* A better fix for [rt.cpan.org #58160], which is caused by a
bug in DateTime::Format::Strptime ([rt.cpan.org #58459])
* Fix a minor bug in UID wherein unknown subcommands would
attempt to call a nonexistant method
1.28 Tue Jun 8 14:14:17 2010
* Prevent warnings when CLOSE is called
* strftime("%e") can generate leading space, which
strptime("%e") fails to parse; parse with strptime("%n%e")
[rt.cpan.org #58160]
* Ensure that EXAMINE collowed by SELECT in the same mailbox
leaves it write-able [rt.cpan.org #58162]
1.27 Mon May 3 21:27:17 2010
* Make ->handle_command return the instance of the ::Command
subclass that ran, for more useful subclassing
1.26 Tue Dec 15 22:31:17 2009
* Fix ->read_only to only care about ->selected_read_only if
the mailbox is currently selected.
* Add a ->select callback (defautls to doing nothing) on
mailboxes which is called when it becomes selected.
* The content returned by FETCH BODY[1] should be the raw
content, without decoding transport encoding.
1.25 Sat Nov 7 23:58:17 2009
* BACKWARDS-INCOMPATIBLE CHANGE: Net::IMAP::Server::Command's
->log method takes a loglevel argument by default, and simply
defers to Net::Server's logging infratructure.
* Handle more of Net::Server's arguments to ->new, including logging
* Pass through arguments to Net::Server any arguments to ->run
* Support mailboxes with flat hierarchies (undef hierarchy separator)
* Fix a bug where UID COPY set two OK responses
1.24 Fri Oct 16 11:01:17 2009
* Fix overzealous caching during mailbox renaming
* Bump Net::Server::Coro dep, to be able to specify SSL
certificate paths
1.23 Fri Jul 17 17:34:17 2009
* Fix RT#47955; session flags were never getting stored,
causing no messages to ever be marked \Recent
1.22 Mon Jul 13 12:13:17 2009
* Warning avoidance for "substr outside of string" warnings
* Net::IMAP::Server::Command::UID still contained a reference
to untagged_fetch
1.21 Thu Jul 9 14:52:17 2009
* Bump copyright, link to mailing list
* Remove mostly undocumented an no-servicable-parts
session_flags
* untagged_* renamed to _unsent_* (and thus private)
* A bit more documentation of accessors
* Better error message on unknown SEARCH token
* Add caching of "start of the day in utc" for searching
* Add extraction of "start of the Date: header in utc" for
searching
* Add BEFORE, ON, SINCE, SENTBEFORE, SENTON, SENTSINC support
to SEARCH
* Document Net::IMAP::Server::Message->expunged
1.20 Fri Jun 19 16:04:17 2009
* The logic for STATUS UNSEEN was backwards, counting the
number of seen messages. Reported by Paul Miller
<jettero@cpan.org>
1.19 Fri Jun 19 13:26:17 2009
* Fix POD coverage on Net::IMAP::Server::Error
1.18 Wed Jun 17 14:50:16 2009
* Handle compile errors in required commands better
* Add missing DateTime::Format::Strptime dependency
1.17 Sun May 3 14:54:17 2009
* Document "NO" and "BAD" die() arguments
* Fix mailbox read-only attribute
1.16 Tue Apr 7 23:45:17 2009
* Make UID fetches no longer O(range client requested), which
is fragile when there are few messages but they are high in
UID.
1.15 Mon Apr 6 12:49:17 2009
* Calls to ->header_raw were being made on Email::MIME
objects, instead of Email::MIME::Header objects. Reported
by <dan@moore.cx>
1.14 Mon Apr 6 03:55:17 2009
* Bump Email::MIME dep, for ->header_raw method
* Fix typo in RFC reference. Reported by <dan@moore.cx>
* Documentation typo fixes
1.13 Fri Mar 20 14:11:17 2009
* More UNSEEN fixes; the UNSEEN reported by STATUS and the
UNSEEN reported by SELECT are different beasts, and have
been split into different methods.
1.12 Tue Mar 10 13:46:17 2009
* Ensure that mailboxes passed to CREATE aren't trying to
encode things they shouldn't be, by round-tripping and
comparing.
* Match query in LIST and LSUB against encoded path, not raw
utf8 path
* Support for adding new commands via 'add_command' in
Net::IMAP::Server
1.11 Fri Mar 6 14:20:17 2009
* Move IMAP-UTF-7 handling into model's ->split, so it runs
for _all_ client-given input. Then adjust ->handle_command
to be able to send specific messages to the client on some
exceptions. Reported by Jan Dvorak
<jdvorak@uikt.mendelu.cz>.
* Add a case for the suspected edge case where a timeout or
printing error is discovered while handling a command
* Upper-case command name in "command not recognized" to not
leak implementation as much
1.10 Thu Mar 5 14:27:17 2009
* Fix a major bug where UNSEEN reported the total number of
unseen messages in the mailbox, rather than the sequence of
the first unseen message. Reported by Jan Dvorak
<jdvorak@uikt.mendelu.cz>
* Always return un-decoded headers to the client. Reported by
Jan Dvorak <jdvorak@uikt.mendelu.cz>
* Fixes for people who have set $" to something odd
1.08 Tue Feb 24 16:27:17 2009
* UTF-7 support for mailbox naming
* Add and document purge => 1 option to full_path
1.07 Sun Nov 23 01:03:24 2008
* Fixed missing UNIVERSAL::require dep
1.06 Mon Nov 17 17:06:52 2008
* Added NAMESPACE support
1.05 Mon Oct 20 16:40:19 2008
* Fixed spelling of 'separator' -- THIS BREAKS BACKWARDS
COMPATIBILITY if you had overridden the 'seperator' method.
* Added some missing pod on Net::IMAP::Server::DefaultModel
1.01 Sat Aug 16 21:06:31 2008
* Now with updated changelog and signatures - no functionality
changes
1.00 Sat Aug 16 21:05:25 2008
* Remove Email::Folder dep, and default load_data behavior
0.95 Wed Aug 6 18:46:09 2008
* We can intuit the is_inbox mailbox property
* Include a simple example server
0.9 Mon Jul 7 17:35:04 2008
* Add update_tree hook so servers can dynamically create sub-mailboxes
0.8 Mon Jun 16 18:34:56 2008
* Special-casing for Zimbra clients
* client_id is a connection property, not an auth property
* Bump the Net::Server::Coro dep
0.7 Mon May 19 13:30:17 2008
* Per-session message flags actually stored on the session
* STATUS is now on the mailbox
0.6 Fri May 16 13:29:12 2008
* Add missing Net::SSLeay dep
0.5 Fri Apr 25 12:18:17 2008
* Add 'use Coro's for the places I added 'cede's
* Module::Install version bump
0.4 Wed Apr 23 15:24:22 2008
* Weaken the timeout callback, so we don't leak connection
objects
* Don't double-store refs to connections
* Actually clean out old keys in the connection hash
* Try to print from the right coro, so EV doesn't complain
about recursive entry, and then wedge the next time it
happens.
* Drop some more 'cede's in for commands which do many things
0.3 Tue Mar 11 12:33:14 2008
* Connections weren't being fully closed on timeout
0.2 Mon Mar 10 16:47:52 2008
* Initial release to CPAN