Release Notes - James Imap - Version 0.2 - HTML format

Bug

  • [IMAP-208] - Organize projects to split store from imap
  • [IMAP-235] - InputStream.writeTo(..) may not skip the headers when Type.Body is used
  • [IMAP-240] - AbstractImapCommandParser should only parse the command if its valid for the state of the session
  • [IMAP-245] - IDLE should not require selected state
  • [IMAP-249] - IMAP should not disconnect clients on bad command immediatelly
  • [IMAP-253] - Fetch fails when parsing of addresses is not possible
  • [IMAP-260] - StoreMailboxManager doesn't register it's DelegatingMailboxListener in dispatcher if customized
  • [IMAP-263] - Error in batching algorithm
  • [IMAP-265] - Memory leakeage problem with slow clients when using NIO
  • [IMAP-266] - Incorrect headers "From" and "To"
  • [IMAP-267] - Wrong unsolicited responses when more then one email expunged
  • [IMAP-269] - Header values in ENVELOPE must be "unfolded"
  • [IMAP-274] - MailboxListener get not closed when ImapSession.logout() is called
  • [IMAP-275] - IdleProcessor Heartbeat Runnable may run forever
  • [IMAP-276] - Incorrect headers "From", "To" and "Subject"
  • [IMAP-278] - java.util.ConcurrentModificationException in AbstractMailboxProcessor.addFlagsResponses
  • [IMAP-280] - Status responses are not 100% rfc3501 conform
  • [IMAP-281] - StoreCommandParser is not conform with RFC3501
  • [IMAP-282] - StatusCommandParser does not respect lower-case parameters
  • [IMAP-283] - SearchCommandParser fails to parse sequence-set which is enclosed in (..)
  • [IMAP-284] - FETCH command MUST NOT trigger EXPUNGE
  • [IMAP-285] - EXPUNGE responses are lost if multiple sessions are open and a FETCH/STORE/SEARCH command is triggered
  • [IMAP-286] - EXPUNGE responses are lost if multiple sessions are open and a FETCH/STORE/SEARCH command is triggered
  • [IMAP-287] - COPY command should set RECENT flag on messages after copy them
  • [IMAP-289] - Message ranges of "*:*" and "*" should always return the last message in the mailbox
  • [IMAP-290] - *:<num> message range must be converted to <num>:*
  • [IMAP-291] - Sequence uid ranges which use *:<uid-higher-then-last-uid> MUST return at least the highest uid in the mailbox
  • [IMAP-292] - SEARCH <sequence-set> is not handled correctly
  • [IMAP-293] - SEARCH SENTSINCE and SENTBEFORE MUST include the SEARCH DATE
  • [IMAP-294] - HeaderBodyElement incorrectly calculate the size if no matching header was found
  • [IMAP-295] - PartialFetchBodyElement.LimitingInputStream#available does not calculate the value in a correct way
  • [IMAP-297] - FETCH *.MIME fields MUST NOT write a empty line terminated with a CRLF if no MIME Header was found
  • [IMAP-298] - FETCH *.HEADER MUST NOT write a empty line terminated with a CRLF if no body was found
  • [IMAP-299] - IdleProcessor Heartbeat keeps running even if IDLE has complete
  • [IMAP-301] - AbstractMailboxProcessor.messageRange(...) does not respect if the inbox is empty or not
  • [IMAP-303] - FLAG and PERMANENTFLAG response should be send after a new flag was added
  • [IMAP-304] - Add support for LOGINDISABLED and AUTH=PLAIN

New Feature

Improvement

  • [IMAP-71] - Design: Consolidate Sessions
  • [IMAP-130] - Refactor api to easier support NIO frameworks such as Netty and MINA
  • [IMAP-211] - AbstractImapCommandParser should eliminate duplicated IdRanges
  • [IMAP-224] - Move mailbox project from svn imap trunk to svn mailbox trunk
  • [IMAP-231] - InputStreamContent.writeTo(..) should use FileChannel.transferTo(...) if the InputStream was a FileInputStream
  • [IMAP-232] - Allow to read Content via InputStream as optional implementation
  • [IMAP-241] - Lookup mailbox delimiter/seperator via mailboxsession
  • [IMAP-251] - Make use of Generics in ImapProcessor implementations
  • [IMAP-252] - Add better support for UIDPLUS
  • [IMAP-255] - UidToMsnConverter instances should be shared across threads when the same MailboxPath is selected
  • [IMAP-258] - FetchProcessor optimization for mailboxes with non compacted UIDs
  • [IMAP-259] - Add posibility to configure max batch size for FETCH command
  • [IMAP-261] - Missing site generation for modules
  • [IMAP-272] - Send HEARTBEATS during IDLE
  • [IMAP-279] - Move logic from ImapResponseWriter to ImapResponseComposer
  • [IMAP-296] - Send "hearbeats" during COPY

Task

  • [IMAP-226] - Upgrade to jackrabbit 2.1.2
  • [IMAP-230] - Remove usage of RewindableInputStream
  • [IMAP-242] - AbstractImapCommandParser and subclasses should log via ImapSession.getLog()
  • [IMAP-243] - Remove ImapMessageFactory
  • [IMAP-262] - Refactor parent/pom imap
  • [IMAP-264] - Replace commons-logging with slf4j
  • [IMAP-302] - Upgrade to commons-io 2.0.1
  • [IMAP-306] - Adopt maven's NOTICE and LICENSE naming conventions

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.