5.1.0.19 (Aug 15, 2015)

Juno 5.1.0.19 is a minor update in terms of core functionality. But it introduces a Microservices project for building REST microservices and docker containers.

##### Core

- Beans can now be serialized to and parsed from {@link oaj.ObjectMap ObjectMaps}. See Serializing to ObjectMaps for details.
- New {@link oaj.ObjectMap#include(String[])} and {@link oaj.ObjectMap#exclude(String[])} methods.
- {@link oaj.html.annotation.Html @Html} annotations can now be applied to bean properties.
- New {@link oaj.utils.IOPipe} utility class.
- Behavior change on StringVarResolver. null input now results in blank strings instead of null.

##### Client

- New {@link oajrc.RestClient#doCallback(String)} method.

##### Server

- New {@link oajr.RestRequest#getHeaders()} method.
- New RestResponse.getUnbufferedWriter() method.
- Fixed bug that was preventing x-response-headers parameter from working correctly.
- Added {@link oaj.annotation.Bean#properties() @Bean.properties} annotations to the various classes in org.apache.juneau.rest.labels so that the order of the bean properties are consistent on all JVMs. On IBM JVMs this is unnecessary because the order of the properties as defined in the class are stored in the bytecode. Other JVMs such as OpenJRE do not implement this feature causing the bean properties to be in random order.
- New ResourceDescription.ResourceDescription(RestRequest,String,String) constructor.