info
You're seeing the release note of an old version. Check out the latest release note.
v0.81.0
March 8, 2019
New features
-
A user now can generate
cache-controlheader value programmatically. #1615HttpHeaders headers = HttpHeaders.of();HttpFileBuilder fileBuilder = HttpFileBuilder.of(...);HttpFileServiceBuilder fileServiceBuilder = HttpFileServiceBuilder.forFileSystem(...);// Before:headers.set(HttpHeaderNames.CACHE_CONTROL, "no-cache, no-store, must-revalidate"));fileBuilder.setHeader(HttpHeaderNames.CACHE_CONTROL,"max-age=86400, no-cache, must-revalidate");fileServiceBuilder.setHeader(HttpHeaderNames.CACHE_CONTROL, "public, max-age=3600");// After:headers.setObject(HttpHeaderNames.CACHE_CONTROL, ServerCacheControl.DISABLED);fileBuilder.cacheControl(new ServerCacheControlBuilder().maxAgeSeconds(86400).noCache().mustRevalidate().build());fileServiceBuilder.cacheControl(new ServerCacheControlBuilder().cachePublic().maxAgeSeconds(3600).build()); -
Armeria supports gRPC Server Reflection. #1623
ServerBuilder sb = new ServerBuilder();sb.service(new GrpcServiceBuilder().addService(new MyHelloService()).addService(ProtoReflectionService.newInstance()).build()); -
Added
StreamMessage.drailAll(...)to simply collect all the elements from theStreamMessage. #1620HttpResponse res = HttpResponse.of(HttpHeaders.of(HttpStatus.OK).contentType(PLAIN_TEXT_UTF_8),HttpData.ofUtf8("bob"),HttpHeaders.of(CONTENT_MD5, "hash"));// Simply collect all the elements.List<HttpObject> drained = res.drainAll().join();assertThat(drained).containsExactly(HttpHeaders.of(HttpStatus.OK).contentType(PLAIN_TEXT_UTF_8),HttpData.of(StandardCharsets.UTF_8, "bob"),HttpHeaders.of(CONTENT_MD5, "hash")); -
A user is able to see the HTTP trailers in a
RequestLog. #1614
Improvements
- Added more logging to
SamlServiceto inform the reasons of the failure. #1629 - Various documentation updates. #1604, #1607, #1610, #1611, #1613, #1618, #1626, #1627, #1628
Bug fixes
- Fixed a bug where HTTP trailers is added to message headers. #1620
- Fixed a bug where the TLS handshake exception pollutes the log message. #1612
- Fixed a bug where Server-Sent Events messages miss the
end-of-linecharacter. #1610 - Fixed an API design flaw where a user cannot specify more than one decorator when adding a
ServiceWithPathMappings. #1627 - Fixed a bug where
contentPreviewis not working correctly. #1624 - Fixed a bug where a
StackOverFlowErroris raised while finding annotations inAnnotationUtil. #1635 - Fixed a bug where the Armeria actuator sends the response with the incorrect media type. #1641
Breaking Change
- The
HttpHeadersis added toget()inHttpVfsas a parameter. #1615- A user can easily add the
HttpHeaderswhen building anHttpFile.
- A user can easily add the
Dependencies
- Caffeine 2.6.2 -> 2.7.0
- Curator 4.1.0 -> 4.2.0
- gRPC 1.18.0 -> 1.19.0
- Hibernate Validator 6.0.14 -> 6.0.15
- Jetty 9.4.14 -> 9.4.15
- protobuf-java 3.5.1 -> 3.6.1
- RxJava 2.2.6 -> 2.2.7
- SLF4J 1.7.25 -> 1.7.26
- Spring Boot 2.1.2 -> 2.1.3