Releases: micrometer-metrics/micrometer
1.10.0
Micrometer 1.10.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 it.
⚠️ Noteworthy
- Check out the new Observation API (see the Migration Guide)
- If you are upgrading from one of the pre-release versions, check the 1.10 Migration Guide
ReactorNettySender
has been removed #2802
⭐ New Features / Enhancements
- Add gRPC authority info to the observation context #3510
- Add "get[Low|High]CardinalityKeyValue()" on "Observation.Context" #3505
- Verify sender propagation for HTTP client instrumentation #3504
- Add support for creating KeyValues from any iterable #3503
- Added remoteServiceAddress for Sender / Receiver contexts #3500
- Provide a default for missing values in KeyValue #3458
- Allow documenting optional keys #3454
- Add wrap functionality to the Observation #3433
- Add Observation instrumentation for gRPC client and server #3427
- Add TestObservationRegistryAssert assertion for observation count #3426
- Make observation return its context and immutable access to parent #3423
- ReceiverContext was missing a remoteServiceName #3419
- Handle IO_ERROR for Apache HTTP client with observation API #3418
- Tck with observations #3410
- Set size and characteristics for Spliterator used with Tags and KeyValues #3409
- Test against ObservationDocumentation in instrumentation TCK #3372
- Add benchmarks for the Observation API #3370
- Support for Jetty 11 #3234
- Add "createNotStarted" method that lazily creates context #3401
- Context allows modification of KeyValues #3383
- Cloudwatch max batchSize was increased from 20 to 1000 #3376
- Events in DocumentedObservation #3367
- signalfx: remove unnecessary allocation if the distribution summary does not have histogram #3364
- Remote service name for sender context #3363
- Common ResponseContext interface for interacting with the response #3362
- JDK11 HttpClient instrumentation #3358
- Abstraction for instrumentating with a Timer or Observation (optionally) #3357
- [signalfxregistry]: Add option to send delta histogram count buckets. #3350
- Apache HTTP client instrumentation with Observation #3312
- Generify throwable in CheckedCallable/CheckedRunnable #3326
- Scoped checked actions #3323
- ObservationContextAssert now asserts ContextView, add parentObservation assertions #3304
- Add ObservationRegistry hasRemainingCurrentScope and similar assertions #3303
- Add getContextualName(Context c) on Observation.Convention #3301
- Receiver and SenderContext #3293
- Added option to set a parent Observation on an existing Observation #3291
- Introduces GlobalObservationConvention #3285
- Declare HdrHistogram as a runtime dependency #3263
- Observe instantaneous events #3100
- Add primitive Suppliers to Timer and LongTaskTimer #1304
- Add assertions for multiple handled test contexts #3274
- Added the ObservationConventionAware interface #3270
- Add ObservationContextAssert error assertions #3267
- Improved keys assertions in ObservationContextAssert #3266
- Further improvement of observation convention #3261
- Added support for Kotlin co-routines #3256
- New approach to naming conventions #3255
- Add KeyValues to the Observation #3244
@Observed
#3221- Add a LongTaskTimer for every Observation in TimerObservationHandler #3215
- Add
DynatraceConfig.DEFAULT
#3202 - OkHttp3 instrumentation with observation api #3176
- Support for different metric prefixes in StackdriverMeterRegistry #3171
- Unable to load MacOSDnsServerAddressStreamProvider on Apple Silicon with statsd meter registries #3066
- Add HighCardinalityTagsDetector #3047
- Http client instrumentation TCK #3258
- Added the getCurrentObservationScope method #3158
- Config for OTLP Resource attributes #3159
- Dynatrace registry: Print ignored config warning only when necessary #3155
- Dynatrace registry: Truncate log output #3148
- Use more generic KeyValue terminology in Observation and Common module #3126
- NOOP Observation should be created when no handlers are registered #3105
- MeterRegistryAssert provides checks for all type of meters #3104
- Add MongoCommandStartedEventTags for Mongodb metrics #3069
Make _source.enabled configurable for ElasticMeterRegistry #2363This enhancement did not end up in the released version; follow #1629 for it being released in a future version.- Added Global Tags Provider #3061
- Add observeChecked methods to observe methods that can throw exceptions #3052
- Merge micrometer-binder changes and revert micrometer-api changes #3046
- Add observe method to the Observation for Runnable and Supplier #3040
- Observation text publisher #3034
Iterable<Tag>
vsIterable<? extends Tag>
#2092- Add base units for ForkJoinPool #1525
- Convert a BiPredicate for ObservationConfig to a dedicated interface #3003
- New Observation concept; revert Timer.Sample changes #2992
- Introduce HttpTag...
1.10.0-RC1
⭐ New Features / Enhancements
- Provide a default for missing values in KeyValue #3458
- Allow documenting optional keys #3454
- Add wrap functionality to the Observation #3433
- Add Observation instrumentation for gRPC client and server #3427
- Add TestObservationRegistryAssert assertion for observation count #3426
- Make observation return its context and immutable access to parent #3423
- ReceiverContext was missing a remoteServiceName #3419
- Handle IO_ERROR for Apache HTTP client with observation API #3418
- Tck with observations #3410
- Set size and characteristics for Spliterator used with Tags and KeyValues #3409
- Test against ObservationDocumentation in instrumentation TCK #3372
- Add benchmarks for the Observation API #3370
- Support for Jetty 11 #3234
🐞 Bug Fixes
- New Relic module fails on the module path #3412
🔨 Dependency Upgrades
- Upgrade context-propagation to 1.0.0-RC1 for 1.10.0-RC1 #3477
- Upgrade Spotless plugin to 6.11.0 #3475
- Upgrade to me.champeau.mrjar 0.1.1 #3422
- Upgrade Dropwizard Metrics to 4.2.12 #3474
- Upgrade spectator (atlas) to 1.3.8 #3473
- Upgrade Spring Boot to 2.7.4 #3472
- Upgrade Spring Boot to 2.6.12 #3471
- Upgrade testcontainers to 1.17.5 #3470
- Upgrade junit 5.9.1, assertj to 3.23.1, mockito to 4.8.0, archunit to 1.0.0 #3469
- Upgrade wavefront-sdk-java to 3.0.3 #3467
- Upgrade signalfx-java to 1.0.24 #3466
- Upgrade AWS SDK to 1.12.318 and 2.17.289 #3465
- Upgrade netty to 4.1.81 reactor-netty to 1.0.23 and reactor to 3.4.23 #3464
- Upgrade gradle-download-task plugin to 5.2.1 #3463
- Upgrade nebula-release-plugin to 16.1.0 #3462
- Upgrade Spring Java Format dependencies to 0.0.35 #3459
- Properly pin gradle-info-plugin to 11.4.1 #3441
📝 Tasks
- Disable downloadBaseline task for micrometer-jetty11 #3481
- Generate dependency lock files for 1.10.0-RC1 #3476
- Bump to a medium+ resource class for CI builds #3455
- Exclude buildscript-gradle.lockfile in deleteLockFiles task #3445
- Update samples to use Spring Boot 2.7.4 #3434
- Rename DocumentedObservation to ObservationDocumentation #3430
- Test SLFJ4 2.0 compatibility #3415
- Update OtlpMeterRegistryTest to run builds on Java 19 #3431
- Pin wiremock-jre8-standalone to 2.33.+ for 1.8.x and 1.9.x #3468
- Reduce flakiness of StatsdMeterRegistryPublishTest #3447
- Update TagsTest to run builds on Java 19 #3437
- Upgrade to JApicmp Gradle Plugin 0.4.1 #3435
- Support message supplier in WarnThenDebugLogger #3424
- Ignore METHOD_NEW_DEFAULT binary compatibility #3181
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
1.9.5
🐞 Bug Fixes
- New Relic module fails on the module path #3412
🔨 Dependency Upgrades
- Upgrade Dropwizard Metrics to 4.2.12 #3474
- Upgrade spectator (atlas) to 1.3.8 #3473
- Upgrade Spring Boot to 2.7.4 #3472
- Upgrade Spring Boot to 2.6.12 #3471
- Upgrade testcontainers to 1.17.5 #3470
- Upgrade junit 5.9.1, assertj to 3.23.1, mockito to 4.8.0, archunit to 1.0.0 #3469
- Upgrade wavefront-sdk-java to 3.0.3 #3467
- Upgrade signalfx-java to 1.0.24 #3466
- Upgrade AWS SDK to 1.12.318 and 2.17.289 #3465
- Upgrade netty to 4.1.81 reactor-netty to 1.0.23 and reactor to 3.4.23 #3464
- Upgrade gradle-download-task plugin to 5.2.1 #3463
- Upgrade nebula-release-plugin to 16.1.0 #3462
- Upgrade Spring Java Format dependencies to 0.0.35 #3459
- Properly pin gradle-info-plugin to 11.4.1 #3441
📝 Tasks
- Update OtlpMeterRegistryTest to run builds on Java 19 #3431
- Pin wiremock-jre8-standalone to 2.33.+ for 1.8.x and 1.9.x #3468
- Reduce flakiness of StatsdMeterRegistryPublishTest #3447
- Update TagsTest to run builds on Java 19 #3437
- Upgrade to JApicmp Gradle Plugin 0.4.1 #3435
- Support message supplier in WarnThenDebugLogger #3424
- Ignore METHOD_NEW_DEFAULT binary compatibility #3181
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
1.8.11
🐞 Bug Fixes
- New Relic module fails on the module path #3412
🔨 Dependency Upgrades
- Upgrade Spring Boot to 2.6.12 #3471
- Upgrade testcontainers to 1.17.5 #3470
- Upgrade junit 5.9.1, assertj to 3.23.1, mockito to 4.8.0, archunit to 1.0.0 #3469
- Upgrade wavefront-sdk-java to 3.0.3 #3467
- Upgrade signalfx-java to 1.0.24 #3466
- Upgrade AWS SDK to 1.12.318 and 2.17.289 #3465
- Upgrade netty to 4.1.81 reactor-netty to 1.0.23 and reactor to 3.4.23 #3464
- Upgrade gradle-download-task plugin to 5.2.1 #3463
- Upgrade nebula-release-plugin to 16.1.0 #3462
- Upgrade Spring Java Format dependencies to 0.0.35 #3459
- Properly pin gradle-info-plugin to 11.4.1 #3441
📝 Tasks
- Pin wiremock-jre8-standalone to 2.33.+ for 1.8.x and 1.9.x #3468
- Reduce flakiness of StatsdMeterRegistryPublishTest #3447
- Update TagsTest to run builds on Java 19 #3437
- Upgrade to JApicmp Gradle Plugin 0.4.1 #3435
- Support message supplier in WarnThenDebugLogger #3424
- Ignore METHOD_NEW_DEFAULT binary compatibility #3181
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
1.10.0-M6
1.10.0-M5
⭐ New Features
- Add "createNotStarted" method that lazily creates context #3401
- Context allows modification of KeyValues #3383
- Cloudwatch max batchSize was increased from 20 to 1000 #3376
- Events in DocumentedObservation #3367
- signalfx: remove unnecessary allocation if the distribution summary does not have histogram #3364
- Remote service name for sender context #3363
- Common ResponseContext interface for interacting with the response #3362
- JDK11 HttpClient instrumentation #3358
- Abstraction for instrumentating with a Timer or Observation (optionally) #3357
- [signalfxregistry]: Add option to send delta histogram count buckets. #3350
- Apache HTTP client instrumentation with Observation #3312
🐞 Bug Fixes
- signalfx: add tests for emiting percentile and histograms, fix timer #3369
🔨 Dependency Upgrades
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
1.9.4
⭐ New Features
- HTTP server instrumentation TCK #3379
🐞 Bug Fixes
- system.cpu.usage missing with OpenJ9 0.33.0 #3349
- Uri tag replaced with REDIRECTION on all HTTP redirect responses with Jersey server #3327
🔨 Dependency Upgrades
- Upgrade to signalfx-java 1.0.23 #3407
- Upgrade to aws-java-sdk-cloudwatch 1.12.300 and software.amazon.awssdk:cloudwatch 2.17.271 #3406
- Upgrade to Reactor 2020.0.22 and netty 4.1.81 #3405
- Upgrade to Test Retry Gradle Plugin 1.4.1 #3380
- Bump com.gradle.enterprise from 3.10.3 to 3.11.1 #3353
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
1.8.10
⭐ New Features
- HTTP server instrumentation TCK #3379
🐞 Bug Fixes
- system.cpu.usage missing with OpenJ9 0.33.0 #3349
- Uri tag replaced with REDIRECTION on all HTTP redirect responses with Jersey server #3327
🔨 Dependency Upgrades
- Upgrade to signalfx-java 1.0.23 #3407
- Upgrade to aws-java-sdk-cloudwatch 1.12.300 and software.amazon.awssdk:cloudwatch 2.17.271 #3406
- Upgrade to Reactor 2020.0.22 and netty 4.1.81 #3405
- Upgrade to Test Retry Gradle Plugin 1.4.1 #3380
- Bump com.gradle.enterprise from 3.10.3 to 3.11.1 #3353
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
1.10.0-M4
⭐ New Features
- Generify throwable in CheckedCallable/CheckedRunnable #3326
- Scoped checked actions #3323
- ObservationContextAssert now asserts ContextView, add parentObservation assertions #3304
- Add ObservationRegistry hasRemainingCurrentScope and similar assertions #3303
- Add getContextualName(Context c) on Observation.Convention #3301
- Receiver and SenderContext #3293
- Added option to set a parent Observation on an existing Observation #3291
- Introduces GlobalObservationConvention #3285
- Declare HdrHistogram as a runtime dependency #3263
- Observe instantaneous events #3100
- Add primitive Suppliers to Timer and LongTaskTimer #1304
🐞 Bug Fixes
- DocumentedObservation may always override contextual name to null #3307
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
1.9.3
⭐ New Features
- Make descriptions static for cache metrics #3321
- Avoid allocation of iterator with Tags#empty instance #3313
🐞 Bug Fixes
- HttpClientTimingInstrumentationVerificationTests cannot be implemented #3308
ClassNotFoundException
is thrown in a non-Spring Boot application when excludingLatencyUtils
#3287- Return value of LongTaskTimer#record and recordCallable is not marked Nullable #3284
🔨 Dependency Upgrades
- Upgrade to io.dropwizard.metrics:metrics-graphite 4.2.11 #3340
- Backport unpinning of de.flapdoodle.embed.mongo version #3339
- Upgrade to netty 4.1.79, reactor-bom 2020.0.21 #3338
- Upgrade to signalfx-java 1.0.21 #3337
- Upgrade to io.dropwizard.metrics:metrics-graphite 4.1.33 #3336
- Upgrade to aws-java-sdk-cloudwatch 1.12.276 and software.amazon.awssdk:cloudwatch:2.17.247 #3335
- Upgrade to Gradle Wrapper 7.5.1 #3334
- Upgrade io.spring.ge.conventions to 0.0.11 #3289
❤️ Contributors
We'd like to thank all the contributors who worked on this release!