0.93.0 release notes
26th September 2019
New features
You can now create a
Sampler
from a specification string such asrandom=0.1
andrate-limited=10
. #2108- This is going to be useful when you want to make the sampling policy of
Brave{Client,Server}
orLogging{Client,Server}
configurable from external sources such as a configuration file or a system property.
Sampler<Object> randomSampler = Sampler.of("random=0.1"); Sampler<Object> rateLimitedSampler = Sampler.of("rate-limited=10"); Sampler<Object> alwaysSampler = Sampler.of("always"); Sampler<Object> neverSampler = Sampler.of("never");
- This is going to be useful when you want to make the sampling policy of
You can now specify the
Sampler
specification string in thecom.linecorp.armeria.verboseExceptions
system property. #2105 #2111- From this release, the default value of this property is
rate-limited=10
which means the stack trace of the exceptions will be recorded at the maximum rate of 10 exceptions/sec. Previously, the default value of this property wasfalse
, which eliminates all stack traces, which gave our users a hard time figuring out why.
- From this release, the default value of this property is
You can now specify a common path prefix using
@PathPrefix
annotation in annotated services. #2031 #2099@PathPrefix("/users") public class MyUserService { @Get("/{id}") // Mapped to '/users/{id}' @ProducesJson public User getUser(@Param int id) { ... } ... } Server server = new ServerBuilder() .annotatedService(new MyUserService()) .build();
Bug fixes
- Fixed a memory leak in
HealthCheckService
. #2110 - Prometheus and Dropwizard Metrics are now optional dependencies in
armeria-spring-boot-*
. #2106 #2107 armeria-spring-boot-actuator-autoconfigure
does not refuse to start anymore whenHealthStatusHttpMapper
is missing. #2104
Breaking changes
Flags.verboseExceptions()
has been replaced withverboseExceptionSampler()
andverboseExceptionSamplerSpec()
. #2111Exceptions.isVerbose()
, which was deprecated previously, has been removed. #2111- You may need to add
io.micrometer:micrometer-registry-prometheus
orio.dropwizard.metrics:metrics-json
after upgrading if you were depending on them transitively. #2107
Dependencies
- Netty 4.1.41 -> 4.1.42
- Netty TCNative BoringSSL 2.0.25 -> 2.0.26
- Project Reactor 3.2.12 -> 3.3.0
- Prometheus 0.6.0 -> 0.7.0
- Retrofit 2.6.1 -> 2.6.2