Skip to content

armeria-0.82.0

Choose a tag to compare

@hyangtack hyangtack released this 19 Mar 03:11

New features

  • You can now include or exclude service methods using DocServiceFilter when building a DocService.
    See our documentation for more information. #1609
     ServerBuilder sb = new ServerBuilder();
     ...
     sb.serviceUnder("/docs", new DocServiceBuilder()
             // Include Thrift services and Annotated services.
             .include(DocServiceFilter.ofThrift().or(DocServiceFilter.ofAnnotated()))
             // Exclude the method whose name is "foo" in Thrift services.
             .exclude(DocServiceFilter.ofThrift().and(DocServiceFilter.ofMethodName("foo")))
             .build());
  • HttpHeaderNames now forks from Guava's HttpHeaders instead of Netty's HttpHeaderNames
    because it has more recent HTTP headers which may be useful to service authors.
  • You can use SystemInfo utility class in order to get the system information. #1656
     // Java version
     SystemInfo.javaVersion();
    
     // Hostname
     SystemInfo.hostname();
    
     // The current process ID
     SystemInfo.pid();
    
     // The current time in microseconds
     SystemInfo.currentTimeMicros();

Improvements

  • Set 0.5 to the default failure rate threshold of a circuit breaker. #1657
  • Various documentation updates. #1657 #1654 #1651

Bug fixes

  • Strip a leading slash in an HttpFile resource path. #1661 #1650
     // Will strip the leading slash
     HttpFile.ofResource(ClassLoader.getSystemClassLoader(), "/java/lang/Object.class");
  • ByteBufs are no longer leaked when you use Spring WebFlux integration. #1658
    It was possible to leak a ByteBuf if a client closes a connection before reading the body of an HTTP response.

Breaking Change

  • DocServicePlugin interface now has name() method and generateSpecification() method signature has changed. #1609
     // Before:
     ServiceSpecification generateSpecification(Set<ServiceConfig> serviceConfigs);
     // After:
     String name();
     ServiceSpecification generateSpecification(Set<ServiceConfig> serviceConfigs, DocServiceFilter filter);
  • Some header names in HttpHeaderNames were removed, although it is very unlikely to be used by users: #1660
  • Keep-Alive
  • Proxy-Connection
  • Content-Transfer-Encoding

Dependencies

  • java-jwt 3.7.0 -> 3.8.0
  • Guava 27.0.1 -> 27.1
  • Netty 4.1.33 -> 4.1.34
    • Netty TCNative BoringSSL 2.0.20 -> 2.0.22
  • Brave 5.6.1 -> 5.6.3