---
layout: post
title:  "Apache James Mime4J 0.7"
date:   2011-04-06 16:13:22 +0200
categories: james update
---


The Apache James Project is happy to announce
the release of version 0.7 of the Apache James Mime4J.

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.

[Read the release notes][notes]

[notes]: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310521&amp;version=12313592

