17292 Commits

Author SHA1 Message Date
Julien
f0f0fdd679
Merge pull request #18517 from roidelapluie/roidelapluie/cut-3.11.2
Release 3.11.2
v0.311.2 v3.11.2
2026-04-13 13:39:08 +02:00
Julien Pivotto
f08b9837f9 Release 3.11.2
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-04-13 13:12:35 +02:00
Julien
931b2daf6f
Merge pull request #18510 from mrvarmazyar/fix/consul-health-filter-config-fixtures
config: add consul health_filter fixture coverage
2026-04-13 10:51:00 +02:00
Mohammad Varmazyar
06b7f1f625 config: add consul health_filter fixture coverage
Signed-off-by: Mohammad Varmazyar <mrvarmazyar@gmail.com>
2026-04-10 23:36:56 +02:00
Julien
fac097b161
Merge pull request #18499 from roidelapluie/roidelapluie/consul-health-filter-3.11
discovery/consul: add health_filter for Health API filtering
2026-04-10 15:15:47 +02:00
Julien
d09ea56b38
Update docs/configuration/configuration.md
Co-authored-by: George Krajcsovits <krajorama@users.noreply.github.com>
Signed-off-by: Julien <291750+roidelapluie@users.noreply.github.com>
2026-04-10 14:50:54 +02:00
Julien
e95d2e38e3
Merge pull request #18506 from roidelapluie/roidelapluie/backport-xss-issue
UI: Fix stored XSS via unescaped metric names and labels
2026-04-10 14:17:05 +02:00
Julius Volz
fddbccf79b UI: Fix stored XSS via unescaped metric names and labels
Metric names, label names, and label values containing HTML/JavaScript were
inserted into `innerHTML` without escaping in several UI code paths, enabling
stored XSS attacks via crafted metrics. This mostly becomes exploitable in
Prometheus 3.x, since it defaults to allowing any UTF-8 characters in metric
and label names.

Apply `escapeHTML()` to all user-controlled values before innerHTML
insertion in:

* Mantine UI chart tooltip
* Old React UI chart tooltip
* Old React UI metrics explorer fuzzy search
* Old React UI heatmap tooltip

See https://github.com/prometheus/prometheus/security/advisories/GHSA-vffh-x6r8-xx99

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2026-04-10 11:25:03 +02:00
Julien Pivotto
4cc50803ff discovery/consul: fix catalog watch trigger and improve filter tests
When health_filter is set without explicit services, the catalog needs
to be watched to enumerate services. Add watchedFilter to the condition
that triggers catalog watching.

Improve the filter test suite:
- Replace defer with t.Cleanup for stub servers.
- Rewrite TestFilterOption to assert that the catalog receives the filter
  and the health endpoint does not.
- Rewrite TestHealthFilterOption to assert that health_filter is routed
  correctly to the health endpoint only.
- Add TestBothFiltersOption to verify both filters are routed to their
  respective endpoints when both are configured.

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-04-10 10:26:40 +02:00
Julien Pivotto
1e73d2fcde discovery/consul: add health_filter for Health API filtering
The filter field was documented as targeting the Catalog API but since
PR #17349 it was also passed to the Health API. This broke existing
configs using Catalog-only fields like ServiceTags, which the Health API
rejects (it uses Service.Tags instead).

Introduce a separate health_filter field that is passed exclusively to
the Health API, while filter remains catalog-only. Update the docs to
explain the two-phase discovery (Catalog for service listing, Health for
instances) and the field name differences between the two APIs.

Fixes #18479

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-04-09 16:03:16 +02:00
Julien
1bd2f3a9fd
Merge pull request #18473 from roidelapluie/roidelapluie/cut-3.11.1
Release 3.11.1
v0.311.1 v3.11.1
2026-04-07 16:55:05 +02:00
Julien Pivotto
9678641c33 Release 3.11.1
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-04-07 15:57:30 +02:00
Julien
9eaede1743
Merge pull request #18469 from roidelapluie/roidelapluie/tracing-fix-insecure-http-3.11
tracing: fix startup failure for insecure OTLP HTTP tracing
2026-04-07 14:41:22 +02:00
Julien Pivotto
027b76396d tracing: add regression test for HTTP insecure mode
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-04-07 12:11:59 +02:00
Jeon Insoo
b997a29e24 tracing: fix startup failure for insecure OTLP HTTP tracing
Signed-off-by: Jeon Insoo <mumberrymountain@gmail.com>
2026-04-07 12:05:30 +02:00
Julien
d7cd96cb98
Merge pull request #18429 from roidelapluie/roidelapluie/cut-3.11.0
Release 3.11.0
v3.11.0 v0.311.0
2026-04-02 12:17:59 +02:00
Julien Pivotto
9b12b3d226 Release 3.11.0
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-04-02 11:51:49 +02:00
Julien
608636c179
Merge pull request #18395 from roidelapluie/roidelapluie/cut-3.11.o-rc.0
Release 3.11.0-rc.0
2026-03-30 09:46:39 +02:00
Julien Pivotto
999a67cc04 Release 3.11.0-rc.0
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-03-27 16:08:11 +01:00
Julien
cb3382314d
Merge pull request #18374 from roidelapluie/roidelapluie/retention-percentage-float
tsdb: use float64 for retention percentage
2026-03-27 11:17:55 +01:00
Julien
3f40ca38e6
Merge pull request #18375 from roidelapluie/roidelapluie/fix-alert-state-restore-template-labels
rules: skip template labels when querying ALERTS_FOR_STATE for restore
2026-03-27 11:17:43 +01:00
Julien
5b1d22e2ce
Merge pull request #18376 from prometheus/superq/new_promci
chore: Use make target for protoc
2026-03-26 17:27:06 +01:00
Arve Knudsen
841e4a96b1
promql: add more info() test cases (#18367)
Add test cases for two edge cases in the info() function:
- Enrichment when inner series are missing one identifying label
- Conflicting labels across different info metrics should error

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2026-03-26 17:08:28 +01:00
SuperQ
9587b2ebc0
chore: Use make target for protoc
Migrate the CI scripting of installing protoc to a Makefile target.

Signed-off-by: SuperQ <superq@gmail.com>
2026-03-26 16:35:14 +01:00
Julien Pivotto
e5c77afc71 rules: skip template labels when querying ALERTS_FOR_STATE for restore
QueryForStateSeries built Select matchers from the raw rule labels,
which can contain Go template expressions such as
`instance_{{ $labels.instance }}`. The stored ALERTS_FOR_STATE series
carry the per-instance evaluated values (e.g. `instance_0`), so the
unevaluated template string never matched, leaving seriesByLabels empty
and silently skipping restoration for every active alert.

Fix by omitting any label whose value contains `{{` from the matcher
list. Static labels (including `__name__` and `alertname`) are never
templated and continue to scope the query to the correct rule. The
in-memory lookup against evaluated alert labels that follows is
unaffected, so the single-query-per-rule optimisation introduced in
#13980 is fully preserved.

Fixes #16883
Ref #13980
Ref #18364

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-03-26 15:06:01 +01:00
Julien
8fcd0a5d04
Merge pull request #18373 from roidelapluie/roidelapluie/npm-deps-3.11
chore: Update javascript dependencies for 3.11
2026-03-26 14:42:45 +01:00
Julien
d25e802337
Merge pull request #18372 from prometheus/superq/new_promci
chore: Update PromCI
2026-03-26 13:33:02 +01:00
Ayoub Mrini
9baa56474f
Merge pull request #18369 from machine424/cccd
release: automate CHANGELOG.md generation and improve release notes process
2026-03-26 12:58:28 +01:00
Julien Pivotto
3856195bb8 tsdb: use float64 for retention percentage
The retention.percentage config field was typed as uint, which silently
truncated fractional values. Setting percentage: 1.5 in prometheus.yml
resulted in a retention of 1%, with no warning or error.

Remove the redundant MaxPercentage > 100 clamp in main.go; the config
UnmarshalYAML already returns an error for out-of-range values before
this code is reached.

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-03-26 12:39:22 +01:00
machine424
bf730369bd
adjust and simplify
Signed-off-by: machine424 <ayoubmrini424@gmail.com>
2026-03-26 12:28:56 +01:00
Julien Pivotto
08fcc26479 chore: Update javascript dependencies for 3.11
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-03-26 12:14:28 +01:00
Julien
e8e223fccb
Merge pull request #18362 from roidelapluie/roidelapluie/go-dep-3.11
chore: Go dependencies update before 3.11
2026-03-26 12:07:34 +01:00
SuperQ
4a0186dedc
chore: Update PromCI
Migrate to new PromCI actions.
* Use direct repo actions instead of the setup / run pattern.
* Migrate check_proto action to inline.

Signed-off-by: SuperQ <superq@gmail.com>
2026-03-26 11:13:26 +01:00
Julien Pivotto
bcdc7cd80e chore: Go dependencies update before 3.11
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-03-26 10:56:14 +01:00
Pierluigi Lenoci
73902efbd0
discovery/vultr: upgrade govultr from v2 to v3 (#18347)
* discovery/vultr: upgrade govultr from v2 to v3

The govultr/v2 library is no longer actively maintained. Upgrade to
govultr/v3 (v3.28.1) which receives regular updates and security
patches.

The v3 library is API-compatible with v2 for the Instance.List
method used by the Vultr SD, with the only change being an
additional *http.Response return value.

Signed-off-by: Pierluigi Lenoci <pierluigi.lenoci@gmail.com>

* discovery/vultr: check HTTP response status code

Validate that the Vultr API returns a 2xx status code after listing
instances, as the *http.Response from govultr v3 is now available.

Signed-off-by: Pierluigi Lenoci <pierluigi.lenoci@gmail.com>

* discovery/vultr: fix linter error in error string capitalization

Error strings should not be capitalized per Go conventions (ST1005).

Signed-off-by: Pierluigi Lenoci <pierluigi.lenoci@gmail.com>

---------

Signed-off-by: Pierluigi Lenoci <pierluigi.lenoci@gmail.com>
2026-03-26 09:42:25 +01:00
Julius Volz
dd19e08663
Merge pull request #18336 from sakuuj/patch-1
docs: change 'standard variance' to 'variance', fix 'stdvar' description
2026-03-26 08:36:36 +00:00
Pavel Rysnik
69f6ade976 docs: update promql autocomplete
Signed-off-by: Pavel Rysnik <pavelrysnik@gmail.com>
2026-03-26 10:50:09 +03:00
machine424
31f0678cdf
release: automate CHANGELOG.md generation and improve release notes process
Adds `scripts/generate_release_notes.sh` to produce a structured CHANGELOG.md starting point using the Kubernetes release-notes tool. It handles both minor and patch releases.
`RELEASE.md` is updated to reference the script and drop the manual instructions.

Version examples are updated from 2.x to 3.x.

The `check_release_notes` CI workflow is extended to also run on `release-*` branches in order for the script to catch commits added to the release note , and the PR template wording is tightened.

Signed-off-by: machine424 <ayoubmrini424@gmail.com>
2026-03-25 20:20:35 +01:00
Julien
729cde8953
Merge pull request #18366 from roidelapluie/roidelapluie/xorfuzz
chunkenc: Add XOR/XOR2 fuzzing
2026-03-25 17:52:42 +01:00
Julien Pivotto
d23e69322e chunkenc: Add XOR/XOR2 fuzzing
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-03-25 17:05:47 +01:00
George Krajcsovits
1ec24a3295
promqltest: use AppenderV2 in load command (#18359)
* promqltest: use AppenderV2 in load command

Switch the PromQL test framework's load command from storage.Appender
to storage.AppenderV2 in appendSample, appendCustomHistogram and
appendTill. ST is set to 0 (unknown) for now; a follow-up will add
per-sample ST specification in load statements.

Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
Coded with Claude Sonnet 4.6.
Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>

* promqltest: fix unchecked Rollback error

Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
Coded with Claude Sonnet 4.6.
Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>

---------

Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
2026-03-25 11:09:41 +01:00
Julien
cfcc862182
Merge pull request #18353 from roidelapluie/roidelapluie/xor2app
tsdb/chunkenc: optimise XOR2 and varbit hot paths
2026-03-25 10:57:44 +01:00
Julien Pivotto
7a1a5e285f chunkenc: add extra tests
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-03-25 09:59:12 +01:00
Julien Pivotto
d8607cbd9b tsdb/chunkenc: optimise XOR2 and varbit hot paths
Use writeBitsFast instead of writeBits in putVarbitInt/putVarbitUint,
combining prefix and value into a single call per bucket. Inline the
common fast paths in XOR2 Append to avoid encodeJoint and putVarbitInt
calls for the typical dod=0 and 13-bit dod cases.

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-03-25 09:09:46 +01:00
George Krajcsovits
9670de1c35
Revert "annotations: add warning for ineffective sort in range queries (#16628)" (#18357)
This reverts commit 3f80815e1b0a31c57fcc8dfa1c527d8305d63578.
2026-03-24 16:33:38 +01:00
Bojun Kim
3f80815e1b
annotations: add warning for ineffective sort in range queries (#16628)
* feat(annotations): add warning for ineffective sort in range queries

Signed-off-by: poi1649 <bojun.kim@deliveryhero.com>

* feat(annotations): add Warning for sort_by_label and sort_by_label_desc as well

Signed-off-by: poi1649 <bojun.kim@deliveryhero.com>

* fix formatting

Signed-off-by: poi1649 <bojun.kim@deliveryhero.com>

* Apply suggestion from @poi1649

Signed-off-by: Bojun Kim <bojun.kim@deliveryhero.com>

* Apply suggestion from @poi1649

Signed-off-by: Bojun Kim <bojun.kim@deliveryhero.com>

* Update annotations.go

Signed-off-by: Bojun Kim <bojun.kim@deliveryhero.com>

* Update annotations.go

Signed-off-by: Bojun Kim <bojun.kim@deliveryhero.com>

* Update annotations.go

Signed-off-by: Bojun Kim <bojun.kim@deliveryhero.com>

* adjust formatting

Signed-off-by: poi1649 <bojun.kim@deliveryhero.com>

---------

Signed-off-by: poi1649 <bojun.kim@deliveryhero.com>
Signed-off-by: Bojun Kim <bojun.kim@deliveryhero.com>
2026-03-24 13:00:36 +01:00
Pierluigi Lenoci
afe0547899
promtool: redirect debug output to stderr (#18346)
The debug flag in `promtool test rules` writes diagnostic output
using fmt.Printf to stdout, which can interfere with machine-parseable
output (e.g. JUnit XML via --junit-output) and piped workflows.

Redirect all DEBUG lines to stderr using fmt.Fprintf(os.Stderr, ...),
consistent with the existing error output pattern already present in
the file (line 78).

Signed-off-by: Pierluigi Lenoci <pierluigi.lenoci@gmail.com>
2026-03-24 12:12:54 +01:00
Rushabh Mehta
df61021436
tsdb: Add series_state.json file to wal/ directory to track state (#18303)
* Add series_state.json file creation and updation logic.

Signed-off-by: Rushabh Mehta <mehtarushabh2005@gmail.com>

* Make comments follow the guidelines.

Signed-off-by: Rushabh Mehta <mehtarushabh2005@gmail.com>

* Fix linter complaints

Signed-off-by: Rushabh Mehta <mehtarushabh2005@gmail.com>

* Put PR behind feature flag fast-startup

Signed-off-by: Rushabh Mehta <mehtarushabh2005@gmail.com>

* Marshal updated information to file directly

Signed-off-by: Rushabh Mehta <mehtarushabh2005@gmail.com>

* Fix linter failures

Signed-off-by: Rushabh Mehta <mehtarushabh2005@gmail.com>

* Move series state code from head.go to head_wal.go

Signed-off-by: Rushabh Mehta <mehtarushabh2005@gmail.com>

* Fix nits

Signed-off-by: Rushabh Mehta <mehtarushabh2005@gmail.com>

* Add unit test

Signed-off-by: Rushabh Mehta <mehtarushabh2005@gmail.com>

---------

Signed-off-by: Rushabh Mehta <mehtarushabh2005@gmail.com>
2026-03-23 20:46:04 -07:00
Pavel Rysnik
354c0b262a
docs: change 'standard variance' to 'variance'
Update functions.md file, change 'standard variance' to 'variance' in function descriptions

Signed-off-by: Pavel Rysnik <126406830+sakuuj@users.noreply.github.com>
2026-03-23 18:42:45 +03:00
Bryan Boreham
7df2d13f00
Merge pull request #18282 from bboreham/agents-md
Add AGENTS.md file
2026-03-23 13:41:35 +00:00