Repository navigation
Releases
1.18.0-RC2
⚠️ Noteworthy
- Atlas FunctionTimer behavior change:
AtlasMeterRegistrynow publishesFunctionTimerstatistics (countandtotalTime) as per-second rates instead of gauges (#8108). With the default 1-minute step, published values will be ~60x lower than before; any dashboard queries or alert rules dividing by 60 should be updated. See the 1.18 Migration Guide for details.
⭐ New Features
- Support fractional updates for Atlas counters #8109
🔨 Dependency Upgrades
- Bump com.dynatrace.metric.util:dynatrace-metric-utils-java from 2.5.0 to 2.6.0 #8145
- Bump software.amazon.awssdk:cloudwatch from 2.56.0 to 2.57.8 #8138
- Bump com.google.cloud:google-cloud-monitoring from 3.100.0 to 3.101.0 #8135
- Bump com.google.auth:google-auth-library-oauth2-http from 1.54.0 to 1.55.0 #8134
- Bump com.google.cloud:libraries-bom from 26.90.0 to 26.91.0 #8133
- Bump com.netflix.spectator:spectator-reg-atlas from 1.10.8 to 1.10.9 #8115
📝 Tasks
- Bump aspectjweaver from 1.9.25.1 to 1.9.27 #8153
- Bump io.netty:netty-bom from 4.2.19.Final to 4.2.20.Final #8146
- Bump com.google.errorprone:error_prone_core from 2.50.0 to 2.52.0 #8144
- Bump org.apache.felix:org.apache.felix.scr from 2.2.18 to 2.3.0 #8143
- Bump com.diffplug.spotless:spotless-plugin-gradle from 8.10.4 to 8.11.0 #8142
- Bump com.netflix.nebula:nebula-publishing-plugin from 23.1.0 to 23.2.0 #8136
- Bump com.uber.nullaway:nullaway from 0.14.2 to 0.14.3 #8114
- Bump com.squareup.okhttp3:okhttp from 4.12.0 to 4.12.1 #8113
- Bump grpc from 1.85.0 to 1.85.1 #8102
- Bump gradle-wrapper from 9.8.1 to 9.8.2 #8096
- Bump com.fasterxml.jackson.core:jackson-databind from 2.22.3 to 2.22.4 #8094
- Bump ch.qos.logback:logback-classic from 1.6.5 to 1.6.6 #8121
- Remove jdk26 GHA build job #8151
- Replace build-jdk26 job with build-jdk27 job #8127
- Distinguish transitive dependency upgrades for Dependabot #8119
- Keep HdrHistogram types out of TimeWindowPercentileHistogram signature #8118
- Handle ValueClassIdentity from Error Prone as error #8116
- Remove micrometer-test-aspectj-ltw:test exclusion from Java 27 build #8090
❤️ Contributors
Thank you to all the contributors who worked on this release:
1.18.0-RC1
🔨 Dependency Upgrades
- Bump software.amazon.awssdk:cloudwatch from 2.55.16 to 2.56.0 #8078
- Bump com.netflix.spectator:spectator-reg-atlas from 1.10.7 to 1.10.8 #7984
- Bump com.google.auth:google-auth-library-oauth2-http from 1.53.0 to 1.54.0 #8024
- Bump com.google.cloud:google-cloud-monitoring from 3.99.0 to 3.100.0 #8026
- Bump com.google.cloud:libraries-bom from 26.89.0 to 26.90.0 #8023
- Bump io.netty:netty-bom from 4.2.18.Final to 4.2.19.Final #8041
- Bump io.opentelemetry:opentelemetry-bom from 1.66.0 to 1.67.0 #8056
- Bump io.prometheus:prometheus-metrics-bom from 1.9.0 to 1.10.0 #8091
❤️ Contributors
Thank you to all the contributors who worked on this release:
1.17.2
🐞 Bug Fixes
- Preserve whitespace in HTTP Basic authentication passwords #8015
- Missing reflection hint for getProcessCpuTime #7911
- Proxy JMS session results using the method's declared return type #7896
- Kotlin interoperability for CaffeineCacheMetrics broken/requires unchecked cast to work #7582
- Registering/Updating a MultiGauge while a Prometheus scrape occurs can lead to DuplicateLabelsException #6851
- OTLP histogram bucket count does not equal count intermittently #6006
- Statsd UDP epoll warn logs are verbose when statsd is down #2624
📔 Documentation
- Fix typos in docs #8000
- Add docs for
@MeterTagwhen used on a method #7829 - Document best practice about configuring registries on a composite #7367
- Documentation on
SpelValueExpressionResolveris unclear #6465 - Document how to customize tags in micrometer-java11 HttpClient instrumentation #4962
🔨 Dependency Upgrades
- Bump io.netty:netty-bom from 4.2.18.Final to 4.2.19.Final #8042
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Gaurav1112, @LindseyZ1205, @bogdandrutu, @pchesneau, @cfcromn, @schiemon, @officialasishkumar, @AzazelSensei, @nick-montana, @ghdtjdwn, @ninadsutrave
1.16.8
🐞 Bug Fixes
- Preserve whitespace in HTTP Basic authentication passwords #8015
- Missing reflection hint for getProcessCpuTime #7911
- Proxy JMS session results using the method's declared return type #7896
- Kotlin interoperability for CaffeineCacheMetrics broken/requires unchecked cast to work #7582
- Registering/Updating a MultiGauge while a Prometheus scrape occurs can lead to DuplicateLabelsException #6851
- OTLP histogram bucket count does not equal count intermittently #6006
- Statsd UDP epoll warn logs are verbose when statsd is down #2624
📔 Documentation
- Fix typos in docs #8000
- Add docs for
@MeterTagwhen used on a method #7829 - Document best practice about configuring registries on a composite #7367
- Documentation on
SpelValueExpressionResolveris unclear #6465 - Document how to customize tags in micrometer-java11 HttpClient instrumentation #4962
🔨 Dependency Upgrades
- Bump io.netty:netty-bom from 4.1.138.Final to 4.1.139.Final #8040
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Gaurav1112, @LindseyZ1205, @bogdandrutu, @pchesneau, @cfcromn, @schiemon, @officialasishkumar, @AzazelSensei, @nick-montana, @ghdtjdwn, @ninadsutrave
1.18.0-M2
⚠️ Noteworthy
- Deprecate for removal the registry for EOL AppOptics #7954
- Remove EOL and deprecated Wavefront module #7625
- Make inclusion of
LongTaskTimerbyDefaultMeterObservationHandleropt-in instead of opt-out #7312 - State objects should not be nullable for function-based meter registration #6416
⭐ New Features
- Send the Datadog API keys in the headers #7894
- Update MultiGauge Gauges instead of remove/add #7851
- Prometheus: reduce allocations for histogram buckets #7838
- Skip registering Hazelcast meters when statistics are not enabled #7568
- Include HTTP/2 GlobalRequestProcessor MBean in TomcatMetrics #7535
- Introduce per-convention meter convention types and builder pattern #7369
- Add Gauges for memory pool usage after GC #7296
- Configure a custom JmsProcessObservationConvention or JmsPublishObservationConvention #5492
🐞 Bug Fixes
- Missing reflection hint for getProcessCpuTime #7911
- Kotlin interoperability for CaffeineCacheMetrics broken/requires unchecked cast to work #7582
- Registering/Updating a MultiGauge while a Prometheus scrape occurs can lead to DuplicateLabelsException #6851
- OTLP histogram bucket count does not equal count intermittently #6006
📔 Documentation
- Document best practice about configuring registries on a composite #7367
🔨 Dependency Upgrades
- Bump com.google.auth:google-auth-library-oauth2-http from 1.50.0 to 1.52.0 #7928
- Bump com.google.cloud:google-cloud-monitoring from 3.96.0 to 3.98.0 #7932
- Bump com.google.cloud:libraries-bom from 26.86.0 to 26.88.1 #7948
- Bump com.netflix.spectator:spectator-reg-atlas from 1.10.5 to 1.10.7 #7938
- Bump dropwizard-metrics from 4.2.39 to 4.2.40 #7898
- Bump io.netty:netty-bom from 4.2.17.Final to 4.2.18.Final #7943
- Bump io.opentelemetry:opentelemetry-bom from 1.65.0 to 1.66.0 #7949
- Bump io.prometheus:prometheus-metrics-bom from 1.8.0 to 1.9.0 #7966
- Bump software.amazon.awssdk:cloudwatch from 2.51.3 to 2.55.0 #7968
📝 Tasks
- Fix tests passing null state objects #7875
- Upgrade minor versions of shaded OTel dependencies #7847
- Remove EOL and deprecated Wavefront module #7625
- Setup reproducible builds #7962
- Do not add web fonts to javadoc #7895
- Remove buildscript cacheDynamicVersionsFor configuration #7885
- Apply Spotless plugin only to Kotlin projects #7884
- Make testModules task incremental #7883
- Make japicmp baseline dependency declarative #7882
- Migrate Develocity to ge.spring.io #7878
- POM properties can be misleading #7859
- Wait for InfluxDB readiness in TelegrafStatsdLineBuilderIntegrationTest #7909
- Fix StatsdMeterRegistry client readiness check in tests #7874
❤️ Contributors
Thank you to all the contributors who worked on this release:
@jewoodev, @m-burst, @ragulshanmugam, @pchesneau, @cfcromn, @schiemon, @bogdandrutu, @nick-montana, and @alxkm
1.18.0-M1
⚠️ Noteworthy
- Replace the OpenTelemetry protobuf library #5658
- Add config option to compress Datadog payload #2297
⭐ New Features
- Optimize PrometheusMeterRegistry and MicrometerCollector snapshot collection #7802
- Skip registering JCache meters when statistics are not enabled #7562
- Fail collision validation at registration instead of at scrape with typed Prometheus family descriptors #7487
- Prometheus: unnecessary allocation and validation performed on every scrape #7450
- Bump Kotlin target from 1.8 to 2.0 #7338
- Add option for time-based FunctionCounter #7329
- Remove lastScope field and deprecated implementations from SimpleObservation #7273
- Replace the OpenTelemetry protobuf library #5658
- KeyValue support for Observation.Event #5238
- Add config option to compress Datadog payload #2297
🐞 Bug Fixes
- OTLP publishing fails if a cumulative LongTaskTimer present with a histogram #7830
- Race condition in registry searching and MeterNotFoundException creation may result in a failure that looks as if it should have succeeded #2307
- ClassNotFoundException: org.LatencyUtils.PauseDetector is thrown when introspecting AbstractTimer #7815
- Prometheus custom meters: creation timestamps are incorrect #7798
- Fix memory leak/NPE in MicrometerHttpClientInterceptor (HC4 & HC5)
- Sanitize line terminators in Dogstatsd, Etsy StatsD, and LoggingMeterRegistry
🔨 Dependency Upgrades
- Bump io.netty:netty-bom from 4.2.15.Final to 4.2.17.Final #7819
- Bump software.amazon.awssdk:cloudwatch from 2.46.5 to 2.51.3 #7818
- Bump com.google.cloud:libraries-bom from 26.83.0 to 26.86.0 #7794
- Bump com.google.auth:google-auth-library-oauth2-http from 1.48.0 to 1.50.0 #7793
- Bump com.google.cloud:google-cloud-monitoring from 3.94.0 to 3.96.0 #7790
- Bump com.netflix.spectator:spectator-reg-atlas from 1.9.9 to 1.10.5 #7792
- Bump org.jetbrains.kotlinx:kotlinx-coroutines-core from 1.7.3 to 1.11.0 #7476
- Bump io.prometheus:prometheus-metrics-bom from 1.7.0 to 1.8.0 #7615
📝 Tasks
- Add sample to print out OTLP output in a human readable format #7832
- Fix ineffective ExemplarSampler cache in DefaultExemplarSamplerFactory #7657
- Note micrometer-jetty11 deprecation in the artifact description #7651
❤️ Contributors
Thank you to all the contributors who worked on this release:
@arimu1, @kalayciburak, @antonio-pedro99, @jewoodev, @zeitlinger, @schiemon, and @m-burst
1.17.1
🐞 Bug Fixes
- ClassNotFoundException: org.LatencyUtils.PauseDetector is thrown when introspecting AbstractTimer #7815
- Prometheus custom meters: creation timestamps are incorrect #7798
- Fix memory leak/NPE in MicrometerHttpClientInterceptor (HC4 & HC5)
- Sanitize line terminators in Dogstatsd, Etsy StatsD, and LoggingMeterRegistry
🔨 Dependency Upgrades
- Bump io.netty:netty-bom from 4.2.15.Final to 4.2.17.Final #7822
- Bump software.amazon.awssdk:cloudwatch from 2.46.6 to 2.46.21 #7705
📝 Tasks
- Fix ineffective ExemplarSampler cache in DefaultExemplarSamplerFactory #7657
- Note micrometer-jetty11 deprecation in the artifact description #7651
❤️ Contributors
Thank you to all the contributors who worked on this release:
@arimu1, @kalayciburak
1.16.7
🐞 Bug Fixes
- Prometheus custom meters: creation timestamps are incorrect #7798
- Fix memory leak/NPE in MicrometerHttpClientInterceptor (HC4 & HC5)
- Sanitize line terminators in Dogstatsd, Etsy StatsD, and LoggingMeterRegistry
🔨 Dependency Upgrades
- Bump io.netty:netty-bom from 4.1.135.Final to 4.1.137.Final #7823
📝 Tasks
- Fix ineffective ExemplarSampler cache in DefaultExemplarSamplerFactory #7657
- Note micrometer-jetty11 deprecation in the artifact description #7651
❤️ Contributors
Thank you to all the contributors who worked on this release:
@arimu1
1.17.0
See also the 1.17 migration guide and the release notes for 1.17.0-RC1, 1.17.0-M3, 1.17.0-M2, 1.17.0-M1.
🐞 Bug Fixes
- ArrayIndexOutOfBoundsException when using LongTaskTimer #3877
- Jetty 12's TimedHandler marks some requests with outcome UNKNOWN #7276
- MeterRegistry closes HighCardinalityTagsDetector twice if the registry is closed twice #7409
- Reduce allocation in HTTP server instrumentation #7580
- Reduce allocation in gRPC server convention #7581
📔 Documentation
- Clarify time series produced by LongTaskTimer when using Prometheus #6507
- Document metrics that need to close the MeterBinder #4624
- Multigauge Documentation lacks overwrite=true #4403
🔨 Dependency Upgrades
- Bump com.dynatrace.metric.util:dynatrace-metric-utils-java from 2.4.0 to 2.5.0 #7452
- Bump com.google.auth:google-auth-library-oauth2-http from 1.43.0 to 1.48.0 #7397
- Bump com.google.cloud:google-cloud-monitoring from 3.89.0 to 3.94.0 #7398
- Bump com.google.cloud:libraries-bom from 26.79.0 to 26.83.0 #7497
- Bump com.netflix.spectator:spectator-reg-atlas from 1.9.6 to 1.9.9 #7552
- Bump dropwizard-metrics from 4.2.38 to 4.2.39 #7527
- Bump io.prometheus:prometheus-metrics-bom from 1.5.1 to 1.7.0 #7572
- Bump software.amazon.awssdk:cloudwatch from 2.42.32 to 2.46.4 #7494
❤️ Contributors
Thank you to all the contributors who worked on this release:
@blaspat, @codingkiddo, @izeye, @jewoodev, and @schiemon
1.16.6
🐞 Bug Fixes
- ArrayIndexOutOfBoundsException when using LongTaskTimer #3877
- Jetty 12's TimedHandler marks some requests with outcome UNKNOWN #7276
- MeterRegistry closes HighCardinalityTagsDetector twice if the registry is closed twice #7409
- Reduce allocation in HTTP server instrumentation #7580
- Reduce allocation in gRPC server convention #7581
📔 Documentation
- Clarify time series produced by LongTaskTimer when using Prometheus #6507
- Document metrics that need to close the MeterBinder #4624
- Multigauge Documentation lacks overwrite=true #4403
🔨 Dependency Upgrades
- Bump com.netflix.spectator:spectator-reg-atlas from 1.9.6 to 1.9.9 #7552
- Bump dropwizard-metrics from 4.2.38 to 4.2.39 #7527
❤️ Contributors
Thank you to all the contributors who worked on this release:
@blaspat, @codingkiddo, @izeye, @jewoodev, and @schiemon