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:22 UTC

[james-mime4j] branch master updated (148fe4b -> 86ba41d)

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

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


    from 148fe4b  [maven-release-plugin] prepare for next development iteration
     new a6b0e75  MIME4J-297 Detail more the changelog pre-8.0.4 release
     new 11f9d29  MIME4J-297 Merge the changelog and the release notes together, drop 0.9.0
     new 86ba41d  MIME4J-297 0.8.4 release in the changelog

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CHANGELOG.md      | 185 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 RELEASE_NOTES.txt | 189 ------------------------------------------------------
 2 files changed, 181 insertions(+), 193 deletions(-)
 delete mode 100644 RELEASE_NOTES.txt

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


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

Posted by bt...@apache.org.
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


[james-mime4j] 03/03: MIME4J-297 0.8.4 release in the changelog

Posted by bt...@apache.org.
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 86ba41d7667cd6153bbf7708fd3317d3d058bfce
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Wed Apr 21 17:49:32 2021 +0700

    MIME4J-297 0.8.4 release in the changelog
---
 CHANGELOG.md | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6df175f..9acbbcc 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,7 +5,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
 
 ## [Unreleased]
 
-Changes includes in this release:
+## [0.8.4] - 2021-04-21
+
+Changes included in this release:
 
  - MIME4J-233 bad parsing of mbox files using MboxIterator
  - MIME4J-273 Update EncoderUtil#encodeB encoding string splitting point
@@ -19,7 +21,7 @@ More information on the [JIRA](https://issues.apache.org/jira/browse/MIME4J-297?
 
 ## [0.8.3] - 2019-03-21
 
-Changes includes in this release:
+Changes included in this release:
 
  - MIME4J-270: Using "alternative" as default subtype
  - MIME4J-263: decoding encoded words with empty encoded-text

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


[james-mime4j] 01/03: MIME4J-297 Detail more the changelog pre-8.0.4 release

Posted by bt...@apache.org.
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 a6b0e75b7f5f7a75913aa2d3e3e24c1321ecab93
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Fri Apr 16 10:25:08 2021 +0700

    MIME4J-297 Detail more the changelog pre-8.0.4 release
---
 CHANGELOG.md | 26 ++++++++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index b06989f..0daf9bf 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,18 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
 
 ## [Unreleased]
 
+Changes includes in this release:
+
+ - MIME4J-233 bad parsing of mbox files using MboxIterator
+ - MIME4J-273 Update EncoderUtil#encodeB encoding string splitting point
+ - MIME4J-287 JAVA 8 JDK
+ - MIME4J-289 Libraries upgrade
+ - MIME4J-292 ContentTypeField strong typing
+ - MIME4J-295 Allow for overriding the charset when decoding q or b encoded words
+ - MIME4J-296 MboxIterator should use Path instead of File
+
+More information on the [JIRA](https://issues.apache.org/jira/browse/MIME4J-297?jql=project%20%3D%20MIME4J%20AND%20fixVersion%20%3D%200.8.4)
+
 ## [0.8.3] - 2019-03-21
 
 Changes includes in this release:
@@ -15,6 +27,8 @@ Changes includes in this release:
  - MIME4J-280: Improve exception handling
  - MIME4J-283: DecoderUtil performance fix
 
+More information on the [JIRA](https://issues.apache.org/jira/browse/MIME4J-297?jql=project%20%3D%20MIME4J%20AND%20fixVersion%20%3D%200.8.3)
+
 ## [0.8.2] - 2018-04-27
 
 This release solves the following bugs:
@@ -29,6 +43,8 @@ The following feature were added:
  - MIME4J-271 Make possible to define a Content-Type parameter
  - MIME4J-272 Implicit DOM builder call
 
+More information on the [JIRA](https://issues.apache.org/jira/browse/MIME4J-297?jql=project%20%3D%20MIME4J%20AND%20fixVersion%20%3D%200.8.2)
+
 ## [0.8.1] - 2017-06-27
 
 This release includes:
@@ -37,6 +53,12 @@ This release includes:
    - provide a way to know the header Date is absent
    - correction of header parsing when century is absent
 
-## [0.8.0 & earlier] - 2016-10-12
+More information on the [JIRA](https://issues.apache.org/jira/browse/MIME4J-297?jql=project%20%3D%20MIME4J%20AND%20fixVersion%20%3D%200.8.1)
+
+## [0.8.0] - 2016-10-12
+
+Changed were tracked on [JIRA](https://issues.apache.org/jira/browse/MIME4J-297?jql=project%20%3D%20MIME4J%20AND%20fixVersion%20%3D%200.8.0)
+
+## [earlier]
 
-Too many untracked changes, sorry. But you can have a look at our [JIRA](https://issues.apache.org/jira/browse/MIME4J)
\ No newline at end of file
+Too many untracked changes, sorry. But you can have a look at our [JIRA](https://issues.apache.org/jira/browse/MIME4J)

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