1.9.0 (2026-09-16)
- avoid protobuf debug reflection in native images (#2251) (7f899e7)
- bound HTTPServer request resources (#2333) (33ec556)
- bound observation buffering during collection (#2336) (43788f5)
- bound scrape query parameters (#2334) (27e1912)
- ci: skip benchmark report for skipped runs (#2422) (40eddb0)
- clarify benchmark regression report verdicts (#2394) (e5fa067)
- deps: update dependency com.google.guava:guava to v33.7.0-jre (#2387) (bf0db49)
- deps: update dependency io.dropwizard.metrics:metrics-core to v4.2.40 (#2432) (dd88326)
- deps: update dependency io.dropwizard.metrics5:metrics-core to v5.0.8 (#2433) (42f3c8a)
- deps: update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.29.0-alpha (#2235) (cf9f702)
- deps: update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.30.0-alpha (#2328) (1ca2716)
- deps: update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.30.0-alpha (#2330) (07623c1)
- deps: update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.31.0-alpha (#2401) (6c26619)
- deps: update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.31.0-alpha (#2402) (ac0d68a)
- deps: update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.31.1-alpha (#2409) (5eea652)
- deps: update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.31.1-alpha (#2410) (0bcef89)
- deps: update dependency org.apache.tomcat.embed:tomcat-embed-core to v11.0.23 (#2241) (a017f80)
- deps: update dependency org.apache.tomcat.embed:tomcat-embed-core to v11.0.24 (#2294) (63967bd)
- deps: update dependency org.apache.tomcat.embed:tomcat-embed-core to v11.0.25 (#2389) (92f8344)
- deps: update dependency org.apache.tomcat.embed:tomcat-embed-core to v11.0.26 (#2477) (05146c0)
- deps: update dependency org.springframework.boot:spring-boot-starter-parent to v4.1.1 (#2399) (a0b0880)
- deps: update jetty monorepo to v12.1.11 (#2279) (4dc54da)
- deps: update jetty monorepo to v12.1.12 (#2371) (08967e0)
- deps: update jetty monorepo to v12.1.13 (#2459) (b217f05)
- deps: update junit-framework monorepo to v6.1.2 (#2300) (5966d1d)
- deps: update junit-framework monorepo to v6.1.3 (#2374) (d1ade52)
- deps: update otel.instrumentation.version (#2236) (158230d)
- deps: update protobuf (#2400) (e2db1ed)
- deps: update protobuf (#2438) (8ad6fa8)
- deps: update protobuf to v4.35.1 (#2221) (cf17073)
- disable micrometer compat build cache (#2457) (6a40eda)
- drop +Inf bound from OpenTelemetry classic histogram boundaries (#2458) (a3bce9a)
- exposition: export internal package for OSGi resolution (#2415) (28b503d)
- httpserver: make scrape error responses secure and configurable (f6d9df5)
- include counter names in negative value errors (#2315) (ea8f935)
- include license files in release source jars (#2250) (08cf925), closes #2216
- keep late observations out of subsequent collection buffers (#2471) (d78b149)
- keep PR title check required after rebases (#2414) (e3d4c3b)
- prevent buffer stripe index overflow (#2331) (b6cd000)
- redact invalid configuration values (#2335) (7e7e533)
- show uncertainty in benchmark comparisons (#2476) (398d087)
- stabilize OpenTelemetry exporter builder API (#2257) (09e6e2d)
- Summary quantiles collapsing for targeted quantiles with 2*epsilon >= 1-quantile (#2396) (9c7479f)
- update component-prefixed action tags (#2419) (4acf481)
- add API design guideline to contributing docs (#2350) (23ae29a)
- document scrape query limits in request API (#2391) (ba8f5eb)
- document semantic PR title guidance (#2318) (5e813a0)
1.8.0 (2026-06-11)
- Add custom labels to exemplars (#2191) (fd1f3e8)
- add MetricMetadata.Builder, deprecate wide constructors (#2202) (adeef32)
- Avoid unnuecessary exemplar allocations (#2209) (0b6a91f)
- deps: update spring boot to v4.1.0 (#2213) (df25c08)
1.7.0 (2026-06-03)
- Add StableApi marker and API diff check (#2168) (768fd3a)
- add typed metric family descriptors (#2114) (9c3b097)
- track api-diff baseline via Renovate and store diffs in docs/apidiffs (#2174) (3adb890)
- deps: update dependency com.github.ben-manes.caffeine:caffeine to v3.2.4 (#2088) (144eb61)
- deps: update dependency io.dropwizard.metrics:metrics-core to v4.2.39 (#2139) (5817d13)
- deps: update dependency io.dropwizard.metrics5:metrics-core to v5.0.7 (#2140) (261c451)
- deps: update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.28.0-alpha (#2126) (b62b5d0)
- deps: update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.28.0-alpha (#2127) (e11ce3d)
- deps: update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.28.1-alpha (#2132) (b09be38)
- deps: update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.28.1-alpha (#2133) (a241c16)
- deps: update dependency org.apache.tomcat.embed:tomcat-embed-core to v11.0.22 (#2099) (22125c5)
- deps: update jetty monorepo to v12.1.10 (#2169) (ddd3991)
- deps: update jetty monorepo to v12.1.9 (#2102) (04bee70)
- deps: update protobuf (#2129) (320538a)
- Reduce allocations for classic histogram buckets (#2081) (edd160a)
- restore legacy suffix compatibility (#2100) (b2ae70f)
- restore reserved suffix stripping in
PrometheusNaming.sanitizeMetricName()(#2124) (2d0f508)
- clarify downstream adapter validation requirements (#2101) (ef8c75c)
- Document OM2 (#2059) (45d753c)
- document PushGateway shading workaround (#2106) (8ca0eb8)
1.6.1 (2026-04-27)
Note: With the OM2 metric-name preservation fix in this release, OpenMetrics 2.0 can now be tested. It is still in progress and not ready for general use yet.
1.6.0 (2026-04-25)
Note: OpenMetrics 2.0 support is still in progress and not ready for general use yet.
As part of the OM2 work, metric-name suffix handling moved from metric creation time to scrape time. A positive side effect is that metric names are now more flexible across the board, for example names ending in suffixes like
_totalare accepted where they were previously rejected. To keep the Prometheus and OM1 output unambiguous, the registry tracks claimed exposition names and still rejects registrations that would collide at scrape time.Downstream adapter libraries that implement
MultiCollectorneed their registration-time metadata to match the metric families they emit at scrape time. When upgrading to 1.6.0+, adapter registration metadata needs to stay aligned with emitted names, types, label names, and suffix behavior under the new collision model. See also: Validation at registration only
Example Before 1.6.0 Since 1.6.0 Reason Gauge("foo_total")Rejected Allowed Not breaking because this previously failed at registration, so no working setup changes behavior, and safe because _totalsuffix expansion applies to counters, not gauges.Counter("events_total")Rejected Allowed Not breaking because the OM1 output is still events_total; only the builder now accepts the name.Gauge("foo_total")+Histogram("foo")Rejected Allowed Not breaking because this combination used to be blocked even though the exposed names do not overlap. Gauge("events_total")+Counter("events")Rejected Rejected Not breaking because the ambiguous OM1 output would still expose two events_totalseries.Gauge("foo_count")+Histogram("foo")Allowed Rejected Intentionally breaking because the old behavior could expose a conflicting foo_countname at scrape time.
- deps: update dependency com.google.guava:guava to v33.6.0-jre (#2021) (1382693)
- deps: update dependency commons-io:commons-io to v2.22.0 (#2044) (9e05c1d)
- deps: update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.27.0-alpha (#2022) (30ac534)
- deps: update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.27.0-alpha (#2023) (2d51a32)
- deps: update dependency io.prometheus:prometheus-metrics-bom to v1.5.1 (#2004) (650ce4b)
- deps: update dependency org.apache.tomcat.embed:tomcat-embed-core to v11.0.21 (#2005) (7a36df7)
- deps: update dependency org.springframework.boot:spring-boot-starter-parent to v4.0.5 (#2006) (0106c18)
- deps: update dependency org.springframework.boot:spring-boot-starter-parent to v4.0.6 (#2046) (40a9db8)
- deps: update jetty monorepo to v12.1.8 (#2007) (acab5b2)
- deps: update protobuf (#2024) (8e2214e)
- pass release tag as input to deploy workflow (#1982) (165c921)
- pin grafana/otel-lgtm to 0.7.2 in OATs acceptance test (#1992) (f17ad9a)
- stabilize flaky timer and thread count tests (#1973) (ce5867b)
- trigger Maven deploy from release-please via workflow_dispatch (#1981) (698f956)
1.5.1 (2026-03-20)
- deps: update dependency io.prometheus:prometheus-metrics-bom to v1.5.0 (#1877) (043fc57)
- deps: update dependency org.springframework.boot:spring-boot-starter-parent to v4.0.3 (#1900) (0d800d0)
- deps: update jetty monorepo to v12.1.7 (#1932) (5bd3b79)
- deps: update junit-framework monorepo to v6.0.3 (#1880) (05ad751)
- exclude standalone examples from
mise run format(#1931) (537fb88) - fix release-please PR title pattern and permissions (#1978) (d737978)
- Handle empty datapoints in otel exporter (#1898) (59c8552)
- inline set-version logic in build-release.sh (#1884) (c050435)
- reduce lychee retries to avoid compounding GitHub 429s (#1940) (cc17d6e)
- remove version manipulation from build-release.sh (#1886) (93e2b6d)
- trigger Maven deploy on release-please published events (#1966) (643d0e7)
- use /tree/ instead of /blob/ for directory URL (#1944) (b81332e)
- use maven release type for release-please (#1967) (ff3bd2d)