Skip to main content

Release 8.1.3

Date: 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(defaultRequestHeaders)@Rest(reqHeaders)
    • @Rest(defaultResponseHeaders)@Rest(resHeaders)
    • @RestMethod(attrs)@RestMethod(reqAttrs)
    • @RestMethod(defaultRequestHeaders)@RestMethod(reqHeaders)
  • New auto-generated REST method execution statistics: RestExecutionStatistics

juneau-rest-client

  • Several convenience methods defined in 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