Changelog

What's new

Every release, straight from production. New features, fixes, and improvements as they ship.

v1.0.0

Features

  • add Analytics feature with services, UI components, and types #69
  • add Audit Logs feature for enhanced RBAC visibility
  • add Categories and Transactions bounded contexts
  • add CLI tools for database, doctor, and code generation commands
  • add Goals and Budgets bounded contexts
  • add new UI components and features to dashboard
  • add RBAC enhancements and resource registry support
  • add visual workflow module (agent orchestration) #309
  • agent model/effort/fast controls + installable Claude plugins (skills & commands) #243
  • agent-driven OKR module (Objectives & Key Results) for Plan #303
  • agent-workable kanban board + day planner #242
  • AI eval program — suites, regression gate, self-hosted Laminar #265
  • audit failures + actor/resource identity in audit logs #334
  • auth: add password reset flow (forgot-password + reset-password)
  • build the real user-invite flow (persist + email + PENDING) #332
  • complete the user profile page end-to-end (avatar, displayName, profile details, privacy, appearance sync, data rights) + sidebar/board fixes #308
  • config: add LLM-as-judge AI eval harness #218
  • configurable AI agent platform (+ files, tenant, RBAC, billing) #235
  • connection-driven agent tools, connection naming, nav + Composio icons #240
  • create Accounts aggregate and database migration
  • desktop: consume the design system in the renderer
  • enhance Forge CLI with shortcuts, quick actions, and alias support
  • enhance RBAC support with improved user-role mapping and expanded tenant and role details
  • enhance Trivy security scans with additional scanner support and validation
  • gate features behind per-tenant modules (backend 403 + UI) #270
  • illustrated rank badges + module-gated agent tools #271
  • implement API audit logging across lambdas
  • infra: add agent-compute Cloud Run worker + real adapters #216
  • infra: deploy the workflow and okr services to Cloud Run #330
  • infra: enable pgvector + agent_memory table on Postgres 16 #212
  • infra: Firebase Functions CD to novacstack + prod URL docs #279
  • infra: migrate APIs from AWS Lambda to Cloud Functions for Firebase
  • infra: migrate APIs from AWS Lambda to Cloud Functions for Firebase #205
  • infra: migrate compute to Terraform-managed Cloud Run; drop Postgres from blueprint #282
  • infra: send transactional email from the Resend-verified domain #300
  • introduce `@foundry/testing` package for robust testing utilities
  • introduce calendar and popover components; enhance dropdowns with display labels
  • lambdas: enable Sentry errors, tracing, profiling and source maps on backend #286
  • lambdas: expose RevokeExpiredRoles via a maintenance route #215
  • lambdas: platform-wide API audit logging #281
  • layout: add `NotificationBell` and `NotificationsPanel` components with stories
  • layout: add `NotificationBell` and `NotificationsPanel` components with stories
  • layout: introduce core layout components and stories
  • marketing: style enterprise redesign + Cálculo product page #276
  • memory supervisor — scoped, categorized, tagged extraction + run records #263
  • pages: add `LoginPage` and `OnboardingPage` templates with Storybook integration
  • per-tenant AI token-cost tracking + usage-based billing #341
  • per-tenant API keys for external services (Composio/Anthropic/Resend) #247
  • prep novacstack deploy — cross-origin CORS + rewards API base #277
  • RBAC + tenant-module access enforcement (UI + backend) #280
  • required tenant keys — Resend system-only, Anthropic/GitHub per-tenant #317
  • seed demo tenant with roles, permissions, and users
  • shared: add @foundry/ai kernel with provider-agnostic client #210
  • shared: add @foundry/ai kernel with provider-agnostic client #210
  • shared: add durable single-step agent run use-case #217
  • shared: add job_runs outbox + idempotency contract and tables #211
  • shared: add JobQueue port + in-memory driver behind JOB_QUEUE_DRIVER #208
  • shared: add JobQueue port + in-memory driver behind JOB_QUEUE_DRIVER #208
  • shared: add outbox relay + Pub/Sub job queue logic #214
  • shared: add Pub/Sub IEventBus adapter behind EVENT_BUS_DRIVER #213
  • shared: transactional email templates (draft approval, invite, weekly + mid-week reports) #251
  • silent NextAuth token refresh (+ full-claim re-mint on refresh) #336
  • sprints + QA stage + rewards module (points/levels/streaks/badges) #260
  • ui: add AgentMemoryGraph design-system component (React Flow) #233
  • ui: add changelog timeline marketing section
  • ui: add DS feature-flags table + form; adopt in dashboard
  • ui: add DS notifications table + badges; adopt in dashboard
  • ui: add DS tenant-form; adopt in dashboard tenant dialog
  • ui: add server-side pagination to DS DataTable + tenants list page
  • ui: add the Plan product landing page #302
  • ui: boop-style memory constellation view + compact browse list #275
  • ui: CronInput DS component + automations wiring #245
  • ui: draft approval inbox preview + agent identity, themed scrollbars #246
  • ui: expand design system — kanban, planners, editors, email & form builders #189
  • ui: ExternalLink primitive + worker-run outbound links (D2) #295
  • ui: extract MilestoneForm + AutomationForm into the design system (D4) #299
  • ui: high-converting Build product landing page #301
  • ui: migrate api-keys table to DS ApiKeysTable with dialog-driven actions
  • ui: migrate billing tables (coupons/invoices/plans) to DS
  • ui: migrate standalone audit-logs table to DS AuditLogTable
  • ui: migrate users table to DS UsersTable with server pagination
  • ui: move RankHero into the design system (D5) #298
  • ui: switch base theme to amber palette #285
  • ui: tenant detail page on DS + audit logs via DS AuditLogTable
  • ui: use provider logo for connections without a bundled icon #238
  • web: add custom-branded Sentry User Feedback widget #289
  • web: adopt design-system pages for auth, forgot-password & legal
  • web: agent-lane memory graph with typed edges and filters #273
  • web: capture frontend errors in Sentry #287
  • web: export/import agent config as shareable JSON #262
  • web: host-gated coming-soon landing + fix Terraform ADC in CD #306
  • web: marketing landing page + board UI fixes + sprint route #268
  • web: redesign consolidation observability page #272
  • web: server-first events timeline (RSC + streamed first page) #253
  • web: use DS notification bell and move theme control into sidebar
  • web: use the DS RbacPage for /dashboard/rbac
  • worker agent — sandboxed coding agent (ticket → PR, P0–P8) #258

Bug Fixes

  • 72h access tokens + redirect to login on 401 #335
  • added eslint to root repo
  • added eslint to root repo
  • adding global turbo command
  • adding peerdependencies
  • adding peerdependencies
  • adding peerdependencies
  • adding peerdependencies
  • adding peerdependencies
  • adding peerdependencies
  • adding turbo and lint to global install
  • command running
  • escape bash array length syntax in cd.yml to avoid GitHub Actions expression parsing
  • image warning
  • improved our action and PR validation
  • infra: add missing checkout to the CD sourcemaps job #325
  • infra: apply RLS as top-level DDL to fix migration syntax error #318
  • infra: checkout before the local setup action in db-migrate workflow #278
  • infra: connect runtime as NOBYPASSRLS role so RLS enforces [DO NOT MERGE until role live] #320
  • infra: correct JobRun status type + agent Cloud Run boot plumbing ( audit) #218
  • infra: declare tenant FK on job_runs entities + integration-test the schema #211
  • infra: grant bake fs.read for the out-of-context turbo token #322
  • infra: keep dashboard out of the lambda image build #319
  • infra: reclaim runner disk before the CD image bake #328
  • infra: request-based billing + scale-to-zero for Cloud Run #283
  • infra: scope CD sourcemaps build to lambdas (exclude dashboard) #327
  • infra: wire self-host rewards routing + bundle typeorm #269
  • integraty checks
  • lambdas: coerce user-roles list query params (limit/offset)
  • lambdas: defer email Resend client init so a bad key can't fail /live #329
  • lint and type problems
  • shared: disable pino-pretty on Vercel (fixes coming-soon 500) #307
  • shared: enforce at-least-once dedup; map Anthropic errors to AiError ( audit) #218
  • shared: map duplicate-email (pg 23505) to a 409 instead of a 500 #331
  • show avatar photo + role in the users table #333
  • typing and linting
  • ui: fix DraftsTable Preview story erroring in Chromatic #288
  • ui: fixed input uncontrolled form
  • updated configs for our tests
  • write file fo lefthook config

Performance Improvements

  • infra: build the 19 service images with buildx bake (one graph, parallel) #321
  • infra: faster CI/CD — parallel Sentry maps, draft-PR skip, sharded/affected CI #324
  • ui: trim redundant Chromatic snapshots (heavy badge stories) #297