1.13.0 release notes

15th October 2021

🌟 New features

  • You can now customize HTTP/1 header names on the server side using ServerBuilder.http1HeaderNaming(). #3845 #3866
    Server.builder()
          .http1HeaderNaming(Http1HeaderNaming.traditional());
  • You can now easily create an HttpResponse from a specific executor using HttpResponse.from(). #3834 #3864
    Server.builder()
          .service("/blocking" (ctx, req) -> {
            return HttpResponse.from(() -> { // 👈👈👈
                // Perform a long running task.
                ...
                return HttpResponse.of(...);
            }, ctx.blockingTaskExecutor());
          });

📈 Improvements

🛠️ Bug fixes

  • You no longer see a NullPointerExcepiton when no suitable ClientFactory was found. #3867 #3868
    • An IllegalStateException with a proper error message will be raised instead.
  • You no longer see a false positive warning when adding GrpcServices. #3869 #3871
  • You no longer see an IllegalStateException when a gRPC client call starts with an empty EndpointGroup. #3876
  • management.server.port is now correctly activated only when Armeria Actuator is configured. #3873

🏚️ Deprecations

  • N/A

☢️ Breaking changes

⛓ Dependencies

  • Netty 4.1.68 → 4.1.69
  • Netty io_uring 0.0.8 → 0.0.9
  • Reactor 3.4.10 → 3.4.11
  • reactor-kotlin-extensions 1.1.4 → 1.1.5
  • RxJava 3.1.1 → 3.1.2
  • ScalaPB 0.11.5 → 0.11.6

🙇 Thank you