8.1.3 (Jan 20, 2020)

Juneau 8.1.3 is a moderate release.

##### juneau-marshall

- Dynamically applied annotations: DynamicallyAppliedAnnotations
- Better representation of nulls for XML and HTML content properties.
  Old: "<myBean><null></myBean>"
  New: "<myBean nil='true'></myBean>"
- Configurable properties such as Context.CONTEXT_debug can now be set globally by either system properties or environment variables.
  For CONTEXT_debug you can use either the system property "Context.debug" or environment variables "CONTEXT_DEBUG".
- Fixed an initialization time race condition that can cause initial parse errors when concurrently parsing into array types like so:

  JsonParser. DEFAULT.parse(input, MyBean[].class);

##### juneau-rest-server

- Fixed bug in BasicRestCallHandler where if you have the following REST methods...

  @RestMethod(name="GET", path="/foo") @RestMethod(name="*", path="/bar")

  ...and you tried to make a GET request to /bar, you'd erroneously get a 404 error instead of matching the 2nd method.
- Fixed an issue involving using Juneau REST with Spring Security. When Spring Security cannot authenticate a request, it sets the URL on the request to "/error" with a 401 status. When Juneau then processes this request, it cannot find that mapping and changes the status to 404 which messes with HTTP clients.
  Solution was to add a default no-op error method to the BasicRestConfig(and implementers):

  @RestMethod(name="*", path="/error") public void error() {}

- Fixed a bug where @RestResource(debug="true") wouldn't log requests if a @RestMethod-annotated method was not matched.
- Renamed the following annotations:
  - @Rest(attrs) --> Rest.reqAttrs() @Rest(reqAttrs)
  - @Rest(defaultRequestHeaders) --> Rest.reqHeaders() @Rest(reqHeaders)
  - @Rest(defaultResponseHeaders) --> Rest.resHeaders() @Rest(resHeaders)
  - @RestMethod(attrs) --> RestMethod.reqAttrs() @RestMethod(reqAttrs)
  - @RestMethod(defaultRequestHeaders) --> RestMethod.reqHeaders() @RestMethod(reqHeaders)
- New auto-generated REST method execution statistics: RestExecutionStatistics

##### juneau-rest-client

- Several convenience methods defined in {@link oajrc.RestClient.Builder} that were deprecated in 8.1.2 have been undeprecated in this release due to user feedback.

##### juneau-doc

- New auto-generated glossary of all configurable properties: GlossaryConfigurableProperties