This page informally records and captures plans for James v2. The official list is (to be) kept in a status file in the CVS.
Are there features that you need added to James? Many new features will be added in James version 3, but useful features that need to be added to a stable platform, and can easily be added to James v2 are certainly possible. Please let us know what would be useful to you.
The prefered mechanism is to discuss features on the james mailing lists. This Wiki page is a place to record ideas, but the discussions should take place on the mailing lists.
Planned for James v2.2.0:
- New Matchers
- [DONE] Added Quota Matcher framework and fixed storage matcher
[DONE] New RecipientIsRegex matcher
[DONE] New SenderHostIs matcher
[DONE] New AttachmentFileNameIs matcher
[DONE] New CompareNumericHeaderValue matcher
[DONE] New SenderIsRegex.java matcher
[DONE] New HasMailAttribute matcher
- [DONE] New SMTPAuthSuccessful matcher
- [DONE] New SMTPAuthUserIs matcher
- New Mailets
- Functional Enhancements
[DONE] Enable allow partial sends from RemoteDelivery
[DONE] Added support for <authorizedAddresses> when using SMTP AUTH
[DONE] Added support for <authorizedAddresses> to implement fast fail relay rejection
- [DONE] Added support for multiple gateway servers.
- [DONE] DNSServer and dnsjava updates from HEAD
- [DONE] Classloader technology from HEAD
- [DONE] Support for onMatcherException="matchall|nomatch|error|processor"
- [DONE] Support for onMailetException="ignore|error|processor"
- [DONE] Option to restrict newsgroups to only those listed in config.xml
[DONE] AbstractRedirect family of mailets support more rich use of RFC 822 addresses, not just localpart@domain.
[DONE] Consistent treatment of special addresses for the AbstractRedirect family of mailets.
[DONE] <forwardTo> a synonym for <forwardto>.
[DONE] <replyTo> a synonym for <replyto>.
- [DONE] Mail Attributes [Bugzilla 18471]
- [DONE] Adapted to use Jakarta Commons DBCP
- Performance Improvements
[DONE] Uses local MimeMessage subclass to prevent re-rendering
- [DONE] Improved performance looking up message size
- [DONE] Improved performance with large recipient lists
- [DONE] Improved performance with large numbers of local users and MySQL.
- [DONE] Reduced memory consumption using JDBC repositories.
- Bug fixes
[DONE] Fixes to RemoteManager to fix response buffering and logging
- [DONE] Improved support for character encoded subjects in mailing lists
- [DONE] Fixed Bug 18028 - Exception embedding Multi-Part MIME messages using Redirect
- [DONE] Fixed Bug 20370 - Enforce RFC 2821 #2.7.1 CRLF handling
- [DONE] Fixed handling of DNS records with TTL of zero.
[DONE] AbstractRedirect handles properly encoded non-ASCII characters in the Subject header
- [DONE] Fix to MS SQL Server resource strings
- [DONE] Emit +OK response to QUIT in AUTHENTICATE state.
- Bug 18124
- Other improvements
[DONE] Changed RemoteDelivery to increment the delivery error count per pass, not per server.
[DONE] Control size of ResultSets
[DONE] ThreadPool implementing hard limit on upper number of threads
[DONE] New <fakeDomainCheck> tag tells AbstractRedirect mailets to verify sender domain. Helps to prevent internal looping. Defaults to true.
[DONE] JavaMail v1.3.1
- [DONE] Better exception reporting
- [DONE] Better reverse-path handling
[DONE] AbstractRedirect family of mailets check for unknown parameters in their configurations
[DONE] More consistent treatment of parameters throughout the AbstractRedirect family of mailets
- [DONE] Changed POP3Handler to use CRLFTerminatedReader
- RFC 1894 compliant notification [Bugzilla 18309]
Changes in James v2.1.3:
- [DONE] Added enforcement of proper RFC 2821 #2.3.7 handling of CR and LF
[DONE] Corrected text/html and multipart handling for AddFooter.
- [DONE] Corrected allowable characters for localpart of address
- [DONE] Removed generated files from source distributions
- [DONE] Corrrected handling of NNTP messages to avoid character encoding issues
- [DONE] Fixed James.getId bug
- [DONE] Added NNTP linecounting support
- [DONE] Fixed NNTP authentication
- [DONE] Fixed bug 18726 (optional socket factory to specify outgoing bind address)
- [DONE] Fixed bug 19418 (changed notify/wait code in spooler)
[DONE] Fixed bug 18307 (NotifySender headers)
[DONE] Fixed bug with non-InternetAddress addresses
[DONE] Fixed bug in NotifySender with complex MIME messages
- [DONE] Bug 15709 [Delivered-To header]
- [DONE] Bug 15428 [Check for valid user before attempting removal]
Changes in James v2.1.2:
[DONE] Fixed handling of permanent/temporary errors in RemoteDelivery
- [DONE] Fixed the bounce() method to add the original message as a message MIME type with an attachment disposition.
- [DONE] Fixed bug where connect error could cause outgoing mail to be discarded.
Changes in James v2.1.1:
- Fix documentation
- [DONE] Configuration link in index.xml
- [DONE] "/spoolmanager_configuration_2_1.html" in provided_mailets_2_1.xml
- [DONE] "repository_configuration.html" in serverwide_configuration_2_1.html
- Missing pages on daedalus
[DONE] JavaMail 1.3/JAF 1.0.2
- [DONE] Update sqlResources.xml for PostgreSQL
- [DONE] NNTP protocol fixes.
- [DONE] Reorder primary key for JDBCMailRepository to optimize queries using just the repository name.
- [DONE] Fixed bug 16244
- [DONE] Log rotation
- [DONE] Fixed synchronization bug
- [DONE] Fixed bug 16665
[DONE] LogKit 1.2
- [DONE] "Infinite loops" interruptable.
- [DONE] Fix bug 16847
- [DONE] Stream message content when possible
- [DONE] SMTP AUTH fix for some clients
[DONE] Experimental RegexMatcher classes
- FetchPOP changes (Received header and configuration options)
- Revisit bug 15579