Armeria Newsletter vol. 4
14th July 2022
Table of contents
From the devs
- ✨ We've released several new versions since our last newsletter with a bunch of new exciting features!
- 1.17.0
- Easier way to send and receive RESTful APIs
- Ability to limit the maximum length of Thrift messages
- Injecting dependencies in annotations
- Support for Kotlin nullable type (
?
) in annotated services
- 1.16.0
- New metrics for TLS handshake results
- Handling
Decorator
annotation withGrpcService
for your gRPC stubs - Programmatic
Flags
configuration via Java SPI
- 1.15.0
- Support for gRPC health check protocol
- Multipart file uploads in annotated services
- GraphQL support in
DocService
- Refactored DNS resolver cache with higher hit ratio and reduced traffic
- New metrics that help you get alerts before your TLS certificates are expired
- 1.14.0
- Experimental support for Scala 3
- Fluent conversion of
HttpResponse
into a desired type usingWebClient
- Various build options for gRPC using
GrpcClientBuilder
- 1.17.0
- 👂 Armeria team is hosting bi-weekly virtual office hours.
- It was great talking with all of you through the video chat. We hope we can see you again in the near future. :)
From the community
- 🎓 Try out this guided tutorial for REST Service! This super friendly and simple tutorial will guide you to make a blog service, with which you can create, read, update and delete blog posts. In particular, you'll be using these Armeria features:
- Service annotations
- Request converter
- Parameter injection
- Exception handler
- Blocking task executor
- 🦾 MSA(Microservices Architecture): Harder, Better, Faster, Stronger
We need your comments
- 🤔 Your opinion means a lot to us. Please let us know what you think about these proposals:
- #4289 Supporting Spring Cloud Gateway integration(also considering GatewayAutoConfiguration, HttpClientFactory, and HttpClient)
- #4286 Changing the insertion order of
ExceptionHandlerFunction
- #3820 Providing a way to enable gRPC reflection service and making it enabled by default
Good first issues
🔰 Want to contribute but not sure where to start from? Try one of these:
- #4237 Support for request scoped DataLoader for GraphQL-Java
class GraphqlServiceBuilder { public GraphqlServiceBuilder dataLoaderRegistry( Function<ServiceRequestContext, DataLoaderRegistry> dataLoaderRegistrySupplier) { // This method will be mutually exclusive // with configureDataLoaderRegistry(...) } }
- #4347 Show the full stack trace of
CompositeException
when the system propertyverboseExceptions
istrue
Stay tuned
Sign up for our newsletters to keep up-to-date with new releases and useful tips!