You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2021/04/29 00:47:24 UTC

[james-mime4j] 02/03: MIME4J-297 Merge the changelog and the release notes together, drop 0.9.0

This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-mime4j.git

commit 11f9d29abaecb718edc8c6e7d3e64880129ffbce
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Fri Apr 16 10:30:22 2021 +0700

    MIME4J-297 Merge the changelog and the release notes together, drop 0.9.0
---
 CHANGELOG.md      | 155 +++++++++++++++++++++++++++++++++++++++++++-
 RELEASE_NOTES.txt | 189 ------------------------------------------------------
 2 files changed, 154 insertions(+), 190 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0daf9bf..6df175f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -49,7 +49,7 @@ More information on the [JIRA](https://issues.apache.org/jira/browse/MIME4J-297?
 
 This release includes:
 
- - Work on the MIME4J DOM date:
+ - MIME4J-262: Work on the MIME4J DOM date:
    - provide a way to know the header Date is absent
    - correction of header parsing when century is absent
 
@@ -62,3 +62,156 @@ Changed were tracked on [JIRA](https://issues.apache.org/jira/browse/MIME4J-297?
 ## [earlier]
 
 Too many untracked changes, sorry. But you can have a look at our [JIRA](https://issues.apache.org/jira/browse/MIME4J)
+
+## [0.7.2]
+
+The 0.7.2 release fixes several non-critical bugs found since release 0.7.1. 
+
+
+## [0.7.1]
+
+The 0.7.1 release fixes several non-critical bugs found since release 0.7. 
+
+
+## [0.7.0]
+
+The 0.7 release brings another round of API enhancements, bug fixes and performance optimizations. 
+A major effort has been put in code reorganization, separating parsing code from DOM manipulation
+code. Mime4J has been restructured into three separate modules: 'core', 'dom' and 'storage'. 
+The 'core' package provides an event-driven SAX style parser that relies on a callback mechanism 
+to report parsing events such as the start of an entity header the start of a body, etc. 
+The 'dom' package contains base/abstract classes and interfaces for MIME-DOM manipulation aiming 
+to provide the base for a full featured traversable DOM. Per default the Mime4J DOM builder stores 
+content of individual body parts in memory. The 'storage' package provides support for more
+complex storage backends such on-disk storage systems, overflow on max limit, or encrypted storage 
+through JSSE API. 
+
+Mime4J 0.7 improves support for headless messages, malformed separation between headers and body
+and adds support for "obsolete" rfc822 syntax (e.g: "Header<somespace>: " style). Parsing 
+performance for quoted printable streams have been considerably improved. A "DecodeMonitor" object 
+has been introduced in most code to define how to deal with malformed input (Lenient vs Strict 
+behaviours). Mime4J 0.7 also provides LenientFieldParser as an alternative to DefaultFieldParser
+when a higher degree of tolerance to non-severe MIME field format violations is desired. 
+
+### Upgrade Notes
+
+ * The default field parsing logic has been moved from AbstractField to DefaultFieldParser. 
+ * Low level MIME stream classes have been moved from org.apache.james.mime4j.parser to 
+   org.apache.james.mime4j.stream package (Field, RawField, MimeTokenStream, ...)
+ * "dom" classes/interfaces have been moved from the .message and .field package to the .dom
+   package tree.
+ * The method decodeBaseQuotedPrintable() of class o.a.j.mime4j.codec.DecoderUtil has been renamed
+   in decodeQuotedPrintable().
+ * Preamble and Epilogue are now correctly handled as optionals and the parser invoke their
+   tokens/events only when they are present in the message. So if your code rely on that events
+   being always called make sure to fix it.
+ * preamble and epilogue Strings in Multipart DOM object are now nullable: an empty preamble is 
+   different from no preamble, so we had to update the dom contract to support this difference.
+   Make sure to add null checks if code using multipart.getPreamble and multipart.getEpilogue.
+ * the first event for headless parsing in MimeTokenStream is not the first BODY event.
+   You should not expect T_START_HEADER/T_END_HEADER any more.   
+
+Please also note that as of this release Mime4j requires a Java 1.5 compatible runtime.
+
+## [0.6.0]
+
+The 0.6 release brings another round of API enhancements and performance optimizations. There has 
+been a number of notable improvements in the DOM support. MIME stream parser is expected to be
+50% faster when line counting is disabled. Please also note that as of this release Mime4j 
+requires a Java 1.5 compatible runtime.
+
+### Notes
+
+ * Mime4j API is still considered unstable and is likely to change in future releases
+ * The DOM API has been now been comprehensively refactored and the known limitations 
+   addressed. Please report any remaining issues to 
+   https://issues.apache.org/jira/browse/MIME4J.
+ * Some low level functions are available only in the pull parser (recommended for
+   advanced users)
+ * 0.6 contains a mixture of approaches to the parsing of advanced MIME field types. 
+   Limitations are known with these approaches with some relatively uncommon use cases. 
+   A consistent and comprehensive rewrite is planned for 0.7 which should consolidate 
+   and address these.
+ * The former interfaces TextBody and BinaryBody have been changed into abstract subclasses
+   of class SingleBody. Code that implements these interfaces has to be changed accordingly.
+   [https://issues.apache.org/jira/browse/MIME4J-111]
+ * A dedicated class for writing a message has been introduced. Class MessageWriter has now
+   to be used instead of Body.writeTo(OutputStream, int). A short-cut method
+   Message.writeTo(OutputStream) without a mode parameter is also available.
+   [https://issues.apache.org/jira/browse/MIME4J-110]
+ * Class NamedMailbox has been removed. Class Mailbox now has an additional name property.
+   [https://issues.apache.org/jira/browse/MIME4J-107]
+ * Class MessageUtils has been removed. The methods and constants can now be found in class
+   CharsetUtil in the same package.
+   [https://issues.apache.org/jira/browse/MIME4J-106]
+ * Package org.apache.james.mime4j.decoder has been renamed in org.apache.james.mime4j.codec.
+   [https://issues.apache.org/jira/browse/MIME4J-105]
+ * Class AbstractBody has been superseded by SingleBody. AbstractBody has been removed.
+ * BodyFactory introduced allowing more flexible storage for Message parts. TempFileTextBody
+   and TempFileBinaryBody removed.
+   [https://issues.apache.org/jira/browse/MIME4J-87]
+ * Mime4j now has a more flexible mechanism for storing message bodies. Class TempStorage
+   has been superseded by StorageProvider in package org.apache.james.mime4j.storage.
+   The classes TempStorage, TempPath, TempFile and SimpleTempStorage have been removed.
+   [https://issues.apache.org/jira/browse/MIME4J-83]
+ * Temporary text body storage for Message parts now defaults to US-ASCII (was ISO-8859-1)
+
+Detailed change log can be found here:
+
+http://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310521&styleName=Html&version=12313434
+
+
+## [0.5.0]
+
+The 0.5 release addresses a number of important issues discovered since 0.4. In 
+particular, it improves Mime4j ability to deal with malformed data streams including 
+those intentionally crafted to cause excessive CPU and memory utilization that can 
+lead to DoS conditions.
+
+This release also fixes a serious bug that can prevent Mime4j from correctly 
+processing binary content.
+
+Detailed change log can be found here:
+
+https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310521&styleName=Html&version=12313178
+
+### Notes
+
+ * Mime4j API is still considered unstable and is likely to change in future releases
+ * DOM support has known limitations and some roundtrip issues remain to be resolved
+ * Some low level functions are available only in the pull parser (recommended for 
+   advanced users)
+
+## [0.4.0]
+
+The 0.4 release brings a number of significant improvements in terms of 
+supported capabilities, flexibility and performance: 
+
+* Revised and improved public API with support for pull parsing
+
+* Support for parsing of 'headless' messages transmitted using non SMTP 
+  transports such as HTTP
+
+* Reduced external dependencies. Mime4j is no longer directly dependent on log4j 
+  and commons-io
+
+* Improved parsing performance (up to 10x for large messages)
+
+* More comprehensive header parsing including support for RFC1864, RFC2045, 
+  RFC2183, RFC2557 and RFC3066
+
+* Revised packaging and exception hierarchy. MimeException now extends
+  IOException.
+
+Detailed change log can be found here:
+
+http://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310521&styleName=Html&version=12312483
+
+### Notes
+
+ * 0.4 contains numerous API improvements and is not binary compatible with 0.3
+ * Mime4j API is still considered unstable and is likely to change in future releases
+ * DOM support has known limitations and some roundtrip issues remain to be resolved
+ * Some low level functions are available only in the pull parser (recommended for 
+   advanced users)
+
diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt
deleted file mode 100644
index c99eddb..0000000
--- a/RELEASE_NOTES.txt
+++ /dev/null
@@ -1,189 +0,0 @@
-Release 0.9.0
--------------------
-
-Fix MIME4J-262 without breaking compatibility with old code by deprecating MessageBuilder and adding Message.Builder
-
-Message.Builder produce message for which the getDate method return null if and only if the message do not have a "Date"
-header. Whereas MessageBuilder will produce message for which the getDate method never return null: if the message has
-no "Date" header the returned value is "new Date()" result when the message has been instantiated
-
-Release 0.7.2
--------------------
-
-Mime4J is a flexible MIME parsing library written in Java. SAX, DOM and pull parsing styles are 
-supported.
-
-The 0.7.2 release fixes several non-critical bugs found since release 0.7.1. 
-
-
-Release 0.7.1
--------------------
-
-Mime4J is a flexible MIME parsing library written in Java. SAX, DOM and pull parsing styles are 
-supported.
-
-The 0.7.1 release fixes several non-critical bugs found since release 0.7. 
-
-
-Release 0.7
--------------------
-
-Mime4J is a flexible MIME parsing library written in Java. SAX, DOM and pull parsing styles are 
-supported.
-
-The 0.7 release brings another round of API enhancements, bug fixes and performance optimizations. 
-A major effort has been put in code reorganization, separating parsing code from DOM manipulation
-code. Mime4J has been restructured into three separate modules: 'core', 'dom' and 'storage'. 
-The 'core' package provides an event-driven SAX style parser that relies on a callback mechanism 
-to report parsing events such as the start of an entity header the start of a body, etc. 
-The 'dom' package contains base/abstract classes and interfaces for MIME-DOM manipulation aiming 
-to provide the base for a full featured traversable DOM. Per default the Mime4J DOM builder stores 
-content of individual body parts in memory. The 'storage' package provides support for more
-complex storage backends such on-disk storage systems, overflow on max limit, or encrypted storage 
-through JSSE API. 
-
-Mime4J 0.7 improves support for headless messages, malformed separation between headers and body
-and adds support for "obsolete" rfc822 syntax (e.g: "Header<somespace>: " style). Parsing 
-performance for quoted printable streams have been considerably improved. A "DecodeMonitor" object 
-has been introduced in most code to define how to deal with malformed input (Lenient vs Strict 
-behaviours). Mime4J 0.7 also provides LenientFieldParser as an alternative to DefaultFieldParser
-when a higher degree of tolerance to non-severe MIME field format violations is desired. 
-
-Upgrade Notes
--------------
-
- * The default field parsing logic has been moved from AbstractField to DefaultFieldParser. 
- * Low level MIME stream classes have been moved from org.apache.james.mime4j.parser to 
-   org.apache.james.mime4j.stream package (Field, RawField, MimeTokenStream, ...)
- * "dom" classes/interfaces have been moved from the .message and .field package to the .dom
-   package tree.
- * The method decodeBaseQuotedPrintable() of class o.a.j.mime4j.codec.DecoderUtil has been renamed
-   in decodeQuotedPrintable().
- * Preamble and Epilogue are now correctly handled as optionals and the parser invoke their
-   tokens/events only when they are present in the message. So if your code rely on that events
-   being always called make sure to fix it.
- * preamble and epilogue Strings in Multipart DOM object are now nullable: an empty preamble is 
-   different from no preamble, so we had to update the dom contract to support this difference.
-   Make sure to add null checks if code using multipart.getPreamble and multipart.getEpilogue.
- * the first event for headless parsing in MimeTokenStream is not the first BODY event.
-   You should not expect T_START_HEADER/T_END_HEADER any more.   
-
-Please also note that as of this release Mime4j requires a Java 1.5 compatible runtime.
-
-Release 0.6
--------------------
-
-Mime4J is a flexible MIME parsing library written in Java. SAX, DOM and pull parsing styles are 
-supported.
-
-The 0.6 release brings another round of API enhancements and performance optimizations. There has 
-been a number of notable improvements in the DOM support. MIME stream parser is expected to be
-50% faster when line counting is disabled. Please also note that as of this release Mime4j 
-requires a Java 1.5 compatible runtime.
-
-Notes
------
-
- * Mime4j API is still considered unstable and is likely to change in future releases
- * The DOM API has been now been comprehensively refactored and the known limitations 
-   addressed. Please report any remaining issues to 
-   https://issues.apache.org/jira/browse/MIME4J.
- * Some low level functions are available only in the pull parser (recommended for
-   advanced users)
- * 0.6 contains a mixture of approaches to the parsing of advanced MIME field types. 
-   Limitations are known with these approaches with some relatively uncommon use cases. 
-   A consistent and comprehensive rewrite is planned for 0.7 which should consolidate 
-   and address these.
- * The former interfaces TextBody and BinaryBody have been changed into abstract subclasses
-   of class SingleBody. Code that implements these interfaces has to be changed accordingly.
-   [https://issues.apache.org/jira/browse/MIME4J-111]
- * A dedicated class for writing a message has been introduced. Class MessageWriter has now
-   to be used instead of Body.writeTo(OutputStream, int). A short-cut method
-   Message.writeTo(OutputStream) without a mode parameter is also available.
-   [https://issues.apache.org/jira/browse/MIME4J-110]
- * Class NamedMailbox has been removed. Class Mailbox now has an additional name property.
-   [https://issues.apache.org/jira/browse/MIME4J-107]
- * Class MessageUtils has been removed. The methods and constants can now be found in class
-   CharsetUtil in the same package.
-   [https://issues.apache.org/jira/browse/MIME4J-106]
- * Package org.apache.james.mime4j.decoder has been renamed in org.apache.james.mime4j.codec.
-   [https://issues.apache.org/jira/browse/MIME4J-105]
- * Class AbstractBody has been superseded by SingleBody. AbstractBody has been removed.
- * BodyFactory introduced allowing more flexible storage for Message parts. TempFileTextBody
-   and TempFileBinaryBody removed.
-   [https://issues.apache.org/jira/browse/MIME4J-87]
- * Mime4j now has a more flexible mechanism for storing message bodies. Class TempStorage
-   has been superseded by StorageProvider in package org.apache.james.mime4j.storage.
-   The classes TempStorage, TempPath, TempFile and SimpleTempStorage have been removed.
-   [https://issues.apache.org/jira/browse/MIME4J-83]
- * Temporary text body storage for Message parts now defaults to US-ASCII (was ISO-8859-1)
-
-Detailed change log can be found here:
-
-http://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310521&styleName=Html&version=12313434
-
-
-Release 0.5
--------------------
-
-Mime4J is a flexible MIME parsing library written in Java. SAX, DOM and pull parsing
-styles are supported.
-
-
-The 0.5 release addresses a number of important issues discovered since 0.4. In 
-particular, it improves Mime4j ability to deal with malformed data streams including 
-those intentionally crafted to cause excessive CPU and memory utilization that can 
-lead to DoS conditions.
-
-This release also fixes a serious bug that can prevent Mime4j from correctly 
-processing binary content.
-
-Detailed change log can be found here:
-
-https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310521&styleName=Html&version=12313178
-
-Notes
------
- * Mime4j API is still considered unstable and is likely to change in future releases
- * DOM support has known limitations and some roundtrip issues remain to be resolved
- * Some low level functions are available only in the pull parser (recommended for 
-   advanced users)
-
-
-
-Release 0.4
--------------------
-
-Mime4J is a flexible MIME parsing library written in Java. SAX, DOM and pull parsing
-styles are supported.
-
-The 0.4 release brings a number of significant improvements in terms of 
-supported capabilities, flexibility and performance: 
-
-* Revised and improved public API with support for pull parsing
-
-* Support for parsing of 'headless' messages transmitted using non SMTP 
-  transports such as HTTP
-
-* Reduced external dependencies. Mime4j is no longer directly dependent on log4j 
-  and commons-io
-
-* Improved parsing performance (up to 10x for large messages)
-
-* More comprehensive header parsing including support for RFC1864, RFC2045, 
-  RFC2183, RFC2557 and RFC3066
-
-* Revised packaging and exception hierarchy. MimeException now extends
-  IOException.
-
-Detailed change log can be found here:
-
-http://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310521&styleName=Html&version=12312483
-
-Notes
------
- * 0.4 contains numerous API improvements and is not binary compatible with 0.3
- * Mime4j API is still considered unstable and is likely to change in future releases
- * DOM support has known limitations and some roundtrip issues remain to be resolved
- * Some low level functions are available only in the pull parser (recommended for 
-   advanced users)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org