Skip to content

armeria-0.49.0

Choose a tag to compare

@minwoox minwoox released this 23 Jun 05:27

New features

  • (Breaking) #618 More HTTP-friendliness and simplicity
    • Simplify the type parameter signatures of services and clients.
      • Replace ? super I, ? extends O with RpcRequest, RpcResponse or HttpRequest, HttpResponse.
    • Remove SessionProtocolProvider.
    • Deprecate HttpSessionProtocols.
    • Make SessionProtocol an enum and undeprecate its values.
    • Make RequestLog and RequestLogBuilder more HTTP-friendly.
      • Replace requestEnvelope() with requestHeaders().
      • Replace responseEnvelope() with responseHeaders().
      • Replace RequestLogAvailability.REQUEST_ENVELOPE with REQUEST_HEADERS.
      • Replace RequestLogAvailability.RESPONSE_ENVELOPE with RESPONSE_HEADERS.
      • Add status() which is HttpStatus.
      • Remove RequestLogAvailability.STATUS_CODE because HttpStatus.
        becomes available when responseEnvelope becomes available.
  • (Spring integration) #621 Add the registration bean for an annotated service object
    • You can, now add an annotated service object to a Server without using the configurator. For example:
      public AnnotatedServiceRegistrationBean okService() {
          return new AnnotatedServiceRegistrationBean()
              .setServiceName("myAnnotatedService")
              .setPathPrefix("/my_service")
              .setService(new MyAnnotatedService())
              .setDecorator(LoggingService.newDecorator());
  • #617 Allow arbitrary customization of client SslContext
    • SessionOption.TRUST_MANAGER_FACTORY is deprecated. Use SessionOption.SSL_CONTEXT_CUSTOMIZER instead. You can set a TrustManagerFactory with SslContextBuilder as follows:
      private static final ClientFactory clientFactory =
            new AllInOneClientFactory(SessionOptions.of(
                    SessionOption.SSL_CONTEXT_CUSTOMIZER.newValue(
                            b -> b.trustManager(InsecureTrustManagerFactory.INSTANCE)),
                            ...

Bug fixes

  • #620 The default blockingTaskExecutor is not single-threaded anymore.
  • #626 Fix a race condition in DeferredStreamMessage.subscribeToDelegate().