Update all stable non-major dependencies #76

Open
renovate wants to merge 1 commit from renovate/all-stable-minor-patch into main
Member

This PR contains the following updates:

Package Type Update Change
docker.io/binwiederhier/ntfy (source) minor v2.20.1v2.25.0
docker.io/grafana/grafana minor 13.0.113.1.0
docker.io/grafana/loki patch 3.7.13.7.3
docker.io/library/nginx minor 1.29.71.31.2
docker.io/library/postgres minor 18.318.4
docker.io/library/redis minor 8.6.28.8.0
docker.io/onlyoffice/documentserver minor 9.3.19.4.0
docker.io/prom/alertmanager minor v0.31.1v0.33.1
docker.io/prom/prometheus minor v3.10.0v3.13.0
docker.io/prompve/prometheus-pve-exporter minor 3.8.23.9.0
ghcr.io/twin/gatus minor v5.35.0v5.36.0
https://github.com/ansible/ansible-lint action minor v26.3.0v26.6.0
mariadb minor 12.2.212.3.2
netbox minor v4.5.5v4.6.4
quay.io/hedgedoc/hedgedoc (source) minor 1.10.81.11.0
quay.io/oauth2-proxy/oauth2-proxy (source) patch v7.15.1v7.15.3

Release Notes

binwiederhier/ntfy (docker.io/binwiederhier/ntfy)

v2.25.0

Compare Source

This release adds password reset via email, and reworks email verification to use durable, link-based magic links (replacing the old in-memory 6-digit codes). Email stays optional at signup; a user can reset their password only once they have a verified "primary" (recovery)email.

All of this work is probably not useful for self-hosters, but it hopefully will be useful for me, since I do have to reset accounts on a regular basis.

Security issues:

  • Generate access tokens, IDs, and magic-link tokens with a cryptographically secure RNG (crypto/rand) instead of a clock-seeded PRNG

Features:

  • Add password reset via emailed magic link, with a "Forgot password" link on the login page and a ntfy user reset-pass CLI command for admins
  • Rework email verification to use durable, single-use, expiring magic links instead of in-memory 6-digit codes, and add a "primary" email (used for account recovery and as the X-Email: yes target) with verified/unverified state in the account UI
  • You can now clear/read messages and delete messages with a GET request (#​1771, thanks to @​lemmi for reporting and to @​wunter8 for implementing)
  • Add a reload button to the web app's action bar when running as an installed PWA, which clears the service worker caches and hard-refreshes the app
  • Add a "Back to app" link to the web app's login, signup, and password-reset pages (alongside the existing links), which previously had no way back to the app

Bug fixes + maintenance:

  • X-Email: yes (also true/1) now sends to your primary verified email regardless of the smtp-sender-verify setting (previously it was rejected unless verification was enabled); it requires being logged in with a verified address
  • Grant users full access to their own sync topic (st_...) so cross-device subscription sync works under auth-default-access: deny-all (#​733, #​1795, thanks to @​lmorchard for the contribution)
  • Support HTTP (non-TLS) S3-compatible endpoints by preserving the endpoint scheme, e.g. for a local MinIO instance (#​1794, #​1734, thanks to @​sskender for the contribution, and @​Kernald for reporting)
  • Stop silently stripping spaces from passwords while typing in the web app's login, signup, and password-reset forms (#​1246, thanks to @​aldem for reporting)
  • Update web app dependencies, including major-version upgrades to Vite (6 -> 8, now Rolldown-based), Material UI (5 -> 9), and Dexie (3 -> 4) (#​1800, #​1764, #​1767, #​1762, #​1766, #​1765, thanks Dependabot)
  • Play notification sounds in the web app even when the Notification API is unavailable, e.g. over plain HTTP or in browsers without notification support (#​1772, thanks to @​mitya12342 for the contribution)
  • Stop escaping <, >, and & as \u003c/\u003e/\u0026 in JSON responses (#​1511, #​1512, thanks to @​wunter8 for the contribution)
  • Fix the web app navbar not reflecting a topic reservation (lock icon, and "Reserve topic" -> "Change reservation"/"Remove reservation" menu) until a page reload, by persisting reservation and display-name changes onto already-subscribed topics during account sync
  • Reduce the web app's initial bundle size by ~300 KB (~50 KB gzipped) by lazy-loading the emoji picker dataset and the Markdown renderer, and by importing Material UI icons individually

v2.24.0

Compare Source

The main feature for this release is an in-memory ACL cache (auth-access-cache) that can help bring down the read load on the production database. The topic authorization queries are consistently the highest ranking queries on the database, so this will help quite a bit. The current database load is quite low, but I'm expecting it to increase as more users join and use ntfy.

Security issues:

  • Fix case-insensitive ACL topic matching on SQLite: an access control rule for secret no longer also matches a request for SECRET. SQLite's LIKE is case-insensitive for ASCII by default. PostgreSQL was unaffected. It's honestly incredible that this issue remained undetected for so long, especially while ntfy.sh was running on SQLite (it now runs on PostgreSQL).

Features:

  • Add opt-in in-memory ACL cache (auth-access-cache) that serves topic authorization without a database round-trip; off by default, intended for high-volume servers
  • Add ntfy --version flag to the CLI (#​1722, #​1748, thanks to @​sskender for the contribution, and @​Saucy9607 for reporting)

Bug fixes + maintenance:

v2.23.0

Compare Source

Features:

  • Add per-visitor rate limit on new topic creations (visitor-topic-creation-limit-burst / visitor-topic-creation-limit-replenish, defaults 100 burst / 1m replenish) to mitigate topic-enumeration / squatting attacks that inflate the in-memory topic map

Bug fixes + maintenance:

  • Remove stacktrace-js, stacktrace-gps, humanize-duration, and js-base64 from the web app to reduce dependency and security footprint
  • Restrict the publish dialog's local file preview to safe image types (png/jpg/gif/webp) to prevent same-origin script execution from blob URLs when previewing a crafted SVG (GHSA-j8hr-p342-xrmh, thanks to @​Venukamatchi for reporting)

v2.22.0

Compare Source

Bug fixes + maintenance:

v2.21.0

Compare Source

This release adds the ability to verify email addresses using the smtp-sender-verify flag. This is a change that is required because ntfy.sh was used to send unsolicited emails and the AWS SES account was suspended. Going forward, ntfy.sh won't be able to send emails unless the email address was verified ahead of time.

Features:

  • Add verified email recipients feature with smtp-sender-verify config flag, allowing server admins to require email
    address verification before sending email notifications (#​1681)
grafana/grafana (docker.io/grafana/grafana)

v13.1.0

Features and enhancements
Bug fixes
Breaking changes
Plugin development fixes & changes

v13.0.3

Features and enhancements
Bug fixes

v13.0.2: 13.0.2

Download page
What's new highlights

Features and enhancements
Bug fixes
  • DashboardDS: Fix Mixed panels not updating on time-range change with stale upstreams #​124894, @​ivanortegaalba
  • Jaeger: Fix log event timestamp unit conversion in trace view #​123707, @​ktw4071
  • K8s Dashboards: Fix folder permission check to use dashboards:create #​124942, @​mihai-turdean
  • PostgreSQL: Allow sql_engine to return results for EXPLAIN queries #​123246, @​sdague
  • Provisioning: Bump nanogit to v0.17.0 to fix pushes with repositories using git modules #​124140, @​MissingRoberto
  • RBAC: Quick fix for global datasource permissions (Enterprise)
  • Security: CVE-2026-9029
  • Security: CVE-2026-33382
  • Security: CVE-2026-42127
  • Security: CVE-2026-42129
  • Security: CVE-2026-10601
  • Security: CVE-2026-8609
  • Security: CVE-2026-8595
prometheus/alertmanager (docker.io/prom/alertmanager)

v0.33.1: 0.33.1 / 2026-07-04

Compare Source

  • [BUGFIX] doc: fix missing notification_reason field in webhook documentation (#​5329)
  • [BUGFIX] silences: fix silences snapshot missing legacy matchers field. This caused a bug that prevented older alertmanager versions from reading newer snapshots unnecessarily. (#​5330)
  • [BUGFIX] silence with no matchers should populate an empty array in API response (#​5331)

v0.33.0: 0.33.0 / 2026-06-12

Compare Source

  • [CHANGE] The '--enable-feature=auto-gomaxprocs' option has been removed. This flag had no effect since v0.29 and was deprecated in v0.32. It can be safely removed from any startup scripts. #​5090, #​5251
  • [CHANGE] Add group-key-in-metrics feature flag. #​5047
  • [CHANGE] Move AlertMarker, GroupMarker to marker package. #​5047
  • [CHANGE] Remove alertmanager_marked_alerts. #​5047
  • [CHANGE] Remove the following from types package: MemMarker, AlertState*, AlertStatus. #​5047
  • [FEATURE] Introduce per aggregation group AlertMarkers and drop Global Alert Marker. #​5047
  • [FEATURE] ui: Add support for silence annotations. #​5017
  • [FEATURE] api: Add receiver labels and receiver_matchers filter to /api/v2/receivers, /api/v2/alerts, and /api/v2/alerts/groups. #​5152
  • [FEATURE] eventrecorder: Add structured event recorder behind --enable-feature=event-recorder, with file, webhook, and kafka outputs. #​5072, #​5246
  • [ENHANCEMENT] Add the use_aws_http_client config option to the sns notifier. #​5178
  • [ENHANCEMENT] template: Add now function to get current time. #​5188
  • [ENHANCEMENT] docs: Clarify YAML quoting vs matcher token quoting in UTF-8 matchers section. #​5264
  • [BUGFIX] jira: Allow disabling the resolve transition when resolve_transition is not set. #​4821
  • [BUGFIX] jira: Include unresolved issues in wont_fix_resolution JQL to prevent duplicate issue creation. #​5185
  • [BUGFIX] sns: Support the AWS_CA_BUNDLE env variable for the sns notifier. #​5178

v0.32.2: 0.32.2 / 2026-06-05

Compare Source

  • [BUGFIX] Fix dispatcher goroutine leaks on destroyed alertgroup swap. #​5241

v0.32.1: 0.32.1 / 2026-04-29

Compare Source

  • [BUGFIX] dispatcher: Fix issue with dispatching to a contended route. #​5179
  • [BUGFIX] ui: Provide prebuilt ui assets in release. #​5191
  • [ENHANCEMENT] ui: Support building artifacts in containers with Docker or Podman. #​5102

v0.32.0: 0.32.0 / 2026-04-08

Compare Source

  • [CHANGE] go get github.com/prometheus/alertmanager/ui will now fail as compiled UI assets are no longer checked into the repository. Downstream builds that rely on these assets being present in the source tree must now build the UI from source. #​5113
  • [CHANGE] The '--enable-feature=auto-gomaxprocs' option is deprecated and will be removed in v0.33. This flag currently has no effect and can be safely removed from any startup scripts. #​5090
  • [CHANGE] Update internal function signatures across multiple packages. This affects any project that integrates Alertmanager code.
  • [ENHANCEMENT] Add static asset caching. #​5113
  • [ENHANCEMENT] Reduce memory allocations through pre-sizing collections and batch allocation. #​5020
  • [ENHANCEMENT] Replace help with documentation in navigation bar. #​4943
  • [ENHANCEMENT] docs(ha): Update high availability documentation. #​5136
  • [ENHANCEMENT] docs: Add auth_secret_file for smtp in document. #​5036
  • [ENHANCEMENT] docs: Add description for global telegram_bot_token. #​5114
  • [ENHANCEMENT] docs: Add note about notifier timeouts. #​5077
  • [ENHANCEMENT] docs: Fix force_implicit_tls config field name. #​5030
  • [ENHANCEMENT] docs: Link community supported integrations. #​4978
  • [ENHANCEMENT] docs: Remove duplicate header. #​5034
  • [ENHANCEMENT] docs: Update mutual tls reference in high availability documentation. #​5120
  • [ENHANCEMENT] tracing: Use noop spans when tracing disabled. #​5118
  • [ENHANCEMENT] ui: Serve pre-compressed assets. #​5133
  • [FEATURE] Add silence annotations. #​4965
  • [FEATURE] Add silence logging option. #​4163
  • [FEATURE] Add support for multiple matcher set silences. #​4957
  • [FEATURE] Add the reason for notifying in dedup stage. #​4971
  • [FEATURE] mattermost: Flatten attachments into top-level config. #​5009
  • [FEATURE] mattermost: Support global webhook url. #​4998
  • [FEATURE] slack: Add default color from template. #​5014
  • [FEATURE] slack: Allow receiver to edit existing messages. #​5007
  • [FEATURE] template: Add dict, map and append functions. #​5093
  • [FEATURE] webhook: Add full payload templating support for notifier. #​5011
  • [BUGFIX] config: Check for empty cluster tls client config. #​5126
  • [BUGFIX] config: Don't crash upon reading empty config for notifier. #​4979
  • [BUGFIX] config: Fix ipv6 address handling in hostport.string(). #​5040
  • [BUGFIX] mattermost: Omit empty text field in notifications. #​4985
  • [BUGFIX] telegram: Send fallback message when notification exceeds character limit. #​5074
  • [BUGFIX] tracing: Properly shutdown tracer provider. #​5131
  • [BUGFIX] ui: Fix escaping for matcher values with quotes. #​4862
  • [BUGFIX] ui: Handle special chars in silence regex-matchers. #​4942
  • [BUGFIX] ui: Support utf-8 label names in matchers. #​5089
prometheus/prometheus (docker.io/prom/prometheus)

v3.13.0: 3.13.0 / 2026-07-01

Compare Source

This is a Long Term Support LTS release.

  • [SECURITY] UI: Bump sanitize-html to fix a cross-site scripting vulnerability (CVE-2026-44990). #​18697
  • [CHANGE] UI: Third-party npm dependency licenses are now embedded in the Prometheus binary and served at /assets/third-party-licenses.txt, replacing the npm_licenses.tar.bz2 archive previously shipped in release tarballs and container images. #​18997
  • [CHANGE] API: Use SHA-256 instead of SHA-1 to generate rule group pagination tokens. #​18927
  • [CHANGE] HTTP clients: Credentials (Authorization header, basic auth, bearer token, OAuth2, configured headers) are no longer forwarded when following a redirect to a different host; affects scraping, remote read/write, alerting, and service discovery. Via prometheus/common v0.69.0 (CVE-2025-4673 CVE-2023-45289). #​18949
  • [CHANGE] promtool: Relative file paths in the file passed to --http.config.file are now resolved relative to that config file's directory instead of its parent directory. Via prometheus/common v0.69.0. #​18949
  • [CHANGE] PromQL: Rename the min() and max() duration-expression functions (experimental feature flag experimental-duration-expr) to min_of() and max_of() to avoid confusion with the min and max aggregate operators. #​18687
  • [FEATURE] API: Add experimental search endpoints to search metric names, label names, and label values. #​18573
  • [FEATURE] Discovery/AWS: Add ability to filter RDS instances. #​18859
  • [FEATURE] PromQL: Add min_of(a, b) and max_of(a, b) scalar experimental functions, returning the smaller or larger of two scalar values. #​18687
  • [FEATURE] PromQL: Add support for smoothed/anchored rate with native histograms. #​18564
  • [FEATURE] PromQL: Expose per-query samplesRead (and samplesReadPerStep with stats=all and the promql-per-step-stats feature flag) in the query stats response, and add the prometheus_engine_query_samples_read_total engine counter. samplesRead reflects storage I/O distinct from totalQueryableSamples, which counts samples loaded into the evaluator (and so over-counts when a sample is reused across multiple range-vector windows). #​18081
  • [FEATURE] Scrape: Add __convert_classic_histograms_to_nhcb__ internal label to allow per-target override of convert_classic_histograms_to_nhcb scrape configuration via relabeling. #​18840
  • [FEATURE] TSDB: Add storage.tsdb.chunk_encoding.floats configuration field to select float chunk encoding (xor or xor2) at runtime, independently of the --enable-feature=xor2-encoding flag. #​18769
  • [FEATURE] remote_write: Add Certificate support for ingesting data into an Azure Monitor Workspace. #​18217
  • [FEATURE] Scrape: Add __always_scrape_classic_histograms__ and __scrape_native_histograms__ internal labels to allow per-target override of the always_scrape_classic_histograms and scrape_native_histograms scrape configuration via relabeling. #​18929
  • [ENHANCEMENT] Release: Container images are now also published to the GitHub Container Registry (ghcr.io). #​18791
  • [ENHANCEMENT] PromQL: Prettify fill_left(x) fill_right(x) as fill(x) when both fill values are equal. #​18851
  • [ENHANCEMENT] UI: Improve autocompletion after closing a function bracket. #​18894
  • [PERF] Labels: Add case-insensitive prefix matching to speed up evaluation of long case-insensitive regular expressions (up to ~2x faster). #​18540
  • [PERF] TSDB: Reduce per-sample overhead in chunk population, speeding up affected queries by ~12-15% in benchmarks. #​18699
  • [PERF] TSDB: Eliminate unnecessary heap allocations in the V2 histogram WAL decoder, reducing allocations by up to 50% and memory by up to 10% for deployments using native histograms with created-timestamp storage enabled (--enable-feature=created-timestamp-zero-ingestion). #​18813
  • [BUGFIX] Discovery/AWS: Fix failure when processing an AWS RDS cluster without instances. #​18845
  • [BUGFIX] Fix race condition in initTime that could cause ErrOutOfBounds. #​18629
  • [BUGFIX] PromQL: A range query whose end was not aligned to step caused subqueries inside it to evaluate past the parent's last actual step, inflating peakSamples in the query stats and against the query.max-samples limit, and wasting storage I/O reading samples that were never used in the result. #​18081
  • [BUGFIX] PromQL: A range query containing an at-modifier-unsafe function over a range-vector with an @ modifier (e.g. predict_linear(metric[60s] @&#8203; T, X)) silently under-counted totalQueryableSamples for steps after step 0. #​18081
  • [BUGFIX] PromQL: Fix fill_left/fill_right producing missing samples in range queries when using group_left/group_right. #​18850
  • [BUGFIX] PromQL: Fix for resets() and changes() in anchored range extenders with histograms. #​18906
  • [BUGFIX] PromQL: Fix panic on 1[5m] smoothed and similar expressions when extended range selectors are enabled. #​18764
  • [BUGFIX] PromQL: Fix panic when a smoothed instant vector selector produces no samples for a series. #​18943
  • [BUGFIX] PromQL: Fix panic when using a parenthesised plain number as an offset (e.g. foo offset -(5)). #​18768
  • [BUGFIX] promtool: Fix panic when parsing exposition text containing empty braces {}. Via prometheus/common v0.69.0. #​18949
  • [BUGFIX] Promtool: Fix check healthy and check ready when --url ends with a trailing slash. #​18854
  • [BUGFIX] Rules: Close PromQL query after each rule evaluation to ensure resources are released. #​18733
  • [BUGFIX] Scaleway SD: Resolve VPC/IPAM-only instances that have no legacy private_ip or public_ip field, but do have private NICs attached. #​18772
  • [BUGFIX] TSDB: Do not leak head series when an integer histogram append is rejected (e.g. out-of-order). #​18838
  • [BUGFIX] UI: Escape label values offered by PromQL autocomplete. #​18658
  • [BUGFIX] TSDB: Fix chunk snapshot encoding for EncXOR2 chunks, preventing corruption on TSDB restart when EncXOR2-encoded series were present. #​18739
  • [BUGFIX] TSDB: Store a millisecond timestamp (not a WAL segment number) in walExpiries when a series is evicted via CompactStaleHead/CompactSelectedSeries, so the series's label record is correctly retained in the next WAL checkpoint and replays cleanly. #​18847
  • [BUGFIX] TSDB: Prevent loss of samples at the chunk-range boundary when CompactSelectedSeries (and CompactStaleHead) evict the series — the per-slice compaction loop now runs one more iteration so the boundary timestamp is captured in a block before the in-memory copy is removed. #​18849

v3.12.0: 3.12.0 / 2026-05-28

Compare Source

This release contains security fixes, new features (especially around PromQL and Service Discovery), performance improvements in TSDB, Start Timestamp improvements and numerous bug fixes.

Thanks to all contributors!

Key Highlights

  • Security: Two security vulnerabilities have been addressed: a denial of service in remote-write (snappy decompression limit) and a secret exposure leak in STACKIT service discovery.
  • PromQL & Metadata: Several features and bug fixes related to the experimental "start timestamps" support, including updates to rate(), irate(), increase(), and resets(). New experimental functions start(), end(), range(), and step() are introduced.
  • TSDB Performance: Optimizations in head chunk lookup (constant time) and mmap operations to reduce CPU usage.
  • Service Discovery: Added support for DigitalOcean Managed Databases and Outscale VM, along with improvements to AWS SD (IPv6 support for EC2, external ID support).
  • UI: Added a web interface for deleting time series and cleaning tombstones.

Changelog

  • [SECURITY] Remote: Reject snappy-compressed received requests via Remote Write whose declared decoded length exceeds the 32MB. Thanks to @​hibrian827 for reporting it. #​18642
  • [SECURITY] STACKIT SD: Fix secrets being exposed in plaintext via /-/config endpoint. Thanks to @​August829 and @​Phaxma for reporting. GHSA-39j6-789q-qxvh #​18649
  • [CHANGE] TSDB/Agent: Adds Start Timestamp field to all WAL Histogram samples in memory; used st-storage flag is enabled. #​18221
  • [FEATURE] API: Add /api/v1/status/self_metrics endpoint returning the current state of the Prometheus server's own metrics about itself as JSON. #​18411
  • [FEATURE] Discovery: Add DigitalOcean Managed Databases service discovery #​18287
  • [FEATURE] Prometheus: Add support for the aix/ppc64 compilation target #​18321
  • [FEATURE] Discovery: Add Outscale VM service discovery (outscale_sd_configs) for discovering scrape targets from the Outscale Cloud API. #​18139
  • [FEATURE] PromQL: Emit a warning when sort, sort_by_label or sort_by_label_desc is used within range (matrix) queries, as these functions do not have effect in that context. #​18498
  • [FEATURE] PromQL: Add start(), end(), range(), and step() experimental functions #​17877
  • [FEATURE] PromQL: Update resets() function to consider start timestamp resets. Hidden behind use-start-timestamps feature flag. #​18627
  • [FEATURE] Prometheus: Promote auto-reload-config as stable #​18620
  • [FEATURE] TSDB/Agent: Add CheckpointFromInMemorySeries option to agent.DB that enables checkpoint based on in-memory series. #​17948
  • [FEATURE] UI: Add a web interface for deleting time series and cleaning tombstones, accessible from the Status menu. #​18390
  • [FEATURE] PromQL: Use start timestamps for rate(), irate(), and increase() calculations, behind a feature flag use-start-timestamps. Doesn't work together with extended range selectors anchored and smoothed. #​18344
  • [FEATURE] Scrape: Added a feature flag st-synthesis which synthesizes unknown STs for scraped cumulative metrics. Useful when Remote Writing 2.0 with delta or Otel-based backends. #​18279
  • [FEATURE] promqltest: support @st annotation in load blocks to specify per-sample start timestamps. #​18360
  • [ENHANCEMENT] API: reject concurrent fgprof profiles. #​18651
  • [ENHANCEMENT] AWS SD: Add optional external_id field to ECS/MSK/RDS/Elasticache. #​18579
  • [ENHANCEMENT] AWS SD: Add optional external_id field. #​17171
  • [ENHANCEMENT] Discovery: Propagate SD target updates faster by introducing dynamic backoff interval instead of static 5s interval for throttling. #​18187
  • [ENHANCEMENT] Promtool: Add --header flag to query instant command, matching existing query range behaviour. #​18418
  • [ENHANCEMENT]: AWS SD: Allows EC2 service discovery to discover IPv6 addresses to communicate with target endpoints. The private IPv4 address remains the default when both IPv4 and IPv6 addresses are present. #​16088
  • [PERF] TSDB: Make head chunk lookup in range queries constant time instead of quadratic time #​18302
  • [PERF] TSDB: Skip entire stripes in mmapHeadChunks when no series need mmapping, reducing CPU utilization significantly at production-relevant scales. #​18541
  • [PERF] TSDB: Skip clean series during periodic head chunk mmap using cached head chunk count #​18272
  • [PERF] PromQL: Address FloatHistogram.KahanAdd performance regression on Go 1.26. #​18568
  • [BUGFIX] PromQL: Fix info() function incorrectly handling negated __name__ matchers #​17932
  • [BUGFIX] API: Return duration expressions in /parse_ast. #​18624
  • [BUGFIX] API: correctly document formats accepted for duration query request parameters (step, timeout and lookback delta) in OpenAPI spec #​18305
  • [BUGFIX] Scrape: AppenderV2 now tracks staleness even when OOO/duplicate series errors happen similar to AppenderV1 #​18567
  • [BUGFIX] Config: Validate remote_write queue_config fields at load time to prevent runtime panic and silent misconfiguration. #​18209
  • [BUGFIX] Discovery/Consul: Add health_filter for Health API filtering, fixing breakage when using Catalog-only fields like ServiceTags in filter. #​18479 #​18499
  • [BUGFIX] OTLP: limit decompressed body size for gzip-encoded OTLP write requests. #​18408
  • [BUGFIX] PromQL: Fix smoothed rate/increase returning zero instead of no result when all data falls strictly after the query range. #​18523
  • [BUGFIX] PromQL: Fix metric name not being dropped when last_over_time or first_over_time is applied to subqueries containing name-dropping functions like abs(). #​18409
  • [BUGFIX] PromQL: Fix missing warning when mixing exponential and custom-bucket histograms in stats queries. #​18660
  • [BUGFIX] PromQL: Fix parsing of range() keyword in duration expressions such as foo[5m+range()]. #​18623
  • [BUGFIX] PromQL: Fix smoothed vector selector returning no results in binary operations when the @ modifier is used. #​18531
  • [BUGFIX] PromQL: Reject NaN, infinite, and out-of-range duration expressions instead of silently producing an out-of-range time.Duration. #​18639
  • [BUGFIX] Scrape: Fix panic when scraping malformed native histograms. #​18414
  • [BUGFIX] Scrape: fix panic when scraping a target exposing a summary with no quantiles via the protobuf format. #​18382
  • [BUGFIX] Scrape: fix scrape failure log file occasionally not applied after a configuration reload. #​18421
  • [BUGFIX] TSDB: Allow retention percentage with new data path. #​18628
  • [BUGFIX] TSDB: Preserve decimal precision in percentage-based retention #​18374
  • [BUGFIX] TSDB: fix prometheus_tsdb_head_chunks going negative after WAL replay #​18401
  • [BUGFIX] TSDB: panic with native histograms during query of overlapping chunks. #​18692
  • [BUGFIX] Tracing: fix startup failure for insecure OTLP HTTP tracing #​18469
  • [BUGFIX] UI: Escape label values offered by PromQL autocomplete. #​18658
  • [BUGFIX] UI: Improve Y-axis tick label precision for graph values over small ranges. #​18682
  • [BUGFIX] prometheus_sd_refresh* and prometheus_sd_discovered_targets metrics for specific scrape jobs are deleted when the scrape job is removed. #​17614
  • [BUGFIX] Remote: fixed validation for received RW2 requests when parsing metadata unit symbols. This fixes a case when request would cause (recovered) handler panic. #​18641
  • [BUGFIX] TSDB/Agent: fix race in agent appender where concurrent appends for the same label set could produce duplicate in-memory series and duplicate WAL records. #​18292
  • [BUGFIX] Config: Update --enable-feature flag description and sort feature names. #​18487

v3.11.3: 3.11.3 / 2026-04-27

Compare Source

This release fixes mutiple security issues.

We would like to thank the following people for the responsible disclosures:

  • Shadowbyte (4c1dr3aper) - Charlie Lewis for the Remote-Read snappy decode vulnerability.

  • Brett Gervasoni for the AzureAD OAuth client_secret vulnerability.

  • @​iiihaiii and @​Ngocnn97 for the Old UI XSS vulnerability.

  • [SECURITY] AzureAD remote write: Fix OAuth client_secret being exposed in plaintext via /-/config endpoint. GHSA-wg65-39gg-5wfj / CVE-2026-42151 #​18590

  • [SECURITY] Remote-read: Reject snappy-compressed requests whose declared decoded length exceeds the decode limit. GHSA-8rm2-7qqf-34qm / CVE-2026-42154 #​18584

  • [SECURITY] UI: Fix stored XSS via unescaped le label values in old UI heatmap chart tick labels. GHSA-fw8g-cg8f-9j28 #​18588

v3.11.2: 3.11.2 / 2026-04-13

Compare Source

This release has a fix for a Stored XSS vulnerability that can be triggered via crafted metric names and label values in Prometheus web UI tooltips and metrics explorer. Thanks to Duc Anh Nguyen from TinyxLab for reporting it.

  • [SECURITY] UI: Fix stored XSS via unescaped metric names and labels. CVE-2026-40179. #​18506
  • [ENHANCEMENT] Consul SD: Introduce health_filter field for Health API filtering. #​18499
  • [BUGFIX] Consul SD: Fix filter parameter being incorrectly applied to the Health API. #​18499

v3.11.1: 3.11.1 / 2026-04-07

Compare Source

  • [BUGFIX] Tracing: Fix startup failure for OTLP HTTP tracing with insecure: true. #​18469

v3.11.0: 3.11.0 / 2026-04-02

Compare Source

  • [CHANGE] Hetzner SD: The __meta_hetzner_datacenter label is deprecated for the role robot but kept for backward compatibility, use the __meta_hetzner_robot_datacenter label instead. For the role hcloud, the label is deprecated and will stop working after the 1 July 2026. #​17850
  • [CHANGE] Hetzner SD: The __meta_hetzner_hcloud_datacenter_location and __meta_hetzner_hcloud_datacenter_location_network_zone labels are deprecated, use the __meta_hetzner_hcloud_location and __meta_hetzner_hcloud_location_network_zone labels instead. #​17850
  • [CHANGE] Promtool: Redirect debug output to stderr to avoid interfering with stdout-based tool output. #​18346
  • [FEATURE] AWS SD: Add Elasticache Role. #​18099
  • [FEATURE] AWS SD: Add RDS Role. #​18206
  • [FEATURE] Azure SD: Add support for Azure Workload Identity authentication method. #​17207
  • [FEATURE] Discovery: Introduce prometheus_sd_last_update_timestamp_seconds metric to track the last time a service discovery update was sent to consumers. #​18194
  • [FEATURE] Kubernetes SD: Add support for node role selectors for pod roles. #​18006
  • [FEATURE] Kubernetes SD: Introduce pod-based labels for deployment, cronjob, and job controller names: __meta_kubernetes_pod_deployment_name, __meta_kubernetes_pod_cronjob_name and __meta_kubernetes_pod_job_name, respectively. #​17774
  • [FEATURE] PromQL: Add </ and >/ operators for trimming observations from native histograms. #​17904
  • [FEATURE] PromQL: Add experimental histogram_quantiles variadic function for computing multiple quantiles at once. #​17285
  • [FEATURE] TSDB: Add storage.tsdb.retention.percentage configuration to configure the maximum percent of disk usable for TSDB storage. #​18080
  • [FEATURE] TSDB: Add an experimental st-storage feature flag. When enabled, Prometheus stores ingested start timestamps (ST, previously called Created Timestamp) from scrape or OTLP in the TSDB and Agent WAL, and exposes them via Remote Write 2. #​18062
  • [FEATURE] TSDB: Add an experimental xor2-encoding feature flag for the new TSDB block float sample chunk encoding that is optimized for scraped data and allows encoding start timestamps. #​18062
  • [ENHANCEMENT] HTTP client: Add AWS external_id support for sigv4. #​17916
  • [ENHANCEMENT] Kubernetes SD: Deduplicate deprecation warning logs from the Kubernetes API to reduce noise. #​17829
  • [ENHANCEMENT] TSDB: Remove old temporary checkpoints when creating a Checkpoint. #​17598
  • [ENHANCEMENT] UI: Add autocomplete support for experimental first_over_time and ts_of_first_over_time PromQL functions. #​18318
  • [ENHANCEMENT] Vultr SD: Upgrade govultr library from v2 to v3 for continued security patches and maintenance. #​18347
  • [PERF] PromQL: Improve performance and reduce heap allocations in joins (VectorBinop)/And/Or/Unless. #​17159
  • [PERF] PromQL: Partially address performance regression in native histogram aggregations due to using KahanAdd. #​18252
  • [PERF] Remote write: Optimize WAL watching used for RW sending to reuse internal buffers. #​18250
  • [PERF] TSDB: Optimize LabelValues intersection performance for matchers. #​18069
  • [PERF] UI: Skip restacking on hover in stacked series charts. #​18230
  • [BUGFIX] AWS SD: Fix EC2 SD ignoring the configured endpoint option, a regression from the AWS SDK v2 migration. #​18133
  • [BUGFIX] AWS SD: Fix panic in EC2 SD when DescribeAvailabilityZones returns nil ZoneName or ZoneId. #​18133
  • [BUGFIX] Agent: Fix memory leak caused by duplicate SeriesRefs being loaded as active series. #​17538
  • [BUGFIX] Alerting: Fix alert state incorrectly resetting to pending when the FOR period is increased in the config file. #​18244
  • [BUGFIX] Azure SD: Fix system-assigned managed identity not working when client_id is empty. #​18323
  • [BUGFIX] Consul SD: Fix filter parameter not being applied to health service endpoint, causing Node and Node.Meta filters to be ignored. #​17349
  • [BUGFIX] Kubernetes SD: Fix duplicate targets generated by *DualStack EndpointSlices policies. #​18192
  • [BUGFIX] OTLP: Fix ErrTooOldSample being returned as HTTP 500 instead of 400 in PRW v2 histogram write paths, preventing infinite client retry loops. #​18084
  • [BUGFIX] OTLP: Fix exemplars getting mixed between incorrect parts of a histogram. #​18056
  • [BUGFIX] PromQL: Do not skip histogram buckets in queries where histogram trimming is used. #​18263
  • [BUGFIX] Remote write: Fix prometheus_remote_storage_sent_batch_duration_seconds measuring before the request was sent. #​18214
  • [BUGFIX] Rules: Fix alert state restoration when rule labels contain Go template expressions. #​18375
  • [BUGFIX] Scrape: Fix panic when parsing bare label names without an equal sign in brace-only metric notation. #​18229
  • [BUGFIX] TSDB: Fail early when use-uncached-io feature flag is set on unsupported environments. #​18219
  • [BUGFIX] TSDB: Fall back to CLI flag values when retention is removed from config file. #​18200
  • [BUGFIX] TSDB: Fix memory leaks in buffer pools by clearing reference fields before returning buffers to pools. #​17895
  • [BUGFIX] TSDB: Fix missing mmap of histogram chunks during WAL replay. #​18306
  • [BUGFIX] TSDB: Fix storage.tsdb.retention.time unit mismatch in file causing retention to be 1e6 times longer than configured. #​18200
  • [BUGFIX] Tracing: Fix missing traceID in query log when tracing is enabled, previously only spanID was emitted. #​18189
  • [BUGFIX] UI: Fix tooltip Y-offset drift when using multiple graph panels. #​18228
  • [BUGFIX] UI: Update retention display in runtime info when config is reloaded. #​18200
prometheus-pve/prometheus-pve-exporter (docker.io/prompve/prometheus-pve-exporter)

v3.9.0

Compare Source

Added


- Add qdevice collector (#&#8203;442)

Changed
  • Bump paramiko from 4.0.0 to 5.0.0 (#​441)
  • Bump urllib2 from 2.6.3 to 2.7.0 (#​440)

v3.8.3

Compare Source

Changed


- Bump requests from 2.32.5 to 2.33.1 (#&#8203;438)
- Bump alpine from 3.23.3 to 3.23.4 (#&#8203;435)
- Bump prometheus-client from 0.24.1 to 0.25.0 (#&#8203;434)
- Bump cryptography from 46.0.5 to 46.0.7 (#&#8203;432)
- Bump werkzeug from 3.1.6 to 3.1.8 (#&#8203;431)
- Pin actions in CI workflow to commit SHA (#&#8203;437)

`3.8.2`_ - 2026-03-22
---------------------

Changed
  • Add security note to the README file (#​423)
  • Bump docker/setup-buildx-action from 3 to 4 (#​424)
  • Bump docker/build-push-action from 6 to 7 (#​425)
  • Bump docker/login-action from 3 to 4 (#​426)
  • Bump wrapt from 2.1.1 to 2.1.2 (#​419)
  • Bump proxmoxer from 2.2.0 to 2.3.0 (#​418)
  • Bump werkzeug from 3.1.5 to 3.1.6 (#​411)
  • Bump docker/metadata-action from 5 to 6 (#​417)
  • Bump docker/setup-qemu-action from 3 to 4 (#​416)
  • Bump actions/attest-build-provenance from 3 to 4 (#​415)
  • Bump actions/download-artifact from 7 to 8 (#​414)
  • Bump actions/upload-artifact from 6 to 7 (#​413)
  • fix: f-string in module-not-found response and move url_map to init (#​421)
TwiN/gatus (ghcr.io/twin/gatus)

v5.36.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/TwiN/gatus/compare/v5.35.0...v5.36.0

ansible/ansible-lint (https://github.com/ansible/ansible-lint)

v26.6.0

Compare Source

Features

Fixes

Maintenance

v26.4.0

Compare Source

Fixes

Maintenance

netbox-community/netbox (netbox)

v4.6.4: - 2026-06-30

Compare Source

Enhancements

  • #​21710 - Render JSON schema enum options as a dropdown selection in module and device profile attribute forms
  • #​22174 - Include the dns_name of primary & out-of-band IP addresses in event payloads
  • #​22279 - Add a 1C8P:8C1P breakout cable profile
  • #​22548 - Improve the styling of action buttons in the navigation sidebar

Performance Improvements

  • #​22169 - Improve performance of the image attachments view when using S3 storage
  • #​22442 - Avoid repeated serializer instantiation in GFKSerializerField
  • #​22526 - Chunk bulk updates to custom field data to better handle a large number of records

Bug Fixes

  • #​21310 - Fix LDAP group lookup failure when a returned row contains a null value
  • #​22439 - Enforce object-level permissions on custom links rendered via the custom_links template tag
  • #​22440 - Remove errant changelog relation from GraphQL schema
  • #​22480 - Restore inline browser display of device front/rear images instead of forcing a download
  • #​22489 - Update the cached virtual chassis name on member devices in the search index when a virtual chassis is renamed
  • #​22501 - Return JSON rather than an HTML error page for GraphQL API exceptions
  • #​22507 - Also check is_active in the superuser bypass for restrict() and IsSuperuser
  • #​22543 - Prevent deletion of an existing custom script's file when re-uploading a same-named script via the REST API
  • #​22561 - Fix AttributeError when importing IP addresses with is_primary/is_oob set but no device assigned

Accessibility

  • #​22527 - Announce quick search results to screen readers
  • #​22528 - Make the Results/Filters tabs keyboard-operable
  • #​22529 - Allow the left sidebar accordion to be toggled with the spacebar
  • #​22530 - Remove hidden <select> inputs from the accessibility tree
  • #​22531 - Associate a label with the "Saved Filter" combobox for screen readers
  • #​22532 - Provide an accessible name for the empty checkbox column header cell in object tables

v4.6.3: - 2026-06-16

Compare Source

Enhancements
  • #​17598 - Add bulk creation support for VLANs
  • #​21666 - Add MU connector type for fiber ports and cables
  • #​22361 - Introduce an ArrayAttr UI panel attribute for rendering array field values
  • #​22457 - Use hmac.compare_digest() for constant-time authentication of API tokens
Performance Improvements
  • #​21870 - Optimize prefix availability calculations
  • #​22375 - Improve efficiency of filtering VLANs by interface
Bug Fixes
  • #​21338 - Include connected endpoint data in interface webhooks generated during cable creation
  • #​21895 - Restore pagination controls for job log entries (previously limited to 50 rows)
  • #​22210 - Respect saved filters when rendering IPAM child availability views in additional tabs
  • #​22237 - Fix server error when opening the standalone "Add Table Configuration" page
  • #​22245 - Include the id field in the OpenAPI request schemas for bulk PATCH/PUT endpoints
  • #​22251 - Re-parent child module bays when a multi-bay module is moved to a new bay
  • #​22273 - Fix migration failure when a service has several thousand ports defined
  • #​22303 - Add the missing fields parameter to the OpenAPI schema
  • #​22324 - Fix GraphQL filtering of custom field choice set extra choices
  • #​22340 - Display a token's allowed IPs as comma-separated strings rather than IPNetwork objects
  • #​22346 - Render SSO/SAML authentication failures as a login page message instead of an HTTP 500 error
  • #​22357 - Remove the unused local_context_data field from dcim.Module (which no longer inherits from ConfigContextModel)
  • #​22376 - Fix AssertionError in event rule script jobs when a device type has an image attached
  • #​22388 - Pin redis-py to <8.0 to avoid a startup failure on older Redis releases
  • #​22397 - Fix AttributeError exception when an unauthenticated user attempts to export devices
  • #​22399 - Enforce object permissions on the related object when serving static media
  • #​22427 - Validate JSONFilter.path to prevent ORM operator injection over JSONField contents in the GraphQL API
  • #​22429 - Enforce ObjectPermission constraints on grant_token in the REST API
  • #​22431 - Use a cryptographically secure random number generator when generating API tokens
  • #​22444 - Fix KeyError exception on the power feed detail view when the locale is not English
  • #​22448 - Ensure all object representations are escaped under handle_protectederror()
  • #​22454 - Fix serialization of decimal custom field values to avoid spurious changelog entries
  • #​22466 - Fix test failure against SSL-enabled PosgtreSQL
Deprecations
  • #​22392 - Deprecate support for Redis 5.x (to be removed in v4.7)

v4.6.2: - 2026-06-02

Compare Source

Enhancements

  • #​17127 - Add a user preference for selecting metric or imperial units of measurement
  • #​19336 - Convert the filtering of tabbed list views from JavaScript to HTMX
  • #​19460 - Support additional template variables for greater flexibility when constructing map URLs
  • #​20804 - Support bulk renaming of the label field on device components
  • #​21261 - Allow setting quick_add on an ObjectVar in custom scripts
  • #​21952 - Improve robustness of the RQ worker liveness check
  • #​22109 - Include child dependency counts in the module type REST API representation
  • #​22212 - Make designated environment parameters available within Jinja2 templates via the new env() filter
  • #​22239 - Rename the "Save" button on the table configuration form to "Apply" for clarity
  • #​22255 - Allow plugins to register custom serializer resolvers for get_serializer_for_model()

Bug Fixes

  • #​21091 - Declare proper request & response schema types for the device/VM config rendering API endpoints
  • #​22158 - Cache empty config revision state to avoid per-request queries polluting database connections
  • #​22163 - Fix ValueError raised by CircuitTerminationForm when a termination type is set but the target object is blank
  • #​22180 - Ensure custom scripts added via a remote data source are validated
  • #​22187 - Fix erroneous cable path retracing when using a cable profile
  • #​22219 - Add missing required form field indicator to InlineFields rows
  • #​22228 - Validate vid_ranges bounds metadata in VLANGroup.save() to avoid miscounts and a crash on singleton ranges
  • #​22232 - Prevent duplicate scheduled background jobs from being created
  • #​22233 - Fix site_id filter on the cables REST API returning no results when both endpoints are circuit terminations
  • #​22247 - Display the verbose name instead of the internal model name for the related object type on the custom field detail page
  • #​22270 - Avoid recording a spurious UPDATE change record after DELETE for objects with reverse SET_NULL relations
  • #​22282 - Fix fetch() on S3Backend to reliably resolve object keys
  • #​22283 - Restrict the Job queryset in ScriptResultView to authorized objects
  • #​22286 - Mark the name and description fields on the GraphQL ConfigContextProfileFilter as optional
  • #​22287 - Fix GraphQL EventRuleFilter.action_object_type being typed as a string lookup against a ContentType foreign key
  • #​22301 - Avoid name conflict when multiple plugins introduce taggable models of the same name
  • #​22307 - Fix inconsistent enforcement of grant_token permissions between the UI and REST API
  • #​22325 - Fix AttributeError when creating a custom field choice set with base choices
  • #​22328 - Avoid out-of-memory crash in DynamicMultipleChoiceField with large choice sets

v4.6.1: - 2026-05-19

Compare Source

Enhancements

  • #​16851 - Correct errant and missing ARIA labels throughout the UI
  • #​20776 - Add changelog message support for bulk rename operations
  • #​20808 - Display the names of installed devices when selecting a rack position
  • #​21938 - Display geographic hierarchy for circuit terminations assigned to sites, locations, or regions
  • #​21993 - Allow IP ranges comprising a single IP address
  • #​22057 - Add filter support for notifications and subscriptions to GraphQL API
  • #​22192 - Introduce HTTP_CLIENT_IP_HEADERS configuration parameter to customize HTTP headers used to determine client IP address

Performance Improvements

  • #​22060 - Implement GraphQL query depth limiting (via GRAPHQL_MAX_QUERY_DEPTH) to guard against excessively complex queries
  • #​22061 - Add prefetch hints to various GraphQL type mixins to improve query efficiency
  • #​22102 - Add GIN index on CablePath to optimize filtering of cable paths by node
  • #​22104 - Avoid retracing cable paths during cable deletion
  • #​22146 - Avoid renumbering MPTT trees when creating module bays

Bug Fixes

  • #​21934 - Fix striped table rows overriding conditional row color highlighting for virtual/LAG interfaces
  • #​22055 - Fix API exceptions being silently consumed by middleware without reporting to Sentry
  • #​22079 - Fix security vulnerability allowing arbitrary code execution via ExportTemplate environment_params (CVE-2026-29514)
  • #​22081 - REST API should return plaintext for new v2 tokens upon creation
  • #​22183 - Fix spurious changelog entries for interface_b generated when saving an unchanged wireless link
  • #​22190 - Restore tenant and tenant group column options for circuits group table configuration
  • #​22198 - Restrict export template queryset to authorized objects in REST API and list views
  • #​22202 - Fix crash in system housekeeping job when no stable releases are available
  • #​22206 - Fix TypeError exception raised by table config validation when ordering attribute is null
  • #​22207 - Fix missing explicit object_type field annotation on TableConfigType GraphQL type
  • #​22208 - Add missing user_id FK filter on job filterset
  • #​22209 - Add missing cable_id FK filter on cable termination filterset
  • #​22227 - Fix display of IP address detail view when multiple NAT assignments exist
  • #​22236 - Fix support for user changelog message when saving table configurations via the REST API

Deprecations

  • #​22128 - Deprecate support for v1 API tokens (to be removed in v5.0)
  • #​22141 - Deprecate support for PostgreSQL 14 (to be removed in v4.7)

v4.6.0: - 2026-05-05

Compare Source

New Features

Virtual Machine Types (#​5795)

A new VirtualMachineType model has been introduced to enable categorization of virtual machines by instance type, analogous to how DeviceType categorizes physical hardware. VM types can be defined once and reused across many virtual machines.

Cable Bundles (#​20151)

A new CableBundle model allows individual cables to be grouped together to represent physical cable runs that are managed as a unit; e.g. a bundle of 48 CAT6 cables between two patch panels. (Please note that this feature is not suitable for modeling individual fiber strands within a single cable.)

Rack Groups (#​20961)

A flat RackGroup model has been reintroduced to provide a lightweight secondary axis of rack organization (e.g. by row or aisle) that is independent of the location hierarchy. Racks carry an optional foreign key to a RackGroup, and RackGroup can also serve as a scope for VLANGroup assignments.

ETag Support for REST API (#​21356)

The REST API now returns an ETag header on responses for individual objects, derived from the object's last-updated timestamp. Clients can supply an If-Match header on PUT/PATCH requests to guard against conflicting concurrent updates; if the object has been modified since the ETag was issued, the server returns a 412 (Precondition Failed) response.

Cursor-based Pagination for REST API (#​21363)

A new start query parameter has been introduced as an efficient alternative to the existing offset parameter for paginating large result sets. Rather than scanning the table up to a relative offset, the start parameter filters for objects with a primary key equal to or greater than the given value, enabling constant-time pagination regardless of result set size.

Enhancements

  • #​12024 - Permit virtual machines to be assigned to devices without a cluster
  • #​14329 - Improve diff highlighting for custom field data in change logs
  • #​15513 - Add bulk creation support for IP prefixes
  • #​17654 - Support role assignment for ASNs
  • #​19025 - Support optional schema validation for JSON custom fields
  • #​19034 - Annotate total reserved unit count on rack reservations
  • #​19138 - Include NAT addresses for primary & out-of-band IP addresses in REST API
  • #​19648 - Add a color custom field type
  • #​19796 - Support {module} position inheritance for nested module bays
  • #​19953 - Enable debugging support for ConfigTemplate rendering
  • #​20123 - Introduce options to control adoption/replication of device components via REST API (replicates UI behavior)
  • #​20152 - Support for marking module and device bays as disabled
  • #​20162 - Provide an option to execute as a background job when adding components to devices in bulk
  • #​20163 - Add changelog message support for bulk device component creation
  • #​20698 - Add read-only total_vlan_ids attribute on VLAN group representation in REST & GraphQL APIs
  • #​20916 - Include stack trace for unhandled exceptions in job logs
  • #​21157 - Include all public model classes in export template context
  • #​21409 - Introduce CHANGELOG_RETAIN_CREATE_LAST_UPDATE configuration parameter to retain creation & most recent update record in change log for each object
  • #​21575 - Introduce {vc_position} template variable for device component template name/label
  • #​21662 - Increase rf_channel_frequency precision to 3 decimal places
  • #​21702 - Include a serialized representation of the HTTP request in each webhook
  • #​21720 - Align HTTP basic auth regex of EnhancedURLValidator with Django's URLValidator
  • #​21751 - Disable notifications for scripts running in the background
  • #​21770 - Enable specifying columns to include/exclude on embedded tables
  • #​21771 - Add support for partial tag assignment (add_tags) and removal (remove_tags) via REST API
  • #​21780 - Add changelog message support to bulk creation of IP addresses
  • #​21865 - Allow setting empty INTERNAL_IPS to enable debug toolbar for all clients
  • #​21924 - Improve styling and consistency of floating bulk action controls
  • #​22062 - Display API token ID & plaintext one time immediately upon creation

Performance Improvements

  • #​21455 - Ensure PostgreSQL indexes exist to support the default ordering of each model
  • #​21688 - Reduce per-position ORM lookups when tracing cable paths
  • #​21788 - Optimize bulk object export to avoid timeout errors on large querysets

Plugins

  • #​20924 - Introduce support for declarative layouts and reusable UI components
  • #​21357 - Provide an API for plugins to register custom model actions (for permission assignment)

Deprecations

  • #​21284 - Deprecate the username and request_id fields in event data
  • #​21304 - Deprecate the housekeeping management command
  • #​21331 - Deprecate NetBox's custom querystring template tag
  • #​21881 - Deprecate legacy Sentry configuration parameters
  • #​21884 - Deprecate the obsolete DEFAULT_ACTION_PERMISSIONS mapping
  • #​21887 - Deprecate support for legacy view actions
  • #​21890 - Deprecate models key in application registry
  • #​21936 - Deprecate the LOGIN_REQUIRED configuration parameter
  • #​22046 - Deprecate OptionalLimitOffsetPagination
  • #​22047 - Deprecate ExpandableIPAddressField
  • #​22048 - Deprecate the expand_ipaddress_pattern() utility function

Other Changes

  • #​20984 - Upgrade to Django 6.0
  • #​21635 - Migrate documentation site from mkdocs to Zensical

v4.5.10: - 2026-05-04

Compare Source

Bug Fixes

  • #​21990 - Fix erroneous deletion of device assignment when editing a virtual machine
  • #​22005 - Fix filtering of interfaces by connected status to exclude incomplete cable paths
  • #​22029 - Recast empty string values as null for unique nullable fields to avoid integrity errors
  • #​22031 - Fix error when adding a prefix from a VLAN with no tenant/site
  • #​22084 - Correct OpenAPI schema for cable_end field on cabled objects to indicate it may be null

v4.5.9: - 2026-04-28

Compare Source

Enhancements

  • #​21711 - Add profile filter support for modules
  • #​21782 - Enable optional config template selection when rendering device configuration via a URL query parameter
  • #​21854 - Support filtering by multiple object-type custom fields simultaneously in filter forms
  • #​21866 - Include the PostgreSQL database schema in system details
  • #​21875 - Allow dict subclasses for the API_TOKEN_PEPPERS configuration parameter

Performance Improvements

  • #​21975 - Optimize queryset prefetching for CSV bulk export

Bug Fixes

  • #​21538 - Fix incorrect contact count for contact groups with contacts assigned to nested groups
  • #​21658 - Correct OpenAPI schema for available-prefixes endpoint request body
  • #​21683 - Fix import of modules with front-to-rear port mappings
  • #​21737 - Avoid saving invalid custom scripts to disk on upload
  • #​21893 - Fix permission scope filtering for constrained object permissions
  • #​21906 - Fix exception raised by REST API POST/PATCH requests missing a trailing slash
  • #​21913 - Restore plugin template extensions for VRF and other declarative-layout views
  • #​21917 - Fix incorrect link peers for rear ports connected via trunk cable profiles
  • #​21947 - Fix saving of comments on MAC address entries
  • #​21949 - Correct power draw calculations for outlets within a PDU
  • #​21966 - Correct OpenAPI schema for available-VLANs endpoint request body
  • #​21985 - Restore color field in front port edit form
  • #​21989 - Validate EventRule.action_data as a JSON object to prevent server errors on object writes
  • #​21995 - Clear unique fields when using "add another" for contacts
  • #​22002 - Enable horizontal scrolling for context table panels on the IP address view

v4.5.8: - 2026-04-14

Compare Source

Enhancements

  • #​21430 - Display the device role's color in the device view
  • #​21795 - Update humanize_speed template filter to support decimal Gbps/Tbps values

Bug Fixes

  • #​21529 - Exclude non-existent custom fields from object changelog data returned via the REST API
  • #​21542 - Expand interface speed field to 64-bit integer to prevent overflow for LAG interfaces exceeding ~2.1 Tbps
  • #​21704 - Fix missing port mappings in device type YAML export
  • #​21783 - Fix support for bulk import of cables connected to power feeds
  • #​21801 - Prevent duplicate filename collision when uploading files using S3 storage
  • #​21814 - Fix custom script "last run" time to reflect job start time rather than creation time
  • #​21835 - Correct help text for color selection form fields
  • #​21841 - Restore visibility of the edit button for script modules to non-superusers
  • #​21845 - Fix CSV export of connection columns rendering template whitespace instead of a formatted value
  • #​21869 - Remove redundant ScriptModule class synchronization triggered on save

v4.5.7: - 2026-04-03

Compare Source

Enhancements

  • #​21095 - Adopt IEC unit labels (e.g. GiB) for virtual machine resources
  • #​21696 - Add support for django-rq 4.0 and introduce RQ configuration parameter
  • #​21701 - Support uploading custom scripts via the REST API (/api/extras/scripts/upload/)
  • #​21760 - Add a 1C2P:2C1P breakout cable profile

Performance Improvements

  • #​21655 - Optimize queries for object and multi-object type custom fields

Bug Fixes

  • #​20474 - Fix installation of modules with placeholder values in component names
  • #​21498 - Fix server error triggered by event rules referencing deleted objects
  • #​21533 - Ensure read-only fields are included in REST API responses upon object creation
  • #​21535 - Fix filtering of object-type custom fields when "is empty" is selected
  • #​21784 - Fix AttributeError exception when sorting a table as an anonymous user
  • #​21808 - Fix RelatedObjectDoesNotExist exception when viewing an interface with a virtual circuit termination
  • #​21810 - Fix AttributeError exception when viewing virtual chassis member
  • #​21825 - Fix sorting by broken columns in several object lists

v4.5.6: - 2026-03-31

Compare Source

Enhancements
  • #​21480 - Add OSFP224 (1.6T) interface type
  • #​21727 - Add 2.5GBASE-X SFP modular interface type
  • #​21743 - Improve object change diff styling and layout
  • #​21793 - Add 50 Gbps, 800 Gbps, and 1.6 Tbps interface speed options
Bug Fixes
  • #​20467 - Fix resolution of the {module} variable for position fields in nested modules
  • #​21698 - Adjust custom field URL filter to support non-standard port numbers
  • #​21707 - Fix grouping of owner fields in provider account add/edit forms
  • #​21749 - Fix FieldError exception when sorting the circuit group assignment table by the member column
  • #​21763 - Use separate add/remove form fields when editing a site or provider with a large number of ASNs assigned
oauth2-proxy/oauth2-proxy (quay.io/oauth2-proxy/oauth2-proxy)

v7.15.3

Compare Source

v7.15.2

Compare Source

  • #​3477 chore(dep): bump go to 1.26 and migrate of reverse proxy handling

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [docker.io/binwiederhier/ntfy](https://ntfy.sh/) ([source](https://github.com/binwiederhier/ntfy)) | | minor | `v2.20.1` → `v2.25.0` | | [docker.io/grafana/grafana](https://github.com/grafana/grafana) | | minor | `13.0.1` → `13.1.0` | | docker.io/grafana/loki | | patch | `3.7.1` → `3.7.3` | | docker.io/library/nginx | | minor | `1.29.7` → `1.31.2` | | docker.io/library/postgres | | minor | `18.3` → `18.4` | | docker.io/library/redis | | minor | `8.6.2` → `8.8.0` | | docker.io/onlyoffice/documentserver | | minor | `9.3.1` → `9.4.0` | | [docker.io/prom/alertmanager](https://github.com/prometheus/alertmanager) | | minor | `v0.31.1` → `v0.33.1` | | [docker.io/prom/prometheus](https://github.com/prometheus/prometheus) | | minor | `v3.10.0` → `v3.13.0` | | [docker.io/prompve/prometheus-pve-exporter](https://github.com/prometheus-pve/prometheus-pve-exporter) | | minor | `3.8.2` → `3.9.0` | | [ghcr.io/twin/gatus](https://github.com/TwiN/gatus) | | minor | `v5.35.0` → `v5.36.0` | | [https://github.com/ansible/ansible-lint](https://github.com/ansible/ansible-lint) | action | minor | `v26.3.0` → `v26.6.0` | | mariadb | | minor | `12.2.2` → `12.3.2` | | [netbox](https://github.com/netbox-community/netbox) | | minor | `v4.5.5` → `v4.6.4` | | [quay.io/hedgedoc/hedgedoc](https://hedgedoc.org) ([source](https://github.com/hedgedoc/container)) | | minor | `1.10.8` → `1.11.0` | | [quay.io/oauth2-proxy/oauth2-proxy](https://quay.io/oauth2-proxy/oauth2-proxy) ([source](https://github.com/oauth2-proxy/oauth2-proxy)) | | patch | `v7.15.1` → `v7.15.3` | --- ### Release Notes <details> <summary>binwiederhier/ntfy (docker.io/binwiederhier/ntfy)</summary> ### [`v2.25.0`](https://github.com/binwiederhier/ntfy/releases/tag/v2.25.0) [Compare Source](https://github.com/binwiederhier/ntfy/compare/v2.24.0...v2.25.0) This release adds **password reset** via email, and reworks email verification to use durable, link-based magic links (replacing the old in-memory 6-digit codes). Email stays optional at signup; a user can reset their password only once they have a verified "primary" (recovery)email. All of this work is probably not useful for self-hosters, but it hopefully will be useful for me, since I do have to reset accounts on a regular basis. **Security issues:** - Generate access tokens, IDs, and magic-link tokens with a cryptographically secure RNG (`crypto/rand`) instead of a clock-seeded PRNG **Features:** - Add password reset via emailed magic link, with a "Forgot password" link on the login page and a `ntfy user reset-pass` CLI command for admins - Rework email verification to use durable, single-use, expiring magic links instead of in-memory 6-digit codes, and add a "primary" email (used for account recovery and as the `X-Email: yes` target) with verified/unverified state in the account UI - You can now clear/read messages and delete messages with a GET request ([#&#8203;1771](https://github.com/binwiederhier/ntfy/issues/1771), thanks to [@&#8203;lemmi](https://github.com/lemmi) for reporting and to [@&#8203;wunter8](https://github.com/wunter8) for implementing) - Add a reload button to the web app's action bar when running as an installed PWA, which clears the service worker caches and hard-refreshes the app - Add a "Back to app" link to the web app's login, signup, and password-reset pages (alongside the existing links), which previously had no way back to the app **Bug fixes + maintenance:** - `X-Email: yes` (also `true`/`1`) now sends to your primary verified email regardless of the `smtp-sender-verify` setting (previously it was rejected unless verification was enabled); it requires being logged in with a verified address - Grant users full access to their own sync topic (`st_...`) so cross-device subscription sync works under `auth-default-access: deny-all` ([#&#8203;733](https://github.com/binwiederhier/ntfy/issues/733), [#&#8203;1795](https://github.com/binwiederhier/ntfy/pull/1795), thanks to [@&#8203;lmorchard](https://github.com/lmorchard) for the contribution) - Support HTTP (non-TLS) S3-compatible endpoints by preserving the endpoint scheme, e.g. for a local MinIO instance ([#&#8203;1794](https://github.com/binwiederhier/ntfy/pull/1794), [#&#8203;1734](https://github.com/binwiederhier/ntfy/issues/1734), thanks to [@&#8203;sskender](https://github.com/sskender) for the contribution, and [@&#8203;Kernald](https://github.com/Kernald) for reporting) - Stop silently stripping spaces from passwords while typing in the web app's login, signup, and password-reset forms ([#&#8203;1246](https://github.com/binwiederhier/ntfy/issues/1246), thanks to [@&#8203;aldem](https://github.com/aldem) for reporting) - Update web app dependencies, including major-version upgrades to Vite (6 -> 8, now Rolldown-based), Material UI (5 -> 9), and Dexie (3 -> 4) ([#&#8203;1800](https://github.com/binwiederhier/ntfy/pull/1800), [#&#8203;1764](https://github.com/binwiederhier/ntfy/pull/1764), [#&#8203;1767](https://github.com/binwiederhier/ntfy/pull/1767), [#&#8203;1762](https://github.com/binwiederhier/ntfy/pull/1762), [#&#8203;1766](https://github.com/binwiederhier/ntfy/pull/1766), [#&#8203;1765](https://github.com/binwiederhier/ntfy/pull/1765), thanks Dependabot) - Play notification sounds in the web app even when the Notification API is unavailable, e.g. over plain HTTP or in browsers without notification support ([#&#8203;1772](https://github.com/binwiederhier/ntfy/pull/1772), thanks to [@&#8203;mitya12342](https://github.com/mitya12342) for the contribution) - Stop escaping `<`, `>`, and `&` as `\u003c`/`\u003e`/`\u0026` in JSON responses ([#&#8203;1511](https://github.com/binwiederhier/ntfy/issues/1511), [#&#8203;1512](https://github.com/binwiederhier/ntfy/pull/1512), thanks to [@&#8203;wunter8](https://github.com/wunter8) for the contribution) - Fix the web app navbar not reflecting a topic reservation (lock icon, and "Reserve topic" -> "Change reservation"/"Remove reservation" menu) until a page reload, by persisting reservation and display-name changes onto already-subscribed topics during account sync - Reduce the web app's initial bundle size by \~300 KB (\~50 KB gzipped) by lazy-loading the emoji picker dataset and the Markdown renderer, and by importing Material UI icons individually ### [`v2.24.0`](https://github.com/binwiederhier/ntfy/releases/tag/v2.24.0) [Compare Source](https://github.com/binwiederhier/ntfy/compare/v2.23.0...v2.24.0) The main feature for this release is an in-memory ACL cache (`auth-access-cache`) that can help bring down the read load on the production database. The topic authorization queries are consistently the highest ranking queries on the database, so this will help quite a bit. The current database load is quite low, but I'm expecting it to increase as more users join and use ntfy. **Security issues:** - Fix case-insensitive ACL topic matching on SQLite: an access control rule for `secret` no longer also matches a request for `SECRET`. SQLite's `LIKE` is case-insensitive for ASCII by default. PostgreSQL was unaffected. It's honestly incredible that this issue remained undetected for so long, especially while ntfy.sh was running on SQLite (it now runs on PostgreSQL). **Features:** - Add opt-in in-memory ACL cache (`auth-access-cache`) that serves topic authorization without a database round-trip; off by default, intended for high-volume servers - Add `ntfy --version` flag to the CLI ([#&#8203;1722](https://github.com/binwiederhier/ntfy/issues/1722), [#&#8203;1748](https://github.com/binwiederhier/ntfy/pull/1748), thanks to [@&#8203;sskender](https://github.com/sskender) for the contribution, and [@&#8203;Saucy9607](https://github.com/Saucy9607) for reporting) **Bug fixes + maintenance:** - Extend account token automatically from the PWA service worker, so installed PWAs don't get logged out ([#&#8203;1669](https://github.com/binwiederhier/ntfy/pull/1669), [#&#8203;1203](https://github.com/binwiederhier/ntfy/issues/1203), [#&#8203;1533](https://github.com/binwiederhier/ntfy/issues/1533), thanks to [@&#8203;nihalgonsalves](https://github.com/nihalgonsalves) for the contribution) - Fix `rel` attribute on auto-linked notification URLs so `noreferrer`/`noopener` are actually applied ([#&#8203;1720](https://github.com/binwiederhier/ntfy/pull/1720), thanks to [@&#8203;dmitrylyzo](https://github.com/dmitrylyzo) for the contribution) - Add systemd sandboxing/hardening to the `ntfy.service` unit ([#&#8203;1467](https://github.com/binwiederhier/ntfy/pull/1467), thanks to [@&#8203;Velocifyer](https://github.com/Velocifyer) for the contribution) - Fix `cmd` package build on macOS (darwin) so the server compiles from source ([#&#8203;1631](https://github.com/binwiederhier/ntfy/issues/1631), [#&#8203;1696](https://github.com/binwiederhier/ntfy/pull/1696), thanks to [@&#8203;ShipItAndPray](https://github.com/ShipItAndPray) for the contribution, and [@&#8203;XYenon](https://github.com/XYenon) for reporting) ### [`v2.23.0`](https://github.com/binwiederhier/ntfy/releases/tag/v2.23.0) [Compare Source](https://github.com/binwiederhier/ntfy/compare/v2.22.0...v2.23.0) **Features:** - Add per-visitor rate limit on new topic creations (`visitor-topic-creation-limit-burst` / `visitor-topic-creation-limit-replenish`, defaults 100 burst / 1m replenish) to mitigate topic-enumeration / squatting attacks that inflate the in-memory topic map **Bug fixes + maintenance:** - Remove `stacktrace-js`, `stacktrace-gps`, `humanize-duration`, and `js-base64` from the web app to reduce dependency and security footprint - Restrict the publish dialog's local file preview to safe image types (png/jpg/gif/webp) to prevent same-origin script execution from blob URLs when previewing a crafted SVG ([GHSA-j8hr-p342-xrmh](https://github.com/binwiederhier/ntfy/security/advisories/GHSA-j8hr-p342-xrmh), thanks to [@&#8203;Venukamatchi](https://github.com/Venukamatchi) for reporting) ### [`v2.22.0`](https://github.com/binwiederhier/ntfy/releases/tag/v2.22.0) [Compare Source](https://github.com/binwiederhier/ntfy/compare/v2.21.0...v2.22.0) **Bug fixes + maintenance:** - Tighten web push endpoint allow-list regex to prevent SSRF via unanchored pattern matching ([GHSA-w9hq-5jg7-q4j7](https://github.com/binwiederhier/ntfy/security/advisories/GHSA-w9hq-5jg7-q4j7), thanks to [@&#8203;MightyNawaf](https://github.com/MightyNawaf) for reporting) - Fix web app not allowing access tokens to be changed to never expire ([#&#8203;1693](https://github.com/binwiederhier/ntfy/issues/1693)/[#&#8203;1694](https://github.com/binwiederhier/ntfy/pull/1694), thanks to [@&#8203;lastsamurai26](https://github.com/lastsamurai26) for reporting and to [@&#8203;ShipItAndPray](https://github.com/ShipItAndPray) for fixing) - Fix web app crashing on account page for tokens without a last access time ([#&#8203;1651](https://github.com/binwiederhier/ntfy/issues/1651), [#&#8203;1684](https://github.com/binwiederhier/ntfy/issues/1684), thanks to [@&#8203;Pulsar7](https://github.com/Pulsar7) and [@&#8203;rzhli](https://github.com/rzhli) for reporting) ### [`v2.21.0`](https://github.com/binwiederhier/ntfy/releases/tag/v2.21.0) [Compare Source](https://github.com/binwiederhier/ntfy/compare/v2.20.1...v2.21.0) This release adds the ability to verify email addresses using the `smtp-sender-verify` flag. This is a change that is required because ntfy.sh was used to send unsolicited emails and the AWS SES account was suspended. Going forward, ntfy.sh won't be able to send emails unless the email address was verified ahead of time. **Features:** - Add verified email recipients feature with `smtp-sender-verify` config flag, allowing server admins to require email address verification before sending email notifications ([#&#8203;1681](https://github.com/binwiederhier/ntfy/pull/1681)) </details> <details> <summary>grafana/grafana (docker.io/grafana/grafana)</summary> ### [`v13.1.0`](https://github.com/grafana/grafana/blob/HEAD/CHANGELOG.md#1310-2026-06-23) ##### Features and enhancements - **A11y:** Remove interactivity from UserIcon if onClick is not provided [#&#8203;120284](https://github.com/grafana/grafana/pull/120284), [@&#8203;idastambuk](https://github.com/idastambuk) - **Accessibility:** Add `aria-pressed` state to `FilterPill` [#&#8203;123069](https://github.com/grafana/grafana/pull/123069), [@&#8203;ashharrison90](https://github.com/ashharrison90) - **Accessibility:** Colorblind-safe line style fill patterns [#&#8203;121386](https://github.com/grafana/grafana/pull/121386), [@&#8203;vijaygovindaraja](https://github.com/vijaygovindaraja) - **Alerting:** Add Mimir Alertmanager auto-sync configuration to settings page [#&#8203;124855](https://github.com/grafana/grafana/pull/124855), [@&#8203;rodrigopk](https://github.com/rodrigopk) - **Alerting:** Add alerting.rulesAPIV2 feature flag [#&#8203;122606](https://github.com/grafana/grafana/pull/122606), [@&#8203;rodrigopk](https://github.com/rodrigopk) - **Alerting:** Add common section to filter dropdown in Alerts Activity [#&#8203;124547](https://github.com/grafana/grafana/pull/124547), [@&#8203;laurenashleigh](https://github.com/laurenashleigh) - **Alerting:** Add feature flag for notifications api migration [#&#8203;124625](https://github.com/grafana/grafana/pull/124625), [@&#8203;rodrigopk](https://github.com/rodrigopk) - **Alerting:** Add label section to enrichment view/edit drawers (Enterprise) - **Alerting:** Add reusable hook to add enrichment query param to url on drawer open [#&#8203;123584](https://github.com/grafana/grafana/pull/123584), [@&#8203;laurenashleigh](https://github.com/laurenashleigh) - **Alerting:** Add support for label selectors in AlertRule and RecordingRule legacy storage [#&#8203;122293](https://github.com/grafana/grafana/pull/122293), [@&#8203;moustafab](https://github.com/moustafab) - **Alerting:** Alert activity UI improvements part 3 [#&#8203;121790](https://github.com/grafana/grafana/pull/121790), [@&#8203;laurenashleigh](https://github.com/laurenashleigh) - **Alerting:** Alert activity groupBy not filtering by environment [#&#8203;121952](https://github.com/grafana/grafana/pull/121952), [@&#8203;rodrigopk](https://github.com/rodrigopk) - **Alerting:** Alerts Activity Instance drawer drilldown, Silence flow [#&#8203;122317](https://github.com/grafana/grafana/pull/122317), [@&#8203;laurenashleigh](https://github.com/laurenashleigh) - **Alerting:** Allow restricting contact point integration types [#&#8203;118858](https://github.com/grafana/grafana/pull/118858), [@&#8203;chriscerie](https://github.com/chriscerie) - **Alerting:** Block Viewers from Alert Group edit route [#&#8203;125669](https://github.com/grafana/grafana/pull/125669), [@&#8203;laurenashleigh](https://github.com/laurenashleigh) - **Alerting:** Block editing plugin-provided and provisioned rule groups [#&#8203;123214](https://github.com/grafana/grafana/pull/123214), [@&#8203;konrad147](https://github.com/konrad147) - **Alerting:** Deduplicate and validate `groupBy` labels in alerts [#&#8203;122983](https://github.com/grafana/grafana/pull/122983), [@&#8203;yuri-tceretian](https://github.com/yuri-tceretian) - **Alerting:** Export external Alertmanager sender metrics with data source UIDs [#&#8203;121996](https://github.com/grafana/grafana/pull/121996), [@&#8203;santihernandezc](https://github.com/santihernandezc) - **Alerting:** Include error in Loki state history when exec\_err\_state is Alerting [#&#8203;125775](https://github.com/grafana/grafana/pull/125775), [@&#8203;imankurpatel000](https://github.com/imankurpatel000) - **Alerting:** Mark notification provisioning endpoints deprecated [#&#8203;121995](https://github.com/grafana/grafana/pull/121995), [@&#8203;titolins](https://github.com/titolins) - **Alerting:** Move filters to sidebar alerts activity [#&#8203;121577](https://github.com/grafana/grafana/pull/121577), [@&#8203;laurenashleigh](https://github.com/laurenashleigh) - **Alerting:** Open new alert rule drawer from panel menu [#&#8203;125712](https://github.com/grafana/grafana/pull/125712), [@&#8203;laurenashleigh](https://github.com/laurenashleigh) - **Alerting:** Preview notification routing in the alert instances table [#&#8203;121699](https://github.com/grafana/grafana/pull/121699), [@&#8203;ppcano](https://github.com/ppcano) - **Alerting:** Propagate plugin rule origin as X-Rule-Origin header [#&#8203;125206](https://github.com/grafana/grafana/pull/125206), [@&#8203;yuri-tceretian](https://github.com/yuri-tceretian) - **Alerting:** Remove alertRuleUseFiredAtForStartsAt feature toggle [#&#8203;124677](https://github.com/grafana/grafana/pull/124677), [@&#8203;fayzal-g](https://github.com/fayzal-g) - **Alerting:** Restrict email contact point recipients to org members [#&#8203;123173](https://github.com/grafana/grafana/pull/123173), [@&#8203;yuri-tceretian](https://github.com/yuri-tceretian) - **Alerting:** Set enrichment uid in url for enrichment view/edit drawer (Enterprise) - **Alerting:** Small improvements to instance drawer drilldown silence flow [#&#8203;123429](https://github.com/grafana/grafana/pull/123429), [@&#8203;laurenashleigh](https://github.com/laurenashleigh) - **Alerting:** Support creating Grafana-managed rules without a group [#&#8203;120228](https://github.com/grafana/grafana/pull/120228), [@&#8203;moustafab](https://github.com/moustafab) - **Alerting:** Surface contact point save errors in the UI [#&#8203;123211](https://github.com/grafana/grafana/pull/123211), [@&#8203;konrad147](https://github.com/konrad147) - **Alerting:** Surface errors on contact point creation [#&#8203;124339](https://github.com/grafana/grafana/pull/124339), [@&#8203;rodrigopk](https://github.com/rodrigopk) - **Alerting:** Surface save and bulk-delete errors to the user [#&#8203;123690](https://github.com/grafana/grafana/pull/123690), [@&#8203;rodrigopk](https://github.com/rodrigopk) - **Alerting:** Use Rules API v2 in panel alert rule drawer [#&#8203;125787](https://github.com/grafana/grafana/pull/125787), [@&#8203;laurenashleigh](https://github.com/laurenashleigh) - **Annotations:** Clustering GA [#&#8203;124173](https://github.com/grafana/grafana/pull/124173), [@&#8203;gtk-grafana](https://github.com/gtk-grafana) - **Auth:** Support inline public keys for JWT authentication [#&#8203;126184](https://github.com/grafana/grafana/pull/126184), [@&#8203;cinaglia](https://github.com/cinaglia) - **Auth:** Use GrafanaComProxyAPIToken for managed plugin API requests (Enterprise) - **Auth:** Use dedicated token for requests to Grafana.com [#&#8203;122269](https://github.com/grafana/grafana/pull/122269), [@&#8203;s4kh](https://github.com/s4kh) - **Azure Monitor:** Pool gzip writers in Log Analytics deep-link encoder [#&#8203;123555](https://github.com/grafana/grafana/pull/123555), [@&#8203;adamyeats](https://github.com/adamyeats) - **Azure Monitor:** Refactor `fetchInitialRows` to improve async utilisation [#&#8203;123278](https://github.com/grafana/grafana/pull/123278), [@&#8203;adamyeats](https://github.com/adamyeats) - **Azure Monitor:** Stream-decode responses and typed structs for portal deep link [#&#8203;123565](https://github.com/grafana/grafana/pull/123565), [@&#8203;adamyeats](https://github.com/adamyeats) - **Browse Dashboards:** Change messaging of delete/move modal and add counts to tabs in folder detail [#&#8203;124299](https://github.com/grafana/grafana/pull/124299), [@&#8203;aocenas](https://github.com/aocenas) - **Browse Dashboards:** Refresh old parent folder on save dashboard [#&#8203;125323](https://github.com/grafana/grafana/pull/125323), [@&#8203;aocenas](https://github.com/aocenas) - **CloudWatch Logs:** Remove data links from results [#&#8203;120348](https://github.com/grafana/grafana/pull/120348), [@&#8203;iwysiu](https://github.com/iwysiu) - **Cloudwatch:** Add id to metric expression datalinks [#&#8203;120526](https://github.com/grafana/grafana/pull/120526), [@&#8203;iwysiu](https://github.com/iwysiu) - **Combobox:** Add isOpen and onIsOpenChangeHandler [#&#8203;122992](https://github.com/grafana/grafana/pull/122992), [@&#8203;L2D2Grafana](https://github.com/L2D2Grafana) - **ConvertFieldType:** Preserve null and empty string in string-to-number conversion [#&#8203;120893](https://github.com/grafana/grafana/pull/120893), [@&#8203;moktamd](https://github.com/moktamd) - **CsvExport:** Remove legacy CsvExportPage (Enterprise) - **Dashboard variables:** Improve accessibility [#&#8203;120758](https://github.com/grafana/grafana/pull/120758), [@&#8203;idastambuk](https://github.com/idastambuk) - **Dashboard/DTO:** Remove isStarred property [#&#8203;122118](https://github.com/grafana/grafana/pull/122118), [@&#8203;ryantxu](https://github.com/ryantxu) - **Dashboard:** Add annotation CRUD to mutation API [#&#8203;123939](https://github.com/grafana/grafana/pull/123939), [@&#8203;ivanortegaalba](https://github.com/ivanortegaalba) - **Dashboard:** Display variable label in outline to better match what the users sees in the dashboard [#&#8203;123321](https://github.com/grafana/grafana/pull/123321), [@&#8203;oscarkilhed](https://github.com/oscarkilhed) - **Dashboard:** Edit pane go back action [#&#8203;122918](https://github.com/grafana/grafana/pull/122918), [@&#8203;torkelo](https://github.com/torkelo) - **Dashboard:** Preserve timezone user-preference when converting V1 → V2 [#&#8203;122267](https://github.com/grafana/grafana/pull/122267), [@&#8203;ivanortegaalba](https://github.com/ivanortegaalba) - **Dashboard:** Switch tab selects tab only when pane is open (docked or not) [#&#8203;121755](https://github.com/grafana/grafana/pull/121755), [@&#8203;torkelo](https://github.com/torkelo) - **Dashboards:** Add panel screenshot API [#&#8203;124045](https://github.com/grafana/grafana/pull/124045), [@&#8203;dprokop](https://github.com/dprokop) - **Dashboards:** Preserve query variable sort modes in v1->v2 conversion [#&#8203;124247](https://github.com/grafana/grafana/pull/124247), [@&#8203;oscarkilhed](https://github.com/oscarkilhed) - **Dashboards:** Remove dashboardScene and publicDashboardsScene feature toggles [#&#8203;121781](https://github.com/grafana/grafana/pull/121781), [@&#8203;Sergej-Vlasov](https://github.com/Sergej-Vlasov) - **Dashboards:** Show k8s format in provisioned save [#&#8203;123033](https://github.com/grafana/grafana/pull/123033), [@&#8203;stephaniehingtgen](https://github.com/stephaniehingtgen) - **Dashboards:** Strip BOM characters in admission mutation hook [#&#8203;122677](https://github.com/grafana/grafana/pull/122677), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **Data Source:** Add forward\_user\_agent option to preserve client User-Agent [#&#8203;124244](https://github.com/grafana/grafana/pull/124244), [@&#8203;marcsanmi](https://github.com/marcsanmi) - **DataSources:** Introduce async APIs and hooks as replacement for datasourceSrv [#&#8203;123037](https://github.com/grafana/grafana/pull/123037), [@&#8203;mckn](https://github.com/mckn) - **Datasources:** Add dynamodb to supported plugins list in dsauth (Enterprise) - **Datasources:** Allow editing data source title [#&#8203;122053](https://github.com/grafana/grafana/pull/122053), [@&#8203;MattIPv4](https://github.com/MattIPv4) - **Datasources:** Finish decoupling mssql & postgresql - backend [#&#8203;119110](https://github.com/grafana/grafana/pull/119110), [@&#8203;njvrzm](https://github.com/njvrzm) - **Datasources:** Finish decoupling mssql, tempo, and graphite - frontend changes [#&#8203;119106](https://github.com/grafana/grafana/pull/119106), [@&#8203;njvrzm](https://github.com/njvrzm) - **Docker:** Bump Alpine-based images to 3.23.4 [#&#8203;122930](https://github.com/grafana/grafana/pull/122930), [@&#8203;Proximyst](https://github.com/Proximyst) - **Docker:** Bump Alpine-based images to 3.24.1 [#&#8203;126529](https://github.com/grafana/grafana/pull/126529), [@&#8203;macabu](https://github.com/macabu) - **Dynamic dashboards:** preserve tab/row URL slugs and keep legacy tab URLs working [#&#8203;123159](https://github.com/grafana/grafana/pull/123159), [@&#8203;idastambuk](https://github.com/idastambuk) - **Expressions:** Add memory limit for math expression binary operations [#&#8203;121945](https://github.com/grafana/grafana/pull/121945), [@&#8203;rwwiv](https://github.com/rwwiv) - **Go:** Update to 1.25.9 [#&#8203;122094](https://github.com/grafana/grafana/pull/122094), [@&#8203;macabu](https://github.com/macabu) - **Google Cloud Monitoring:** Add Forward OAuth Identity authentication (frontend) [#&#8203;124618](https://github.com/grafana/grafana/pull/124618), [@&#8203;ktw4071](https://github.com/ktw4071) - **GrafanaUI:** Remove feature toggle for new panel padding [#&#8203;124870](https://github.com/grafana/grafana/pull/124870), [@&#8203;torkelo](https://github.com/torkelo) - **Graphite:** Strip tagged path from `tags.name` when `aliasSub` wrapping is detected [#&#8203;122277](https://github.com/grafana/grafana/pull/122277), [@&#8203;adamyeats](https://github.com/adamyeats) - **Histogram:** filter NaN and Infinity from bucket size calculation [#&#8203;117698](https://github.com/grafana/grafana/pull/117698), [@&#8203;ethervoid](https://github.com/ethervoid) - **Homepage:** Support v2 dashboards if defined by a file [#&#8203;122994](https://github.com/grafana/grafana/pull/122994), [@&#8203;stephaniehingtgen](https://github.com/stephaniehingtgen) - **I18n:** Prevents `en-US` localization resources from loading [#&#8203;125327](https://github.com/grafana/grafana/pull/125327), [@&#8203;hugohaggmark](https://github.com/hugohaggmark) - **Import:** Library panel missing DS when imported in v1 and classic [#&#8203;119980](https://github.com/grafana/grafana/pull/119980), [@&#8203;ivanortegaalba](https://github.com/ivanortegaalba) - **InfluxDB:** Decouple backend [#&#8203;119167](https://github.com/grafana/grafana/pull/119167), [@&#8203;njvrzm](https://github.com/njvrzm) - **InfluxDB:** Decouple frontend [#&#8203;119169](https://github.com/grafana/grafana/pull/119169), [@&#8203;njvrzm](https://github.com/njvrzm) - **InteractiveTable:** Support specific column widths [#&#8203;121384](https://github.com/grafana/grafana/pull/121384), [@&#8203;vijaygovindaraja](https://github.com/vijaygovindaraja) - **LibraryPanels:** Return 403 instead of 500 for insufficient permissions [#&#8203;123407](https://github.com/grafana/grafana/pull/123407), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **Log Details:** Add support for filtering from add-hoc stats and to include/exclude the log line [#&#8203;126782](https://github.com/grafana/grafana/pull/126782), [@&#8203;matyax](https://github.com/matyax) - **Log Details:** Add support to expand or shrink inline Log Details [#&#8203;123156](https://github.com/grafana/grafana/pull/123156), [@&#8203;matyax](https://github.com/matyax) - **Logs Panel:** Add support to copy a log entry with fields/labels as JSON [#&#8203;124816](https://github.com/grafana/grafana/pull/124816), [@&#8203;matyax](https://github.com/matyax) - **Logs:** Add emergency to supported LogLevel mapping [#&#8203;119957](https://github.com/grafana/grafana/pull/119957), [@&#8203;Kuehn-Andreas](https://github.com/Kuehn-Andreas) - **Logs:** Add keyboard navigation support for Log Details [#&#8203;123406](https://github.com/grafana/grafana/pull/123406), [@&#8203;matyax](https://github.com/matyax) - **Logs:** Add optional download support for dashboards [#&#8203;123256](https://github.com/grafana/grafana/pull/123256), [@&#8203;matyax](https://github.com/matyax) - **Logs:** Highlight multi-unit durations in log syntax highlighting [#&#8203;124433](https://github.com/grafana/grafana/pull/124433), [@&#8203;o6ivp](https://github.com/o6ivp) - **Logs:** Log line menu is now sticky [#&#8203;126572](https://github.com/grafana/grafana/pull/126572), [@&#8203;matyax](https://github.com/matyax) - **Logs:** Removed logsPanelControls feature flag and related components [#&#8203;122114](https://github.com/grafana/grafana/pull/122114), [@&#8203;matyax](https://github.com/matyax) - **Logs:** introduce "unspecified" log level for missing log level and separate from "unknown" [#&#8203;125716](https://github.com/grafana/grafana/pull/125716), [@&#8203;matyax](https://github.com/matyax) - **Migration:** Widen team.updated to DATETIME(3) on MySQL [#&#8203;124314](https://github.com/grafana/grafana/pull/124314), [@&#8203;mgyongyosi](https://github.com/mgyongyosi) - **PieChartPanel:** Add gradient color scheme with WCAG-aware slice labels [#&#8203;121303](https://github.com/grafana/grafana/pull/121303), [@&#8203;fedir](https://github.com/fedir) - **Plugins:** Add plugins.marketplaceLicensing feature toggle [#&#8203;124246](https://github.com/grafana/grafana/pull/124246), [@&#8203;xnyo](https://github.com/xnyo) - **Plugins:** Sanitise header values to printable ASCII for gRPC compatibility [#&#8203;122237](https://github.com/grafana/grafana/pull/122237), [@&#8203;adamyeats](https://github.com/adamyeats) - **Prometheus:** Fetch metric metadata on code editor mount [#&#8203;121339](https://github.com/grafana/grafana/pull/121339) - **Prometheus:** Prevent prometheus package to be released automatically [#&#8203;122824](https://github.com/grafana/grafana/pull/122824), [@&#8203;itsmylife](https://github.com/itsmylife) - **Prometheus:** Use [@&#8203;grafana/prometheus](https://github.com/grafana/prometheus) v13.1.2 [#&#8203;123024](https://github.com/grafana/grafana/pull/123024), [@&#8203;itsmylife](https://github.com/itsmylife) - **Provisioning:** Add commit signing configuration UI (GPG, SSH, S/MIME) [#&#8203;126023](https://github.com/grafana/grafana/pull/126023), [@&#8203;amalavet](https://github.com/amalavet) - **Provisioning:** Don't mark folders pending due to \_folder.json metadata [#&#8203;124118](https://github.com/grafana/grafana/pull/124118), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **Provisioning:** Enforce folder version in finalizer handler [#&#8203;123179](https://github.com/grafana/grafana/pull/123179), [@&#8203;ferruvich](https://github.com/ferruvich) - **Provisioning:** Honor ruleset bypass for write workflow validation [#&#8203;123893](https://github.com/grafana/grafana/pull/123893), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **Provisioning:** Include dashboard validation errors in pull request comments [#&#8203;122233](https://github.com/grafana/grafana/pull/122233), [@&#8203;gttrigger](https://github.com/gttrigger) - **Provisioning:** Invalid resources should cause a warning job [#&#8203;123047](https://github.com/grafana/grafana/pull/123047), [@&#8203;gttrigger](https://github.com/gttrigger) - **Provisioning:** List resources should return correct api version [#&#8203;122653](https://github.com/grafana/grafana/pull/122653), [@&#8203;gttrigger](https://github.com/gttrigger) - **Provisioning:** Negotiate receive-pack capabilities for git pushes [#&#8203;124122](https://github.com/grafana/grafana/pull/124122), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **Provisioning:** Per-verb fallback for the files subresource [#&#8203;123867](https://github.com/grafana/grafana/pull/123867), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **Provisioning:** Remove GET method from webhook connector [#&#8203;125539](https://github.com/grafana/grafana/pull/125539), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **Provisioning:** Require new token when provisioning URL changes [#&#8203;125525](https://github.com/grafana/grafana/pull/125525), [@&#8203;ferruvich](https://github.com/ferruvich) - **Provisioning:** Retry SQLITE\_BUSY on repository status patch [#&#8203;123873](https://github.com/grafana/grafana/pull/123873), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **Provisioning:** Return Bad request for repo mismatch in webhook [#&#8203;124453](https://github.com/grafana/grafana/pull/124453), [@&#8203;ferruvich](https://github.com/ferruvich) - **Provisioning:** Return early for errors on resource creation in Parser [#&#8203;125122](https://github.com/grafana/grafana/pull/125122), [@&#8203;ferruvich](https://github.com/ferruvich) - **Provisioning:** Rotate webhook secret periodically [#&#8203;122797](https://github.com/grafana/grafana/pull/122797), [@&#8203;ferruvich](https://github.com/ferruvich) - **Provisioning:** Scope repository uniqueness by (URL, branch, path) [#&#8203;123498](https://github.com/grafana/grafana/pull/123498), [@&#8203;ferruvich](https://github.com/ferruvich) - **Provisioning:** Surface folder uid-too-long and other validation 4xx as sync warnings [#&#8203;123797](https://github.com/grafana/grafana/pull/123797), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **Provisioning:** Use full sync instead of incremental if diff size exceeds a certain amount [#&#8203;123127](https://github.com/grafana/grafana/pull/123127), [@&#8203;ferruvich](https://github.com/ferruvich) - **Provisioning:** Write `_folder.json` when creating dashboards in new folders [#&#8203;126042](https://github.com/grafana/grafana/pull/126042), [@&#8203;ferruvich](https://github.com/ferruvich) - **Provisioning:** Write `_folder.json` when moving dashboards into new folders [#&#8203;126552](https://github.com/grafana/grafana/pull/126552), [@&#8203;ferruvich](https://github.com/ferruvich) - **Provisioning:** add PR comment if resources metadata is removed [#&#8203;122664](https://github.com/grafana/grafana/pull/122664), [@&#8203;ferruvich](https://github.com/ferruvich) - **Provisioning:** add new check for webhook creation in repository controller [#&#8203;122725](https://github.com/grafana/grafana/pull/122725), [@&#8203;ferruvich](https://github.com/ferruvich) - **Provisioning:** add public\_root\_url instance setting for external URLs [#&#8203;123613](https://github.com/grafana/grafana/pull/123613), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **Provisioning:** replay protection for GitHub webhooks [#&#8203;125550](https://github.com/grafana/grafana/pull/125550), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **Provisioning:** validate ref query parameter on files and history endpoints [#&#8203;125551](https://github.com/grafana/grafana/pull/125551), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **Pyroscope:** Add support for heatmap query API [#&#8203;120995](https://github.com/grafana/grafana/pull/120995), [@&#8203;simonswine](https://github.com/simonswine) - **Pyroscope:** Include profile ID and absolute times in assistant context [#&#8203;122665](https://github.com/grafana/grafana/pull/122665), [@&#8203;marcsanmi](https://github.com/marcsanmi) - **Removal:** GroupAttributeSync routes [#&#8203;126247](https://github.com/grafana/grafana/pull/126247), [@&#8203;Jguer](https://github.com/Jguer) - **Reporting:** Add backend support for URL-based report rendering (Enterprise) - **Reporting:** Limit report emails to org members only (behind new config property) (Enterprise) - **Revert "Alerting:** Migrate notifications.alerting.grafana.app from v0alpha1 to v1beta1" [#&#8203;121955](https://github.com/grafana/grafana/pull/121955), [@&#8203;rodrigopk](https://github.com/rodrigopk) - **Scenes:** Upgrade to v8 [#&#8203;123698](https://github.com/grafana/grafana/pull/123698), [@&#8203;torkelo](https://github.com/torkelo) - **Search API:** Filter out k6 technical folder in unified search [#&#8203;122674](https://github.com/grafana/grafana/pull/122674), [@&#8203;aocenas](https://github.com/aocenas) - **Secrets Keeper:** AWS create form with instruction wizard (Enterprise) - **Secrets Keeper:** Activate and deactivate keeper from the UI (Enterprise) - **Secrets Keeper:** Add delete keeper functionality (Enterprise) - **Secrets Keeper:** Add keeper edit page with form prepopulation (Enterprise) - **Sidebar:** Open pane actions, dock, and go back redesign [#&#8203;123683](https://github.com/grafana/grafana/pull/123683), [@&#8203;torkelo](https://github.com/torkelo) - **SqlExpressions:** Interpolate variables in schema queries [#&#8203;123779](https://github.com/grafana/grafana/pull/123779), [@&#8203;NWRichmond](https://github.com/NWRichmond) - **SqlExpressions:** Migrate AI features to Grafana Assistant [#&#8203;122085](https://github.com/grafana/grafana/pull/122085), [@&#8203;NWRichmond](https://github.com/NWRichmond) - **Stats:** Remove dashboard version metric [#&#8203;121900](https://github.com/grafana/grafana/pull/121900), [@&#8203;stephaniehingtgen](https://github.com/stephaniehingtgen) - **Table:** GroupToNestedTable v2 UI [#&#8203;121646](https://github.com/grafana/grafana/pull/121646), [@&#8203;fastfrwrd](https://github.com/fastfrwrd) - **Team folders:** Refresh browse dashboard cache after changes to team folders [#&#8203;123794](https://github.com/grafana/grafana/pull/123794), [@&#8203;aocenas](https://github.com/aocenas) - **Tempo:** Unify dynamic int/double span attributes as float64 [#&#8203;121645](https://github.com/grafana/grafana/pull/121645), [@&#8203;zoltanbedi](https://github.com/zoltanbedi) - **Tempo:** Unify nested span subframe schema across span sets [#&#8203;124885](https://github.com/grafana/grafana/pull/124885), [@&#8203;zoltanbedi](https://github.com/zoltanbedi) - **TimeRangePicker:** Adjust accent color to be accessible [#&#8203;122040](https://github.com/grafana/grafana/pull/122040), [@&#8203;ashharrison90](https://github.com/ashharrison90) - **Transformations:** Removes unused predicate matchers [#&#8203;124790](https://github.com/grafana/grafana/pull/124790), [@&#8203;hugohaggmark](https://github.com/hugohaggmark) - **Unified Storage:** Pass commit message when routing managed-resource writes [#&#8203;125556](https://github.com/grafana/grafana/pull/125556), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **Users:** Use SHA-256 for Gravatar email identifier [#&#8203;122319](https://github.com/grafana/grafana/pull/122319), [@&#8203;Jguer](https://github.com/Jguer) - **Zipkin:** Remove core datasource (Enterprise) - **patch(security):** apply May 2026 patches [#&#8203;124824](https://github.com/grafana/grafana/pull/124824), [@&#8203;github-actions\[bot\]](https://github.com/github-actions\[bot]) ##### Bug fixes - **Alerting:** Fix named policy route showing as Default when routing toggle is off [#&#8203;125817](https://github.com/grafana/grafana/pull/125817), [@&#8203;rodrigopk](https://github.com/rodrigopk) - **Alerting:** Add warning when editing grouped alert rule to ungrouped [#&#8203;126292](https://github.com/grafana/grafana/pull/126292), [@&#8203;rodrigopk](https://github.com/rodrigopk) - **Alerting:** Fix AlertManagerPicker visibility to check Alertmanager datasources [#&#8203;123137](https://github.com/grafana/grafana/pull/123137), [@&#8203;konrad147](https://github.com/konrad147) - **Alerting:** Fix Test button not shown for provisioned contact points [#&#8203;126371](https://github.com/grafana/grafana/pull/126371), [@&#8203;gillesdemey](https://github.com/gillesdemey) - **Alerting:** Fix crash when MultiCombobox value contains duplicates [#&#8203;122180](https://github.com/grafana/grafana/pull/122180), [@&#8203;rodrigopk](https://github.com/rodrigopk) - **Alerting:** Fix crash when ruler returns namespace with empty groups array [#&#8203;122704](https://github.com/grafana/grafana/pull/122704), [@&#8203;konrad147](https://github.com/konrad147) - **Alerting:** Fix error toaster when removing last rule from group [#&#8203;126296](https://github.com/grafana/grafana/pull/126296), [@&#8203;rodrigopk](https://github.com/rodrigopk) - **Alerting:** Fix inhibition status flickering during load of alert rule detail [#&#8203;126288](https://github.com/grafana/grafana/pull/126288), [@&#8203;rodrigopk](https://github.com/rodrigopk) - **Alerting:** Fix missing permission check for routing preview [#&#8203;122344](https://github.com/grafana/grafana/pull/122344), [@&#8203;rodrigopk](https://github.com/rodrigopk) - **Alerting:** Fix notification policies tab hidden for Viewer/Editor after managed routes migration [#&#8203;122123](https://github.com/grafana/grafana/pull/122123), [@&#8203;gillesdemey](https://github.com/gillesdemey) - **Alerting:** Fix page title for /alerting/groups when V2 nav is enabled without triage [#&#8203;123286](https://github.com/grafana/grafana/pull/123286), [@&#8203;firasmosbehi](https://github.com/firasmosbehi) - **Alerting:** Fix rule matching when expressions contain inline comments [#&#8203;126152](https://github.com/grafana/grafana/pull/126152), [@&#8203;gillesdemey](https://github.com/gillesdemey) - **Alerting:** Fix slug in alerting nested folder URL [#&#8203;123670](https://github.com/grafana/grafana/pull/123670), [@&#8203;laurenashleigh](https://github.com/laurenashleigh) - **Alerting:** Fix threshold value reset when changing condition type [#&#8203;122455](https://github.com/grafana/grafana/pull/122455), [@&#8203;gillesdemey](https://github.com/gillesdemey) - **Alerting:** Fix toast spam when typing silence matcher regex [#&#8203;125643](https://github.com/grafana/grafana/pull/125643), [@&#8203;laurenashleigh](https://github.com/laurenashleigh) - **Alerting:** Make contact point settings redaction logic case insensitive [#&#8203;124955](https://github.com/grafana/grafana/pull/124955), [@&#8203;khalilhaji](https://github.com/khalilhaji) - **Alerting:** Set 'ResolvedAt' when transitioning from Error to Normal [#&#8203;122329](https://github.com/grafana/grafana/pull/122329), [@&#8203;santihernandezc](https://github.com/santihernandezc) - **Auth:** URL-encode redirectTo cookie value in OAuth login flow [#&#8203;121953](https://github.com/grafana/grafana/pull/121953), [@&#8203;jsclayton](https://github.com/jsclayton) - **AzureMonitor:** Fix focus trapping on `ResourceField` modal [#&#8203;123072](https://github.com/grafana/grafana/pull/123072), [@&#8203;ashharrison90](https://github.com/ashharrison90) - **Browse dashboards:** Fix delete modal affected counts [#&#8203;122747](https://github.com/grafana/grafana/pull/122747), [@&#8203;aocenas](https://github.com/aocenas) - **Dashboads:** Fixes flickering issues [#&#8203;118567](https://github.com/grafana/grafana/pull/118567), [@&#8203;torkelo](https://github.com/torkelo) - **Dashboard:** DashboardCodePane width refactoring and fixes [#&#8203;122700](https://github.com/grafana/grafana/pull/122700), [@&#8203;torkelo](https://github.com/torkelo) - **Dashboard:** Fixes issue with interval variable with Auto value [#&#8203;123889](https://github.com/grafana/grafana/pull/123889), [@&#8203;torkelo](https://github.com/torkelo) - **DashboardDS:** Fix Mixed panels not updating on time-range change with stale upstreams [#&#8203;124665](https://github.com/grafana/grafana/pull/124665), [@&#8203;ivanortegaalba](https://github.com/ivanortegaalba) - **DashboardDS:** Fix Mixed panels with a time override stuck in permanent loading [#&#8203;125954](https://github.com/grafana/grafana/pull/125954), [@&#8203;oscarkilhed](https://github.com/oscarkilhed) - **Dashboards:** Fix broken add panel button after removing last panel [#&#8203;124551](https://github.com/grafana/grafana/pull/124551), [@&#8203;ifrost](https://github.com/ifrost) - **Datasources:** return 400 when payload UID does not match URL UID in PUT /api/datasources/uid/:uid [#&#8203;125398](https://github.com/grafana/grafana/pull/125398), [@&#8203;papagian](https://github.com/papagian) - **Fix:** Don't mutate shared SecureJSONData map in dsauth (Enterprise) - **Fix:** Short-cut auth service Apply for non-handled plugin IDs (Enterprise) - **GrafanaUI:** Correctly close `Select`/`Combobox` menus with the keyboard [#&#8203;122133](https://github.com/grafana/grafana/pull/122133), [@&#8203;ashharrison90](https://github.com/ashharrison90) - **HomePage:** Fix redirect when served under a subpath [#&#8203;124557](https://github.com/grafana/grafana/pull/124557), [@&#8203;ashharrison90](https://github.com/ashharrison90) - **Jaeger:** Fix log event timestamp unit conversion in trace view [#&#8203;123302](https://github.com/grafana/grafana/pull/123302), [@&#8203;ktw4071](https://github.com/ktw4071) - **K8s Dashboards:** Fix folder permission check to use dashboards:create [#&#8203;124612](https://github.com/grafana/grafana/pull/124612), [@&#8203;mihai-turdean](https://github.com/mihai-turdean) - **Loki:** Show Step option for all query types and fix volume reload on step change [#&#8203;122184](https://github.com/grafana/grafana/pull/122184), [@&#8203;paulojmdias](https://github.com/paulojmdias) - **Menu:** Correctly show active state in forced colors mode [#&#8203;123633](https://github.com/grafana/grafana/pull/123633), [@&#8203;ashharrison90](https://github.com/ashharrison90) - **Portal:** Fix nested portals to overlay correctly [#&#8203;122450](https://github.com/grafana/grafana/pull/122450), [@&#8203;ashharrison90](https://github.com/ashharrison90) - **PostgreSQL:** Allow sql\_engine to return results for EXPLAIN queries [#&#8203;122739](https://github.com/grafana/grafana/pull/122739), [@&#8203;sdague](https://github.com/sdague) - **Provisioning:** Bump nanogit to v0.17.0 to fix pushes with repositories using git modules [#&#8203;124114](https://github.com/grafana/grafana/pull/124114), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **Provisioning:** Fix PR comments on multi-org Grafana instances [#&#8203;126700](https://github.com/grafana/grafana/pull/126700), [@&#8203;ferruvich](https://github.com/ferruvich) - **Provisioning:** Fix PR links when folder is renamed via UI [#&#8203;126695](https://github.com/grafana/grafana/pull/126695), [@&#8203;ferruvich](https://github.com/ferruvich) - **Provisioning:** Fix duplicate folder cleanup during full sync [#&#8203;124256](https://github.com/grafana/grafana/pull/124256), [@&#8203;ferruvich](https://github.com/ferruvich) - **Provisioning:** Fix race in PullStatus condition with controller patches [#&#8203;123358](https://github.com/grafana/grafana/pull/123358), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **Public Dashboards:** Fix issues navigating to public dashboards from a logged-in session [#&#8203;121017](https://github.com/grafana/grafana/pull/121017), [@&#8203;mmandrus](https://github.com/mmandrus) - **QueryEditor:** Fix loss of query edits when switching queries [#&#8203;123001](https://github.com/grafana/grafana/pull/123001), [@&#8203;NWRichmond](https://github.com/NWRichmond) - **Tempo Datasource:** Fix gRPC basic auth over non-TLS connections [#&#8203;123026](https://github.com/grafana/grafana/pull/123026), [@&#8203;RobertClarke64](https://github.com/RobertClarke64) - **Tempo:** Fix Ctrl+/ comment toggle in TraceQL editor [#&#8203;121460](https://github.com/grafana/grafana/pull/121460), [@&#8203;Krishnachaitanyakc](https://github.com/Krishnachaitanyakc) - **Tempo:** Fix trace rendering failure when span attributes contain NaN or Infinity [#&#8203;122504](https://github.com/grafana/grafana/pull/122504), [@&#8203;Tarasusrus](https://github.com/Tarasusrus) - **TimePicker:** Show label for fiscal-quarter relative ranges [#&#8203;122384](https://github.com/grafana/grafana/pull/122384), [@&#8203;jeanibarz](https://github.com/jeanibarz) - **Unified storage:** Skip migrations if dualwrite state shows they were already migrated [#&#8203;122866](https://github.com/grafana/grafana/pull/122866), [@&#8203;stephaniehingtgen](https://github.com/stephaniehingtgen) - **alerting:** fix ORM table mapping bug causing SELECT alert\_rule columns FROM user on PostgreSQL [#&#8203;124935](https://github.com/grafana/grafana/pull/124935), [@&#8203;dhananjay6561](https://github.com/dhananjay6561) - **fix(provisioning):** ignore terminating repositories when validating connection delete [#&#8203;126822](https://github.com/grafana/grafana/pull/126822), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **fix:** bad MySQL query in datasource\_type column migration [#&#8203;126821](https://github.com/grafana/grafana/pull/126821), [@&#8203;gassiss](https://github.com/gassiss) ##### Breaking changes - **Prometheus:** Remove azure and sigv4 auth from core prometheus [#&#8203;123089](https://github.com/grafana/grafana/pull/123089), [@&#8203;itsmylife](https://github.com/itsmylife) - **Prometheus:** Remove grafana-prometheus [package#122953](https://github.com/package/grafana/issues/122953) [#&#8203;123035](https://github.com/grafana/grafana/pull/123035), [@&#8203;itsmylife](https://github.com/itsmylife) - **Zipkin:** Remove from core plugins [#&#8203;124148](https://github.com/grafana/grafana/pull/124148), [@&#8203;itsmylife](https://github.com/itsmylife) ##### Plugin development fixes & changes - **Card:** Improve responsiveness [#&#8203;123876](https://github.com/grafana/grafana/pull/123876), [@&#8203;ashharrison90](https://github.com/ashharrison90) - **Combobox:** Fix caret jumping to the end of the input [#&#8203;123950](https://github.com/grafana/grafana/pull/123950), [@&#8203;joshhunt](https://github.com/joshhunt) - **DataLinkInput:** Expose prop to properly link labels to input [#&#8203;123795](https://github.com/grafana/grafana/pull/123795), [@&#8203;ashharrison90](https://github.com/ashharrison90) - **RadioButton:** Fix selected visibility in forced colors mode [#&#8203;123952](https://github.com/grafana/grafana/pull/123952), [@&#8203;ashharrison90](https://github.com/ashharrison90) - **RadioButtonGroup:** Prevent RadioButtonGroup overflow with ellipsis and hover title [#&#8203;119124](https://github.com/grafana/grafana/pull/119124), [@&#8203;Apahadi73](https://github.com/Apahadi73) - **TimeOfDayPicker:** use Combobox [#&#8203;123777](https://github.com/grafana/grafana/pull/123777), [@&#8203;leeoniya](https://github.com/leeoniya) <!-- 13.1.0 END --> <!-- 12.3.6+security-04 START --> ### [`v13.0.3`](https://github.com/grafana/grafana/blob/HEAD/CHANGELOG.md#1303-2026-06-23) ##### Features and enhancements - **Docker:** Bump Alpine-based images to 3.24.1 [#&#8203;126548](https://github.com/grafana/grafana/pull/126548), [@&#8203;macabu](https://github.com/macabu) - **Provisioning:** Write `_folder.json` when creating dashboards in new folders [#&#8203;126323](https://github.com/grafana/grafana/pull/126323), [@&#8203;ferruvich](https://github.com/ferruvich) - **Provisioning:** Write `_folder.json` when moving dashboards into new folders [#&#8203;126676](https://github.com/grafana/grafana/pull/126676), [@&#8203;ferruvich](https://github.com/ferruvich) ##### Bug fixes - **Datasources:** return 400 when payload UID does not match URL UID in PUT /api/datasources/uid/:uid [#&#8203;125771](https://github.com/grafana/grafana/pull/125771), [@&#8203;papagian](https://github.com/papagian) - **Provisioning:** Fix PR comments on multi-org Grafana instances [#&#8203;126887](https://github.com/grafana/grafana/pull/126887), [@&#8203;ferruvich](https://github.com/ferruvich) - **Provisioning:** Fix PR links when folder is renamed via UI [#&#8203;126858](https://github.com/grafana/grafana/pull/126858), [@&#8203;grafana-writer\[bot\]](https://github.com/grafana-writer\[bot]) - **fix(provisioning):** ignore terminating repositories when validating connection delete [#&#8203;126862](https://github.com/grafana/grafana/pull/126862), [@&#8203;grafana-writer\[bot\]](https://github.com/grafana-writer\[bot]) - **fix:** bad MySQL query in datasource\_type column migration [#&#8203;126897](https://github.com/grafana/grafana/pull/126897), [@&#8203;grafana-writer\[bot\]](https://github.com/grafana-writer\[bot]) <!-- 13.0.3 END --> <!-- 11.6.16 START --> ### [`v13.0.2`](https://github.com/grafana/grafana/releases/tag/v13.0.2): 13.0.2 [Download page](https://grafana.com/grafana/download/13.0.2) [What's new highlights](https://grafana.com/docs/grafana/latest/whatsnew/) ##### Features and enhancements - **Dashboards:** Show k8s format in provisioned save [#&#8203;123045](https://github.com/grafana/grafana/pull/123045), [@&#8203;stephaniehingtgen](https://github.com/stephaniehingtgen) - **Docker:** Bump Alpine-based images to 3.23.4 [#&#8203;122938](https://github.com/grafana/grafana/pull/122938), [@&#8203;Proximyst](https://github.com/Proximyst) - **Go:** Update version to 1.26.3 [#&#8203;124454](https://github.com/grafana/grafana/pull/124454), [@&#8203;macabu](https://github.com/macabu) - **Homepage:** Support v2 dashboards if defined by a file [#&#8203;123029](https://github.com/grafana/grafana/pull/123029), [@&#8203;stephaniehingtgen](https://github.com/stephaniehingtgen) - **LibraryPanels:** Return 403 instead of 500 for insufficient permissions [#&#8203;123467](https://github.com/grafana/grafana/pull/123467), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **Provisioning:** Don't mark folders pending due to \_folder.json metadata [#&#8203;124139](https://github.com/grafana/grafana/pull/124139), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **Provisioning:** Honor ruleset bypass for write workflow validation [#&#8203;124128](https://github.com/grafana/grafana/pull/124128), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **Provisioning:** Negotiate receive-pack capabilities for git pushes [#&#8203;124130](https://github.com/grafana/grafana/pull/124130), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **Provisioning:** Per-verb fallback for the files subresource [#&#8203;123900](https://github.com/grafana/grafana/pull/123900), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **Provisioning:** Scope repository uniqueness by (URL, branch, path) [#&#8203;124121](https://github.com/grafana/grafana/pull/124121), [@&#8203;ferruvich](https://github.com/ferruvich) - **Provisioning:** Surface folder uid-too-long and other validation 4xx as sync warnings [#&#8203;123888](https://github.com/grafana/grafana/pull/123888), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **Provisioning:** add public\_root\_url instance setting for external URLs [#&#8203;124258](https://github.com/grafana/grafana/pull/124258), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) ##### Bug fixes - **DashboardDS:** Fix Mixed panels not updating on time-range change with stale upstreams [#&#8203;124894](https://github.com/grafana/grafana/pull/124894), [@&#8203;ivanortegaalba](https://github.com/ivanortegaalba) - **Jaeger:** Fix log event timestamp unit conversion in trace view [#&#8203;123707](https://github.com/grafana/grafana/pull/123707), [@&#8203;ktw4071](https://github.com/ktw4071) - **K8s Dashboards:** Fix folder permission check to use dashboards:create [#&#8203;124942](https://github.com/grafana/grafana/pull/124942), [@&#8203;mihai-turdean](https://github.com/mihai-turdean) - **PostgreSQL:** Allow sql\_engine to return results for EXPLAIN queries [#&#8203;123246](https://github.com/grafana/grafana/pull/123246), [@&#8203;sdague](https://github.com/sdague) - **Provisioning:** Bump nanogit to v0.17.0 to fix pushes with repositories using git modules [#&#8203;124140](https://github.com/grafana/grafana/pull/124140), [@&#8203;MissingRoberto](https://github.com/MissingRoberto) - **RBAC:** Quick fix for global datasource permissions (Enterprise) - **Security**: CVE-2026-9029 - **Security**: CVE-2026-33382 - **Security**: CVE-2026-42127 - **Security**: CVE-2026-42129 - **Security**: CVE-2026-10601 - **Security**: CVE-2026-8609 - **Security**: CVE-2026-8595 </details> <details> <summary>prometheus/alertmanager (docker.io/prom/alertmanager)</summary> ### [`v0.33.1`](https://github.com/prometheus/alertmanager/releases/tag/v0.33.1): 0.33.1 / 2026-07-04 [Compare Source](https://github.com/prometheus/alertmanager/compare/v0.33.0...v0.33.1) - \[BUGFIX] doc: fix missing `notification_reason` field in webhook documentation ([#&#8203;5329](https://github.com/prometheus/alertmanager/issues/5329)) - \[BUGFIX] silences: fix silences snapshot missing legacy matchers field. This caused a bug that prevented older alertmanager versions from reading newer snapshots unnecessarily. ([#&#8203;5330](https://github.com/prometheus/alertmanager/issues/5330)) - \[BUGFIX] silence with no matchers should populate an empty array in API response ([#&#8203;5331](https://github.com/prometheus/alertmanager/issues/5331)) ### [`v0.33.0`](https://github.com/prometheus/alertmanager/releases/tag/v0.33.0): 0.33.0 / 2026-06-12 [Compare Source](https://github.com/prometheus/alertmanager/compare/v0.32.2...v0.33.0) - \[CHANGE] The '--enable-feature=auto-gomaxprocs' option has been removed. This flag had no effect since v0.29 and was deprecated in v0.32. It can be safely removed from any startup scripts. [#&#8203;5090](https://github.com/prometheus/alertmanager/issues/5090), [#&#8203;5251](https://github.com/prometheus/alertmanager/issues/5251) - \[CHANGE] Add `group-key-in-metrics` feature flag. [#&#8203;5047](https://github.com/prometheus/alertmanager/issues/5047) - \[CHANGE] Move `AlertMarker`, `GroupMarker` to `marker` package. [#&#8203;5047](https://github.com/prometheus/alertmanager/issues/5047) - \[CHANGE] Remove `alertmanager_marked_alerts`. [#&#8203;5047](https://github.com/prometheus/alertmanager/issues/5047) - \[CHANGE] Remove the following from `types` package: `MemMarker`, `AlertState*`, `AlertStatus`. [#&#8203;5047](https://github.com/prometheus/alertmanager/issues/5047) - \[FEATURE] Introduce per aggregation group AlertMarkers and drop Global Alert Marker. [#&#8203;5047](https://github.com/prometheus/alertmanager/issues/5047) - \[FEATURE] ui: Add support for silence annotations. [#&#8203;5017](https://github.com/prometheus/alertmanager/issues/5017) - \[FEATURE] api: Add receiver labels and `receiver_matchers` filter to `/api/v2/receivers`, `/api/v2/alerts`, and `/api/v2/alerts/groups`. [#&#8203;5152](https://github.com/prometheus/alertmanager/issues/5152) - \[FEATURE] eventrecorder: Add structured event recorder behind `--enable-feature=event-recorder`, with file, webhook, and kafka outputs. [#&#8203;5072](https://github.com/prometheus/alertmanager/issues/5072), [#&#8203;5246](https://github.com/prometheus/alertmanager/issues/5246) - \[ENHANCEMENT] Add the `use_aws_http_client` config option to the sns notifier. [#&#8203;5178](https://github.com/prometheus/alertmanager/issues/5178) - \[ENHANCEMENT] template: Add now function to get current time. [#&#8203;5188](https://github.com/prometheus/alertmanager/issues/5188) - \[ENHANCEMENT] docs: Clarify YAML quoting vs matcher token quoting in UTF-8 matchers section. [#&#8203;5264](https://github.com/prometheus/alertmanager/issues/5264) - \[BUGFIX] jira: Allow disabling the resolve transition when `resolve_transition` is not set. [#&#8203;4821](https://github.com/prometheus/alertmanager/issues/4821) - \[BUGFIX] jira: Include unresolved issues in `wont_fix_resolution` JQL to prevent duplicate issue creation. [#&#8203;5185](https://github.com/prometheus/alertmanager/issues/5185) - \[BUGFIX] sns: Support the `AWS_CA_BUNDLE` env variable for the sns notifier. [#&#8203;5178](https://github.com/prometheus/alertmanager/issues/5178) ### [`v0.32.2`](https://github.com/prometheus/alertmanager/releases/tag/v0.32.2): 0.32.2 / 2026-06-05 [Compare Source](https://github.com/prometheus/alertmanager/compare/v0.32.1...v0.32.2) - \[BUGFIX] Fix dispatcher goroutine leaks on destroyed alertgroup swap. [#&#8203;5241](https://github.com/prometheus/alertmanager/issues/5241) ### [`v0.32.1`](https://github.com/prometheus/alertmanager/releases/tag/v0.32.1): 0.32.1 / 2026-04-29 [Compare Source](https://github.com/prometheus/alertmanager/compare/v0.32.0...v0.32.1) - \[BUGFIX] dispatcher: Fix issue with dispatching to a contended route. [#&#8203;5179](https://github.com/prometheus/alertmanager/issues/5179) - \[BUGFIX] ui: Provide prebuilt ui assets in release. [#&#8203;5191](https://github.com/prometheus/alertmanager/issues/5191) - \[ENHANCEMENT] ui: Support building artifacts in containers with Docker or Podman. [#&#8203;5102](https://github.com/prometheus/alertmanager/issues/5102) ### [`v0.32.0`](https://github.com/prometheus/alertmanager/releases/tag/v0.32.0): 0.32.0 / 2026-04-08 [Compare Source](https://github.com/prometheus/alertmanager/compare/v0.31.1...v0.32.0) - \[CHANGE] `go get github.com/prometheus/alertmanager/ui` will now fail as compiled UI assets are no longer checked into the repository. Downstream builds that rely on these assets being present in the source tree must now build the UI from source. [#&#8203;5113](https://github.com/prometheus/alertmanager/issues/5113) - \[CHANGE] The '--enable-feature=auto-gomaxprocs' option is deprecated and will be removed in v0.33. This flag currently has no effect and can be safely removed from any startup scripts. [#&#8203;5090](https://github.com/prometheus/alertmanager/issues/5090) - \[CHANGE] Update internal function signatures across multiple packages. This affects any project that integrates `Alertmanager` code. - \[ENHANCEMENT] Add static asset caching. [#&#8203;5113](https://github.com/prometheus/alertmanager/issues/5113) - \[ENHANCEMENT] Reduce memory allocations through pre-sizing collections and batch allocation. [#&#8203;5020](https://github.com/prometheus/alertmanager/issues/5020) - \[ENHANCEMENT] Replace help with documentation in navigation bar. [#&#8203;4943](https://github.com/prometheus/alertmanager/issues/4943) - \[ENHANCEMENT] docs(ha): Update high availability documentation. [#&#8203;5136](https://github.com/prometheus/alertmanager/issues/5136) - \[ENHANCEMENT] docs: Add `auth_secret_file` for smtp in document. [#&#8203;5036](https://github.com/prometheus/alertmanager/issues/5036) - \[ENHANCEMENT] docs: Add description for global `telegram_bot_token`. [#&#8203;5114](https://github.com/prometheus/alertmanager/issues/5114) - \[ENHANCEMENT] docs: Add note about notifier timeouts. [#&#8203;5077](https://github.com/prometheus/alertmanager/issues/5077) - \[ENHANCEMENT] docs: Fix `force_implicit_tls` config field name. [#&#8203;5030](https://github.com/prometheus/alertmanager/issues/5030) - \[ENHANCEMENT] docs: Link community supported integrations. [#&#8203;4978](https://github.com/prometheus/alertmanager/issues/4978) - \[ENHANCEMENT] docs: Remove duplicate header. [#&#8203;5034](https://github.com/prometheus/alertmanager/issues/5034) - \[ENHANCEMENT] docs: Update mutual tls reference in high availability documentation. [#&#8203;5120](https://github.com/prometheus/alertmanager/issues/5120) - \[ENHANCEMENT] tracing: Use noop spans when tracing disabled. [#&#8203;5118](https://github.com/prometheus/alertmanager/issues/5118) - \[ENHANCEMENT] ui: Serve pre-compressed assets. [#&#8203;5133](https://github.com/prometheus/alertmanager/issues/5133) - \[FEATURE] Add silence annotations. [#&#8203;4965](https://github.com/prometheus/alertmanager/issues/4965) - \[FEATURE] Add silence logging option. [#&#8203;4163](https://github.com/prometheus/alertmanager/issues/4163) - \[FEATURE] Add support for multiple matcher set silences. [#&#8203;4957](https://github.com/prometheus/alertmanager/issues/4957) - \[FEATURE] Add the reason for notifying in dedup stage. [#&#8203;4971](https://github.com/prometheus/alertmanager/issues/4971) - \[FEATURE] mattermost: Flatten attachments into top-level config. [#&#8203;5009](https://github.com/prometheus/alertmanager/issues/5009) - \[FEATURE] mattermost: Support global webhook url. [#&#8203;4998](https://github.com/prometheus/alertmanager/issues/4998) - \[FEATURE] slack: Add default color from template. [#&#8203;5014](https://github.com/prometheus/alertmanager/issues/5014) - \[FEATURE] slack: Allow receiver to edit existing messages. [#&#8203;5007](https://github.com/prometheus/alertmanager/issues/5007) - \[FEATURE] template: Add dict, map and append functions. [#&#8203;5093](https://github.com/prometheus/alertmanager/issues/5093) - \[FEATURE] webhook: Add full payload templating support for notifier. [#&#8203;5011](https://github.com/prometheus/alertmanager/issues/5011) - \[BUGFIX] config: Check for empty cluster tls client config. [#&#8203;5126](https://github.com/prometheus/alertmanager/issues/5126) - \[BUGFIX] config: Don't crash upon reading empty config for notifier. [#&#8203;4979](https://github.com/prometheus/alertmanager/issues/4979) - \[BUGFIX] config: Fix ipv6 address handling in hostport.string(). [#&#8203;5040](https://github.com/prometheus/alertmanager/issues/5040) - \[BUGFIX] mattermost: Omit empty text field in notifications. [#&#8203;4985](https://github.com/prometheus/alertmanager/issues/4985) - \[BUGFIX] telegram: Send fallback message when notification exceeds character limit. [#&#8203;5074](https://github.com/prometheus/alertmanager/issues/5074) - \[BUGFIX] tracing: Properly shutdown tracer provider. [#&#8203;5131](https://github.com/prometheus/alertmanager/issues/5131) - \[BUGFIX] ui: Fix escaping for matcher values with quotes. [#&#8203;4862](https://github.com/prometheus/alertmanager/issues/4862) - \[BUGFIX] ui: Handle special chars in silence regex-matchers. [#&#8203;4942](https://github.com/prometheus/alertmanager/issues/4942) - \[BUGFIX] ui: Support utf-8 label names in matchers. [#&#8203;5089](https://github.com/prometheus/alertmanager/issues/5089) </details> <details> <summary>prometheus/prometheus (docker.io/prom/prometheus)</summary> ### [`v3.13.0`](https://github.com/prometheus/prometheus/releases/tag/v3.13.0): 3.13.0 / 2026-07-01 [Compare Source](https://github.com/prometheus/prometheus/compare/v3.12.0...v3.13.0) This is a Long Term Support [LTS](https://prometheus.io/docs/introduction/release-cycle/) release. - \[SECURITY] UI: Bump `sanitize-html` to fix a cross-site scripting vulnerability (CVE-2026-44990). [#&#8203;18697](https://github.com/prometheus/prometheus/issues/18697) - \[CHANGE] UI: Third-party npm dependency licenses are now embedded in the Prometheus binary and served at `/assets/third-party-licenses.txt`, replacing the `npm_licenses.tar.bz2` archive previously shipped in release tarballs and container images. [#&#8203;18997](https://github.com/prometheus/prometheus/issues/18997) - \[CHANGE] API: Use SHA-256 instead of SHA-1 to generate rule group pagination tokens. [#&#8203;18927](https://github.com/prometheus/prometheus/issues/18927) - \[CHANGE] HTTP clients: Credentials (Authorization header, basic auth, bearer token, OAuth2, configured headers) are no longer forwarded when following a redirect to a different host; affects scraping, remote read/write, alerting, and service discovery. Via prometheus/common v0.69.0 (CVE-2025-4673 CVE-2023-45289). [#&#8203;18949](https://github.com/prometheus/prometheus/issues/18949) - \[CHANGE] promtool: Relative file paths in the file passed to `--http.config.file` are now resolved relative to that config file's directory instead of its parent directory. Via prometheus/common v0.69.0. [#&#8203;18949](https://github.com/prometheus/prometheus/issues/18949) - \[CHANGE] PromQL: Rename the `min()` and `max()` duration-expression functions (experimental feature flag `experimental-duration-expr`) to `min_of()` and `max_of()` to avoid confusion with the `min` and `max` aggregate operators. [#&#8203;18687](https://github.com/prometheus/prometheus/issues/18687) - \[FEATURE] API: Add experimental search endpoints to search metric names, label names, and label values. [#&#8203;18573](https://github.com/prometheus/prometheus/issues/18573) - \[FEATURE] Discovery/AWS: Add ability to filter RDS instances. [#&#8203;18859](https://github.com/prometheus/prometheus/issues/18859) - \[FEATURE] PromQL: Add `min_of(a, b)` and `max_of(a, b)` scalar experimental functions, returning the smaller or larger of two scalar values. [#&#8203;18687](https://github.com/prometheus/prometheus/issues/18687) - \[FEATURE] PromQL: Add support for smoothed/anchored rate with native histograms. [#&#8203;18564](https://github.com/prometheus/prometheus/issues/18564) - \[FEATURE] PromQL: Expose per-query `samplesRead` (and `samplesReadPerStep` with `stats=all` and the `promql-per-step-stats` feature flag) in the query stats response, and add the `prometheus_engine_query_samples_read_total` engine counter. `samplesRead` reflects storage I/O distinct from `totalQueryableSamples`, which counts samples loaded into the evaluator (and so over-counts when a sample is reused across multiple range-vector windows). [#&#8203;18081](https://github.com/prometheus/prometheus/issues/18081) - \[FEATURE] Scrape: Add `__convert_classic_histograms_to_nhcb__` internal label to allow per-target override of `convert_classic_histograms_to_nhcb` scrape configuration via relabeling. [#&#8203;18840](https://github.com/prometheus/prometheus/issues/18840) - \[FEATURE] TSDB: Add `storage.tsdb.chunk_encoding.floats` configuration field to select float chunk encoding (`xor` or `xor2`) at runtime, independently of the `--enable-feature=xor2-encoding` flag. [#&#8203;18769](https://github.com/prometheus/prometheus/issues/18769) - \[FEATURE] remote\_write: Add Certificate support for ingesting data into an Azure Monitor Workspace. [#&#8203;18217](https://github.com/prometheus/prometheus/issues/18217) - \[FEATURE] Scrape: Add `__always_scrape_classic_histograms__` and `__scrape_native_histograms__` internal labels to allow per-target override of the `always_scrape_classic_histograms` and `scrape_native_histograms` scrape configuration via relabeling. [#&#8203;18929](https://github.com/prometheus/prometheus/issues/18929) - \[ENHANCEMENT] Release: Container images are now also published to the GitHub Container Registry (ghcr.io). [#&#8203;18791](https://github.com/prometheus/prometheus/issues/18791) - \[ENHANCEMENT] PromQL: Prettify `fill_left(x) fill_right(x)` as `fill(x)` when both fill values are equal. [#&#8203;18851](https://github.com/prometheus/prometheus/issues/18851) - \[ENHANCEMENT] UI: Improve autocompletion after closing a function bracket. [#&#8203;18894](https://github.com/prometheus/prometheus/issues/18894) - \[PERF] Labels: Add case-insensitive prefix matching to speed up evaluation of long case-insensitive regular expressions (up to \~2x faster). [#&#8203;18540](https://github.com/prometheus/prometheus/issues/18540) - \[PERF] TSDB: Reduce per-sample overhead in chunk population, speeding up affected queries by \~12-15% in benchmarks. [#&#8203;18699](https://github.com/prometheus/prometheus/issues/18699) - \[PERF] TSDB: Eliminate unnecessary heap allocations in the V2 histogram WAL decoder, reducing allocations by up to 50% and memory by up to 10% for deployments using native histograms with created-timestamp storage enabled (`--enable-feature=created-timestamp-zero-ingestion`). [#&#8203;18813](https://github.com/prometheus/prometheus/issues/18813) - \[BUGFIX] Discovery/AWS: Fix failure when processing an AWS RDS cluster without instances. [#&#8203;18845](https://github.com/prometheus/prometheus/issues/18845) - \[BUGFIX] Fix race condition in initTime that could cause ErrOutOfBounds. [#&#8203;18629](https://github.com/prometheus/prometheus/issues/18629) - \[BUGFIX] PromQL: A range query whose `end` was not aligned to `step` caused subqueries inside it to evaluate past the parent's last actual step, inflating `peakSamples` in the query stats and against the `query.max-samples` limit, and wasting storage I/O reading samples that were never used in the result. [#&#8203;18081](https://github.com/prometheus/prometheus/issues/18081) - \[BUGFIX] PromQL: A range query containing an at-modifier-unsafe function over a range-vector with an `@` modifier (e.g. `predict_linear(metric[60s] @&#8203; T, X)`) silently under-counted `totalQueryableSamples` for steps after step 0. [#&#8203;18081](https://github.com/prometheus/prometheus/issues/18081) - \[BUGFIX] PromQL: Fix `fill_left`/`fill_right` producing missing samples in range queries when using `group_left`/`group_right`. [#&#8203;18850](https://github.com/prometheus/prometheus/issues/18850) - \[BUGFIX] PromQL: Fix for resets() and changes() in anchored range extenders with histograms. [#&#8203;18906](https://github.com/prometheus/prometheus/issues/18906) - \[BUGFIX] PromQL: Fix panic on `1[5m] smoothed` and similar expressions when extended range selectors are enabled. [#&#8203;18764](https://github.com/prometheus/prometheus/issues/18764) - \[BUGFIX] PromQL: Fix panic when a `smoothed` instant vector selector produces no samples for a series. [#&#8203;18943](https://github.com/prometheus/prometheus/issues/18943) - \[BUGFIX] PromQL: Fix panic when using a parenthesised plain number as an offset (e.g. `foo offset -(5)`). [#&#8203;18768](https://github.com/prometheus/prometheus/issues/18768) - \[BUGFIX] promtool: Fix panic when parsing exposition text containing empty braces `{}`. Via prometheus/common v0.69.0. [#&#8203;18949](https://github.com/prometheus/prometheus/issues/18949) - \[BUGFIX] Promtool: Fix `check healthy` and `check ready` when `--url` ends with a trailing slash. [#&#8203;18854](https://github.com/prometheus/prometheus/issues/18854) - \[BUGFIX] Rules: Close PromQL query after each rule evaluation to ensure resources are released. [#&#8203;18733](https://github.com/prometheus/prometheus/issues/18733) - \[BUGFIX] Scaleway SD: Resolve VPC/IPAM-only instances that have no legacy `private_ip` or `public_ip` field, but do have private NICs attached. [#&#8203;18772](https://github.com/prometheus/prometheus/issues/18772) - \[BUGFIX] TSDB: Do not leak head series when an integer histogram append is rejected (e.g. out-of-order). [#&#8203;18838](https://github.com/prometheus/prometheus/issues/18838) - \[BUGFIX] UI: Escape label values offered by PromQL autocomplete. [#&#8203;18658](https://github.com/prometheus/prometheus/issues/18658) - \[BUGFIX] TSDB: Fix chunk snapshot encoding for EncXOR2 chunks, preventing corruption on TSDB restart when EncXOR2-encoded series were present. [#&#8203;18739](https://github.com/prometheus/prometheus/issues/18739) - \[BUGFIX] TSDB: Store a millisecond timestamp (not a WAL segment number) in walExpiries when a series is evicted via CompactStaleHead/CompactSelectedSeries, so the series's label record is correctly retained in the next WAL checkpoint and replays cleanly. [#&#8203;18847](https://github.com/prometheus/prometheus/issues/18847) - \[BUGFIX] TSDB: Prevent loss of samples at the chunk-range boundary when CompactSelectedSeries (and CompactStaleHead) evict the series — the per-slice compaction loop now runs one more iteration so the boundary timestamp is captured in a block before the in-memory copy is removed. [#&#8203;18849](https://github.com/prometheus/prometheus/issues/18849) ### [`v3.12.0`](https://github.com/prometheus/prometheus/releases/tag/v3.12.0): 3.12.0 / 2026-05-28 [Compare Source](https://github.com/prometheus/prometheus/compare/v3.11.3...v3.12.0) This release contains security fixes, new features (especially around PromQL and Service Discovery), performance improvements in TSDB, Start Timestamp improvements and numerous bug fixes. Thanks to all contributors! #### Key Highlights - **Security**: Two security vulnerabilities have been addressed: a denial of service in remote-write (snappy decompression limit) and a secret exposure leak in STACKIT service discovery. - **PromQL & Metadata**: Several features and bug fixes related to the experimental "start timestamps" support, including updates to `rate()`, `irate()`, `increase()`, and `resets()`. New experimental functions `start()`, `end()`, `range()`, and `step()` are introduced. - **TSDB Performance**: Optimizations in head chunk lookup (constant time) and mmap operations to reduce CPU usage. - **Service Discovery**: Added support for DigitalOcean Managed Databases and Outscale VM, along with improvements to AWS SD (IPv6 support for EC2, external ID support). - **UI**: Added a web interface for deleting time series and cleaning tombstones. #### Changelog - \[SECURITY] Remote: Reject snappy-compressed received requests via Remote Write whose declared decoded length exceeds the 32MB. Thanks to [@&#8203;hibrian827](https://github.com/hibrian827) for reporting it. [#&#8203;18642](https://github.com/prometheus/prometheus/issues/18642) - \[SECURITY] STACKIT SD: Fix secrets being exposed in plaintext via `/-/config` endpoint. Thanks to [@&#8203;August829](https://github.com/August829) and [@&#8203;Phaxma](https://github.com/Phaxma) for reporting. GHSA-39j6-789q-qxvh [#&#8203;18649](https://github.com/prometheus/prometheus/issues/18649) - \[CHANGE] TSDB/Agent: Adds Start Timestamp field to all WAL Histogram samples in memory; used `st-storage` flag is enabled. [#&#8203;18221](https://github.com/prometheus/prometheus/issues/18221) - \[FEATURE] API: Add `/api/v1/status/self_metrics` endpoint returning the current state of the Prometheus server's own metrics about itself as JSON. [#&#8203;18411](https://github.com/prometheus/prometheus/issues/18411) - \[FEATURE] Discovery: Add DigitalOcean Managed Databases service discovery [#&#8203;18287](https://github.com/prometheus/prometheus/issues/18287) - \[FEATURE] Prometheus: Add support for the aix/ppc64 compilation target [#&#8203;18321](https://github.com/prometheus/prometheus/issues/18321) - \[FEATURE] Discovery: Add Outscale VM service discovery (`outscale_sd_configs`) for discovering scrape targets from the Outscale Cloud API. [#&#8203;18139](https://github.com/prometheus/prometheus/issues/18139) - \[FEATURE] PromQL: Emit a warning when `sort`, `sort_by_label` or `sort_by_label_desc` is used within range (matrix) queries, as these functions do not have effect in that context. [#&#8203;18498](https://github.com/prometheus/prometheus/issues/18498) - \[FEATURE] PromQL: Add `start()`, `end()`, `range()`, and `step()` experimental functions [#&#8203;17877](https://github.com/prometheus/prometheus/issues/17877) - \[FEATURE] PromQL: Update `resets()` function to consider start timestamp resets. Hidden behind `use-start-timestamps` feature flag. [#&#8203;18627](https://github.com/prometheus/prometheus/issues/18627) - \[FEATURE] Prometheus: Promote auto-reload-config as stable [#&#8203;18620](https://github.com/prometheus/prometheus/issues/18620) - \[FEATURE] TSDB/Agent: Add `CheckpointFromInMemorySeries` option to `agent.DB` that enables checkpoint based on in-memory series. [#&#8203;17948](https://github.com/prometheus/prometheus/issues/17948) - \[FEATURE] UI: Add a web interface for deleting time series and cleaning tombstones, accessible from the Status menu. [#&#8203;18390](https://github.com/prometheus/prometheus/issues/18390) - \[FEATURE] PromQL: Use start timestamps for `rate()`, `irate()`, and `increase()` calculations, behind a feature flag `use-start-timestamps`. Doesn't work together with extended range selectors `anchored` and `smoothed`. [#&#8203;18344](https://github.com/prometheus/prometheus/issues/18344) - \[FEATURE] Scrape: Added a feature flag `st-synthesis` which synthesizes unknown STs for scraped cumulative metrics. Useful when Remote Writing 2.0 with delta or Otel-based backends. [#&#8203;18279](https://github.com/prometheus/prometheus/issues/18279) - \[FEATURE] promqltest: support `@st` annotation in `load` blocks to specify per-sample start timestamps. [#&#8203;18360](https://github.com/prometheus/prometheus/issues/18360) - \[ENHANCEMENT] API: reject concurrent fgprof profiles. [#&#8203;18651](https://github.com/prometheus/prometheus/issues/18651) - \[ENHANCEMENT] AWS SD: Add optional `external_id` field to ECS/MSK/RDS/Elasticache. [#&#8203;18579](https://github.com/prometheus/prometheus/issues/18579) - \[ENHANCEMENT] AWS SD: Add optional `external_id` field. [#&#8203;17171](https://github.com/prometheus/prometheus/issues/17171) - \[ENHANCEMENT] Discovery: Propagate SD target updates faster by introducing dynamic backoff interval instead of static 5s interval for throttling. [#&#8203;18187](https://github.com/prometheus/prometheus/issues/18187) - \[ENHANCEMENT] Promtool: Add `--header` flag to `query instant` command, matching existing `query range` behaviour. [#&#8203;18418](https://github.com/prometheus/prometheus/issues/18418) - \[ENHANCEMENT]: AWS SD: Allows EC2 service discovery to discover IPv6 addresses to communicate with target endpoints. The private IPv4 address remains the default when both IPv4 and IPv6 addresses are present. [#&#8203;16088](https://github.com/prometheus/prometheus/issues/16088) - \[PERF] TSDB: Make head chunk lookup in range queries constant time instead of quadratic time [#&#8203;18302](https://github.com/prometheus/prometheus/issues/18302) - \[PERF] TSDB: Skip entire stripes in mmapHeadChunks when no series need mmapping, reducing CPU utilization significantly at production-relevant scales. [#&#8203;18541](https://github.com/prometheus/prometheus/issues/18541) - \[PERF] TSDB: Skip clean series during periodic head chunk mmap using cached head chunk count [#&#8203;18272](https://github.com/prometheus/prometheus/issues/18272) - \[PERF] PromQL: Address FloatHistogram.KahanAdd performance regression on Go 1.26. [#&#8203;18568](https://github.com/prometheus/prometheus/issues/18568) - \[BUGFIX] PromQL: Fix `info()` function incorrectly handling negated `__name__` matchers [#&#8203;17932](https://github.com/prometheus/prometheus/issues/17932) - \[BUGFIX] API: Return duration expressions in `/parse_ast`. [#&#8203;18624](https://github.com/prometheus/prometheus/issues/18624) - \[BUGFIX] API: correctly document formats accepted for duration query request parameters (step, timeout and lookback delta) in OpenAPI spec [#&#8203;18305](https://github.com/prometheus/prometheus/issues/18305) - \[BUGFIX] Scrape: AppenderV2 now tracks staleness even when OOO/duplicate series errors happen similar to AppenderV1 [#&#8203;18567](https://github.com/prometheus/prometheus/issues/18567) - \[BUGFIX] Config: Validate remote\_write queue\_config fields at load time to prevent runtime panic and silent misconfiguration. [#&#8203;18209](https://github.com/prometheus/prometheus/issues/18209) - \[BUGFIX] Discovery/Consul: Add `health_filter` for Health API filtering, fixing breakage when using Catalog-only fields like `ServiceTags` in `filter`. [#&#8203;18479](https://github.com/prometheus/prometheus/issues/18479) [#&#8203;18499](https://github.com/prometheus/prometheus/issues/18499) - \[BUGFIX] OTLP: limit decompressed body size for gzip-encoded OTLP write requests. [#&#8203;18408](https://github.com/prometheus/prometheus/issues/18408) - \[BUGFIX] PromQL: Fix `smoothed` rate/increase returning zero instead of no result when all data falls strictly after the query range. [#&#8203;18523](https://github.com/prometheus/prometheus/issues/18523) - \[BUGFIX] PromQL: Fix metric name not being dropped when last\_over\_time or first\_over\_time is applied to subqueries containing name-dropping functions like abs(). [#&#8203;18409](https://github.com/prometheus/prometheus/issues/18409) - \[BUGFIX] PromQL: Fix missing warning when mixing exponential and custom-bucket histograms in stats queries. [#&#8203;18660](https://github.com/prometheus/prometheus/issues/18660) - \[BUGFIX] PromQL: Fix parsing of `range()` keyword in duration expressions such as `foo[5m+range()]`. [#&#8203;18623](https://github.com/prometheus/prometheus/issues/18623) - \[BUGFIX] PromQL: Fix smoothed vector selector returning no results in binary operations when the `@` modifier is used. [#&#8203;18531](https://github.com/prometheus/prometheus/issues/18531) - \[BUGFIX] PromQL: Reject NaN, infinite, and out-of-range duration expressions instead of silently producing an out-of-range time.Duration. [#&#8203;18639](https://github.com/prometheus/prometheus/issues/18639) - \[BUGFIX] Scrape: Fix panic when scraping malformed native histograms. [#&#8203;18414](https://github.com/prometheus/prometheus/issues/18414) - \[BUGFIX] Scrape: fix panic when scraping a target exposing a summary with no quantiles via the protobuf format. [#&#8203;18382](https://github.com/prometheus/prometheus/issues/18382) - \[BUGFIX] Scrape: fix scrape failure log file occasionally not applied after a configuration reload. [#&#8203;18421](https://github.com/prometheus/prometheus/issues/18421) - \[BUGFIX] TSDB: Allow retention percentage with new data path. [#&#8203;18628](https://github.com/prometheus/prometheus/issues/18628) - \[BUGFIX] TSDB: Preserve decimal precision in percentage-based retention [#&#8203;18374](https://github.com/prometheus/prometheus/issues/18374) - \[BUGFIX] TSDB: fix prometheus\_tsdb\_head\_chunks going negative after WAL replay [#&#8203;18401](https://github.com/prometheus/prometheus/issues/18401) - \[BUGFIX] TSDB: panic with native histograms during query of overlapping chunks. [#&#8203;18692](https://github.com/prometheus/prometheus/issues/18692) - \[BUGFIX] Tracing: fix startup failure for insecure OTLP HTTP tracing [#&#8203;18469](https://github.com/prometheus/prometheus/issues/18469) - \[BUGFIX] UI: Escape label values offered by PromQL autocomplete. [#&#8203;18658](https://github.com/prometheus/prometheus/issues/18658) - \[BUGFIX] UI: Improve Y-axis tick label precision for graph values over small ranges. [#&#8203;18682](https://github.com/prometheus/prometheus/issues/18682) - \[BUGFIX] `prometheus_sd_refresh*` and `prometheus_sd_discovered_targets` metrics for specific scrape jobs are deleted when the scrape job is removed. [#&#8203;17614](https://github.com/prometheus/prometheus/issues/17614) - \[BUGFIX] Remote: fixed validation for received RW2 requests when parsing metadata unit symbols. This fixes a case when request would cause (recovered) handler panic. [#&#8203;18641](https://github.com/prometheus/prometheus/issues/18641) - \[BUGFIX] TSDB/Agent: fix race in agent appender where concurrent appends for the same label set could produce duplicate in-memory series and duplicate WAL records. [#&#8203;18292](https://github.com/prometheus/prometheus/issues/18292) - \[BUGFIX] Config: Update `--enable-feature` flag description and sort feature names. [#&#8203;18487](https://github.com/prometheus/prometheus/issues/18487) ### [`v3.11.3`](https://github.com/prometheus/prometheus/releases/tag/v3.11.3): 3.11.3 / 2026-04-27 [Compare Source](https://github.com/prometheus/prometheus/compare/v3.11.2...v3.11.3) This release fixes mutiple security issues. We would like to thank the following people for the responsible disclosures: - Shadowbyte (4c1dr3aper) - Charlie Lewis for the Remote-Read snappy decode vulnerability. - Brett Gervasoni for the AzureAD OAuth `client_secret` vulnerability. - [@&#8203;iiihaiii](https://github.com/iiihaiii) and [@&#8203;Ngocnn97](https://github.com/Ngocnn97) for the Old UI XSS vulnerability. - \[SECURITY] AzureAD remote write: Fix OAuth `client_secret` being exposed in plaintext via `/-/config` endpoint. GHSA-wg65-39gg-5wfj / CVE-2026-42151 [#&#8203;18590](https://github.com/prometheus/prometheus/issues/18590) - \[SECURITY] Remote-read: Reject snappy-compressed requests whose declared decoded length exceeds the decode limit. GHSA-8rm2-7qqf-34qm / CVE-2026-42154 [#&#8203;18584](https://github.com/prometheus/prometheus/issues/18584) - \[SECURITY] UI: Fix stored XSS via unescaped `le` label values in old UI heatmap chart tick labels. GHSA-fw8g-cg8f-9j28 [#&#8203;18588](https://github.com/prometheus/prometheus/issues/18588) ### [`v3.11.2`](https://github.com/prometheus/prometheus/releases/tag/v3.11.2): 3.11.2 / 2026-04-13 [Compare Source](https://github.com/prometheus/prometheus/compare/v3.11.1...v3.11.2) This release has a fix for a Stored XSS vulnerability that can be triggered via crafted metric names and label values in Prometheus web UI tooltips and metrics explorer. Thanks to Duc Anh Nguyen from TinyxLab for reporting it. - \[SECURITY] UI: Fix stored XSS via unescaped metric names and labels. CVE-2026-40179. [#&#8203;18506](https://github.com/prometheus/prometheus/issues/18506) - \[ENHANCEMENT] Consul SD: Introduce `health_filter` field for Health API filtering. [#&#8203;18499](https://github.com/prometheus/prometheus/issues/18499) - \[BUGFIX] Consul SD: Fix filter parameter being incorrectly applied to the Health API. [#&#8203;18499](https://github.com/prometheus/prometheus/issues/18499) ### [`v3.11.1`](https://github.com/prometheus/prometheus/releases/tag/v3.11.1): 3.11.1 / 2026-04-07 [Compare Source](https://github.com/prometheus/prometheus/compare/v3.11.0...v3.11.1) - \[BUGFIX] Tracing: Fix startup failure for OTLP HTTP tracing with `insecure: true`. [#&#8203;18469](https://github.com/prometheus/prometheus/issues/18469) ### [`v3.11.0`](https://github.com/prometheus/prometheus/releases/tag/v3.11.0): 3.11.0 / 2026-04-02 [Compare Source](https://github.com/prometheus/prometheus/compare/v3.10.0...v3.11.0) - \[CHANGE] Hetzner SD: The `__meta_hetzner_datacenter` label is deprecated for the role `robot` but kept for backward compatibility, use the `__meta_hetzner_robot_datacenter` label instead. For the role `hcloud`, the label is deprecated and will stop working after the 1 July 2026. [#&#8203;17850](https://github.com/prometheus/prometheus/issues/17850) - \[CHANGE] Hetzner SD: The `__meta_hetzner_hcloud_datacenter_location` and `__meta_hetzner_hcloud_datacenter_location_network_zone` labels are deprecated, use the `__meta_hetzner_hcloud_location` and `__meta_hetzner_hcloud_location_network_zone` labels instead. [#&#8203;17850](https://github.com/prometheus/prometheus/issues/17850) - \[CHANGE] Promtool: Redirect debug output to stderr to avoid interfering with stdout-based tool output. [#&#8203;18346](https://github.com/prometheus/prometheus/issues/18346) - \[FEATURE] AWS SD: Add Elasticache Role. [#&#8203;18099](https://github.com/prometheus/prometheus/issues/18099) - \[FEATURE] AWS SD: Add RDS Role. [#&#8203;18206](https://github.com/prometheus/prometheus/issues/18206) - \[FEATURE] Azure SD: Add support for Azure Workload Identity authentication method. [#&#8203;17207](https://github.com/prometheus/prometheus/issues/17207) - \[FEATURE] Discovery: Introduce `prometheus_sd_last_update_timestamp_seconds` metric to track the last time a service discovery update was sent to consumers. [#&#8203;18194](https://github.com/prometheus/prometheus/issues/18194) - \[FEATURE] Kubernetes SD: Add support for node role selectors for pod roles. [#&#8203;18006](https://github.com/prometheus/prometheus/issues/18006) - \[FEATURE] Kubernetes SD: Introduce pod-based labels for deployment, cronjob, and job controller names: `__meta_kubernetes_pod_deployment_name`, `__meta_kubernetes_pod_cronjob_name` and `__meta_kubernetes_pod_job_name`, respectively. [#&#8203;17774](https://github.com/prometheus/prometheus/issues/17774) - \[FEATURE] PromQL: Add `</` and `>/` operators for trimming observations from native histograms. [#&#8203;17904](https://github.com/prometheus/prometheus/issues/17904) - \[FEATURE] PromQL: Add experimental `histogram_quantiles` variadic function for computing multiple quantiles at once. [#&#8203;17285](https://github.com/prometheus/prometheus/issues/17285) - \[FEATURE] TSDB: Add `storage.tsdb.retention.percentage` configuration to configure the maximum percent of disk usable for TSDB storage. [#&#8203;18080](https://github.com/prometheus/prometheus/issues/18080) - \[FEATURE] TSDB: Add an experimental `st-storage` feature flag. When enabled, Prometheus stores ingested start timestamps (ST, previously called Created Timestamp) from scrape or OTLP in the TSDB and Agent WAL, and exposes them via Remote Write 2. [#&#8203;18062](https://github.com/prometheus/prometheus/issues/18062) - \[FEATURE] TSDB: Add an experimental `xor2-encoding` feature flag for the new TSDB block float sample chunk encoding that is optimized for scraped data and allows encoding start timestamps. [#&#8203;18062](https://github.com/prometheus/prometheus/issues/18062) - \[ENHANCEMENT] HTTP client: Add AWS `external_id` support for sigv4. [#&#8203;17916](https://github.com/prometheus/prometheus/issues/17916) - \[ENHANCEMENT] Kubernetes SD: Deduplicate deprecation warning logs from the Kubernetes API to reduce noise. [#&#8203;17829](https://github.com/prometheus/prometheus/issues/17829) - \[ENHANCEMENT] TSDB: Remove old temporary checkpoints when creating a Checkpoint. [#&#8203;17598](https://github.com/prometheus/prometheus/issues/17598) - \[ENHANCEMENT] UI: Add autocomplete support for experimental `first_over_time` and `ts_of_first_over_time` PromQL functions. [#&#8203;18318](https://github.com/prometheus/prometheus/issues/18318) - \[ENHANCEMENT] Vultr SD: Upgrade govultr library from v2 to v3 for continued security patches and maintenance. [#&#8203;18347](https://github.com/prometheus/prometheus/issues/18347) - \[PERF] PromQL: Improve performance and reduce heap allocations in joins (VectorBinop)/And/Or/Unless. [#&#8203;17159](https://github.com/prometheus/prometheus/issues/17159) - \[PERF] PromQL: Partially address performance regression in native histogram aggregations due to using `KahanAdd`. [#&#8203;18252](https://github.com/prometheus/prometheus/issues/18252) - \[PERF] Remote write: Optimize WAL watching used for RW sending to reuse internal buffers. [#&#8203;18250](https://github.com/prometheus/prometheus/issues/18250) - \[PERF] TSDB: Optimize LabelValues intersection performance for matchers. [#&#8203;18069](https://github.com/prometheus/prometheus/issues/18069) - \[PERF] UI: Skip restacking on hover in stacked series charts. [#&#8203;18230](https://github.com/prometheus/prometheus/issues/18230) - \[BUGFIX] AWS SD: Fix EC2 SD ignoring the configured `endpoint` option, a regression from the AWS SDK v2 migration. [#&#8203;18133](https://github.com/prometheus/prometheus/issues/18133) - \[BUGFIX] AWS SD: Fix panic in EC2 SD when DescribeAvailabilityZones returns nil ZoneName or ZoneId. [#&#8203;18133](https://github.com/prometheus/prometheus/issues/18133) - \[BUGFIX] Agent: Fix memory leak caused by duplicate SeriesRefs being loaded as active series. [#&#8203;17538](https://github.com/prometheus/prometheus/issues/17538) - \[BUGFIX] Alerting: Fix alert state incorrectly resetting to pending when the FOR period is increased in the config file. [#&#8203;18244](https://github.com/prometheus/prometheus/issues/18244) - \[BUGFIX] Azure SD: Fix system-assigned managed identity not working when `client_id` is empty. [#&#8203;18323](https://github.com/prometheus/prometheus/issues/18323) - \[BUGFIX] Consul SD: Fix filter parameter not being applied to health service endpoint, causing Node and Node.Meta filters to be ignored. [#&#8203;17349](https://github.com/prometheus/prometheus/issues/17349) - \[BUGFIX] Kubernetes SD: Fix duplicate targets generated by `*DualStack` EndpointSlices policies. [#&#8203;18192](https://github.com/prometheus/prometheus/issues/18192) - \[BUGFIX] OTLP: Fix ErrTooOldSample being returned as HTTP 500 instead of 400 in PRW v2 histogram write paths, preventing infinite client retry loops. [#&#8203;18084](https://github.com/prometheus/prometheus/issues/18084) - \[BUGFIX] OTLP: Fix exemplars getting mixed between incorrect parts of a histogram. [#&#8203;18056](https://github.com/prometheus/prometheus/issues/18056) - \[BUGFIX] PromQL: Do not skip histogram buckets in queries where histogram trimming is used. [#&#8203;18263](https://github.com/prometheus/prometheus/issues/18263) - \[BUGFIX] Remote write: Fix `prometheus_remote_storage_sent_batch_duration_seconds` measuring before the request was sent. [#&#8203;18214](https://github.com/prometheus/prometheus/issues/18214) - \[BUGFIX] Rules: Fix alert state restoration when rule labels contain Go template expressions. [#&#8203;18375](https://github.com/prometheus/prometheus/issues/18375) - \[BUGFIX] Scrape: Fix panic when parsing bare label names without an equal sign in brace-only metric notation. [#&#8203;18229](https://github.com/prometheus/prometheus/issues/18229) - \[BUGFIX] TSDB: Fail early when `use-uncached-io` feature flag is set on unsupported environments. [#&#8203;18219](https://github.com/prometheus/prometheus/issues/18219) - \[BUGFIX] TSDB: Fall back to CLI flag values when retention is removed from config file. [#&#8203;18200](https://github.com/prometheus/prometheus/issues/18200) - \[BUGFIX] TSDB: Fix memory leaks in buffer pools by clearing reference fields before returning buffers to pools. [#&#8203;17895](https://github.com/prometheus/prometheus/issues/17895) - \[BUGFIX] TSDB: Fix missing mmap of histogram chunks during WAL replay. [#&#8203;18306](https://github.com/prometheus/prometheus/issues/18306) - \[BUGFIX] TSDB: Fix storage.tsdb.retention.time unit mismatch in file causing retention to be 1e6 times longer than configured. [#&#8203;18200](https://github.com/prometheus/prometheus/issues/18200) - \[BUGFIX] Tracing: Fix missing traceID in query log when tracing is enabled, previously only spanID was emitted. [#&#8203;18189](https://github.com/prometheus/prometheus/issues/18189) - \[BUGFIX] UI: Fix tooltip Y-offset drift when using multiple graph panels. [#&#8203;18228](https://github.com/prometheus/prometheus/issues/18228) - \[BUGFIX] UI: Update retention display in runtime info when config is reloaded. [#&#8203;18200](https://github.com/prometheus/prometheus/issues/18200) </details> <details> <summary>prometheus-pve/prometheus-pve-exporter (docker.io/prompve/prometheus-pve-exporter)</summary> ### [`v3.9.0`](https://github.com/prometheus-pve/prometheus-pve-exporter/blob/HEAD/CHANGELOG.rst#390---2026-05-18) [Compare Source](https://github.com/prometheus-pve/prometheus-pve-exporter/compare/v3.8.3...v3.9.0) Added ``` - Add qdevice collector (#&#8203;442) Changed ``` - Bump paramiko from 4.0.0 to 5.0.0 ([#&#8203;441](https://github.com/prometheus-pve/prometheus-pve-exporter/issues/441)) - Bump urllib2 from 2.6.3 to 2.7.0 ([#&#8203;440](https://github.com/prometheus-pve/prometheus-pve-exporter/issues/440)) ### [`v3.8.3`](https://github.com/prometheus-pve/prometheus-pve-exporter/blob/HEAD/CHANGELOG.rst#383---2026-04-27) [Compare Source](https://github.com/prometheus-pve/prometheus-pve-exporter/compare/v3.8.2...v3.8.3) Changed ``` - Bump requests from 2.32.5 to 2.33.1 (#&#8203;438) - Bump alpine from 3.23.3 to 3.23.4 (#&#8203;435) - Bump prometheus-client from 0.24.1 to 0.25.0 (#&#8203;434) - Bump cryptography from 46.0.5 to 46.0.7 (#&#8203;432) - Bump werkzeug from 3.1.6 to 3.1.8 (#&#8203;431) - Pin actions in CI workflow to commit SHA (#&#8203;437) `3.8.2`_ - 2026-03-22 --------------------- Changed ``` - Add security note to the README file ([#&#8203;423](https://github.com/prometheus-pve/prometheus-pve-exporter/issues/423)) - Bump docker/setup-buildx-action from 3 to 4 ([#&#8203;424](https://github.com/prometheus-pve/prometheus-pve-exporter/issues/424)) - Bump docker/build-push-action from 6 to 7 ([#&#8203;425](https://github.com/prometheus-pve/prometheus-pve-exporter/issues/425)) - Bump docker/login-action from 3 to 4 ([#&#8203;426](https://github.com/prometheus-pve/prometheus-pve-exporter/issues/426)) - Bump wrapt from 2.1.1 to 2.1.2 ([#&#8203;419](https://github.com/prometheus-pve/prometheus-pve-exporter/issues/419)) - Bump proxmoxer from 2.2.0 to 2.3.0 ([#&#8203;418](https://github.com/prometheus-pve/prometheus-pve-exporter/issues/418)) - Bump werkzeug from 3.1.5 to 3.1.6 ([#&#8203;411](https://github.com/prometheus-pve/prometheus-pve-exporter/issues/411)) - Bump docker/metadata-action from 5 to 6 ([#&#8203;417](https://github.com/prometheus-pve/prometheus-pve-exporter/issues/417)) - Bump docker/setup-qemu-action from 3 to 4 ([#&#8203;416](https://github.com/prometheus-pve/prometheus-pve-exporter/issues/416)) - Bump actions/attest-build-provenance from 3 to 4 ([#&#8203;415](https://github.com/prometheus-pve/prometheus-pve-exporter/issues/415)) - Bump actions/download-artifact from 7 to 8 ([#&#8203;414](https://github.com/prometheus-pve/prometheus-pve-exporter/issues/414)) - Bump actions/upload-artifact from 6 to 7 ([#&#8203;413](https://github.com/prometheus-pve/prometheus-pve-exporter/issues/413)) - fix: f-string in module-not-found response and move url\_map to **init** ([#&#8203;421](https://github.com/prometheus-pve/prometheus-pve-exporter/issues/421)) </details> <details> <summary>TwiN/gatus (ghcr.io/twin/gatus)</summary> ### [`v5.36.0`](https://github.com/TwiN/gatus/releases/tag/v5.36.0) [Compare Source](https://github.com/TwiN/gatus/compare/v5.35.0...v5.36.0) #### What's Changed - perf: Add PostgreSQL indexes for \~15x performance improvement by [@&#8203;ozanonurtek](https://github.com/ozanonurtek) in [#&#8203;1541](https://github.com/TwiN/gatus/pull/1541) - fix(alerting): Remove square brackets from email subject by [@&#8203;jaydeethree](https://github.com/jaydeethree) in [#&#8203;1586](https://github.com/TwiN/gatus/pull/1586) - fix(security): Do not allow invalid security configs by [@&#8203;PythonGermany](https://github.com/PythonGermany) in [#&#8203;1531](https://github.com/TwiN/gatus/pull/1531) - fix: return error from rdapQuery when no expiration event found by [@&#8203;majiayu000](https://github.com/majiayu000) in [#&#8203;1603](https://github.com/TwiN/gatus/pull/1603) - fix(ci): regenerate-static-assets workflow reporting false errors on success by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;1614](https://github.com/TwiN/gatus/pull/1614) - feat(ui): Add customizable OIDC login screen branding by [@&#8203;hluaces](https://github.com/hluaces) in [#&#8203;1583](https://github.com/TwiN/gatus/pull/1583) - fix(test): Remove t.Parallel() from tests racing on injectedHTTPClient by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;1630](https://github.com/TwiN/gatus/pull/1630) - fix(storage): close rows before nested queries to prevent PostgreSQL driver error by [@&#8203;osalloum](https://github.com/osalloum) in [#&#8203;1503](https://github.com/TwiN/gatus/pull/1503) - docs: Document remote.client configuration by [@&#8203;surdaft](https://github.com/surdaft) in [#&#8203;1637](https://github.com/TwiN/gatus/pull/1637) - fix: update lib/pq to v1.11.2 to fix Supabase PostgreSQL connection regression by [@&#8203;wahajahmed010](https://github.com/wahajahmed010) in [#&#8203;1644](https://github.com/TwiN/gatus/pull/1644) #### New Contributors - [@&#8203;ozanonurtek](https://github.com/ozanonurtek) made their first contribution in [#&#8203;1541](https://github.com/TwiN/gatus/pull/1541) - [@&#8203;jaydeethree](https://github.com/jaydeethree) made their first contribution in [#&#8203;1586](https://github.com/TwiN/gatus/pull/1586) - [@&#8203;majiayu000](https://github.com/majiayu000) made their first contribution in [#&#8203;1603](https://github.com/TwiN/gatus/pull/1603) - [@&#8203;hluaces](https://github.com/hluaces) made their first contribution in [#&#8203;1583](https://github.com/TwiN/gatus/pull/1583) - [@&#8203;osalloum](https://github.com/osalloum) made their first contribution in [#&#8203;1503](https://github.com/TwiN/gatus/pull/1503) - [@&#8203;surdaft](https://github.com/surdaft) made their first contribution in [#&#8203;1637](https://github.com/TwiN/gatus/pull/1637) - [@&#8203;wahajahmed010](https://github.com/wahajahmed010) made their first contribution in [#&#8203;1644](https://github.com/TwiN/gatus/pull/1644) **Full Changelog**: <https://github.com/TwiN/gatus/compare/v5.35.0...v5.36.0> </details> <details> <summary>ansible/ansible-lint (https://github.com/ansible/ansible-lint)</summary> ### [`v26.6.0`](https://github.com/ansible/ansible-lint/releases/tag/v26.6.0) [Compare Source](https://github.com/ansible/ansible-lint/compare/v26.4.0...v26.6.0) #### Features - fix: ensure configuration errors are visible to user ([#&#8203;5038](https://github.com/ansible/ansible-lint/issues/5038)) [@&#8203;Dotify71](https://github.com/Dotify71) #### Fixes - fix: bump cryptography minimum to >=46.0.6 and refresh lock file ([#&#8203;5089](https://github.com/ansible/ansible-lint/issues/5089)) [@&#8203;sudhirverma](https://github.com/sudhirverma) - fix: added setup-uv action version pinning to renovate config ([#&#8203;5021](https://github.com/ansible/ansible-lint/issues/5021)) [@&#8203;garethahealy](https://github.com/garethahealy) - fix: detect role roots in namespace subdirectories ([#&#8203;5079](https://github.com/ansible/ansible-lint/issues/5079)) ([#&#8203;5080](https://github.com/ansible/ansible-lint/issues/5080)) [@&#8203;santosh7676](https://github.com/santosh7676) - fix(docs): remove mkdocstrings plugin to unblock docs CI ([#&#8203;5084](https://github.com/ansible/ansible-lint/issues/5084)) [@&#8203;rockygeekz](https://github.com/rockygeekz) - fix: suppress ruff PLW0717 to unblock renovate ([#&#8203;5077](https://github.com/ansible/ansible-lint/issues/5077)) [@&#8203;rockygeekz](https://github.com/rockygeekz) - Fix risky-shell-pipe false positive on multi-line Jinja ([#&#8203;5058](https://github.com/ansible/ansible-lint/issues/5058)) [@&#8203;arpitjain099](https://github.com/arpitjain099) - Fix: fix mock\_modules generated stubs failing YAML/doc parsing [#&#8203;5031](https://github.com/ansible/ansible-lint/issues/5031) ([#&#8203;5032](https://github.com/ansible/ansible-lint/issues/5032)) [@&#8203;santosh7676](https://github.com/santosh7676) - fix: support example format indicator, prevent ansible-lint from producing load-failure on valid non-YAML examples ([#&#8203;5045](https://github.com/ansible/ansible-lint/issues/5045)) [@&#8203;felixfontein](https://github.com/felixfontein) - fix: avoid name\[casing] auto-fix crash on multi-segment prefixes ([#&#8203;5026](https://github.com/ansible/ansible-lint/issues/5026)) [@&#8203;bishalOps](https://github.com/bishalOps) - fix: preserve multi-hash comments on `ansible-lint --fix` ([#&#8203;5033](https://github.com/ansible/ansible-lint/issues/5033)) [@&#8203;bishalOps](https://github.com/bishalOps) - fix: preserve trailing blank lines when fqcn auto-fix renames a key ([#&#8203;5027](https://github.com/ansible/ansible-lint/issues/5027)) [@&#8203;bishalOps](https://github.com/bishalOps) - fix(security): update dependencies \[SECURITY] ([#&#8203;5061](https://github.com/ansible/ansible-lint/issues/5061)) @&#8203;[renovate\[bot\]](https://github.com/apps/renovate) - fix(ci): switch devel tests from py312 to py313 ([#&#8203;5062](https://github.com/ansible/ansible-lint/issues/5062)) [@&#8203;rockygeekz](https://github.com/rockygeekz) - fix: ignore skip lookup across rules ([#&#8203;5060](https://github.com/ansible/ansible-lint/issues/5060)) [@&#8203;mehrdadbn9](https://github.com/mehrdadbn9) - chore: Add support for Fedora 44 in the meta schema ([#&#8203;5029](https://github.com/ansible/ansible-lint/issues/5029)) [@&#8203;jsf9k](https://github.com/jsf9k) - fix: ensure configuration errors are visible to user ([#&#8203;5038](https://github.com/ansible/ansible-lint/issues/5038)) [@&#8203;Dotify71](https://github.com/Dotify71) - fix: role argument spec: fix typo in attribute schema ([#&#8203;5044](https://github.com/ansible/ansible-lint/issues/5044)) [@&#8203;felixfontein](https://github.com/felixfontein) - fix: handle ignore.txt comments with '#' in them correctly ([#&#8203;5028](https://github.com/ansible/ansible-lint/issues/5028)) [@&#8203;felixfontein](https://github.com/felixfontein) - fix: Evaluate the exit code after applying the skipped rules from .ansible-lint-ignore ([#&#8203;5001](https://github.com/ansible/ansible-lint/issues/5001)) [@&#8203;gmuloc](https://github.com/gmuloc) - fix: Update stale rulebook schema to match upstream ansible-rulebook ([#&#8203;5056](https://github.com/ansible/ansible-lint/issues/5056)) [@&#8203;Hrithik-Gavankar](https://github.com/Hrithik-Gavankar) - fix: update \_extends syntax for release-drafter v7 compatibility ([#&#8203;5043](https://github.com/ansible/ansible-lint/issues/5043)) [@&#8203;rockygeekz](https://github.com/rockygeekz) - fix(security): update dependencies \[SECURITY] - abandoned ([#&#8203;5014](https://github.com/ansible/ansible-lint/issues/5014)) @&#8203;[renovate\[bot\]](https://github.com/apps/renovate) - fix: update malformed block regex and bump pathspec upper bound ([#&#8203;5039](https://github.com/ansible/ansible-lint/issues/5039)) [@&#8203;rockygeekz](https://github.com/rockygeekz) #### Maintenance - chore: remove previously-synced agent skills ([#&#8203;5078](https://github.com/ansible/ansible-lint/issues/5078)) [@&#8203;ansibuddy](https://github.com/ansibuddy) - chore(deps): update all dependencies ([#&#8203;5074](https://github.com/ansible/ansible-lint/issues/5074)) @&#8203;[renovate\[bot\]](https://github.com/apps/renovate) - fix(security): update dependencies \[SECURITY] ([#&#8203;5061](https://github.com/ansible/ansible-lint/issues/5061)) @&#8203;[renovate\[bot\]](https://github.com/apps/renovate) - test: add security-check workflow (integration test) ([#&#8203;5064](https://github.com/ansible/ansible-lint/issues/5064)) [@&#8203;cidrblock](https://github.com/cidrblock) - chore: Add support for Fedora 44 in the meta schema ([#&#8203;5029](https://github.com/ansible/ansible-lint/issues/5029)) [@&#8203;jsf9k](https://github.com/jsf9k) - chore: clarify yaml reformatting under fix ([#&#8203;5057](https://github.com/ansible/ansible-lint/issues/5057)) [@&#8203;Himanshuagrawal4](https://github.com/Himanshuagrawal4) - chore(deps): update all dependencies pep621 ([#&#8203;5047](https://github.com/ansible/ansible-lint/issues/5047)) @&#8203;[renovate\[bot\]](https://github.com/apps/renovate) - chore(deps): update all dependencies ([#&#8203;5046](https://github.com/ansible/ansible-lint/issues/5046)) @&#8203;[renovate\[bot\]](https://github.com/apps/renovate) - chore(deps): update all dependencies pep621 ([#&#8203;5041](https://github.com/ansible/ansible-lint/issues/5041)) @&#8203;[renovate\[bot\]](https://github.com/apps/renovate) - chore(deps): update all dependencies ([#&#8203;5040](https://github.com/ansible/ansible-lint/issues/5040)) @&#8203;[renovate\[bot\]](https://github.com/apps/renovate) - chore(deps): update all dependencies ([#&#8203;5011](https://github.com/ansible/ansible-lint/issues/5011)) @&#8203;[renovate\[bot\]](https://github.com/apps/renovate) - fix(security): update dependencies \[SECURITY] - abandoned ([#&#8203;5014](https://github.com/ansible/ansible-lint/issues/5014)) @&#8203;[renovate\[bot\]](https://github.com/apps/renovate) - chore(deps): update all dependencies pep621 ([#&#8203;5012](https://github.com/ansible/ansible-lint/issues/5012)) @&#8203;[renovate\[bot\]](https://github.com/apps/renovate) ### [`v26.4.0`](https://github.com/ansible/ansible-lint/releases/tag/v26.4.0) [Compare Source](https://github.com/ansible/ansible-lint/compare/v26.3.0...v26.4.0) #### Fixes - fix: remove deprecated apt\_key module from examples and builtins ([#&#8203;5000](https://github.com/ansible/ansible-lint/issues/5000)) [@&#8203;cidrblock](https://github.com/cidrblock) - fix(security): update dependencies \[SECURITY] ([#&#8203;5010](https://github.com/ansible/ansible-lint/issues/5010)) @&#8203;[renovate\[bot\]](https://github.com/apps/renovate) - fix: avoid permission error when linting /tmp files ([#&#8203;5009](https://github.com/ansible/ansible-lint/issues/5009)) [@&#8203;ssbarnea](https://github.com/ssbarnea) - fix: reapply false positive patch for no-changed-when rule ([#&#8203;4989](https://github.com/ansible/ansible-lint/issues/4989)) [@&#8203;Red-GV](https://github.com/Red-GV) - docs: fix inaccuracies found during documentation audit ([#&#8203;4999](https://github.com/ansible/ansible-lint/issues/4999)) [@&#8203;cidrblock](https://github.com/cidrblock) - fix: support collection format in mock\_roles ([#&#8203;4980](https://github.com/ansible/ansible-lint/issues/4980)) [@&#8203;emmanuel-ferdman](https://github.com/emmanuel-ferdman) - fix(security): update dependencies \[SECURITY] ([#&#8203;4993](https://github.com/ansible/ansible-lint/issues/4993)) @&#8203;[renovate\[bot\]](https://github.com/apps/renovate) #### Maintenance - chore: update hooks ([#&#8203;5008](https://github.com/ansible/ansible-lint/issues/5008)) [@&#8203;ssbarnea](https://github.com/ssbarnea) - chore: implement workaround for coverage merging failure ([#&#8203;5006](https://github.com/ansible/ansible-lint/issues/5006)) [@&#8203;ssbarnea](https://github.com/ssbarnea) - Add support for upcoming Ubuntu 26.04 ([#&#8203;4995](https://github.com/ansible/ansible-lint/issues/4995)) [@&#8203;Andiroid](https://github.com/Andiroid) - chore(deps): update all dependencies pep621 ([#&#8203;4994](https://github.com/ansible/ansible-lint/issues/4994)) @&#8203;[renovate\[bot\]](https://github.com/apps/renovate) - chore(deps): bump black from 26.1.0 to 26.3.1 in /.config ([#&#8203;4991](https://github.com/ansible/ansible-lint/issues/4991)) @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) </details> <details> <summary>netbox-community/netbox (netbox)</summary> ### [`v4.6.4`](https://github.com/netbox-community/netbox/releases/tag/v4.6.4): - 2026-06-30 [Compare Source](https://github.com/netbox-community/netbox/compare/v4.6.3...v4.6.4) #### Enhancements - [#&#8203;21710](https://github.com/netbox-community/netbox/issues/21710) - Render JSON schema `enum` options as a dropdown selection in module and device profile attribute forms - [#&#8203;22174](https://github.com/netbox-community/netbox/issues/22174) - Include the `dns_name` of primary & out-of-band IP addresses in event payloads - [#&#8203;22279](https://github.com/netbox-community/netbox/issues/22279) - Add a 1C8P:8C1P breakout cable profile - [#&#8203;22548](https://github.com/netbox-community/netbox/issues/22548) - Improve the styling of action buttons in the navigation sidebar #### Performance Improvements - [#&#8203;22169](https://github.com/netbox-community/netbox/issues/22169) - Improve performance of the image attachments view when using S3 storage - [#&#8203;22442](https://github.com/netbox-community/netbox/issues/22442) - Avoid repeated serializer instantiation in `GFKSerializerField` - [#&#8203;22526](https://github.com/netbox-community/netbox/issues/22526) - Chunk bulk updates to custom field data to better handle a large number of records #### Bug Fixes - [#&#8203;21310](https://github.com/netbox-community/netbox/issues/21310) - Fix LDAP group lookup failure when a returned row contains a null value - [#&#8203;22439](https://github.com/netbox-community/netbox/issues/22439) - Enforce object-level permissions on custom links rendered via the `custom_links` template tag - [#&#8203;22440](https://github.com/netbox-community/netbox/issues/22440) - Remove errant `changelog` relation from GraphQL schema - [#&#8203;22480](https://github.com/netbox-community/netbox/issues/22480) - Restore inline browser display of device front/rear images instead of forcing a download - [#&#8203;22489](https://github.com/netbox-community/netbox/issues/22489) - Update the cached virtual chassis name on member devices in the search index when a virtual chassis is renamed - [#&#8203;22501](https://github.com/netbox-community/netbox/issues/22501) - Return JSON rather than an HTML error page for GraphQL API exceptions - [#&#8203;22507](https://github.com/netbox-community/netbox/issues/22507) - Also check `is_active` in the superuser bypass for `restrict()` and `IsSuperuser` - [#&#8203;22543](https://github.com/netbox-community/netbox/issues/22543) - Prevent deletion of an existing custom script's file when re-uploading a same-named script via the REST API - [#&#8203;22561](https://github.com/netbox-community/netbox/issues/22561) - Fix `AttributeError` when importing IP addresses with `is_primary`/`is_oob` set but no device assigned #### Accessibility - [#&#8203;22527](https://github.com/netbox-community/netbox/issues/22527) - Announce quick search results to screen readers - [#&#8203;22528](https://github.com/netbox-community/netbox/issues/22528) - Make the Results/Filters tabs keyboard-operable - [#&#8203;22529](https://github.com/netbox-community/netbox/issues/22529) - Allow the left sidebar accordion to be toggled with the spacebar - [#&#8203;22530](https://github.com/netbox-community/netbox/issues/22530) - Remove hidden `<select>` inputs from the accessibility tree - [#&#8203;22531](https://github.com/netbox-community/netbox/issues/22531) - Associate a label with the "Saved Filter" combobox for screen readers - [#&#8203;22532](https://github.com/netbox-community/netbox/issues/22532) - Provide an accessible name for the empty checkbox column header cell in object tables ### [`v4.6.3`](https://github.com/netbox-community/netbox/releases/tag/v4.6.3): - 2026-06-16 [Compare Source](https://github.com/netbox-community/netbox/compare/v4.6.2...v4.6.3) ##### Enhancements - [#&#8203;17598](https://github.com/netbox-community/netbox/issues/17598) - Add bulk creation support for VLANs - [#&#8203;21666](https://github.com/netbox-community/netbox/issues/21666) - Add MU connector type for fiber ports and cables - [#&#8203;22361](https://github.com/netbox-community/netbox/issues/22361) - Introduce an `ArrayAttr` UI panel attribute for rendering array field values - [#&#8203;22457](https://github.com/netbox-community/netbox/issues/22457) - Use `hmac.compare_digest()` for constant-time authentication of API tokens ##### Performance Improvements - [#&#8203;21870](https://github.com/netbox-community/netbox/issues/21870) - Optimize prefix availability calculations - [#&#8203;22375](https://github.com/netbox-community/netbox/issues/22375) - Improve efficiency of filtering VLANs by interface ##### Bug Fixes - [#&#8203;21338](https://github.com/netbox-community/netbox/issues/21338) - Include connected endpoint data in interface webhooks generated during cable creation - [#&#8203;21895](https://github.com/netbox-community/netbox/issues/21895) - Restore pagination controls for job log entries (previously limited to 50 rows) - [#&#8203;22210](https://github.com/netbox-community/netbox/issues/22210) - Respect saved filters when rendering IPAM child availability views in additional tabs - [#&#8203;22237](https://github.com/netbox-community/netbox/issues/22237) - Fix server error when opening the standalone "Add Table Configuration" page - [#&#8203;22245](https://github.com/netbox-community/netbox/issues/22245) - Include the `id` field in the OpenAPI request schemas for bulk PATCH/PUT endpoints - [#&#8203;22251](https://github.com/netbox-community/netbox/issues/22251) - Re-parent child module bays when a multi-bay module is moved to a new bay - [#&#8203;22273](https://github.com/netbox-community/netbox/issues/22273) - Fix migration failure when a service has several thousand ports defined - [#&#8203;22303](https://github.com/netbox-community/netbox/issues/22303) - Add the missing `fields` parameter to the OpenAPI schema - [#&#8203;22324](https://github.com/netbox-community/netbox/issues/22324) - Fix GraphQL filtering of custom field choice set extra choices - [#&#8203;22340](https://github.com/netbox-community/netbox/issues/22340) - Display a token's allowed IPs as comma-separated strings rather than `IPNetwork` objects - [#&#8203;22346](https://github.com/netbox-community/netbox/issues/22346) - Render SSO/SAML authentication failures as a login page message instead of an HTTP 500 error - [#&#8203;22357](https://github.com/netbox-community/netbox/issues/22357) - Remove the unused `local_context_data` field from `dcim.Module` (which no longer inherits from `ConfigContextModel`) - [#&#8203;22376](https://github.com/netbox-community/netbox/issues/22376) - Fix `AssertionError` in event rule script jobs when a device type has an image attached - [#&#8203;22388](https://github.com/netbox-community/netbox/issues/22388) - Pin redis-py to <8.0 to avoid a startup failure on older Redis releases - [#&#8203;22397](https://github.com/netbox-community/netbox/issues/22397) - Fix `AttributeError` exception when an unauthenticated user attempts to export devices - [#&#8203;22399](https://github.com/netbox-community/netbox/issues/22399) - Enforce object permissions on the related object when serving static media - [#&#8203;22427](https://github.com/netbox-community/netbox/issues/22427) - Validate `JSONFilter.path` to prevent ORM operator injection over JSONField contents in the GraphQL API - [#&#8203;22429](https://github.com/netbox-community/netbox/issues/22429) - Enforce `ObjectPermission` constraints on `grant_token` in the REST API - [#&#8203;22431](https://github.com/netbox-community/netbox/issues/22431) - Use a cryptographically secure random number generator when generating API tokens - [#&#8203;22444](https://github.com/netbox-community/netbox/issues/22444) - Fix `KeyError` exception on the power feed detail view when the locale is not English - [#&#8203;22448](https://github.com/netbox-community/netbox/issues/22448) - Ensure all object representations are escaped under `handle_protectederror()` - [#&#8203;22454](https://github.com/netbox-community/netbox/issues/22454) - Fix serialization of decimal custom field values to avoid spurious changelog entries - [#&#8203;22466](https://github.com/netbox-community/netbox/issues/22466) - Fix test failure against SSL-enabled PosgtreSQL ##### Deprecations - [#&#8203;22392](https://github.com/netbox-community/netbox/issues/22392) - Deprecate support for Redis 5.x (to be removed in v4.7) ### [`v4.6.2`](https://github.com/netbox-community/netbox/releases/tag/v4.6.2): - 2026-06-02 [Compare Source](https://github.com/netbox-community/netbox/compare/v4.6.1...v4.6.2) #### Enhancements - [#&#8203;17127](https://github.com/netbox-community/netbox/issues/17127) - Add a user preference for selecting metric or imperial units of measurement - [#&#8203;19336](https://github.com/netbox-community/netbox/issues/19336) - Convert the filtering of tabbed list views from JavaScript to HTMX - [#&#8203;19460](https://github.com/netbox-community/netbox/issues/19460) - Support additional template variables for greater flexibility when constructing map URLs - [#&#8203;20804](https://github.com/netbox-community/netbox/issues/20804) - Support bulk renaming of the `label` field on device components - [#&#8203;21261](https://github.com/netbox-community/netbox/issues/21261) - Allow setting `quick_add` on an `ObjectVar` in custom scripts - [#&#8203;21952](https://github.com/netbox-community/netbox/issues/21952) - Improve robustness of the RQ worker liveness check - [#&#8203;22109](https://github.com/netbox-community/netbox/issues/22109) - Include child dependency counts in the module type REST API representation - [#&#8203;22212](https://github.com/netbox-community/netbox/issues/22212) - Make designated environment parameters available within Jinja2 templates via the new `env()` filter - [#&#8203;22239](https://github.com/netbox-community/netbox/issues/22239) - Rename the "Save" button on the table configuration form to "Apply" for clarity - [#&#8203;22255](https://github.com/netbox-community/netbox/issues/22255) - Allow plugins to register custom serializer resolvers for `get_serializer_for_model()` #### Bug Fixes - [#&#8203;21091](https://github.com/netbox-community/netbox/issues/21091) - Declare proper request & response schema types for the device/VM config rendering API endpoints - [#&#8203;22158](https://github.com/netbox-community/netbox/issues/22158) - Cache empty config revision state to avoid per-request queries polluting database connections - [#&#8203;22163](https://github.com/netbox-community/netbox/issues/22163) - Fix `ValueError` raised by CircuitTerminationForm when a termination type is set but the target object is blank - [#&#8203;22180](https://github.com/netbox-community/netbox/issues/22180) - Ensure custom scripts added via a remote data source are validated - [#&#8203;22187](https://github.com/netbox-community/netbox/issues/22187) - Fix erroneous cable path retracing when using a cable profile - [#&#8203;22219](https://github.com/netbox-community/netbox/issues/22219) - Add missing required form field indicator to InlineFields rows - [#&#8203;22228](https://github.com/netbox-community/netbox/issues/22228) - Validate `vid_ranges` bounds metadata in `VLANGroup.save()` to avoid miscounts and a crash on singleton ranges - [#&#8203;22232](https://github.com/netbox-community/netbox/issues/22232) - Prevent duplicate scheduled background jobs from being created - [#&#8203;22233](https://github.com/netbox-community/netbox/issues/22233) - Fix `site_id` filter on the cables REST API returning no results when both endpoints are circuit terminations - [#&#8203;22247](https://github.com/netbox-community/netbox/issues/22247) - Display the verbose name instead of the internal model name for the related object type on the custom field detail page - [#&#8203;22270](https://github.com/netbox-community/netbox/issues/22270) - Avoid recording a spurious UPDATE change record after DELETE for objects with reverse SET\_NULL relations - [#&#8203;22282](https://github.com/netbox-community/netbox/issues/22282) - Fix `fetch()` on S3Backend to reliably resolve object keys - [#&#8203;22283](https://github.com/netbox-community/netbox/issues/22283) - Restrict the Job queryset in ScriptResultView to authorized objects - [#&#8203;22286](https://github.com/netbox-community/netbox/issues/22286) - Mark the `name` and `description` fields on the GraphQL ConfigContextProfileFilter as optional - [#&#8203;22287](https://github.com/netbox-community/netbox/issues/22287) - Fix GraphQL `EventRuleFilter.action_object_type` being typed as a string lookup against a ContentType foreign key - [#&#8203;22301](https://github.com/netbox-community/netbox/issues/22301) - Avoid name conflict when multiple plugins introduce taggable models of the same name - [#&#8203;22307](https://github.com/netbox-community/netbox/issues/22307) - Fix inconsistent enforcement of `grant_token` permissions between the UI and REST API - [#&#8203;22325](https://github.com/netbox-community/netbox/issues/22325) - Fix `AttributeError` when creating a custom field choice set with base choices - [#&#8203;22328](https://github.com/netbox-community/netbox/issues/22328) - Avoid out-of-memory crash in DynamicMultipleChoiceField with large choice sets ### [`v4.6.1`](https://github.com/netbox-community/netbox/releases/tag/v4.6.1): - 2026-05-19 [Compare Source](https://github.com/netbox-community/netbox/compare/v4.6.0...v4.6.1) #### Enhancements - [#&#8203;16851](https://github.com/netbox-community/netbox/issues/16851) - Correct errant and missing ARIA labels throughout the UI - [#&#8203;20776](https://github.com/netbox-community/netbox/issues/20776) - Add changelog message support for bulk rename operations - [#&#8203;20808](https://github.com/netbox-community/netbox/issues/20808) - Display the names of installed devices when selecting a rack position - [#&#8203;21938](https://github.com/netbox-community/netbox/issues/21938) - Display geographic hierarchy for circuit terminations assigned to sites, locations, or regions - [#&#8203;21993](https://github.com/netbox-community/netbox/issues/21993) - Allow IP ranges comprising a single IP address - [#&#8203;22057](https://github.com/netbox-community/netbox/issues/22057) - Add filter support for notifications and subscriptions to GraphQL API - [#&#8203;22192](https://github.com/netbox-community/netbox/issues/22192) - Introduce `HTTP_CLIENT_IP_HEADERS` configuration parameter to customize HTTP headers used to determine client IP address #### Performance Improvements - [#&#8203;22060](https://github.com/netbox-community/netbox/issues/22060) - Implement GraphQL query depth limiting (via `GRAPHQL_MAX_QUERY_DEPTH`) to guard against excessively complex queries - [#&#8203;22061](https://github.com/netbox-community/netbox/issues/22061) - Add prefetch hints to various GraphQL type mixins to improve query efficiency - [#&#8203;22102](https://github.com/netbox-community/netbox/issues/22102) - Add GIN index on CablePath to optimize filtering of cable paths by node - [#&#8203;22104](https://github.com/netbox-community/netbox/issues/22104) - Avoid retracing cable paths during cable deletion - [#&#8203;22146](https://github.com/netbox-community/netbox/issues/22146) - Avoid renumbering MPTT trees when creating module bays #### Bug Fixes - [#&#8203;21934](https://github.com/netbox-community/netbox/issues/21934) - Fix striped table rows overriding conditional row color highlighting for virtual/LAG interfaces - [#&#8203;22055](https://github.com/netbox-community/netbox/issues/22055) - Fix API exceptions being silently consumed by middleware without reporting to Sentry - [#&#8203;22079](https://github.com/netbox-community/netbox/issues/22079) - Fix security vulnerability allowing arbitrary code execution via ExportTemplate `environment_params` (CVE-2026-29514) - [#&#8203;22081](https://github.com/netbox-community/netbox/issues/22081) - REST API should return plaintext for new v2 tokens upon creation - [#&#8203;22183](https://github.com/netbox-community/netbox/issues/22183) - Fix spurious changelog entries for `interface_b` generated when saving an unchanged wireless link - [#&#8203;22190](https://github.com/netbox-community/netbox/issues/22190) - Restore tenant and tenant group column options for circuits group table configuration - [#&#8203;22198](https://github.com/netbox-community/netbox/issues/22198) - Restrict export template queryset to authorized objects in REST API and list views - [#&#8203;22202](https://github.com/netbox-community/netbox/issues/22202) - Fix crash in system housekeeping job when no stable releases are available - [#&#8203;22206](https://github.com/netbox-community/netbox/issues/22206) - Fix `TypeError` exception raised by table config validation when `ordering` attribute is null - [#&#8203;22207](https://github.com/netbox-community/netbox/issues/22207) - Fix missing explicit `object_type` field annotation on TableConfigType GraphQL type - [#&#8203;22208](https://github.com/netbox-community/netbox/issues/22208) - Add missing `user_id` FK filter on job filterset - [#&#8203;22209](https://github.com/netbox-community/netbox/issues/22209) - Add missing `cable_id` FK filter on cable termination filterset - [#&#8203;22227](https://github.com/netbox-community/netbox/issues/22227) - Fix display of IP address detail view when multiple NAT assignments exist - [#&#8203;22236](https://github.com/netbox-community/netbox/issues/22236) - Fix support for user changelog message when saving table configurations via the REST API #### Deprecations - [#&#8203;22128](https://github.com/netbox-community/netbox/issues/22128) - Deprecate support for v1 API tokens (to be removed in v5.0) - [#&#8203;22141](https://github.com/netbox-community/netbox/issues/22141) - Deprecate support for PostgreSQL 14 (to be removed in v4.7) ### [`v4.6.0`](https://github.com/netbox-community/netbox/releases/tag/v4.6.0): - 2026-05-05 [Compare Source](https://github.com/netbox-community/netbox/compare/v4.5.10...v4.6.0) #### New Features ##### Virtual Machine Types ([#&#8203;5795](https://github.com/netbox-community/netbox/issues/5795)) A new VirtualMachineType model has been introduced to enable categorization of virtual machines by instance type, analogous to how DeviceType categorizes physical hardware. VM types can be defined once and reused across many virtual machines. ##### Cable Bundles ([#&#8203;20151](https://github.com/netbox-community/netbox/issues/20151)) A new CableBundle model allows individual cables to be grouped together to represent physical cable runs that are managed as a unit; e.g. a bundle of 48 CAT6 cables between two patch panels. (Please note that this feature is *not* suitable for modeling individual fiber strands within a single cable.) ##### Rack Groups ([#&#8203;20961](https://github.com/netbox-community/netbox/issues/20961)) A flat RackGroup model has been reintroduced to provide a lightweight secondary axis of rack organization (e.g. by row or aisle) that is independent of the location hierarchy. Racks carry an optional foreign key to a RackGroup, and RackGroup can also serve as a scope for VLANGroup assignments. ##### ETag Support for REST API ([#&#8203;21356](https://github.com/netbox-community/netbox/issues/21356)) The REST API now returns an `ETag` header on responses for individual objects, derived from the object's last-updated timestamp. Clients can supply an `If-Match` header on PUT/PATCH requests to guard against conflicting concurrent updates; if the object has been modified since the ETag was issued, the server returns a 412 (Precondition Failed) response. ##### Cursor-based Pagination for REST API ([#&#8203;21363](https://github.com/netbox-community/netbox/issues/21363)) A new `start` query parameter has been introduced as an efficient alternative to the existing `offset` parameter for paginating large result sets. Rather than scanning the table up to a relative offset, the `start` parameter filters for objects with a primary key equal to or greater than the given value, enabling constant-time pagination regardless of result set size. #### Enhancements - [#&#8203;12024](https://github.com/netbox-community/netbox/issues/12024) - Permit virtual machines to be assigned to devices without a cluster - [#&#8203;14329](https://github.com/netbox-community/netbox/issues/14329) - Improve diff highlighting for custom field data in change logs - [#&#8203;15513](https://github.com/netbox-community/netbox/issues/15513) - Add bulk creation support for IP prefixes - [#&#8203;17654](https://github.com/netbox-community/netbox/issues/17654) - Support role assignment for ASNs - [#&#8203;19025](https://github.com/netbox-community/netbox/issues/19025) - Support optional schema validation for JSON custom fields - [#&#8203;19034](https://github.com/netbox-community/netbox/issues/19034) - Annotate total reserved unit count on rack reservations - [#&#8203;19138](https://github.com/netbox-community/netbox/issues/19138) - Include NAT addresses for primary & out-of-band IP addresses in REST API - [#&#8203;19648](https://github.com/netbox-community/netbox/issues/19648) - Add a color custom field type - [#&#8203;19796](https://github.com/netbox-community/netbox/issues/19796) - Support `{module}` position inheritance for nested module bays - [#&#8203;19953](https://github.com/netbox-community/netbox/issues/19953) - Enable debugging support for ConfigTemplate rendering - [#&#8203;20123](https://github.com/netbox-community/netbox/issues/20123) - Introduce options to control adoption/replication of device components via REST API (replicates UI behavior) - [#&#8203;20152](https://github.com/netbox-community/netbox/issues/20152) - Support for marking module and device bays as disabled - [#&#8203;20162](https://github.com/netbox-community/netbox/issues/20162) - Provide an option to execute as a background job when adding components to devices in bulk - [#&#8203;20163](https://github.com/netbox-community/netbox/issues/20163) - Add changelog message support for bulk device component creation - [#&#8203;20698](https://github.com/netbox-community/netbox/issues/20698) - Add read-only `total_vlan_ids` attribute on VLAN group representation in REST & GraphQL APIs - [#&#8203;20916](https://github.com/netbox-community/netbox/issues/20916) - Include stack trace for unhandled exceptions in job logs - [#&#8203;21157](https://github.com/netbox-community/netbox/issues/21157) - Include all public model classes in export template context - [#&#8203;21409](https://github.com/netbox-community/netbox/issues/21409) - Introduce `CHANGELOG_RETAIN_CREATE_LAST_UPDATE` configuration parameter to retain creation & most recent update record in change log for each object - [#&#8203;21575](https://github.com/netbox-community/netbox/issues/21575) - Introduce `{vc_position}` template variable for device component template name/label - [#&#8203;21662](https://github.com/netbox-community/netbox/issues/21662) - Increase `rf_channel_frequency` precision to 3 decimal places - [#&#8203;21702](https://github.com/netbox-community/netbox/issues/21702) - Include a serialized representation of the HTTP request in each webhook - [#&#8203;21720](https://github.com/netbox-community/netbox/issues/21720) - Align HTTP basic auth regex of `EnhancedURLValidator` with Django's `URLValidator` - [#&#8203;21751](https://github.com/netbox-community/netbox/issues/21751) - Disable notifications for scripts running in the background - [#&#8203;21770](https://github.com/netbox-community/netbox/issues/21770) - Enable specifying columns to include/exclude on embedded tables - [#&#8203;21771](https://github.com/netbox-community/netbox/issues/21771) - Add support for partial tag assignment (`add_tags`) and removal (`remove_tags`) via REST API - [#&#8203;21780](https://github.com/netbox-community/netbox/issues/21780) - Add changelog message support to bulk creation of IP addresses - [#&#8203;21865](https://github.com/netbox-community/netbox/issues/21865) - Allow setting empty `INTERNAL_IPS` to enable debug toolbar for all clients - [#&#8203;21924](https://github.com/netbox-community/netbox/issues/21924) - Improve styling and consistency of floating bulk action controls - [#&#8203;22062](https://github.com/netbox-community/netbox/issues/22062) - Display API token ID & plaintext one time immediately upon creation #### Performance Improvements - [#&#8203;21455](https://github.com/netbox-community/netbox/issues/21455) - Ensure PostgreSQL indexes exist to support the default ordering of each model - [#&#8203;21688](https://github.com/netbox-community/netbox/issues/21688) - Reduce per-position ORM lookups when tracing cable paths - [#&#8203;21788](https://github.com/netbox-community/netbox/issues/21788) - Optimize bulk object export to avoid timeout errors on large querysets #### Plugins - [#&#8203;20924](https://github.com/netbox-community/netbox/issues/20924) - Introduce support for declarative layouts and reusable UI components - [#&#8203;21357](https://github.com/netbox-community/netbox/issues/21357) - Provide an API for plugins to register custom model actions (for permission assignment) #### Deprecations - [#&#8203;21284](https://github.com/netbox-community/netbox/issues/21284) - Deprecate the `username` and `request_id` fields in event data - [#&#8203;21304](https://github.com/netbox-community/netbox/issues/21304) - Deprecate the `housekeeping` management command - [#&#8203;21331](https://github.com/netbox-community/netbox/issues/21331) - Deprecate NetBox's custom `querystring` template tag - [#&#8203;21881](https://github.com/netbox-community/netbox/issues/21881) - Deprecate legacy Sentry configuration parameters - [#&#8203;21884](https://github.com/netbox-community/netbox/issues/21884) - Deprecate the obsolete `DEFAULT_ACTION_PERMISSIONS` mapping - [#&#8203;21887](https://github.com/netbox-community/netbox/issues/21887) - Deprecate support for legacy view actions - [#&#8203;21890](https://github.com/netbox-community/netbox/issues/21890) - Deprecate `models` key in application registry - [#&#8203;21936](https://github.com/netbox-community/netbox/issues/21936) - Deprecate the `LOGIN_REQUIRED` configuration parameter - [#&#8203;22046](https://github.com/netbox-community/netbox/issues/22046) - Deprecate OptionalLimitOffsetPagination - [#&#8203;22047](https://github.com/netbox-community/netbox/issues/22047) - Deprecate ExpandableIPAddressField - [#&#8203;22048](https://github.com/netbox-community/netbox/issues/22048) - Deprecate the `expand_ipaddress_pattern()` utility function #### Other Changes - [#&#8203;20984](https://github.com/netbox-community/netbox/issues/20984) - Upgrade to Django 6.0 - [#&#8203;21635](https://github.com/netbox-community/netbox/issues/21635) - Migrate documentation site from mkdocs to Zensical ### [`v4.5.10`](https://github.com/netbox-community/netbox/releases/tag/v4.5.10): - 2026-05-04 [Compare Source](https://github.com/netbox-community/netbox/compare/v4.5.9...v4.5.10) #### Bug Fixes - [#&#8203;21990](https://github.com/netbox-community/netbox/issues/21990) - Fix erroneous deletion of device assignment when editing a virtual machine - [#&#8203;22005](https://github.com/netbox-community/netbox/issues/22005) - Fix filtering of interfaces by `connected` status to exclude incomplete cable paths - [#&#8203;22029](https://github.com/netbox-community/netbox/issues/22029) - Recast empty string values as null for unique nullable fields to avoid integrity errors - [#&#8203;22031](https://github.com/netbox-community/netbox/issues/22031) - Fix error when adding a prefix from a VLAN with no tenant/site - [#&#8203;22084](https://github.com/netbox-community/netbox/issues/22084) - Correct OpenAPI schema for `cable_end` field on cabled objects to indicate it may be null ### [`v4.5.9`](https://github.com/netbox-community/netbox/releases/tag/v4.5.9): - 2026-04-28 [Compare Source](https://github.com/netbox-community/netbox/compare/v4.5.8...v4.5.9) #### Enhancements - [#&#8203;21711](https://github.com/netbox-community/netbox/issues/21711) - Add `profile` filter support for modules - [#&#8203;21782](https://github.com/netbox-community/netbox/issues/21782) - Enable optional config template selection when rendering device configuration via a URL query parameter - [#&#8203;21854](https://github.com/netbox-community/netbox/issues/21854) - Support filtering by multiple object-type custom fields simultaneously in filter forms - [#&#8203;21866](https://github.com/netbox-community/netbox/issues/21866) - Include the PostgreSQL database schema in system details - [#&#8203;21875](https://github.com/netbox-community/netbox/issues/21875) - Allow `dict` subclasses for the `API_TOKEN_PEPPERS` configuration parameter #### Performance Improvements - [#&#8203;21975](https://github.com/netbox-community/netbox/issues/21975) - Optimize queryset prefetching for CSV bulk export #### Bug Fixes - [#&#8203;21538](https://github.com/netbox-community/netbox/issues/21538) - Fix incorrect contact count for contact groups with contacts assigned to nested groups - [#&#8203;21658](https://github.com/netbox-community/netbox/issues/21658) - Correct OpenAPI schema for `available-prefixes` endpoint request body - [#&#8203;21683](https://github.com/netbox-community/netbox/issues/21683) - Fix import of modules with front-to-rear port mappings - [#&#8203;21737](https://github.com/netbox-community/netbox/issues/21737) - Avoid saving invalid custom scripts to disk on upload - [#&#8203;21893](https://github.com/netbox-community/netbox/issues/21893) - Fix permission scope filtering for constrained object permissions - [#&#8203;21906](https://github.com/netbox-community/netbox/issues/21906) - Fix exception raised by REST API `POST`/`PATCH` requests missing a trailing slash - [#&#8203;21913](https://github.com/netbox-community/netbox/issues/21913) - Restore plugin template extensions for VRF and other declarative-layout views - [#&#8203;21917](https://github.com/netbox-community/netbox/issues/21917) - Fix incorrect link peers for rear ports connected via trunk cable profiles - [#&#8203;21947](https://github.com/netbox-community/netbox/issues/21947) - Fix saving of comments on MAC address entries - [#&#8203;21949](https://github.com/netbox-community/netbox/issues/21949) - Correct power draw calculations for outlets within a PDU - [#&#8203;21966](https://github.com/netbox-community/netbox/issues/21966) - Correct OpenAPI schema for available-VLANs endpoint request body - [#&#8203;21985](https://github.com/netbox-community/netbox/issues/21985) - Restore color field in front port edit form - [#&#8203;21989](https://github.com/netbox-community/netbox/issues/21989) - Validate `EventRule.action_data` as a JSON object to prevent server errors on object writes - [#&#8203;21995](https://github.com/netbox-community/netbox/issues/21995) - Clear unique fields when using "add another" for contacts - [#&#8203;22002](https://github.com/netbox-community/netbox/issues/22002) - Enable horizontal scrolling for context table panels on the IP address view ### [`v4.5.8`](https://github.com/netbox-community/netbox/releases/tag/v4.5.8): - 2026-04-14 [Compare Source](https://github.com/netbox-community/netbox/compare/v4.5.7...v4.5.8) #### Enhancements - [#&#8203;21430](https://github.com/netbox-community/netbox/issues/21430) - Display the device role's color in the device view - [#&#8203;21795](https://github.com/netbox-community/netbox/issues/21795) - Update `humanize_speed` template filter to support decimal Gbps/Tbps values #### Bug Fixes - [#&#8203;21529](https://github.com/netbox-community/netbox/issues/21529) - Exclude non-existent custom fields from object changelog data returned via the REST API - [#&#8203;21542](https://github.com/netbox-community/netbox/issues/21542) - Expand interface speed field to 64-bit integer to prevent overflow for LAG interfaces exceeding \~2.1 Tbps - [#&#8203;21704](https://github.com/netbox-community/netbox/issues/21704) - Fix missing port mappings in device type YAML export - [#&#8203;21783](https://github.com/netbox-community/netbox/issues/21783) - Fix support for bulk import of cables connected to power feeds - [#&#8203;21801](https://github.com/netbox-community/netbox/issues/21801) - Prevent duplicate filename collision when uploading files using S3 storage - [#&#8203;21814](https://github.com/netbox-community/netbox/issues/21814) - Fix custom script "last run" time to reflect job start time rather than creation time - [#&#8203;21835](https://github.com/netbox-community/netbox/issues/21835) - Correct help text for color selection form fields - [#&#8203;21841](https://github.com/netbox-community/netbox/issues/21841) - Restore visibility of the edit button for script modules to non-superusers - [#&#8203;21845](https://github.com/netbox-community/netbox/issues/21845) - Fix CSV export of connection columns rendering template whitespace instead of a formatted value - [#&#8203;21869](https://github.com/netbox-community/netbox/issues/21869) - Remove redundant `ScriptModule` class synchronization triggered on save ### [`v4.5.7`](https://github.com/netbox-community/netbox/releases/tag/v4.5.7): - 2026-04-03 [Compare Source](https://github.com/netbox-community/netbox/compare/v4.5.6...v4.5.7) #### Enhancements - [#&#8203;21095](https://github.com/netbox-community/netbox/issues/21095) - Adopt IEC unit labels (e.g. GiB) for virtual machine resources - [#&#8203;21696](https://github.com/netbox-community/netbox/issues/21696) - Add support for django-rq 4.0 and introduce `RQ` configuration parameter - [#&#8203;21701](https://github.com/netbox-community/netbox/issues/21701) - Support uploading custom scripts via the REST API (`/api/extras/scripts/upload/`) - [#&#8203;21760](https://github.com/netbox-community/netbox/issues/21760) - Add a 1C2P:2C1P breakout cable profile #### Performance Improvements - [#&#8203;21655](https://github.com/netbox-community/netbox/issues/21655) - Optimize queries for object and multi-object type custom fields #### Bug Fixes - [#&#8203;20474](https://github.com/netbox-community/netbox/issues/20474) - Fix installation of modules with placeholder values in component names - [#&#8203;21498](https://github.com/netbox-community/netbox/issues/21498) - Fix server error triggered by event rules referencing deleted objects - [#&#8203;21533](https://github.com/netbox-community/netbox/issues/21533) - Ensure read-only fields are included in REST API responses upon object creation - [#&#8203;21535](https://github.com/netbox-community/netbox/issues/21535) - Fix filtering of object-type custom fields when "is empty" is selected - [#&#8203;21784](https://github.com/netbox-community/netbox/issues/21784) - Fix `AttributeError` exception when sorting a table as an anonymous user - [#&#8203;21808](https://github.com/netbox-community/netbox/issues/21808) - Fix `RelatedObjectDoesNotExist` exception when viewing an interface with a virtual circuit termination - [#&#8203;21810](https://github.com/netbox-community/netbox/issues/21810) - Fix `AttributeError` exception when viewing virtual chassis member - [#&#8203;21825](https://github.com/netbox-community/netbox/issues/21825) - Fix sorting by broken columns in several object lists ### [`v4.5.6`](https://github.com/netbox-community/netbox/releases/tag/v4.5.6): - 2026-03-31 [Compare Source](https://github.com/netbox-community/netbox/compare/v4.5.5...v4.5.6) ##### Enhancements - [#&#8203;21480](https://github.com/netbox-community/netbox/issues/21480) - Add OSFP224 (1.6T) interface type - [#&#8203;21727](https://github.com/netbox-community/netbox/issues/21727) - Add 2.5GBASE-X SFP modular interface type - [#&#8203;21743](https://github.com/netbox-community/netbox/issues/21743) - Improve object change diff styling and layout - [#&#8203;21793](https://github.com/netbox-community/netbox/issues/21793) - Add 50 Gbps, 800 Gbps, and 1.6 Tbps interface speed options ##### Bug Fixes - [#&#8203;20467](https://github.com/netbox-community/netbox/issues/20467) - Fix resolution of the `{module}` variable for position fields in nested modules - [#&#8203;21698](https://github.com/netbox-community/netbox/issues/21698) - Adjust custom field URL filter to support non-standard port numbers - [#&#8203;21707](https://github.com/netbox-community/netbox/issues/21707) - Fix grouping of owner fields in provider account add/edit forms - [#&#8203;21749](https://github.com/netbox-community/netbox/issues/21749) - Fix `FieldError` exception when sorting the circuit group assignment table by the member column - [#&#8203;21763](https://github.com/netbox-community/netbox/issues/21763) - Use separate add/remove form fields when editing a site or provider with a large number of ASNs assigned </details> <details> <summary>oauth2-proxy/oauth2-proxy (quay.io/oauth2-proxy/oauth2-proxy)</summary> ### [`v7.15.3`](https://github.com/oauth2-proxy/oauth2-proxy/blob/HEAD/CHANGELOG.md#Changes-since-v7153) [Compare Source](https://github.com/oauth2-proxy/oauth2-proxy/compare/v7.15.2...v7.15.3) ### [`v7.15.2`](https://github.com/oauth2-proxy/oauth2-proxy/blob/HEAD/CHANGELOG.md#Changes-since-v7152) [Compare Source](https://github.com/oauth2-proxy/oauth2-proxy/compare/v7.15.1...v7.15.2) - [#&#8203;3477](https://github.com/oauth2-proxy/oauth2-proxy/pull/3477) chore(dep): bump go to 1.26 and migrate of reverse proxy handling </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDEuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI1MS4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->
Update docker.io/binwiederhier/ntfy Docker tag to v2.21.0
All checks were successful
/ Ansible Lint (push) Successful in 3m6s
/ Ansible Lint (pull_request) Successful in 3m8s
a873ca2cfe
renovate force-pushed renovate/all-stable-minor-patch from a873ca2cfe
All checks were successful
/ Ansible Lint (push) Successful in 3m6s
/ Ansible Lint (pull_request) Successful in 3m8s
to 0fd65b9a9a
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m14s
/ Ansible Lint (push) Successful in 3m20s
2026-03-31 17:00:58 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 0fd65b9a9a
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m14s
/ Ansible Lint (push) Successful in 3m20s
to c178d824dc
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m39s
/ Ansible Lint (push) Successful in 3m47s
2026-03-31 18:00:57 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from c178d824dc
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m39s
/ Ansible Lint (push) Successful in 3m47s
to 7ceca873dd
All checks were successful
/ Ansible Lint (push) Successful in 6m15s
/ Ansible Lint (pull_request) Successful in 7m16s
2026-03-31 18:45:59 +02:00
Compare
renovate changed title from Update docker.io/binwiederhier/ntfy Docker tag to v2.21.0 to Update all stable non-major dependencies 2026-03-31 18:46:01 +02:00
renovate force-pushed renovate/all-stable-minor-patch from 7ceca873dd
All checks were successful
/ Ansible Lint (push) Successful in 6m15s
/ Ansible Lint (pull_request) Successful in 7m16s
to f9f3248cf1
All checks were successful
/ Ansible Lint (push) Successful in 3m2s
/ Ansible Lint (pull_request) Successful in 3m6s
2026-04-01 02:16:46 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from f9f3248cf1
All checks were successful
/ Ansible Lint (push) Successful in 3m2s
/ Ansible Lint (pull_request) Successful in 3m6s
to 56aee32668
All checks were successful
/ Ansible Lint (push) Successful in 3m1s
/ Ansible Lint (pull_request) Successful in 3m3s
2026-04-01 02:31:01 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 56aee32668
All checks were successful
/ Ansible Lint (push) Successful in 3m1s
/ Ansible Lint (pull_request) Successful in 3m3s
to a63edc7651
All checks were successful
/ Ansible Lint (push) Successful in 3m3s
/ Ansible Lint (pull_request) Successful in 3m7s
2026-04-01 09:15:57 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from a63edc7651
All checks were successful
/ Ansible Lint (push) Successful in 3m3s
/ Ansible Lint (pull_request) Successful in 3m7s
to a4a44564d0
All checks were successful
/ Ansible Lint (pull_request) Successful in 2m57s
/ Ansible Lint (push) Successful in 2m59s
2026-04-02 01:46:51 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from a4a44564d0
All checks were successful
/ Ansible Lint (pull_request) Successful in 2m57s
/ Ansible Lint (push) Successful in 2m59s
to 28e124dd7a
All checks were successful
/ Ansible Lint (push) Successful in 2m59s
/ Ansible Lint (pull_request) Successful in 3m6s
2026-04-02 11:15:42 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 28e124dd7a
All checks were successful
/ Ansible Lint (push) Successful in 2m59s
/ Ansible Lint (pull_request) Successful in 3m6s
to ea5334d74a
All checks were successful
/ Ansible Lint (push) Successful in 3m6s
/ Ansible Lint (pull_request) Successful in 3m7s
2026-04-02 11:30:46 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from ea5334d74a
All checks were successful
/ Ansible Lint (push) Successful in 3m6s
/ Ansible Lint (pull_request) Successful in 3m7s
to 0413fe05b1
All checks were successful
/ Ansible Lint (push) Successful in 3m4s
/ Ansible Lint (pull_request) Successful in 3m7s
2026-04-02 11:45:45 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 0413fe05b1
All checks were successful
/ Ansible Lint (push) Successful in 3m4s
/ Ansible Lint (pull_request) Successful in 3m7s
to b86c4a6801
All checks were successful
/ Ansible Lint (pull_request) Successful in 2m34s
/ Ansible Lint (push) Successful in 2m34s
2026-04-02 13:30:47 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from b86c4a6801
All checks were successful
/ Ansible Lint (pull_request) Successful in 2m34s
/ Ansible Lint (push) Successful in 2m34s
to b5943aa8b0
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m7s
/ Ansible Lint (push) Successful in 3m9s
2026-04-03 15:16:09 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from b5943aa8b0
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m7s
/ Ansible Lint (push) Successful in 3m9s
to de2758f9b9
All checks were successful
/ Ansible Lint (push) Successful in 2m46s
/ Ansible Lint (pull_request) Successful in 2m55s
2026-04-03 16:30:55 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from de2758f9b9
All checks were successful
/ Ansible Lint (push) Successful in 2m46s
/ Ansible Lint (pull_request) Successful in 2m55s
to a53d00c962
All checks were successful
/ Ansible Lint (push) Successful in 2m54s
/ Ansible Lint (pull_request) Successful in 3m43s
2026-04-03 17:46:06 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from a53d00c962
All checks were successful
/ Ansible Lint (push) Successful in 2m54s
/ Ansible Lint (pull_request) Successful in 3m43s
to 4268a8770d
All checks were successful
/ Ansible Lint (push) Successful in 7m34s
/ Ansible Lint (pull_request) Successful in 8m58s
2026-04-03 18:46:10 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 4268a8770d
All checks were successful
/ Ansible Lint (push) Successful in 7m34s
/ Ansible Lint (pull_request) Successful in 8m58s
to 8be5dfea99
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m0s
/ Ansible Lint (push) Successful in 3m20s
2026-04-04 15:45:56 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 8be5dfea99
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m0s
/ Ansible Lint (push) Successful in 3m20s
to bb194d59df
All checks were successful
/ Ansible Lint (pull_request) Successful in 4m14s
/ Ansible Lint (push) Successful in 4m26s
2026-04-05 02:01:09 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from bb194d59df
All checks were successful
/ Ansible Lint (pull_request) Successful in 4m14s
/ Ansible Lint (push) Successful in 4m26s
to 83360bb199
All checks were successful
/ Ansible Lint (push) Successful in 2m26s
/ Ansible Lint (pull_request) Successful in 2m27s
2026-04-08 02:32:00 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 83360bb199
All checks were successful
/ Ansible Lint (push) Successful in 2m26s
/ Ansible Lint (pull_request) Successful in 2m27s
to 2d1b885b4b
All checks were successful
/ Ansible Lint (pull_request) Successful in 2m32s
/ Ansible Lint (push) Successful in 2m32s
2026-04-09 02:16:41 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 2d1b885b4b
All checks were successful
/ Ansible Lint (pull_request) Successful in 2m32s
/ Ansible Lint (push) Successful in 2m32s
to 5798eb5734
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m6s
/ Ansible Lint (push) Successful in 3m10s
2026-04-11 04:46:05 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 5798eb5734
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m6s
/ Ansible Lint (push) Successful in 3m10s
to 4588c42453
All checks were successful
/ Ansible Lint (push) Successful in 2m35s
/ Ansible Lint (pull_request) Successful in 2m41s
2026-04-11 20:45:48 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 4588c42453
All checks were successful
/ Ansible Lint (push) Successful in 2m35s
/ Ansible Lint (pull_request) Successful in 2m41s
to bc2f3b70d1
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m15s
/ Ansible Lint (push) Successful in 3m21s
2026-04-11 21:00:56 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from bc2f3b70d1
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m15s
/ Ansible Lint (push) Successful in 3m21s
to 1ffa0dd253
All checks were successful
/ Ansible Lint (push) Successful in 2m34s
/ Ansible Lint (pull_request) Successful in 2m36s
2026-04-14 03:01:33 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 1ffa0dd253
All checks were successful
/ Ansible Lint (push) Successful in 2m34s
/ Ansible Lint (pull_request) Successful in 2m36s
to 436165e899
Some checks failed
/ Ansible Lint (pull_request) Failing after 3m11s
/ Ansible Lint (push) Successful in 15m7s
2026-04-14 12:30:59 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 436165e899
Some checks failed
/ Ansible Lint (pull_request) Failing after 3m11s
/ Ansible Lint (push) Successful in 15m7s
to 8d5de6c6d5
All checks were successful
/ Ansible Lint (pull_request) Successful in 2m30s
/ Ansible Lint (push) Successful in 2m31s
2026-04-15 02:31:33 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 8d5de6c6d5
All checks were successful
/ Ansible Lint (pull_request) Successful in 2m30s
/ Ansible Lint (push) Successful in 2m31s
to b8535ba4fd
All checks were successful
/ Ansible Lint (push) Successful in 2m28s
/ Ansible Lint (pull_request) Successful in 2m29s
2026-04-15 04:15:55 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from b8535ba4fd
All checks were successful
/ Ansible Lint (push) Successful in 2m28s
/ Ansible Lint (pull_request) Successful in 2m29s
to 3474cb2d57
All checks were successful
/ Ansible Lint (push) Successful in 2m51s
/ Ansible Lint (pull_request) Successful in 2m51s
2026-04-16 02:31:35 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 3474cb2d57
All checks were successful
/ Ansible Lint (push) Successful in 2m51s
/ Ansible Lint (pull_request) Successful in 2m51s
to 4c4ce69f7e
All checks were successful
/ Ansible Lint (push) Successful in 3m6s
/ Ansible Lint (pull_request) Successful in 3m12s
2026-04-19 00:45:48 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 4c4ce69f7e
All checks were successful
/ Ansible Lint (push) Successful in 3m6s
/ Ansible Lint (pull_request) Successful in 3m12s
to deec153407
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m7s
/ Ansible Lint (push) Successful in 3m8s
2026-04-20 02:46:38 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from deec153407
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m7s
/ Ansible Lint (push) Successful in 3m8s
to bda1a57786
All checks were successful
/ Ansible Lint (pull_request) Successful in 2m35s
/ Ansible Lint (push) Successful in 2m36s
2026-04-22 02:16:41 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from bda1a57786
All checks were successful
/ Ansible Lint (pull_request) Successful in 2m35s
/ Ansible Lint (push) Successful in 2m36s
to a116d58ccf
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m14s
/ Ansible Lint (push) Successful in 3m17s
2026-04-23 12:30:52 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from a116d58ccf
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m14s
/ Ansible Lint (push) Successful in 3m17s
to cd15864462
All checks were successful
/ Ansible Lint (push) Successful in 3m5s
/ Ansible Lint (pull_request) Successful in 3m7s
2026-04-25 02:16:44 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from cd15864462
All checks were successful
/ Ansible Lint (push) Successful in 3m5s
/ Ansible Lint (pull_request) Successful in 3m7s
to 3450754e8b
All checks were successful
/ Ansible Lint (push) Successful in 2m36s
/ Ansible Lint (pull_request) Successful in 2m37s
2026-04-28 02:16:42 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 3450754e8b
All checks were successful
/ Ansible Lint (push) Successful in 2m36s
/ Ansible Lint (pull_request) Successful in 2m37s
to c599c113a9
Some checks failed
/ Ansible Lint (pull_request) Failing after 27s
/ Ansible Lint (push) Failing after 27s
2026-04-29 03:01:50 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from c599c113a9
Some checks failed
/ Ansible Lint (pull_request) Failing after 27s
/ Ansible Lint (push) Failing after 27s
to 504ec1518b
All checks were successful
/ Ansible Lint (push) Successful in 3m10s
/ Ansible Lint (pull_request) Successful in 3m11s
2026-04-29 19:15:53 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 504ec1518b
All checks were successful
/ Ansible Lint (push) Successful in 3m10s
/ Ansible Lint (pull_request) Successful in 3m11s
to 044f260358
All checks were successful
/ Ansible Lint (pull_request) Successful in 2m33s
/ Ansible Lint (push) Successful in 2m35s
2026-04-29 20:30:53 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 044f260358
All checks were successful
/ Ansible Lint (pull_request) Successful in 2m33s
/ Ansible Lint (push) Successful in 2m35s
to ad062b280d
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m19s
/ Ansible Lint (push) Successful in 3m22s
2026-04-29 21:30:56 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from ad062b280d
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m19s
/ Ansible Lint (push) Successful in 3m22s
to 98d1bb9d14
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m3s
/ Ansible Lint (push) Successful in 3m5s
2026-05-02 02:16:43 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 98d1bb9d14
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m3s
/ Ansible Lint (push) Successful in 3m5s
to 4754025c05
All checks were successful
/ Ansible Lint (push) Successful in 3m4s
/ Ansible Lint (pull_request) Successful in 3m4s
2026-05-06 05:01:05 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 4754025c05
All checks were successful
/ Ansible Lint (push) Successful in 3m4s
/ Ansible Lint (pull_request) Successful in 3m4s
to a4e3e7c4ba
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m12s
/ Ansible Lint (push) Successful in 3m14s
2026-05-10 03:15:58 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from a4e3e7c4ba
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m12s
/ Ansible Lint (push) Successful in 3m14s
to 58127bffc6
All checks were successful
/ Ansible Lint (push) Successful in 3m7s
/ Ansible Lint (pull_request) Successful in 3m7s
2026-05-19 00:16:15 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 58127bffc6
All checks were successful
/ Ansible Lint (push) Successful in 3m7s
/ Ansible Lint (pull_request) Successful in 3m7s
to 77843e62f5
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m11s
/ Ansible Lint (push) Successful in 3m20s
2026-05-19 00:31:16 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 77843e62f5
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m11s
/ Ansible Lint (push) Successful in 3m20s
to 7400d72004
All checks were successful
/ Ansible Lint (push) Successful in 3m5s
/ Ansible Lint (pull_request) Successful in 3m5s
2026-05-19 08:46:05 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 7400d72004
All checks were successful
/ Ansible Lint (push) Successful in 3m5s
/ Ansible Lint (pull_request) Successful in 3m5s
to f5e19f2da5
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m46s
/ Ansible Lint (push) Successful in 4m5s
2026-05-19 11:00:55 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from f5e19f2da5
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m46s
/ Ansible Lint (push) Successful in 4m5s
to c1d6e7163e
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m5s
/ Ansible Lint (push) Successful in 3m7s
2026-05-19 11:16:01 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from c1d6e7163e
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m5s
/ Ansible Lint (push) Successful in 3m7s
to 7b1d4b55a5
All checks were successful
/ Ansible Lint (push) Successful in 3m12s
/ Ansible Lint (pull_request) Successful in 3m14s
2026-05-19 14:30:48 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 7b1d4b55a5
All checks were successful
/ Ansible Lint (push) Successful in 3m12s
/ Ansible Lint (pull_request) Successful in 3m14s
to d4a2dd588d
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m2s
/ Ansible Lint (push) Successful in 3m6s
2026-05-19 16:31:00 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from d4a2dd588d
All checks were successful
/ Ansible Lint (pull_request) Successful in 3m2s
/ Ansible Lint (push) Successful in 3m6s
to 0acb6ae272
All checks were successful
/ Ansible Lint (push) Successful in 2m36s
/ Ansible Lint (pull_request) Successful in 2m37s
2026-05-19 17:31:20 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 0acb6ae272
All checks were successful
/ Ansible Lint (push) Successful in 2m36s
/ Ansible Lint (pull_request) Successful in 2m37s
to 617c288f44
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m41s
/ build (pull_request) Failing after 2m42s
/ Ansible Lint (push) Successful in 3m59s
2026-05-19 18:46:28 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 617c288f44
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m41s
/ build (pull_request) Failing after 2m42s
/ Ansible Lint (push) Successful in 3m59s
to 9aacf9463d
Some checks failed
/ Ansible Lint (push) Successful in 2m40s
/ build (pull_request) Failing after 2m42s
/ Ansible Lint (pull_request) Successful in 2m38s
2026-05-19 19:31:10 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 9aacf9463d
Some checks failed
/ Ansible Lint (push) Successful in 2m40s
/ build (pull_request) Failing after 2m42s
/ Ansible Lint (pull_request) Successful in 2m38s
to aabc4f01ef
Some checks failed
/ build (pull_request) Failing after 2m45s
/ Ansible Lint (pull_request) Successful in 2m54s
/ Ansible Lint (push) Successful in 3m3s
2026-05-20 00:01:12 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from aabc4f01ef
Some checks failed
/ build (pull_request) Failing after 2m45s
/ Ansible Lint (pull_request) Successful in 2m54s
/ Ansible Lint (push) Successful in 3m3s
to a228f981b8
Some checks failed
/ build (pull_request) Failing after 2m41s
/ Ansible Lint (pull_request) Successful in 3m4s
/ Ansible Lint (push) Successful in 4m38s
2026-05-20 03:00:51 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from a228f981b8
Some checks failed
/ build (pull_request) Failing after 2m41s
/ Ansible Lint (pull_request) Successful in 3m4s
/ Ansible Lint (push) Successful in 4m38s
to aa06849101
Some checks failed
/ build (pull_request) Failing after 2m44s
/ Ansible Lint (pull_request) Successful in 2m51s
/ Ansible Lint (push) Successful in 2m51s
2026-05-20 04:15:49 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from aa06849101
Some checks failed
/ build (pull_request) Failing after 2m44s
/ Ansible Lint (pull_request) Successful in 2m51s
/ Ansible Lint (push) Successful in 2m51s
to d14c0d5177
Some checks failed
/ Ansible Lint (push) Successful in 2m26s
/ build (pull_request) Failing after 2m41s
/ Ansible Lint (pull_request) Successful in 6m52s
2026-05-20 15:46:01 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from d14c0d5177
Some checks failed
/ Ansible Lint (push) Successful in 2m26s
/ build (pull_request) Failing after 2m41s
/ Ansible Lint (pull_request) Successful in 6m52s
to 45b3da6ad0
Some checks failed
/ Ansible Lint (push) Successful in 2m38s
/ build (pull_request) Failing after 2m43s
/ Ansible Lint (pull_request) Successful in 11m12s
2026-05-20 19:00:48 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 45b3da6ad0
Some checks failed
/ Ansible Lint (push) Successful in 2m38s
/ build (pull_request) Failing after 2m43s
/ Ansible Lint (pull_request) Successful in 11m12s
to ad18373cce
Some checks failed
/ build (pull_request) Failing after 2m42s
/ Ansible Lint (pull_request) Successful in 3m12s
/ Ansible Lint (push) Successful in 7m14s
2026-05-20 20:00:58 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from ad18373cce
Some checks failed
/ build (pull_request) Failing after 2m42s
/ Ansible Lint (pull_request) Successful in 3m12s
/ Ansible Lint (push) Successful in 7m14s
to ccce1d5ae3
Some checks failed
/ Ansible Lint (push) Successful in 2m43s
/ Ansible Lint (pull_request) Successful in 2m35s
/ build (pull_request) Failing after 2m41s
2026-05-20 20:16:09 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from ccce1d5ae3
Some checks failed
/ Ansible Lint (push) Successful in 2m43s
/ Ansible Lint (pull_request) Successful in 2m35s
/ build (pull_request) Failing after 2m41s
to 2d17176c4e
Some checks failed
/ build (pull_request) Failing after 2m42s
/ Ansible Lint (push) Successful in 3m21s
/ Ansible Lint (pull_request) Successful in 3m24s
2026-05-20 23:01:01 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 2d17176c4e
Some checks failed
/ build (pull_request) Failing after 2m42s
/ Ansible Lint (push) Successful in 3m21s
/ Ansible Lint (pull_request) Successful in 3m24s
to 7c97440419
Some checks failed
/ Ansible Lint (push) Successful in 2m38s
/ Ansible Lint (pull_request) Successful in 2m38s
/ build (pull_request) Failing after 2m40s
2026-05-22 22:01:09 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 7c97440419
Some checks failed
/ Ansible Lint (push) Successful in 2m38s
/ Ansible Lint (pull_request) Successful in 2m38s
/ build (pull_request) Failing after 2m40s
to abb54e850c
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m36s
/ build (pull_request) Failing after 2m41s
/ Ansible Lint (push) Successful in 9m31s
2026-05-23 19:45:49 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from abb54e850c
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m36s
/ build (pull_request) Failing after 2m41s
/ Ansible Lint (push) Successful in 9m31s
to 9ab49e8eb4
Some checks failed
/ build (pull_request) Failing after 2m40s
/ Ansible Lint (pull_request) Successful in 2m42s
/ Ansible Lint (push) Successful in 2m50s
2026-05-23 22:45:45 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 9ab49e8eb4
Some checks failed
/ build (pull_request) Failing after 2m40s
/ Ansible Lint (pull_request) Successful in 2m42s
/ Ansible Lint (push) Successful in 2m50s
to 1bcb77c459
Some checks failed
/ build (pull_request) Failing after 2m45s
/ Ansible Lint (push) Successful in 2m55s
/ Ansible Lint (pull_request) Successful in 2m57s
2026-05-24 00:15:48 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 1bcb77c459
Some checks failed
/ build (pull_request) Failing after 2m45s
/ Ansible Lint (push) Successful in 2m55s
/ Ansible Lint (pull_request) Successful in 2m57s
to d471303b11
Some checks failed
/ build (pull_request) Failing after 2m39s
/ Ansible Lint (pull_request) Successful in 2m38s
/ Ansible Lint (push) Successful in 34m40s
2026-05-24 00:30:47 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from d471303b11
Some checks failed
/ build (pull_request) Failing after 2m39s
/ Ansible Lint (pull_request) Successful in 2m38s
/ Ansible Lint (push) Successful in 34m40s
to 79d2156a07
Some checks failed
/ Ansible Lint (push) Successful in 2m45s
/ build (pull_request) Failing after 2m45s
/ Ansible Lint (pull_request) Successful in 2m46s
2026-05-24 12:00:44 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 79d2156a07
Some checks failed
/ Ansible Lint (push) Successful in 2m45s
/ build (pull_request) Failing after 2m45s
/ Ansible Lint (pull_request) Successful in 2m46s
to b4f2341ff4
Some checks failed
/ Ansible Lint (push) Successful in 2m27s
/ Ansible Lint (pull_request) Successful in 2m28s
/ build (pull_request) Failing after 2m42s
2026-05-26 23:16:18 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from b4f2341ff4
Some checks failed
/ Ansible Lint (push) Successful in 2m27s
/ Ansible Lint (pull_request) Successful in 2m28s
/ build (pull_request) Failing after 2m42s
to 660b486e40
Some checks failed
/ build (pull_request) Failing after 2m42s
/ Ansible Lint (pull_request) Successful in 3m36s
/ Ansible Lint (push) Successful in 3m37s
2026-05-27 21:01:02 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 660b486e40
Some checks failed
/ build (pull_request) Failing after 2m42s
/ Ansible Lint (pull_request) Successful in 3m36s
/ Ansible Lint (push) Successful in 3m37s
to f6f8a30d99
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m31s
/ Ansible Lint (push) Successful in 2m33s
/ build (pull_request) Failing after 2m39s
2026-05-28 19:01:04 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from f6f8a30d99
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m31s
/ Ansible Lint (push) Successful in 2m33s
/ build (pull_request) Failing after 2m39s
to 6a580dddc7
Some checks failed
/ Ansible Lint (push) Successful in 2m38s
/ Ansible Lint (pull_request) Successful in 2m39s
/ build (pull_request) Failing after 2m45s
2026-06-01 21:30:55 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 6a580dddc7
Some checks failed
/ Ansible Lint (push) Successful in 2m38s
/ Ansible Lint (pull_request) Successful in 2m39s
/ build (pull_request) Failing after 2m45s
to 38aca6fd7b
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m28s
/ Ansible Lint (push) Successful in 2m30s
/ build (pull_request) Failing after 2m45s
2026-06-02 01:45:57 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 38aca6fd7b
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m28s
/ Ansible Lint (push) Successful in 2m30s
/ build (pull_request) Failing after 2m45s
to fda37d9852
Some checks failed
/ Ansible Lint (push) Successful in 2m28s
/ Ansible Lint (pull_request) Successful in 2m31s
/ build (pull_request) Failing after 2m44s
2026-06-02 15:46:10 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from fda37d9852
Some checks failed
/ Ansible Lint (push) Successful in 2m28s
/ Ansible Lint (pull_request) Successful in 2m31s
/ build (pull_request) Failing after 2m44s
to 2861d6b94a
Some checks failed
/ Ansible Lint (push) Successful in 2m27s
/ Ansible Lint (pull_request) Successful in 2m28s
/ build (pull_request) Failing after 2m41s
2026-06-02 16:31:00 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 2861d6b94a
Some checks failed
/ Ansible Lint (push) Successful in 2m27s
/ Ansible Lint (pull_request) Successful in 2m28s
/ build (pull_request) Failing after 2m41s
to 3fdbbbef90
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m37s
/ Ansible Lint (push) Successful in 2m39s
/ build (pull_request) Failing after 2m43s
2026-06-04 00:46:00 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 3fdbbbef90
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m37s
/ Ansible Lint (push) Successful in 2m39s
/ build (pull_request) Failing after 2m43s
to ca406d0c0b
Some checks failed
/ build (pull_request) Failing after 2m44s
/ Ansible Lint (pull_request) Successful in 2m49s
/ Ansible Lint (push) Successful in 2m51s
2026-06-04 01:01:00 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from ca406d0c0b
Some checks failed
/ build (pull_request) Failing after 2m44s
/ Ansible Lint (pull_request) Successful in 2m49s
/ Ansible Lint (push) Successful in 2m51s
to 860e471702
Some checks failed
/ Ansible Lint (push) Successful in 2m29s
/ Ansible Lint (pull_request) Successful in 2m30s
/ build (pull_request) Failing after 2m42s
2026-06-04 21:31:03 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 860e471702
Some checks failed
/ Ansible Lint (push) Successful in 2m29s
/ Ansible Lint (pull_request) Successful in 2m30s
/ build (pull_request) Failing after 2m42s
to 41fc55ea3a
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m35s
/ Ansible Lint (push) Successful in 2m36s
/ build (pull_request) Failing after 2m45s
2026-06-05 18:16:12 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 41fc55ea3a
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m35s
/ Ansible Lint (push) Successful in 2m36s
/ build (pull_request) Failing after 2m45s
to 4f540150de
Some checks failed
/ Ansible Lint (push) Successful in 2m29s
/ build (pull_request) Failing after 2m43s
/ Ansible Lint (pull_request) Successful in 3m3s
2026-06-06 16:31:04 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 4f540150de
Some checks failed
/ Ansible Lint (push) Successful in 2m29s
/ build (pull_request) Failing after 2m43s
/ Ansible Lint (pull_request) Successful in 3m3s
to cf0bf7829f
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m42s
/ Ansible Lint (push) Successful in 2m43s
/ build (pull_request) Failing after 2m46s
2026-06-07 22:15:59 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from cf0bf7829f
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m42s
/ Ansible Lint (push) Successful in 2m43s
/ build (pull_request) Failing after 2m46s
to 925dec2ae0
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m44s
/ Ansible Lint (push) Successful in 2m45s
/ build (pull_request) Failing after 2m46s
2026-06-08 21:46:02 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 925dec2ae0
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m44s
/ Ansible Lint (push) Successful in 2m45s
/ build (pull_request) Failing after 2m46s
to 4e71716968
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m45s
/ build (pull_request) Failing after 2m47s
/ Ansible Lint (push) Successful in 2m48s
2026-06-09 10:45:57 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 4e71716968
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m45s
/ build (pull_request) Failing after 2m47s
/ Ansible Lint (push) Successful in 2m48s
to 3579bc8302
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m41s
/ build (pull_request) Failing after 2m43s
/ Ansible Lint (push) Successful in 2m44s
2026-06-09 11:15:53 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 3579bc8302
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m41s
/ build (pull_request) Failing after 2m43s
/ Ansible Lint (push) Successful in 2m44s
to 4f1537f4cf
Some checks failed
/ build (pull_request) Failing after 2m43s
/ Ansible Lint (pull_request) Successful in 3m35s
/ Ansible Lint (push) Successful in 3m39s
2026-06-09 14:00:56 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 4f1537f4cf
Some checks failed
/ build (pull_request) Failing after 2m43s
/ Ansible Lint (pull_request) Successful in 3m35s
/ Ansible Lint (push) Successful in 3m39s
to 4bd5125666
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m41s
/ build (pull_request) Failing after 2m44s
/ Ansible Lint (push) Successful in 2m45s
2026-06-09 21:16:03 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 4bd5125666
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m41s
/ build (pull_request) Failing after 2m44s
/ Ansible Lint (push) Successful in 2m45s
to 2d4b39ed5b
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m45s
/ build (pull_request) Failing after 2m45s
/ Ansible Lint (push) Successful in 2m50s
2026-06-09 21:31:10 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 2d4b39ed5b
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m45s
/ build (pull_request) Failing after 2m45s
/ Ansible Lint (push) Successful in 2m50s
to e7abd1926a
Some checks failed
/ Ansible Lint (push) Successful in 2m28s
/ build (pull_request) Failing after 2m44s
/ Ansible Lint (pull_request) Successful in 2m32s
2026-06-09 21:45:57 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from e7abd1926a
Some checks failed
/ Ansible Lint (push) Successful in 2m28s
/ build (pull_request) Failing after 2m44s
/ Ansible Lint (pull_request) Successful in 2m32s
to 196edb0509
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m37s
/ Ansible Lint (push) Successful in 2m43s
/ build (pull_request) Failing after 2m44s
2026-06-10 13:15:52 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 196edb0509
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m37s
/ Ansible Lint (push) Successful in 2m43s
/ build (pull_request) Failing after 2m44s
to 78a3c05b7a
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m40s
/ Ansible Lint (push) Successful in 2m43s
/ build (pull_request) Failing after 2m44s
2026-06-10 16:16:02 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 78a3c05b7a
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m40s
/ Ansible Lint (push) Successful in 2m43s
/ build (pull_request) Failing after 2m44s
to 885437ac78
Some checks failed
/ Ansible Lint (push) Successful in 2m31s
/ build (pull_request) Failing after 2m41s
/ Ansible Lint (pull_request) Successful in 2m25s
2026-06-10 16:31:22 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 885437ac78
Some checks failed
/ Ansible Lint (push) Successful in 2m31s
/ build (pull_request) Failing after 2m41s
/ Ansible Lint (pull_request) Successful in 2m25s
to 899aa3cb94
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m39s
/ Ansible Lint (push) Successful in 2m40s
/ build (pull_request) Failing after 2m42s
2026-06-11 14:45:59 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 899aa3cb94
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m39s
/ Ansible Lint (push) Successful in 2m40s
/ build (pull_request) Failing after 2m42s
to 7783e7c79d
Some checks failed
/ build (pull_request) Failing after 2m43s
/ Ansible Lint (pull_request) Successful in 3m26s
/ Ansible Lint (push) Successful in 3m28s
2026-06-12 18:01:05 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 7783e7c79d
Some checks failed
/ build (pull_request) Failing after 2m43s
/ Ansible Lint (pull_request) Successful in 3m26s
/ Ansible Lint (push) Successful in 3m28s
to 43bf26d6ad
Some checks failed
/ Ansible Lint (push) Successful in 2m29s
/ build (pull_request) Failing after 2m44s
/ Ansible Lint (pull_request) Successful in 2m43s
2026-06-15 19:16:11 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 43bf26d6ad
Some checks failed
/ Ansible Lint (push) Successful in 2m29s
/ build (pull_request) Failing after 2m44s
/ Ansible Lint (pull_request) Successful in 2m43s
to 150d368106
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m41s
/ Ansible Lint (push) Successful in 2m42s
/ build (pull_request) Failing after 2m47s
2026-06-17 21:46:43 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 150d368106
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m41s
/ Ansible Lint (push) Successful in 2m42s
/ build (pull_request) Failing after 2m47s
to 95d0c37de5
Some checks failed
/ build (pull_request) Failing after 2m44s
/ Ansible Lint (pull_request) Successful in 2m46s
/ Ansible Lint (push) Successful in 2m47s
2026-06-18 01:16:54 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 95d0c37de5
Some checks failed
/ build (pull_request) Failing after 2m44s
/ Ansible Lint (pull_request) Successful in 2m46s
/ Ansible Lint (push) Successful in 2m47s
to a50bb04188
Some checks failed
/ Ansible Lint (push) Successful in 2m36s
/ Ansible Lint (pull_request) Successful in 2m42s
/ build (pull_request) Failing after 2m45s
2026-06-19 00:45:56 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from a50bb04188
Some checks failed
/ Ansible Lint (push) Successful in 2m36s
/ Ansible Lint (pull_request) Successful in 2m42s
/ build (pull_request) Failing after 2m45s
to d08e807da0
Some checks failed
/ Ansible Lint (push) Successful in 2m30s
/ build (pull_request) Failing after 2m43s
/ Ansible Lint (pull_request) Successful in 2m45s
2026-06-19 09:15:59 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from d08e807da0
Some checks failed
/ Ansible Lint (push) Successful in 2m30s
/ build (pull_request) Failing after 2m43s
/ Ansible Lint (pull_request) Successful in 2m45s
to de97543924
Some checks failed
/ build (pull_request) Failing after 2m41s
/ Ansible Lint (push) Successful in 2m49s
/ Ansible Lint (pull_request) Successful in 2m36s
2026-06-19 09:31:03 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from de97543924
Some checks failed
/ build (pull_request) Failing after 2m41s
/ Ansible Lint (push) Successful in 2m49s
/ Ansible Lint (pull_request) Successful in 2m36s
to ad5c487e3e
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m41s
/ Ansible Lint (push) Successful in 2m42s
/ build (pull_request) Failing after 2m43s
2026-06-23 12:31:00 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from ad5c487e3e
Some checks failed
/ Ansible Lint (pull_request) Successful in 2m41s
/ Ansible Lint (push) Successful in 2m42s
/ build (pull_request) Failing after 2m43s
to 8ce5f297d6
All checks were successful
/ build (pull_request) Successful in 57s
/ Ansible Lint (pull_request) Successful in 3m24s
/ Ansible Lint (push) Successful in 3m27s
2026-06-24 18:31:07 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 8ce5f297d6
All checks were successful
/ build (pull_request) Successful in 57s
/ Ansible Lint (pull_request) Successful in 3m24s
/ Ansible Lint (push) Successful in 3m27s
to 2a4c95e29c
All checks were successful
/ build (pull_request) Successful in 43s
/ Ansible Lint (push) Successful in 3m30s
/ Ansible Lint (pull_request) Successful in 2m53s
2026-06-25 02:01:03 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 2a4c95e29c
All checks were successful
/ build (pull_request) Successful in 43s
/ Ansible Lint (push) Successful in 3m30s
/ Ansible Lint (pull_request) Successful in 2m53s
to fad16a10dd
All checks were successful
/ build (pull_request) Successful in 29s
/ Ansible Lint (pull_request) Successful in 2m33s
/ Ansible Lint (push) Successful in 2m45s
2026-06-28 14:45:47 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from fad16a10dd
All checks were successful
/ build (pull_request) Successful in 29s
/ Ansible Lint (pull_request) Successful in 2m33s
/ Ansible Lint (push) Successful in 2m45s
to 9acd7ba87b
Some checks failed
/ build (pull_request) Successful in 31s
/ Ansible Lint (pull_request) Failing after 2m42s
/ Ansible Lint (push) Failing after 2m44s
2026-06-28 17:15:48 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 9acd7ba87b
Some checks failed
/ build (pull_request) Successful in 31s
/ Ansible Lint (pull_request) Failing after 2m42s
/ Ansible Lint (push) Failing after 2m44s
to e4803abb76
Some checks failed
/ build (pull_request) Successful in 53s
/ Ansible Lint (pull_request) Failing after 3m17s
/ Ansible Lint (push) Failing after 3m19s
2026-06-30 14:30:48 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from e4803abb76
Some checks failed
/ build (pull_request) Successful in 53s
/ Ansible Lint (pull_request) Failing after 3m17s
/ Ansible Lint (push) Failing after 3m19s
to 1e7c8ac3c0
Some checks failed
/ build (pull_request) Successful in 28s
/ Ansible Lint (pull_request) Failing after 3m31s
/ Ansible Lint (push) Failing after 3m32s
2026-06-30 18:01:33 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 1e7c8ac3c0
Some checks failed
/ build (pull_request) Successful in 28s
/ Ansible Lint (pull_request) Failing after 3m31s
/ Ansible Lint (push) Failing after 3m32s
to 5d2956ca44
Some checks failed
/ build (pull_request) Successful in 30s
/ Ansible Lint (push) Failing after 3m15s
/ Ansible Lint (pull_request) Failing after 3m28s
2026-06-30 21:00:56 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 5d2956ca44
Some checks failed
/ build (pull_request) Successful in 30s
/ Ansible Lint (push) Failing after 3m15s
/ Ansible Lint (pull_request) Failing after 3m28s
to ceec7fe71e
Some checks failed
/ build (pull_request) Successful in 29s
/ Ansible Lint (pull_request) Failing after 2m40s
/ Ansible Lint (push) Failing after 2m45s
2026-06-30 21:15:56 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from ceec7fe71e
Some checks failed
/ build (pull_request) Successful in 29s
/ Ansible Lint (pull_request) Failing after 2m40s
/ Ansible Lint (push) Failing after 2m45s
to 8c8f8c4da1
Some checks failed
/ build (pull_request) Successful in 47s
/ Ansible Lint (pull_request) Failing after 2m54s
/ Ansible Lint (push) Failing after 3m1s
2026-07-01 14:46:14 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 8c8f8c4da1
Some checks failed
/ build (pull_request) Successful in 47s
/ Ansible Lint (pull_request) Failing after 2m54s
/ Ansible Lint (push) Failing after 3m1s
to 11b06a20c6
Some checks failed
/ build (pull_request) Successful in 31s
/ Ansible Lint (push) Failing after 2m39s
/ Ansible Lint (pull_request) Failing after 2m44s
2026-07-03 03:46:00 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from 11b06a20c6
Some checks failed
/ build (pull_request) Successful in 31s
/ Ansible Lint (push) Failing after 2m39s
/ Ansible Lint (pull_request) Failing after 2m44s
to e40861c39d
Some checks failed
/ build (pull_request) Successful in 52s
/ Ansible Lint (pull_request) Failing after 2m55s
/ Ansible Lint (push) Failing after 2m57s
2026-07-04 22:15:59 +02:00
Compare
renovate force-pushed renovate/all-stable-minor-patch from e40861c39d
Some checks failed
/ build (pull_request) Successful in 52s
/ Ansible Lint (pull_request) Failing after 2m55s
/ Ansible Lint (push) Failing after 2m57s
to 92f54661a3
Some checks failed
/ build (pull_request) Successful in 29s
/ Ansible Lint (push) Failing after 2m44s
/ Ansible Lint (pull_request) Failing after 2m46s
2026-07-05 10:46:11 +02:00
Compare
Some checks failed
/ build (pull_request) Successful in 29s
/ Ansible Lint (push) Failing after 2m44s
/ Ansible Lint (pull_request) Failing after 2m46s
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/all-stable-minor-patch:renovate/all-stable-minor-patch
git switch renovate/all-stable-minor-patch

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff renovate/all-stable-minor-patch
git switch renovate/all-stable-minor-patch
git rebase main
git switch main
git merge --ff-only renovate/all-stable-minor-patch
git switch renovate/all-stable-minor-patch
git rebase main
git switch main
git merge --no-ff renovate/all-stable-minor-patch
git switch main
git merge --squash renovate/all-stable-minor-patch
git switch main
git merge --ff-only renovate/all-stable-minor-patch
git switch main
git merge renovate/all-stable-minor-patch
git push origin main
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
CCCHH/ansible-infra!76
No description provided.