5.0.0.14 (Mar 23, 2013)

Juno 5.0.0.14 is a major update.

The biggest change is that the RestSerializer, RestParser, RestSerializerGroup, and RestParserGroup classes have been eliminated entirely.
Instead, the existing {@link oaj.serializer.Serializer}, {@link oaj.parser.Parser}, {@del oaj.serializer.SerializerGroup}, and {@del oaj.parser.ParserGroup} classes of the core API have been augmented to replace them.

Adoptions will be required if you have previously used these classes.

##### Core API changes

- New org.apache.juneau.serializer package.
  - Entirely reworked class hierarchy to make it easier to define new serializers.
  - New {@link oaj.serializer.WriterSerializer} base class for defining character-based serializers.
  - New {@link oaj.serializer.OutputStreamSerializer} base class for defining byte-based serializers.
  - Updated {@del oaj.serializer.SerializerGroup} class with full support for RFC2616 Accept-Content headers.
  - Improved cloning support on serializers and serializer groups.
- New org.apache.juneau.parser package.
  - Entirely reworked class hierarchy to make it easier to define new parsers.
  - New {@link oaj.parser.ReaderParser} base class for defining character-based parsers.
  - New {@link oaj.parser.InputStreamParser} base class for defining byte-based parsers.
  - Improved cloning support on parsers and parser groups.
- New org.apache.juneau.swap package.
  - Cleaner class structure.
  - Improved {@del oaj.transform.BeanFilter} class for defining property filters on beans.
  - Improved {@link oaj.utils.PojoQuery} class for defining filters on objects (previously called ObjectFilter).
- New org.apache.juneau.encoders package.
  - Defines API for {@link oaj.encoders.Encoder Encoders} for enabling compression in REST servlets and clients.
  - Previously, gzip compression was enabled by default. This new API allows you to plug in your own compression algorithms.
  - New {@link oaj.encoders.GzipEncoder} class for enabling gzip compression.
  - New {@del oaj.encoders.EncoderGroup} class for managing multiple encoders and finding them based on RFC2616 Accept-Encoding header values.
- New org.apache.juneau.plaintext package.
  - New {@link oaj.plaintext.PlainTextSerializer} and {@link oaj.plaintext.PlainTextParser} classes for serializing/parsing text/plain content.
- New org.apache.juneau.jso package.
  - New {@del oaj.jso.JsoSerializer} class for serializing application/x-java-serialized-object content.
- New org.apache.juneau.soap package.
  - New {@link oaj.soap.SoapXmlSerializer} class for serializing text/xml+soap content.
- Improved cloning support on the {@link oaj.BeanContext} class.
  - Better caching. Improved caching performance.
- JsonMap and JsonList changed to {@del oaj.ObjectMap} and {@del oaj.ObjectList} to better reflect that they're not limited to just JSON support.
- Renamed PojoSwap to {@link oaj.utils.PojoQuery} to not confuse it with the new Filter API.

##### REST server API changes

- Eliminated org.apache.juneau.rest.serializers and org.apache.juneau.rest.parsers packages.
  - All existing REST serializers and parsers merged into the core API.

##### REST client API changes

- Simplified {@link oajrc.RestClient} API.
  - You can now only specify a single serializer or parser per client. This significantly simplifies the code.
  - Support for {@link oaj.encoders.Encoder Encoders}.
- Eliminated RestCmdLine (since it's essentially redundant with CURL).