Skip to content

Release 1.24.0

Latest

Choose a tag to compare

@portabot portabot released this 16 Jul 14:30

1.24.0 (2026-07-16)

✨ Features

  • add countDatabaseBackupsAction (dcb2650)
  • add database delete confirmation dialog (bac9092)
  • dashboard/home: integrate StatsLayout with mock data (56c80e5)
  • dashboard: wire real DB queries, remove DASHBOARD_MOCK (08e960f)
  • db: add availability and evolution indexes on databases/backups (KPI 2, 4, 5, 7) (4cf9fc7)
  • db: add covering index on backup_storage for KPI 6 (storage treemap) (d267846)
  • db: add materialized views schema for KPI dashboard (KPI 4-7) (58eda0d)
  • db: add partial index on agents for KPI 3 (agent availability) (7bcc94a)
  • db: add partial index on notification_log for KPI 1 (critical alerts) (fc9c9b1)
  • db: generate migration 0057, KPI indexes and materialized views (cae3d72)
  • db: register dashboard materialized views in db schemas (ddfde4b)
  • purge backup files and require an offline agent on database delete (23e4896)
  • stats: add AgentStatusGrid with 12h timeline tooltip (f1c556b)
  • stats: add BackupEvolutionChart dual-axis recharts (97bb7ed)
  • stats: add DASHBOARD_MOCK with realistic wireframe values (0d8de39)
  • stats: add DashboardData types and util helpers (8b70f90)
  • stats: add DatabaseTreemap by DBMS (f543ff1)
  • stats: add domain query files for dashboard KPIs (3722930)
  • stats: add HealthRingChart, Apple Fitness style 4-ring radial chart (f612617)
  • stats: add info tooltips to all KPI cards and charts (728d464)
  • stats: add InfoTooltip primitive (376c6c2)
  • stats: add KpiCard component with status color indicator (3f8cfe8)
  • stats: add NotificationPanel with 5 last critical alerts (49ab296)
  • stats: add refreshDashboardAction and RefreshDashboardButton (fdbd748)
  • stats: add Show more button to AgentStatusGrid and NotificationPanel (76ecf42)
  • stats: add StatsLayout, 3-row dashboard grid (8b0710b)
  • stats: add StorageTreemap by provider (d62417e)
  • stats: add tooltip prop to KpiCard (5e5ac2c)
  • stats: agent grid, large cards ≤8, compact squares >8 (035d52c)
  • stats: agent status grid, large cards with name/status/timeAgo (28bb71c)
  • stats: alert health score based on critical/total ratio (24h) (3545eb3)
  • stats: alerts 24h KPI dot color based on critical/total ratio (500fb11)
  • stats: backup evolution chart, auto-detect week/month granularity (bc18b1e)
  • stats: improve empty states with icon + title + subtitle (9d500c8)
  • stats: integrate HealthRingChart in Row 1 dashboard layout (27fd3c8)
  • stats: notification panel shows channel source + links to logs page (a491e9d)
  • stats: notification panel uses DataTable + NotificationLogModal (f019916)
  • wire database deletion into the agent detail page (2172784)

🐛 Bug Fixes

  • address final review findings on database deletion (8edccf7)
  • block database delete confirmation when the backup count fails (633b7d7)
  • db: remove unsupported .include() from indexes (drizzle-orm 0.45.2) (7369f94)
  • stats: call refreshDashboardAction() without args (void input) (10a0afb)
  • stats: health ring, fix dimensions, background color, aria-label (90f7903)
  • stats: health ring center score, pill bg, remove z-50 tooltip conflict (9f88963)
  • stats: notification panel, 4 compact columns, smaller icon (3bec9d1)
  • stats: notification panel, sentAt with timeAgo, remove broken 'at' field (99169f4)
  • stats: notification panel, show policy.event badge instead of title (b82bada)
  • stats: remove CONCURRENTLY from view refresh (no unique indexes on views) (c8b8bfe)
  • stats: remove inner DataTable border in notification panel (57020ad)
  • stats: restore totalNotifications24h in mock data (NaN fix) (7205ec0)
  • stats: translate health-ring-chart to English (eef4096)
  • stats: translate KPI card labels to English (3d18f17)
  • stats: use strict equality in formatBytes null check (bf07d69)