# Changelog

## Baseline

- First survey — no prior run to compare against. CAI 36.

## Lenses

- Code Health 78
- Maturity 74
- Readiness 13
- Security 42

## Changes since last survey

- 300 commits — 121 feature/other, 179 fixes

## By area

- apps/web — 89 commits
- packages/features — 58 commits
- (root) — 27 commits
- apps/api — 24 commits
- packages/trpc — 16 commits
- packages/i18n — 14 commits
- packages/lib — 13 commits
- packages/app-store — 12 commits
- .github/workflows — 6 commits
- packages/platform — 5 commits
- packages/ui — 4 commits
- .github/CODEOWNERS — 3 commits
- apps/docs — 3 commits
- packages/embeds — 3 commits
- .github/actions — 2 commits
- packages/app-store-cli — 2 commits
- packages/emails — 2 commits
- packages/prisma — 2 commits
- scripts/seed.ts — 2 commits
- .github/oasdiff-err-ignore.txt — 1 commit

## Notable commits

- fix: Fix Keycloak OIDC flow (#27716)
- fix: Revert "revert (#27933)" (#27938)
- fix: docs: document Windows setup fix for prisma .env symlink error (#28101)
- fix: docs: fix grammar, formatting and clarity issues in docs (#28832)
- fix: docs: improve README clarity and fix grammar issues (#29005)
- fix: fix (#27902)
- fix: fix (#28119)
- fix: fix yarnlock (#28907)
- fix: fix(CalEventParser): skip null/undefined values in getUserFieldsResponses (#29703)
- fix: fix(api): return 401 instead of 409 for unauthenticated /api/me requests (#29538)
- fix: fix(api):missing trpc route added for the api keys (#29517)
- fix: fix(api-v2): correctly parse ISO timezone offsets when rescheduling bookings (#28333)
- fix: fix(api-v2): rethrow unexpected errors in deleteSelectedCalendar catch block (#29519)
- fix: fix(app-store): normalize search to handle spacing and casing issues (#29236)
- fix: fix(app-store): preserve existing enabled state during seed (#27918)
- fix: fix(app-store-cli): incorrect type annotation (#28319)
- fix: fix(apps/web): update `digitClassName` in `VerifyCodeDialog` for improved dark mode styling (#28623)
- fix: fix(auth): implement proper debounce ref for forgot password requests (#28490)
- fix: fix(bookings): provide stable country fallback for phone input (#29740)
- fix: fix(bookings): refund all seat payments when cancelling a paid seated… (#29685)
- …and 280 more
