[6785] | 1 | Next Release |
---|
| 2 | ------------ |
---|
| 3 | |
---|
| 4 | Mime4J storage contains support for encrypted storage through the standard Java cryptography |
---|
| 5 | API. When used in conjunction with a JRE with strong cryptography enabled, this library will |
---|
| 6 | use strong cryptography. See README. |
---|
| 7 | |
---|
| 8 | Release 0.7 |
---|
| 9 | ------------------- |
---|
| 10 | |
---|
| 11 | Mime4J is a flexible MIME parsing library written in Java. SAX, DOM and pull parsing styles are |
---|
| 12 | supported. |
---|
| 13 | |
---|
| 14 | The 0.7 release brings another round of API enhancements, bug fixes and performance optimizations. |
---|
| 15 | A major effort has been put in code reorganization, separating parsing code from DOM manipulation |
---|
| 16 | code. Mime4J 0.7 introduces the "dom" package collecting base/abstract classes and interfaces for |
---|
| 17 | MIME-DOM manipulation aiming to provide the base for a full featured traversable DOM. |
---|
| 18 | Mime4J 0.7 improve support for headless messages, malformed separation between headers and body |
---|
| 19 | and adds support for "obsolete" rfc822 syntax (e.g: "Header<somespace>: " style). |
---|
| 20 | Parsing performance for quoted printable streams have been considerably improved. |
---|
| 21 | A "DecodeMonitor" object has been introduced in most code to define how to deal with malformed |
---|
| 22 | input (Lenient vs Strict behaviours). |
---|
| 23 | |
---|
| 24 | Upgrade Notes |
---|
| 25 | ------------- |
---|
| 26 | |
---|
| 27 | * The defualt field parsing logic has been moved from AbstractField to DefaultFieldParser. |
---|
| 28 | * many classes have been moved from org.apache.james.mime4j.parser to |
---|
| 29 | org.apache.james.mime4j.stream package (ContentHandler, DefaultBodyDescriptor, RawField..) |
---|
| 30 | * "dom" classes/interfaces have been moved from the .message and .field package to the .dom |
---|
| 31 | package tree. |
---|
| 32 | * The method decodeBaseQuotedPrintable() of class o.a.j.mime4j.codec.DecoderUtil has been renamed |
---|
| 33 | in decodeQuotedPrintable(). |
---|
| 34 | * Preamble and Epilogue are now correctly handled as optionals and the parser invoke their |
---|
| 35 | tokens/events only when they are present in the message. So if your code rely on that events |
---|
| 36 | being always called make sure to fix it. |
---|
| 37 | * preamble and epilogue Strings in Multipart DOM object are now nullable: an empty preamble is |
---|
| 38 | different from no preamble, so we had to update the dom contract to support this difference. |
---|
| 39 | Make sure to add null checks if code using multipart.getPreamble and multipart.getEpilogue. |
---|
| 40 | * the first event for headless parsing in MimeTokenStream is not the first BODY event. |
---|
| 41 | You should not expect T_START_HEADER/T_END_HEADER any more. |
---|
| 42 | |
---|
| 43 | Please also note that as of this release Mime4j requires a Java 1.5 compatible runtime. |
---|
| 44 | |
---|
| 45 | Release 0.6 |
---|
| 46 | ------------------- |
---|
| 47 | |
---|
| 48 | Mime4J is a flexible MIME parsing library written in Java. SAX, DOM and pull parsing styles are |
---|
| 49 | supported. |
---|
| 50 | |
---|
| 51 | The 0.6 release brings another round of API enhancements and performance optimizations. There has |
---|
| 52 | been a number of notable improvements in the DOM support. MIME stream parser is expected to be |
---|
| 53 | 50% faster when line counting is disabled. Please also note that as of this release Mime4j |
---|
| 54 | requires a Java 1.5 compatible runtime. |
---|
| 55 | |
---|
| 56 | Notes |
---|
| 57 | ----- |
---|
| 58 | |
---|
| 59 | * Mime4j API is still considered unstable and is likely to change in future releases |
---|
| 60 | * The DOM API has been now been comprehensively refactored and the known limitations |
---|
| 61 | addressed. Please report any remaining issues to |
---|
| 62 | https://issues.apache.org/jira/browse/MIME4J. |
---|
| 63 | * Some low level functions are available only in the pull parser (recommended for |
---|
| 64 | advanced users) |
---|
| 65 | * 0.6 contains a mixture of approaches to the parsing of advanced MIME field types. |
---|
| 66 | Limitations are known with these approaches with some relatively uncommon use cases. |
---|
| 67 | A consistent and comprehensive rewrite is planned for 0.7 which should consolidate |
---|
| 68 | and address these. |
---|
| 69 | * The former interfaces TextBody and BinaryBody have been changed into abstract subclasses |
---|
| 70 | of class SingleBody. Code that implements these interfaces has to be changed accordingly. |
---|
| 71 | [https://issues.apache.org/jira/browse/MIME4J-111] |
---|
| 72 | * A dedicated class for writing a message has been introduced. Class MessageWriter has now |
---|
| 73 | to be used instead of Body.writeTo(OutputStream, int). A short-cut method |
---|
| 74 | Message.writeTo(OutputStream) without a mode parameter is also available. |
---|
| 75 | [https://issues.apache.org/jira/browse/MIME4J-110] |
---|
| 76 | * Class NamedMailbox has been removed. Class Mailbox now has an additional name property. |
---|
| 77 | [https://issues.apache.org/jira/browse/MIME4J-107] |
---|
| 78 | * Class MessageUtils has been removed. The methods and constants can now be found in class |
---|
| 79 | CharsetUtil in the same package. |
---|
| 80 | [https://issues.apache.org/jira/browse/MIME4J-106] |
---|
| 81 | * Package org.apache.james.mime4j.decoder has been renamed in org.apache.james.mime4j.codec. |
---|
| 82 | [https://issues.apache.org/jira/browse/MIME4J-105] |
---|
| 83 | * Class AbstractBody has been superseded by SingleBody. AbstractBody has been removed. |
---|
| 84 | * BodyFactory introduced allowing more flexible storage for Message parts. TempFileTextBody |
---|
| 85 | and TempFileBinaryBody removed. |
---|
| 86 | [https://issues.apache.org/jira/browse/MIME4J-87] |
---|
| 87 | * Mime4j now has a more flexible mechanism for storing message bodies. Class TempStorage |
---|
| 88 | has been superseded by StorageProvider in package org.apache.james.mime4j.storage. |
---|
| 89 | The classes TempStorage, TempPath, TempFile and SimpleTempStorage have been removed. |
---|
| 90 | [https://issues.apache.org/jira/browse/MIME4J-83] |
---|
| 91 | * Temporary text body storage for Message parts now defaults to US-ASCII (was ISO-8859-1) |
---|
| 92 | |
---|
| 93 | Detailed change log can be found here: |
---|
| 94 | |
---|
| 95 | http://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310521&styleName=Html&version=12313434 |
---|
| 96 | |
---|
| 97 | |
---|
| 98 | Release 0.5 |
---|
| 99 | ------------------- |
---|
| 100 | |
---|
| 101 | Mime4J is a flexible MIME parsing library written in Java. SAX, DOM and pull parsing |
---|
| 102 | styles are supported. |
---|
| 103 | |
---|
| 104 | |
---|
| 105 | The 0.5 release addresses a number of important issues discovered since 0.4. In |
---|
| 106 | particular, it improves Mime4j ability to deal with malformed data streams including |
---|
| 107 | those intentionally crafted to cause excessive CPU and memory utilization that can |
---|
| 108 | lead to DoS conditions. |
---|
| 109 | |
---|
| 110 | This release also fixes a serious bug that can prevent Mime4j from correctly |
---|
| 111 | processing binary content. |
---|
| 112 | |
---|
| 113 | Detailed change log can be found here: |
---|
| 114 | |
---|
| 115 | https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310521&styleName=Html&version=12313178 |
---|
| 116 | |
---|
| 117 | Notes |
---|
| 118 | ----- |
---|
| 119 | * Mime4j API is still considered unstable and is likely to change in future releases |
---|
| 120 | * DOM support has known limitations and some roundtrip issues remain to be resolved |
---|
| 121 | * Some low level functions are available only in the pull parser (recommended for |
---|
| 122 | advanced users) |
---|
| 123 | |
---|
| 124 | |
---|
| 125 | |
---|
| 126 | Release 0.4 |
---|
| 127 | ------------------- |
---|
| 128 | |
---|
| 129 | Mime4J is a flexible MIME parsing library written in Java. SAX, DOM and pull parsing |
---|
| 130 | styles are supported. |
---|
| 131 | |
---|
| 132 | The 0.4 release brings a number of significant improvements in terms of |
---|
| 133 | supported capabilities, flexibility and performance: |
---|
| 134 | |
---|
| 135 | * Revised and improved public API with support for pull parsing |
---|
| 136 | |
---|
| 137 | * Support for parsing of 'headless' messages transmitted using non SMTP |
---|
| 138 | transports such as HTTP |
---|
| 139 | |
---|
| 140 | * Reduced external dependencies. Mime4j is no longer directly dependent on log4j |
---|
| 141 | and commons-io |
---|
| 142 | |
---|
| 143 | * Improved parsing performance (up to 10x for large messages) |
---|
| 144 | |
---|
| 145 | * More comprehensive header parsing including support for RFC1864, RFC2045, |
---|
| 146 | RFC2183, RFC2557 and RFC3066 |
---|
| 147 | |
---|
| 148 | * Revised packaging and exception hierarchy. MimeException now extends |
---|
| 149 | IOException. |
---|
| 150 | |
---|
| 151 | Detailed change log can be found here: |
---|
| 152 | |
---|
| 153 | http://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310521&styleName=Html&version=12312483 |
---|
| 154 | |
---|
| 155 | Notes |
---|
| 156 | ----- |
---|
| 157 | * 0.4 contains numerous API improvements and is not binary compatible with 0.3 |
---|
| 158 | * Mime4j API is still considered unstable and is likely to change in future releases |
---|
| 159 | * DOM support has known limitations and some roundtrip issues remain to be resolved |
---|
| 160 | * Some low level functions are available only in the pull parser (recommended for |
---|
| 161 | advanced users) |
---|