diff --git a/CHANGELOG.md b/CHANGELOG.md index 1cf0d21..393f537 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,17 @@ All notable changes to Iris are documented here. The format is based on [Keep a --- +## v1.4.4 — DORA window label (2026-06-11) + +### Fixed + +- **DORA subtitle hardcoded "last 30 days"** while the metrics already followed + the selected analysis window. The org DORA subtitle now reflects the chosen + window (e.g. "over the last 90 days"), matching the data — the deploy counts + were always windowed, only the label was stale. + +--- + ## v1.4.3 — Footer version sync + Cycle Time chart restyle (2026-06-11) ### Changed diff --git a/iris/cli.py b/iris/cli.py index d0bb941..7c92a85 100644 --- a/iris/cli.py +++ b/iris/cli.py @@ -17,7 +17,7 @@ from iris.reports.narrative import generate_narrative from iris.reports.writer import write_output -VERSION = "v1.4.3" +VERSION = "v1.4.4" # Analysis windows the platform's window selector (issue #80) expects. # Running `--windows 7,15,30,60,90` populates one snapshot per window so the diff --git a/platform/lib/queries/dora.ts b/platform/lib/queries/dora.ts index 1090446..0b65d2a 100644 --- a/platform/lib/queries/dora.ts +++ b/platform/lib/queries/dora.ts @@ -95,6 +95,7 @@ export async function computeOrgDORA( : 0; return { + windowDays, reposWithData, deploymentsTotal: deployMetrics.deploymentsTotal, deploymentsFailed: deployMetrics.deploymentsFailed, diff --git a/platform/lib/translations.ts b/platform/lib/translations.ts index 10157b7..0e87643 100644 --- a/platform/lib/translations.ts +++ b/platform/lib/translations.ts @@ -290,7 +290,7 @@ export const translations = { title: "DORA", sourceBadge: "Datadog", subtitle: - "Deployment metrics for the org over the last 30 days, sourced directly from Datadog.", + "Deployment metrics for the org over the last {days} days, sourced directly from Datadog.", metrics: { cfr: "Change Failure Rate", mttrPerDeploy: "MTTR (per failed deploy)", @@ -1667,7 +1667,7 @@ export const translations = { title: "DORA", sourceBadge: "Datadog", subtitle: - "Métricas de deploy da organização nos últimos 30 dias, vindas diretamente do Datadog.", + "Métricas de deploy da organização nos últimos {days} dias, vindas diretamente do Datadog.", metrics: { cfr: "Taxa de falha em mudança", mttrPerDeploy: "MTTR (por deploy com falha)", diff --git a/platform/package.json b/platform/package.json index d711753..2fc730e 100644 --- a/platform/package.json +++ b/platform/package.json @@ -1,6 +1,6 @@ { "name": "iris-platform", - "version": "1.4.3", + "version": "1.4.4", "author": "Iris", "private": true, "overrides": { diff --git a/platform/src/app/[tenant]/dashboard/sections/DORAOverview.tsx b/platform/src/app/[tenant]/dashboard/sections/DORAOverview.tsx index 88c753a..352bb87 100644 --- a/platform/src/app/[tenant]/dashboard/sections/DORAOverview.tsx +++ b/platform/src/app/[tenant]/dashboard/sections/DORAOverview.tsx @@ -46,7 +46,7 @@ export function DORAOverview({ data }: Props) {

- {t("dashboard.dora.subtitle")} + {t("dashboard.dora.subtitle", { days: data.windowDays })}

diff --git a/platform/src/types/org-summary.ts b/platform/src/types/org-summary.ts index 252616f..962f604 100644 --- a/platform/src/types/org-summary.ts +++ b/platform/src/types/org-summary.ts @@ -172,6 +172,8 @@ export interface OrgTimelineWeek { * push under an active integration. */ export interface OrgDORA { + /** Inclusive window size used to compute these metrics (drives the label). */ + windowDays: number; reposWithData: number; deploymentsTotal: number; deploymentsFailed: number; diff --git a/pyproject.toml b/pyproject.toml index ec8e514..bce27ea 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "iris" -version = "1.4.3" +version = "1.4.4" description = "Engineering intelligence for the AI era — measure signal vs noise in software delivery" requires-python = ">=3.11" license = "Apache-2.0"