Changelog
Stripe SDK drift protection
Added a CI guard that fails the build when Stripe SDK apiVersion literals drift from the installed package. Prevents accidental upgrades across the portfolio.
Code quality cleanup
Cleared 26 lint warnings across 14 files. Eslint flat config now honors `_`-prefix for unused vars; fixed react-hooks set-state-in-effect violations; removed dead imports.
pnpm package manager migration
Switched from npm to pnpm@10.34.3 for faster installs, strict peer-dep resolution, and workspace support across the monorepo.
Service-factory split
Refactored the monolithic service-factory into dedicated service-* packages. Scaffolded packages/api, packages/db, and packages/shared for clean cross-app reuse.
Analytics API on Drizzle
Migrated analytics-api from Supabase REST to Drizzle/postgres-js. Repository methods now type-check against the 22-table schema directly; no more `as unknown` casts or manual SQL.
Multi-provider resource sync
Connect AWS, GCP, Azure, and Vercel accounts. Resources sync automatically with encrypted credential storage.
Automated runbooks
Create multi-step incident response runbooks triggered by alert conditions. Supports API calls, notifications, and data collection steps.
Cost intelligence dashboard
Track cloud spend across providers with daily cost snapshots, per-service breakdowns, and threshold alerts.
Webhooks API
Configure webhook endpoints for real-time event delivery. Verified payloads with HMAC-SHA256 signatures.
DNS zone management
Manage DNS zones and records directly from CloudInfraOS. Supports A, AAAA, CNAME, MX, TXT, and NS record types.
Organization and team support
Invite team members to your organization with role-based access control. Manage permissions per project.
Public beta launch
CloudInfraOS is now available in public beta. Free tier includes 1 project and 3 provider connections.