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