8.1.2 (Dec 01, 2019)

Juneau 8.1.2 is a moderate release.

##### juneau-marshall

- Support for read-only and write-only properties.
  - {@del oaj.annotation.Bean#bpro()}
  - {@del oaj.annotation.Bean#bpwo()}
  - {@link oaj.annotation.Beanp#ro()}
  - {@link oaj.annotation.Beanp#wo()}
  - {@del BEAN_bpro}
  - {@del BEAN_bpwo}
  - {@del oaj.BeanContext.Builder#bpro(Map)}
  - {@del oaj.BeanContext.Builder#bpwo(Map)}
- New convenience methods:
  - {@del oaj.ObjectMap#parse(CharSequence)}
  - {@del oaj.ObjectList#parse(CharSequence)}
- {@link oaj.marshall.CharMarshall} and {@link oaj.marshall.StreamMarshall} now have public constructors.
- {@link oaj.annotation.Beanp @Beanp} replaces {@del oaj.annotation.BeanProperty @BeanProperty}.
- {@link oaj.annotation.Beanc @Beanc} replaces {@del oaj.annotation.BeanConstructor @BeanConstructor}.
- {@link oaj.http.remote.Remote @Remote} replaces {@del oaj.http.remote.RemoteResource @RemoteResource}.
- Shortened names for {@link oaj.annotation.Bean#dictionary @Bean(dictionary)} and {@link oaj.BeanContext.Builder#beanDictionary(Class...)}.

##### juneau-rest-server

- {@link oajr.annotation.Rest @Rest} replaces {@del oajr.annotation.RestResource @RestResource} with shorter syntax.
- New method {@del oajr.RestResponse#setHeaderSafe(String,String)} to strip invalid characters from header values.
- Fixed issues related to invalid characters being set on HTTP header values.

##### juneau-rest-client

- {@link oajrc.RestClient} is now extendible. The constructor has been made public and simplified to: {@del oajrc.RestClient#RestClient(RestClient.Builder)}.
- Duplicate methods between {@link oajrc.RestClient.Builder} and {@link org.apache.http.impl.client.HttpClientBuilder} have been made deprecated on the former. This eliminates the need to try to keep the two builder classes in sync.