1.14.0
Micrometer 1.14.0 is the GA version of a new feature release. See our support policy for support timelines.
Below are the combined release notes of all the pre-release milestones and release candidate preceding this GA release.
⚠️  Noteworthy
- Support ExponentialHistogram in OTLP #3861
 - Virtual thread metrics #3956
 - Validate expected Observation API call ordering on TestObservationRegistry #5239
 
⭐ New Features / Enhancements
- Expose TestObservationRegistry as an AssertJ AssertProvider #5551
 - Use failure with actual and expected message to improve IDE experience for ObservationContextAssert #5550
 - Replace 
@Nonnull(when = When.MAYBE) with@CheckForNullin@Nullable#5485 - Warn about Prometheus meter registration failure #5228
 - Improve performance of merging two 
Tags/KeyValuesinstances #5140 - Allow user-provided custom scheduler for periodically binding KafkaMetrics #4976
 - Allow specifying the meterNameConsumer for HighCardinalityTagsDetector #4028
 - Virtual thread metrics #3956
 - Allow tagsBasedOnJoinPoint to override extraTags with CountedAspect #2461
 - Configurable _source.enabled Elastic mapping property #1629
 - Skip registering Caffeine meters when statistics are not enabled #5409
 - Log a warning when instrumenting a cache that is not recording stats in CaffeineCacheMetrics #5402
 - MultiGauge.register should accept more types #5390
 - Metrics not collected after ExecutorService recreation #5366
 - Add "cancelled" information to the GrpcServerObservationContext #5301
 - process_start_time_seconds HELP description inconsistency between Prometheus and micrometer #5290
 - Add history-tracking to ObservationValidator #5370
 - [dynatrace/v2] reduce log verbosity #5306
 - Validate expected Observation API call ordering on TestObservationRegistry #5239
 - Add JvmThreadDeadlockMetrics #5222
 - Allow multiple MeterTag annotations for multiple tags from same target #4081
 - Support ExponentialHistogram in OTLP #3861
 - Expose ForkJoinPool parallelism and pool size metrics #5236
 - Allow custom ThreadFactory for OtlpMeterRegistry #5153
 - Do not register GC metrics when GC notifications are unavailable #5149
 - Cancelled status code not reported in the gRPC server metrics #5109
 - Add counter of failed attempts to retrieve a connection from the pool #5057
 - Add Support for 
@MeterTagto@Counted#4725 - Compile-time weaving support for aspects #1149
 - Service level objectives support on 
@Timedannotation #5145 
📔 Documentation
- Add docs for ObservationValidator #5387
 - Add docs for multiple MeterTag annotations #5641
 - Add docs for 
@MeterTagfor@Counted#5640 - Add docs for JvmThreadDeadlockMetrics #5614
 - Add docs for ForkJoinPool parallelism and pool size metrics #5611
 - Add docs for VirtualThreadMetrics #5610
 
🔨 Dependency Upgrades
- Bump io.prometheus:prometheus-metrics-bom to 1.3.3 #5649
 - Bump software.amazon.awssdk:cloudwatch to 2.29.7 #5645
 - Bump com.google.cloud:libraries-bom to 26.50.0 #5638
 - Bump com.signalfx.public:signalfx-java to 1.0.47 #5635
 - Bump com.google.auth:google-auth-library-oauth2-http to 1.29.0 #5634
 - Bump software.amazon.awssdk:cloudwatch to 2.29.6 #5631
 - Bump com.netflix.spectator:spectator-reg-atlas to 1.8.1 #5630
 - Bump com.google.cloud:google-cloud-monitoring to 3.54.0 #5628
 - Bump dropwizard-metrics to 4.2.28 #5569
 - Bump io.opentelemetry.proto:opentelemetry-proto to 1.3.2-alpha #5268
 - Bump org.hdrhistogram:HdrHistogram to 2.2.2 #5171
 
❤️ Contributors
Thank you to all the contributors who worked on this release:
@codesimplicity, @genuss, @izeye, @mihalyr, @lcavadas, @filiphr, @sean-heller, @vasiliy-sarzhynskyi, @ArtyomGabeev, @kinddevil, @mstyura, @madhead, @pirgeo, @rkurniawati, @lenin-jaganathan, @smaxx