Repository navigation
Releases
v0.10.2 - 2026-09-18
What's Changed
- fix(slo): scope long-rule subqueries to their own SLO by @metalmatze in #1927
Full Changelog: v0.10.1...v0.10.2
v0.10.1 - 2026-06-25
What's Changed
- fix: EnablePrometheus3Migration flag description by @jrRibeiro in #1855
- slo: fix latency total increase double-counting denominator by @metalmatze in #1858
- fix(ui): scope ALERTS query to objective and grouping labels by @metalmatze in #1880
Full Changelog: v0.10.0...v0.10.1
v0.10.0 - 2026-04-30
Highlights
Performance Mode: Subquery-based SLO Calculations #1607
SLO burn rate calculations can now use subqueries instead of recording rules, significantly reducing the number of rules Prometheus needs to evaluate and store.
Alert Severity Overrides #1788
Alert severities for multi-burn-rate alerts are now configurable directly in the SLO spec, giving teams full control over how alerts are routed and prioritized.
Prometheus v3 Histogram Support (le normalization) #1619
Pyrra now correctly handles the le label normalization differences between Prometheus v2 and v3 native histograms, enabling seamless migration to Prometheus v3 for latency-based SLOs.
pyrra_url Annotations on Alerts #1522
All generated alerts now include a pyrra_url annotation that links directly to the relevant SLO page in the Pyrra UI, reducing time from alert to context.
UI Redesign: shadcn/ui + Tailwind CSS #1789
The UI has been migrated from Bootstrap to shadcn/ui and Tailwind CSS, laying the groundwork for new UI features going forward.
What's Changed
- fix: add correct sorting for 'lset' column by @mrtworo in #1615
- Migrate from Dependabot to Renovate by @metalmatze in #1668
- Enable Renovate dependency dashboard by @metalmatze in #1672
- Fix Renovate release branch to only allow patch updates by @metalmatze in #1675
- Bump golangci to v2 by @tylerauerbeck in #1651
- Add Renovate support for Buf plugin dependencies by @metalmatze in #1677
- chore(ci): add Renovate support for Node.js matrix versions by @metalmatze in #1691
- fix: resolve Dockerfile linting warnings by @metalmatze in #1720
- chore(config): migrate Renovate config by @renovate[bot] in #1721
- fix: update operator to use go-kit logger to ensure standardized log config by @tylerauerbeck in #1652
- Pass SLO annotations to ConfigMap by @RiRa12621 in #1737
- fix(controller): prevent invalid update after creating PrometheusRule/ConfigMap by @nikita-vanyasin in #1739
- readme: add link to auto-generated CRD API documentation by @metalmatze in #1757
- chore(ui): migrate from react-scripts to Vite by @metalmatze in #1762
- refactor(ui): replace manual URL params with nuqs by @metalmatze in #1764
- refactor(ui): remove search debounce, rely on nuqs by @metalmatze in #1769
- fix(ci): restore node 22.x matrix entry alongside 24.x by @metalmatze in #1772
- feat(ui): migrate to connect-es v2 and protobuf-es v2 by @metalmatze in #1775
- feat: surface Pyrra version in CLI, logs, metrics, and UI by @metalmatze in #1778
- Enable alert severity overrides from config by @saswatamcode in #1788
- feat: support
lenormalization in prom 2 and 3 by @pharaujo in #1619 - Optimize SLO performance with subquery-based calculations by @metalmatze in #1607
- docs: add performance mode documentation by @metalmatze in #1790
- feat(ui): migrate from Bootstrap to shadcn/ui with Tailwind CSS by @metalmatze in #1789
- Add pyrra_url annotations by @metalmatze in #1522
- feat(ui): add hover tooltips to uplot graphs by @metalmatze in #1796
- feat(ui): dynamic time range presets based on objective window by @metalmatze in #1791
- fix(ui): restore Go template vars in index.html for route prefix injection by @metalmatze in #1800
- fix: sanitize logr key-value pairs in goKitLogSink to prevent unsuppo… by @sebastiangaiser in #1804
- Add RuleOutput labels and PerformanceOverAccuracy for BoolGauge by @metalmatze in #1816
- feat(kubernetes): add leader election configuration by @sebastiangaiser in #1806
- feat: description as label on generic rules by @r-franzke in #1815
- fix: restore ExternalURL field for /objectives handler by @metalmatze in #1819
New Contributors
- @mrtworo made their first contribution in #1615
- @tylerauerbeck made their first contribution in #1651
- @nikita-vanyasin made their first contribution in #1739
- @pharaujo made their first contribution in #1619
- @r-franzke made their first contribution in #1815
Full Changelog: v0.9.5...v0.10.0
v0.10.0-rc.3 - 2026-04-10
Highlights
Performance Mode: Subquery-based SLO Calculations #1607
SLO burn rate calculations can now use subqueries instead of recording rules, significantly reducing the number of rules Prometheus needs to evaluate and store.
Alert Severity Overrides #1788
Alert severities for multi-burn-rate alerts are now configurable directly in the SLO spec, giving teams full control over how alerts are routed and prioritized.
Prometheus v3 Histogram Support (le normalization) #1619
Pyrra now correctly handles the le label normalization differences between Prometheus v2 and v3 native histograms, enabling seamless migration to Prometheus v3 for latency-based SLOs.
pyrra_url Annotations on Alerts #1522
All generated alerts now include a pyrra_url annotation that links directly to the relevant SLO page in the Pyrra UI, reducing time from alert to context.
UI Redesign: shadcn/ui + Tailwind CSS #1789
The UI has been migrated from Bootstrap to shadcn/ui and Tailwind CSS, laying the groundwork for new UI features going forward.
What's Changed
- fix: add correct sorting for 'lset' column by @mrtworo in #1615
- Migrate from Dependabot to Renovate by @metalmatze in #1668
- Enable Renovate dependency dashboard by @metalmatze in #1672
- Fix Renovate release branch to only allow patch updates by @metalmatze in #1675
- Bump golangci to v2 by @tylerauerbeck in #1651
- Add Renovate support for Buf plugin dependencies by @metalmatze in #1677
- chore(ci): add Renovate support for Node.js matrix versions by @metalmatze in #1691
- fix: resolve Dockerfile linting warnings by @metalmatze in #1720
- chore(config): migrate Renovate config by @renovate[bot] in #1721
- fix: update operator to use go-kit logger to ensure standardized log config by @tylerauerbeck in #1652
- Pass SLO annotations to ConfigMap by @RiRa12621 in #1737
- fix(controller): prevent invalid update after creating PrometheusRule/ConfigMap by @nikita-vanyasin in #1739
- readme: add link to auto-generated CRD API documentation by @metalmatze in #1757
- chore(ui): migrate from react-scripts to Vite by @metalmatze in #1762
- refactor(ui): replace manual URL params with nuqs by @metalmatze in #1764
- refactor(ui): remove search debounce, rely on nuqs by @metalmatze in #1769
- fix(ci): restore node 22.x matrix entry alongside 24.x by @metalmatze in #1772
- feat(ui): migrate to connect-es v2 and protobuf-es v2 by @metalmatze in #1775
- feat: surface Pyrra version in CLI, logs, metrics, and UI by @metalmatze in #1778
- Enable alert severity overrides from config by @saswatamcode in #1788
- feat: support
lenormalization in prom 2 and 3 by @pharaujo in #1619 - Optimize SLO performance with subquery-based calculations by @metalmatze in #1607
- docs: add performance mode documentation by @metalmatze in #1790
- feat(ui): migrate from Bootstrap to shadcn/ui with Tailwind CSS by @metalmatze in #1789
- Add pyrra_url annotations by @metalmatze in #1522
- feat(ui): add hover tooltips to uplot graphs by @metalmatze in #1796
- feat(ui): dynamic time range presets based on objective window by @metalmatze in #1791
- fix(ui): restore Go template vars in index.html for route prefix injection by @metalmatze in #1800
- fix: sanitize logr key-value pairs in goKitLogSink to prevent unsuppo… by @sebastiangaiser in #1804
- Add RuleOutput labels and PerformanceOverAccuracy for BoolGauge by @metalmatze in #1816
- feat(kubernetes): add leader election configuration by @sebastiangaiser in #1806
- feat: description as label on generic rules by @r-franzke in #1815
- fix: restore ExternalURL field for /objectives handler by @metalmatze in #1819
New Contributors
- @mrtworo made their first contribution in #1615
- @tylerauerbeck made their first contribution in #1651
- @nikita-vanyasin made their first contribution in #1739
- @pharaujo made their first contribution in #1619
- @r-franzke made their first contribution in #1815
Full Changelog: v0.9.5...v0.10.0-rc.3
v0.10.0-rc.2 - 2026-04-09
Highlights
Performance Mode: Subquery-based SLO Calculations #1607
SLO burn rate calculations can now use subqueries instead of recording rules, significantly reducing the number of rules Prometheus needs to evaluate and store.
Alert Severity Overrides #1788
Alert severities for multi-burn-rate alerts are now configurable directly in the SLO spec, giving teams full control over how alerts are routed and prioritized.
Prometheus v3 Histogram Support (le normalization) #1619
Pyrra now correctly handles the le label normalization differences between Prometheus v2 and v3 native histograms, enabling seamless migration to Prometheus v3 for latency-based SLOs.
pyrra_url Annotations on Alerts #1522
All generated alerts now include a pyrra_url annotation that links directly to the relevant SLO page in the Pyrra UI, reducing time from alert to context.
UI Redesign: shadcn/ui + Tailwind CSS #1789
The UI has been migrated from Bootstrap to shadcn/ui and Tailwind CSS, laying the groundwork for new UI features going forward.
What's Changed
- fix: add correct sorting for 'lset' column by @mrtworo in #1615
- Migrate from Dependabot to Renovate by @metalmatze in #1668
- Enable Renovate dependency dashboard by @metalmatze in #1672
- Fix Renovate release branch to only allow patch updates by @metalmatze in #1675
- Bump golangci to v2 by @tylerauerbeck in #1651
- Add Renovate support for Buf plugin dependencies by @metalmatze in #1677
- chore(ci): add Renovate support for Node.js matrix versions by @metalmatze in #1691
- fix: resolve Dockerfile linting warnings by @metalmatze in #1720
- chore(config): migrate Renovate config by @renovate[bot] in #1721
- fix: update operator to use go-kit logger to ensure standardized log config by @tylerauerbeck in #1652
- Pass SLO annotations to ConfigMap by @RiRa12621 in #1737
- fix(controller): prevent invalid update after creating PrometheusRule/ConfigMap by @nikita-vanyasin in #1739
- readme: add link to auto-generated CRD API documentation by @metalmatze in #1757
- chore(ui): migrate from react-scripts to Vite by @metalmatze in #1762
- refactor(ui): replace manual URL params with nuqs by @metalmatze in #1764
- refactor(ui): remove search debounce, rely on nuqs by @metalmatze in #1769
- fix(ci): restore node 22.x matrix entry alongside 24.x by @metalmatze in #1772
- feat(ui): migrate to connect-es v2 and protobuf-es v2 by @metalmatze in #1775
- feat: surface Pyrra version in CLI, logs, metrics, and UI by @metalmatze in #1778
- Enable alert severity overrides from config by @saswatamcode in #1788
- feat: support
lenormalization in prom 2 and 3 by @pharaujo in #1619 - Optimize SLO performance with subquery-based calculations by @metalmatze in #1607
- docs: add performance mode documentation by @metalmatze in #1790
- feat(ui): migrate from Bootstrap to shadcn/ui with Tailwind CSS by @metalmatze in #1789
- Add pyrra_url annotations by @metalmatze in #1522
- feat(ui): add hover tooltips to uplot graphs by @metalmatze in #1796
- feat(ui): dynamic time range presets based on objective window by @metalmatze in #1791
- fix(ui): restore Go template vars in index.html for route prefix injection by @metalmatze in #1800
- fix: sanitize logr key-value pairs in goKitLogSink to prevent unsuppo… by @sebastiangaiser in #1804
- Add RuleOutput labels and PerformanceOverAccuracy for BoolGauge by @metalmatze in #1816
New Contributors
- @mrtworo made their first contribution in #1615
- @tylerauerbeck made their first contribution in #1651
- @nikita-vanyasin made their first contribution in #1739
- @pharaujo made their first contribution in #1619
Full Changelog: v0.9.5...v0.10.0-rc.2
v0.10.0-rc.1 - 2026-04-02
Highlights
Performance Mode: Subquery-based SLO Calculations #1607
SLO burn rate calculations can now use subqueries instead of recording rules, significantly reducing the number of rules Prometheus needs to evaluate and store.
Alert Severity Overrides #1788
Alert severities for multi-burn-rate alerts are now configurable directly in the SLO spec, giving teams full control over how alerts are routed and prioritized.
Prometheus v3 Histogram Support (le normalization) #1619
Pyrra now correctly handles the le label normalization differences between Prometheus v2 and v3 native histograms, enabling seamless migration to Prometheus v3 for latency-based SLOs.
pyrra_url Annotations on Alerts #1522
All generated alerts now include a pyrra_url annotation that links directly to the relevant SLO page in the Pyrra UI, reducing time from alert to context.
UI Redesign: shadcn/ui + Tailwind CSS #1789
The UI has been migrated from Bootstrap to shadcn/ui and Tailwind CSS, laying the groundwork for new UI features going forward.
What's Changed
- fix: add correct sorting for 'lset' column by @mrtworo in #1615
- Migrate from Dependabot to Renovate by @metalmatze in #1668
- Enable Renovate dependency dashboard by @metalmatze in #1672
- Fix Renovate release branch to only allow patch updates by @metalmatze in #1675
- Bump golangci to v2 by @tylerauerbeck in #1651
- Add Renovate support for Buf plugin dependencies by @metalmatze in #1677
- chore(ci): add Renovate support for Node.js matrix versions by @metalmatze in #1691
- fix: resolve Dockerfile linting warnings by @metalmatze in #1720
- chore(config): migrate Renovate config by @renovate[bot] in #1721
- fix: update operator to use go-kit logger to ensure standardized log config by @tylerauerbeck in #1652
- Pass SLO annotations to ConfigMap by @RiRa12621 in #1737
- fix(controller): prevent invalid update after creating PrometheusRule/ConfigMap by @nikita-vanyasin in #1739
- readme: add link to auto-generated CRD API documentation by @metalmatze in #1757
- chore(ui): migrate from react-scripts to Vite by @metalmatze in #1762
- refactor(ui): replace manual URL params with nuqs by @metalmatze in #1764
- refactor(ui): remove search debounce, rely on nuqs by @metalmatze in #1769
- fix(ci): restore node 22.x matrix entry alongside 24.x by @metalmatze in #1772
- feat(ui): migrate to connect-es v2 and protobuf-es v2 by @metalmatze in #1775
- feat: surface Pyrra version in CLI, logs, metrics, and UI by @metalmatze in #1778
- Enable alert severity overrides from config by @saswatamcode in #1788
- feat: support
lenormalization in prom 2 and 3 by @pharaujo in #1619 - Optimize SLO performance with subquery-based calculations by @metalmatze in #1607
- docs: add performance mode documentation by @metalmatze in #1790
- feat(ui): migrate from Bootstrap to shadcn/ui with Tailwind CSS by @metalmatze in #1789
- Add pyrra_url annotations by @metalmatze in #1522
- feat(ui): add hover tooltips to uplot graphs by @metalmatze in #1796
- feat(ui): dynamic time range presets based on objective window by @metalmatze in #1791
- fix(ui): restore Go template vars in index.html for route prefix injection by @metalmatze in #1800
- fix: sanitize logr key-value pairs in goKitLogSink to prevent unsuppo… by @sebastiangaiser in #1804
New Contributors
- @mrtworo made their first contribution in #1615
- @tylerauerbeck made their first contribution in #1651
- @nikita-vanyasin made their first contribution in #1739
- @pharaujo made their first contribution in #1619
Full Changelog: v0.9.5...v0.10.0-rc.1
v0.10.0-rc.0 - 2026-03-31
Highlights
Performance Mode: Subquery-based SLO Calculations #1607
SLO burn rate calculations can now use subqueries instead of recording rules, significantly reducing the number of rules Prometheus needs to evaluate and store.
Alert Severity Overrides #1788
Alert severities for multi-burn-rate alerts are now configurable directly in the SLO spec, giving teams full control over how alerts are routed and prioritized.
Prometheus v3 Histogram Support (le normalization) #1619
Pyrra now correctly handles the le label normalization differences between Prometheus v2 and v3 native histograms, enabling seamless migration to Prometheus v3 for latency-based SLOs.
pyrra_url Annotations on Alerts #1522
All generated alerts now include a pyrra_url annotation that links directly to the relevant SLO page in the Pyrra UI, reducing time from alert to context.
UI Redesign: shadcn/ui + Tailwind CSS #1789
The UI has been migrated from Bootstrap to shadcn/ui and Tailwind CSS, laying the groundwork for new UI features going forward.
What's Changed
- fix: add correct sorting for 'lset' column by @mrtworo in #1615
- Migrate from Dependabot to Renovate by @metalmatze in #1668
- Enable Renovate dependency dashboard by @metalmatze in #1672
- Fix Renovate release branch to only allow patch updates by @metalmatze in #1675
- Bump golangci to v2 by @tylerauerbeck in #1651
- Add Renovate support for Buf plugin dependencies by @metalmatze in #1677
- chore(ci): add Renovate support for Node.js matrix versions by @metalmatze in #1691
- fix: resolve Dockerfile linting warnings by @metalmatze in #1720
- chore(config): migrate Renovate config by @renovate[bot] in #1721
- fix: update operator to use go-kit logger to ensure standardized log config by @tylerauerbeck in #1652
- Pass SLO annotations to ConfigMap by @RiRa12621 in #1737
- fix(controller): prevent invalid update after creating PrometheusRule/ConfigMap by @nikita-vanyasin in #1739
- readme: add link to auto-generated CRD API documentation by @metalmatze in #1757
- chore(ui): migrate from react-scripts to Vite by @metalmatze in #1762
- refactor(ui): replace manual URL params with nuqs by @metalmatze in #1764
- refactor(ui): remove search debounce, rely on nuqs by @metalmatze in #1769
- fix(ci): restore node 22.x matrix entry alongside 24.x by @metalmatze in #1772
- feat(ui): migrate to connect-es v2 and protobuf-es v2 by @metalmatze in #1775
- feat: surface Pyrra version in CLI, logs, metrics, and UI by @metalmatze in #1778
- Enable alert severity overrides from config by @saswatamcode in #1788
- feat: support
lenormalization in prom 2 and 3 by @pharaujo in #1619 - Optimize SLO performance with subquery-based calculations by @metalmatze in #1607
- docs: add performance mode documentation by @metalmatze in #1790
- feat(ui): migrate from Bootstrap to shadcn/ui with Tailwind CSS by @metalmatze in #1789
- Add pyrra_url annotations by @metalmatze in #1522
- feat(ui): add hover tooltips to uplot graphs by @metalmatze in #1796
- feat(ui): dynamic time range presets based on objective window by @metalmatze in #1791
New Contributors
- @mrtworo made their first contribution in #1615
- @tylerauerbeck made their first contribution in #1651
- @nikita-vanyasin made their first contribution in #1739
- @pharaujo made their first contribution in #1619
Full Changelog: v0.9.5...v0.10.0-rc.0
v0.9.5 - 2026-03-15
What's Changed
- fix: add correct sorting for 'lset' column (backport of #1615) by @mrtworo in #1615
- chore(deps): update github actions (release-0.9) by @renovate[bot] in #1750
- chore(deps): update actions/download-artifact digest to 484a0b5 (release-0.9) by @renovate[bot] in #1760
Full Changelog: v0.9.4...v0.9.5
v0.9.4 - 2026-03-09
What's Changed
- chore(deps): update react packages (release-0.9) by @renovate[bot] in #1717
- fix(controller): prevent invalid update after creating PrometheusRule/ConfigMap by @nikita-vanyasin in #1739
Full Changelog: v0.9.3...v0.9.4
v0.9.3 - 2026-02-06
Literally just dependencies updates.
What's Changed
- fix(deps): update golang.org/x/exp digest to 716be56 (release-0.9) by @renovate[bot] in #1708
- chore(deps): update dependency @bufbuild/protobuf to v1.10.1 (release-0.9) by @renovate[bot] in #1709
- chore(deps): update docker.io/golang docker tag to v1.25.7 (release-0.9) by @renovate[bot] in #1712
- chore(deps): update dependency eslint-plugin-react-hooks to v4.6.2 (release-0.9) by @renovate[bot] in #1711
- chore(deps): update dependency bootstrap to v5.3.8 (release-0.9) by @renovate[bot] in #1710
- fix(deps): update dependency uplot to v1.6.32 (release-0.9) by @renovate[bot] in #1713
- fix(deps): update module github.com/go-chi/chi/v5 to v5.2.5 (release-0.9) by @renovate[bot] in #1714
- chore(deps): update github actions (release-0.9) by @renovate[bot] in #1718
- fix(deps): update module github.com/prometheus/common to v0.67.5 (release-0.9) by @renovate[bot] in #1715
Full Changelog: v0.9.2...v0.9.3