{{ message }}
Tags: prometheus/client_java
Tags
chore(main): release 1.8.0 (#2192) 🤖 I have created a release *beep* *boop* --- ## [1.8.0](v1.7.0...v1.8.0) (2026-06-11) ### Features * Add custom labels to exemplars ([#2191](#2191)) ([fd1f3e8](fd1f3e8)) * add MetricMetadata.Builder, deprecate wide constructors ([#2202](#2202)) ([adeef32](adeef32)) ### Bug Fixes * Avoid unnuecessary exemplar allocations ([#2209](#2209)) ([0b6a91f](0b6a91f)) * **deps:** update spring boot to v4.1.0 ([#2213](#2213)) ([df25c08](df25c08)) ### Documentation * cover typed family descriptors and @stableAPI since v1.6.1 ([#2181](#2181)) ([7ca9f99](7ca9f99)) --- > [!IMPORTANT] > Close and reopen this PR to trigger CI checks. --------- Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
chore(main): release 1.7.0 (#2092) 🤖 I have created a release *beep* *boop* --- ## [1.7.0](v1.6.1...v1.7.0) (2026-06-03) ### Features * Add StableApi marker and API diff check ([#2168](#2168)) ([768fd3a](768fd3a)) * add typed metric family descriptors ([#2114](#2114)) ([9c3b097](9c3b097)) * track api-diff baseline via Renovate and store diffs in docs/apidiffs ([#2174](#2174)) ([3adb890](3adb890)) ### Bug Fixes * **deps:** update dependency com.github.ben-manes.caffeine:caffeine to v3.2.4 ([#2088](#2088)) ([144eb61](144eb61)) * **deps:** update dependency io.dropwizard.metrics:metrics-core to v4.2.39 ([#2139](#2139)) ([5817d13](5817d13)) * **deps:** update dependency io.dropwizard.metrics5:metrics-core to v5.0.7 ([#2140](#2140)) ([261c451](261c451)) * **deps:** update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.28.0-alpha ([#2126](#2126)) ([b62b5d0](b62b5d0)) * **deps:** update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.28.0-alpha ([#2127](#2127)) ([e11ce3d](e11ce3d)) * **deps:** update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.28.1-alpha ([#2132](#2132)) ([b09be38](b09be38)) * **deps:** update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.28.1-alpha ([#2133](#2133)) ([a241c16](a241c16)) * **deps:** update dependency org.apache.tomcat.embed:tomcat-embed-core to v11.0.22 ([#2099](#2099)) ([22125c5](22125c5)) * **deps:** update jetty monorepo to v12.1.10 ([#2169](#2169)) ([ddd3991](ddd3991)) * **deps:** update jetty monorepo to v12.1.9 ([#2102](#2102)) ([04bee70](04bee70)) * **deps:** update protobuf ([#2129](#2129)) ([320538a](320538a)) * Reduce allocations for classic histogram buckets ([#2081](#2081)) ([edd160a](edd160a)) * restore legacy suffix compatibility ([#2100](#2100)) ([b2ae70f](b2ae70f)) * restore reserved suffix stripping in `PrometheusNaming.sanitizeMetricName()` ([#2124](#2124)) ([2d0f508](2d0f508)) ### Performance Improvements * Refactored sorting to use optimized sort algorithms ([#2161](#2161)) ([25b94fc](25b94fc)) ### Documentation * clarify downstream adapter validation requirements ([#2101](#2101)) ([ef8c75c](ef8c75c)) * Document OM2 ([#2059](#2059)) ([45d753c](45d753c)) * document PushGateway shading workaround ([#2106](#2106)) ([8ca0eb8](8ca0eb8)) --- > [!IMPORTANT] > Close and reopen this PR to trigger CI checks. Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
chore(main): release 1.6.1 (#2064) 🤖 I have created a release *beep* *boop* --- ## [1.6.1](v1.6.0...v1.6.1) (2026-04-27) ### Bug Fixes * Preserve original metric names in OM2 output ([#2058](#2058)) ([59a7a6d](59a7a6d)) ### Documentation * clarify 1.6.0 release notes ([#2062](#2062)) ([9e5d591](9e5d591)) * Document semantic PR title guidance ([#2060](#2060)) ([7277889](7277889)) --- > [!IMPORTANT] > Close and reopen this PR to trigger CI checks. --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
chore(main): release 1.6.0 (#1983) 🤖 I have created a release *beep* *boop* --- ## [1.6.0](v1.5.1...v1.6.0) (2026-04-25) ### Features * Add logic for handling content negotation flag with OM2 ([#1986](#1986)) ([0fa1ad7](0fa1ad7)) * Add OM2 native histogram text output ([#2042](#2042)) ([dec8e5b](dec8e5b)) * add OTel preserve_names for scrape-time suffix handling ([#1956](#1956)) ([f794288](f794288)) * compositeValues and exemplarCompliance flags for OM2 writer ([#1991](#1991)) ([ff48ae8](ff48ae8)) * move suffix handling to scrape time ([#1955](#1955)) ([5a5106c](5a5106c)) * OM2 writer outputs names as provided, no suffix appending ([#1957](#1957)) ([5ce2b57](5ce2b57)) ### Bug Fixes * **deps:** update dependency com.google.guava:guava to v33.6.0-jre ([#2021](#2021)) ([1382693](1382693)) * **deps:** update dependency commons-io:commons-io to v2.22.0 ([#2044](#2044)) ([9e05c1d](9e05c1d)) * **deps:** update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.27.0-alpha ([#2022](#2022)) ([30ac534](30ac534)) * **deps:** update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.27.0-alpha ([#2023](#2023)) ([2d51a32](2d51a32)) * **deps:** update dependency io.prometheus:prometheus-metrics-bom to v1.5.1 ([#2004](#2004)) ([650ce4b](650ce4b)) * **deps:** update dependency org.apache.tomcat.embed:tomcat-embed-core to v11.0.21 ([#2005](#2005)) ([7a36df7](7a36df7)) * **deps:** update dependency org.springframework.boot:spring-boot-starter-parent to v4.0.5 ([#2006](#2006)) ([0106c18](0106c18)) * **deps:** update dependency org.springframework.boot:spring-boot-starter-parent to v4.0.6 ([#2046](#2046)) ([40a9db8](40a9db8)) * **deps:** update jetty monorepo to v12.1.8 ([#2007](#2007)) ([acab5b2](acab5b2)) * **deps:** update protobuf ([#2024](#2024)) ([8e2214e](8e2214e)) * pass release tag as input to deploy workflow ([#1982](#1982)) ([165c921](165c921)) * pin grafana/otel-lgtm to 0.7.2 in OATs acceptance test ([#1992](#1992)) ([f17ad9a](f17ad9a)) * Relax metric name validation in Dropwizard5 ([#1985](#1985)) ([deb782f](deb782f)) * stabilize flaky timer and thread count tests ([#1973](#1973)) ([ce5867b](ce5867b)) * Tighten OM2 summary and start timestamp output ([#2041](#2041)) ([5699469](5699469)) * trigger Maven deploy from release-please via workflow_dispatch ([#1981](#1981)) ([698f956](698f956)) --- > [!IMPORTANT] > Close and reopen this PR to trigger CI checks. Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
chore(main): release 1.5.1 (#1979) 🤖 I have created a release *beep* *boop* --- ## [1.5.1](v1.5.0...v1.5.1) (2026-03-20) ### Bug Fixes * **deps:** update dependency io.prometheus:prometheus-metrics-bom to v1.5.0 ([#1877](#1877)) ([043fc57](043fc57)) * **deps:** update dependency org.springframework.boot:spring-boot-starter-parent to v4.0.3 ([#1900](#1900)) ([0d800d0](0d800d0)) * **deps:** update jetty monorepo to v12.1.7 ([#1932](#1932)) ([5bd3b79](5bd3b79)) * **deps:** update junit-framework monorepo to v6.0.3 ([#1880](#1880)) ([05ad751](05ad751)) * exclude standalone examples from `mise run format` ([#1931](#1931)) ([537fb88](537fb88)) * fix release-please PR title pattern and permissions ([#1978](#1978)) ([d737978](d737978)) * Handle empty datapoints in otel exporter ([#1898](#1898)) ([59c8552](59c8552)) * inline set-version logic in build-release.sh ([#1884](#1884)) ([c050435](c050435)) * reduce lychee retries to avoid compounding GitHub 429s ([#1940](#1940)) ([cc17d6e](cc17d6e)) * remove version manipulation from build-release.sh ([#1886](#1886)) ([93e2b6d](93e2b6d)) * trigger Maven deploy on release-please published events ([#1966](#1966)) ([643d0e7](643d0e7)) * use /tree/ instead of /blob/ for directory URL ([#1944](#1944)) ([b81332e](b81332e)) * use maven release type for release-please ([#1967](#1967)) ([ff3bd2d](ff3bd2d)) ### Documentation * document DCO sign-off requirement for contributions ([#1937](#1937)) ([0860e77](0860e77)) --- > [!IMPORTANT] > Close and reopen this PR to trigger CI checks. Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
chore(deps): update dependency lychee to v0.23.0 (#1874) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [lychee](https://redirect.github.com/lycheeverse/lychee) | minor | `0.22.0` → `0.23.0` | --- ### Release Notes <details> <summary>lycheeverse/lychee (lychee)</summary> ### [`v0.23.0`](https://redirect.github.com/lycheeverse/lychee/releases/tag/lychee-v0.23.0) [Compare Source](https://redirect.github.com/lycheeverse/lychee/compare/lychee-v0.22.0...lychee-v0.23.0) ##### Added - per-host caching ([#​1974](https://redirect.github.com/lycheeverse/lychee/pull/1974)) - implement per-host rate limiting and statistics ([#​1929](https://redirect.github.com/lycheeverse/lychee/pull/1929)) ##### Fixed - CacheableResponse should only download file when needed ([#​2035](https://redirect.github.com/lycheeverse/lychee/pull/2035)) - Combine host stats with response stats ([#​1975](https://redirect.github.com/lycheeverse/lychee/pull/1975)) ##### Other - delete leftover openssl sentence in readme - Speed up slow tests ([#​2019](https://redirect.github.com/lycheeverse/lychee/pull/2019)) - *(deps)* bump the dependencies group with 2 updates - Improve README.md UX ([#​2029](https://redirect.github.com/lycheeverse/lychee/pull/2029)) - Replace OpenSSL with rustls ([#​1928](https://redirect.github.com/lycheeverse/lychee/pull/1928)) - Replace check-if-email-exists with mailify ([#​1985](https://redirect.github.com/lycheeverse/lychee/pull/1985)) - Redirect hint ([#​2020](https://redirect.github.com/lycheeverse/lychee/pull/2020)) - Update to reqwest 0.13.1 & cargo update - *(deps)* bump the dependencies group across 1 directory with 4 updates - Use absolute instead of canonicalize for relative root-dir ([#​2008](https://redirect.github.com/lycheeverse/lychee/pull/2008)) - Log successful responses only for Debug and Trace - Only show redirect details in verbose mode - Show status code in redirect list - Use u8 instead of i8 for log level values - Update comparison table ([#​1997](https://redirect.github.com/lycheeverse/lychee/pull/1997)) - Rejected urls ([#​1990](https://redirect.github.com/lycheeverse/lychee/pull/1990)) - Accept ranges ([#​1989](https://redirect.github.com/lycheeverse/lychee/pull/1989)) - *(deps)* bump the dependencies group with 5 updates ([#​1988](https://redirect.github.com/lycheeverse/lychee/pull/1988)) - *(deps)* bump the dependencies group with 4 updates ([#​1978](https://redirect.github.com/lycheeverse/lychee/pull/1978)) - *(deps)* bump the dependencies group with 4 updates ([#​1973](https://redirect.github.com/lycheeverse/lychee/pull/1973)) - *(docs)* update TOC - Improve wikilink parsing and checking ([#​1799](https://redirect.github.com/lycheeverse/lychee/pull/1799)) - Specify that Scoop installation is for Windows ([#​1969](https://redirect.github.com/lycheeverse/lychee/pull/1969)) - Extract record\_cache\_event & skip mail caching - Add tldr-pages link to README ([#​1963](https://redirect.github.com/lycheeverse/lychee/pull/1963)) - *(deps)* bump the dependencies group across 1 directory with 3 updates ([#​1961](https://redirect.github.com/lycheeverse/lychee/pull/1961)) - Extract URLs from CSS ([#​1956](https://redirect.github.com/lycheeverse/lychee/pull/1956)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/prometheus/client_java). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My44LjUiLCJ1cGRhdGVkSW5WZXIiOiI0My44LjUiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
UTF-8 support in metric and label names (#1255) Adds UTF-8 support for metric and label names. These changes are based on the work done on the Prometheus common libraries [here](prometheus/common#537) and [here](prometheus/common#570) - The `prometheus-metrics-exposition-formats` module will use the new quoting syntax `{"foo"}` iff the metric does not conform to the legacy name format (`foo{}`) - The `prometheus-metrics-model` module has a new flag (`nameValidationScheme`) that determines if validation is done using the legacy or the UTF-8 scheme. This flag can be set via a property in the properties file. - Scrapers can announce via content negotiation that they support UTF-8 names by adding `escaping=allow-utf-8` in the Accept header. In cases where UTF-8 is not available, metric providers can be configured to escape names in a few different ways: values (`U__` UTF value escaping for perfect round-tripping), underscores (all invalid chars become `_`), dots (dots become `_dot_`, `_` becomes `__`, all other values become `___`). Escaping has a global default (`PrometheusNaming.DEFAULT_ESCAPING_SCHEME`) or can also be specified in Accept header with the `escaping=` term, which can be `allow-utf-8` (for UTF-8-compatible), `underscores`, `dots`, or `values`. This should still be a noop for existing configurations because scrapers will not be passing the escaping key in the Accept header. Existing functionality is maintained. - The `prometheus-metrics-exporter-pushgateway` module will [escape](https://github.com/prometheus/proposals/blob/main/proposals/2023-08-21-utf8.md#text-escaping) UTF-8 grouping keys in the URL path used when pushing metrics (see prometheus/pushgateway#689) Work towards prometheus/prometheus#13095 --------- Signed-off-by: Federico Torres <federico.torres@grafana.com> Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com> Co-authored-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
PreviousNext
