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
DONE Significantly enhanced Redirect mailet
DONE Many mailets rewritten to subclass Redirect
DONE Modular Mailing List Manager with command plug-ins.
DONE New mailets to manipulate attributes
DONE RemoveMailAttribute.java
DONE SetMailAttribute.java
- 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 Change RemoteAddr[Not]InNetwork to use NetMatcher
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 AttributesBugzilla 18471
DONE Adapted to use Jakarta Commons DBCP
- Performance Improvements
- 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 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 notificationBugzilla 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 Fixed MimeMessageWrapper to address a JavaMail issue introduced in v2.1.2
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 15428Check 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 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 "Infinite loops" interruptable.
DONE Fix bug 16847
DONE Fix JavaMail related memory leak in RemoteDelivery
DONE Stream message content when possible
DONE SMTP AUTH fix for some clients
DONE Experimental RegexMatcher classes
Planned:
FetchPOP changes (Received header and configuration options)
- Revisit bug 15579