Repository navigation
Releases
Releases · bsteinemann/mkat
v1.5.0
1.5.0 (2026-01-30)
Bug Fixes
- add arrowhead markers to dependency graph edges (f33f4fe)
- add dark mode support to React Flow dependency map (721224a)
- add search filter and inline cycle error to dependency selector (2e6c90a)
- evaluate suppression when dependencies are added or removed (40b636d)
- fail hard on startup when MKAT_PASSWORD is not set (3cece3f)
- guard against undefined dependsOn/dependedOnBy in ServiceDetail (3d3af8d)
- improve dependency graph readability with edge labels and legend (e081b0c)
- migrate remaining buttons in Header and Services to shadcn/ui (1c76812)
- move time range utils to separate file to fix eslint react-refresh rule (a35edbf)
- prevent self-dependency connections in dependency map (b3a01d9)
- replace dagre with built-in DAG layout to fix CJS runtime error (3c0511f)
- resolve CA1822 and CA1859 in test projects instead of suppressing (fc30ede)
- resolve Recharts Tooltip formatter type errors in chart components (add5659)
- show suppression indicator even when suppressionReason is null (88042f0)
- skip SPA fallback assertion when frontend build artifacts are missing (b7f1271)
Features
- add alert suppression and recovery re-evaluation to StateService (5a7ce90)
- add API endpoints for events, rollups, and uptime (548f919)
- add dependency CRUD endpoints and graph API (bcfb3c3)
- add dependency DTOs and extend ServiceResponse with suppression fields (0510a63)
- add dependency selector to service edit page (829b694)
- add dependency types and API client methods (5431d40)
- add EF Core configuration and migration for ServiceDependency (757dbaf)
- add FailedHealthCheck alert type (5531129)
- add GetHealthCheckMonitorsDueAsync repository method (7688362)
- add health check configuration to frontend forms and detail page (0ebbf98)
- add health check fields to DTOs and controller mapping (c2df5a6)
- add health check fields to Monitor entity (75ce5ab)
- add health check validation rules, remove HealthCheck type block (41fab25)
- add history chart components for all monitor types (b9e6db7)
- add interactive Dependency Map page with React Flow (8016231)
- add IServiceDependencyRepository interface (c260b6d)
- add IsSuppressed and SuppressionReason fields to Service (2578234)
- add MetricReading to MonitorEvent migration (f72e9a6)
- add monitor event/rollup interfaces and rollup calculator (4a34cee)
- add monitor type descriptions to service detail and create form (6161438)
- add MonitorEvent and MonitorRollup domain entities (65b8b2f)
- add MonitorEvent/MonitorRollup repositories and EF migration (b83ab60)
- add RollupAggregationWorker (c1ab728)
- add ServiceDependency entity and dependency collections on Service (013147b)
- add ServiceDependencyRepository with cycle detection and transitive traversal (754b517)
- add suppression indicators and dependency sections to service UI (bbf4a56)
- implement HealthCheckWorker background service (7c0b194)
- install Recharts and add history TypeScript types (10119bc)
- integrate history charts into ServiceDetail page (0e78a1a)
- log MonitorEvents from all workers and controllers (e4cdd2c)
Performance Improvements
- add route-based code splitting with React.lazy (6213dbb)
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.3.0
1.3.0 (2026-01-24)
Features
- add EventBroadcaster with Channel-based pub/sub (9541270)
- add frontend push subscription and SSE connection (45715fa)
- add IEventBroadcaster interface and ServerEvent DTO (b82f7ed)
- add push subscription API endpoints (3607bcd)
- add PushSubscription domain entity (c70478f)
- add PushSubscription repository and EF Core mapping (d049460)
- add PWA manifest and app icons (b5b7549)
- add service worker for push notifications (dbb1150)
- add SSE events stream endpoint (c623fd6)
- add WebPushChannel with VAPID support (19b1ec2)
- broadcast SSE event after successful alert dispatch (a9beaae)
v1.2.1
v1.2.0
1.2.0 (2026-01-23)
Bug Fixes
- sanitize base path injection and cache fallback HTML (7429bf3)
Features
- add getBasePath runtime config utility (481d393)
- add UsePathBase and runtime config injection for base path support (f8e42c9)
- configure TanStack Router with runtime basepath (7cc544c)
- configure Vite for relative asset paths (9372fee)
- update API client to use runtime base path (d768590)
- update login page to use base path for auth check (cd5b27c)
v1.1.0
1.1.0 (2026-01-23)
Bug Fixes
- pass Telegram env vars to container and escape MarkdownV2 time string (8f6c2f0)
- remove useEffect setState in ContactsSection to satisfy lint rule (8208547)
- serialize HealthEndpointTests to prevent Serilog race condition (e25a5c0)
Features
- add channel management endpoints for contacts (19b305d)
- add Contact CRUD endpoints with validation (db553a9)
- add contact picker to service edit page (dbc8ae0)
- add Contact, ContactChannel, ServiceContact entities and EF migration (7468535)
- add FluentValidation rules for metric monitor config (1f56ab4)
- add frontend contacts page and service contact picker (962c7f3)
- add frontend metric monitor support (7ed4af2)
- add frontend peers page with pairing dialog (d463247)
- add IMetricReadingRepository, implementation, and EF migration (e09b5f3)
- add metric history and latest endpoints (e2a08dd)
- add metric push endpoint (POST /metric/{token}) (7ad1206)
- add MetricEvaluator with all 4 threshold strategies (dc0dbe0)
- add MetricReading entity and metric fields to Monitor (55a5b80)
- add MetricRetentionWorker for metric history cleanup (cb2c548)
- add notification failure hook to AlertDispatchWorker (a7eba2c)
- add pairing token generation and validation service (09b4358)
- add Peer entity, repository, and EF migration (7320a95)
- add peer pairing API endpoints (initiate, complete, accept) (f86b46c)
- add PeerHeartbeatWorker for sending heartbeats to peers (979a911)
- add service-contact assignment endpoints (d48e52b)
- add ThresholdStrategy enum and MonitorType.Metric (ccd6550)
- update alert dispatch to route via contacts with fallback (0b46975)
- update monitor CRUD to support Metric type (cc5eb71)
v1.0.0
1.0.0 (2026-01-23)
Bug Fixes
- correct solution file format, test setup, and startup configuration (aed97f7)
- only require auth for /api/ paths, allow SPA access (2291674)
- remove background workers from integration test hosts (605b1e5)
- resolve Monitor ambiguity and add missing Xunit usings (99589fb)
- update Vite proxy target to port 8080 (dd302d5)
Features
- add AlertDispatchWorker background service (7cea836)
- add AlertsController with CRUD and acknowledge endpoints (787f954)
- add API client layer and layout/common components (d083e4f)
- add BasicAuthMiddleware with tests (241c6a1)
- add DTOs and FluentValidation validators (367e2df)
- add GetPausedServicesAsync to IServiceRepository (616f501)
- add HeartbeatController with heartbeat endpoint (ce7da6c)
- add HeartbeatMonitorWorker background service (3f63ef1)
- add IMuteWindowRepository and MuteWindowRepository (20a5a13)
- add MaintenanceResumeWorker background service (ae3f808)
- add monitor CRUD endpoints and UI (6910113)
- add Mute endpoint to ServicesController (57e7fcd)
- add notification interfaces and DTOs (d4fa0b5)
- add NotificationDispatcher service (a9f9833)
- add pages, components, router, and TanStack Query setup (2949fef)
- add Pause/Resume endpoints to ServicesController (6bb8474)
- add production docker-compose.yml for deployment (fe0794b)
- add ServicesController with CRUD endpoints and integration tests (2a2b3fb)
- add StateService with state machine logic (0098133)
- add structured logging, exception handling, and security headers middleware (b5ab056)
- add TelegramBotService and wire M4 notification DI (eea220f)
- add TelegramChannel with retry logic and message formatting (5a93dc6)
- add webhook test buttons and HTTP POST labels to service detail (251522b)
- add WebhookController with fail/recover endpoints (26f1676)
- scaffold React frontend with Vite, Tailwind v4, TanStack (5c1dc76)
- serve SPA from API with static files and fallback routing (02b21a9)
- update Dockerfile with multi-stage frontend build and security hardening (f7415c2)