# Changelog

All notable changes to **Scrum4Me** are documented in this file.

The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

---

## [Unreleased]

---

## [1.0.0] — 2026-05-04

**Eerste stabiele release** — MVP volgens functional spec is af, getest en in
productie. Geen breaking changes ten opzichte van 0.9.0; deze tag markeert de
launch-ready state na de v1-readiness-checklist (Now + Before-launch items).

### Added
- Rate-limiting: `enforceUserRateLimit(scope, userId)` helper toegepast op alle
  high-value mutation paths — PBI/Story/Task/Todo/Sprint/Product/Token create,
  Claude job enqueue, answerQuestion, story-log POST, avatar upload.
  ([#86](https://github.com/madhura68/Scrum4Me/pull/86))
- Sentry error-monitoring scaffolding (`@sentry/nextjs`) met no-op fallback
  zonder DSN. Activeer via `NEXT_PUBLIC_SENTRY_DSN` in Vercel env-vars.
  ([#85](https://github.com/madhura68/Scrum4Me/pull/85))
- `CHANGELOG.md` (Keep a Changelog formaat) + `docs/runbooks/v1-smoke-test.md`
  — 11-secties pre-launch verificatie. ([#89](https://github.com/madhura68/Scrum4Me/pull/89))

### Changed
- A11y Lighthouse score op `/products/[id]` van 86 → ≥95: `aria-selected` →
  `aria-pressed` op PBI-cards (correct ARIA role-attribute pairing); tap-targets
  ≥28×28 px op hover-icon-buttons. ([#88](https://github.com/madhura68/Scrum4Me/pull/88))
- A11y form-label associaties (`htmlFor` + `id`) op happy-path dialogen
  (Story/Task + Promote-PBI/Story); auth-pages krijgen `<main>` landmark.
  ([#87](https://github.com/madhura68/Scrum4Me/pull/87))
- README: test-count 69 → 445, env-vars-tabel uitgebreid met `CRON_SECRET` en
  Sentry-vars. ([#89](https://github.com/madhura68/Scrum4Me/pull/89))

### Fixed
- Demo-policy: drie mutation-paden zonder `isDemo`-check gedicht
  (`toggleTodoAction`, `archiveCompletedTodosAction`, `leaveProductAction`).
  ([#89](https://github.com/madhura68/Scrum4Me/pull/89))

### Security
- Vier debug-routes (`/debug-env`, `/debug-realtime`, `/api/debug/*`) krijgen
  een NODE_ENV-guard → 404 in productie. ([#89](https://github.com/madhura68/Scrum4Me/pull/89))

---

## [0.9.0] — 2026-05-04

[GitHub Release](https://github.com/madhura68/Scrum4Me/releases/tag/v0.9.0)

### Added
- **PBI-11: Mobile-shell met landscape-lock** ([#81](https://github.com/madhura68/Scrum4Me/pull/81)):
  - Aparte route group `app/(mobile)/m/{settings,pair,products}/...` met eigen
    layout (zonder NavBar/StatusBar/MinWidthBanner)
  - `LandscapeGuard` (rotate-overlay in portrait), `MobileTabBar` (3 lucide-iconen)
  - PWA-manifest met `"orientation": "landscape"`
  - UA-redirect bij login: telefoons (`Mobi`-substring) → `/m/products/[active]/solo`,
    tablets en desktop → `/dashboard`
  - Gedeelde `lib/auth-guard.ts` `requireSession()` helper, hergebruikt door beide layouts
  - Mobile-fullscreen voor entity-dialogen via gedeelde `entityDialogContentClasses`
- Sprint Product-Backlog kolom: filter-popover (prioriteit + status) en
  edit-iconen op PBI/story/task-rijen. ([#79](https://github.com/madhura68/Scrum4Me/pull/79))
- Edit-icoon op product-card in dashboard (consistent met PBI/story/task-pattern).
  ([#83](https://github.com/madhura68/Scrum4Me/pull/83))
- v1.0 readiness checklist in `docs/plans/v1-readiness.md`.
  ([#82](https://github.com/madhura68/Scrum4Me/pull/82))

### Changed
- Refactor `app/(app)/layout.tsx` om gedeelde `requireSession()` te gebruiken
  (gedrag onveranderd). ([#81](https://github.com/madhura68/Scrum4Me/pull/81))
- `/m/pair` filesystem-verhuisd uit `(app)/` naar `(mobile)/` — URL onveranderd.
  ([#81](https://github.com/madhura68/Scrum4Me/pull/81))

---

## [0.4.0] — eerder

### Added
- M9 — Actief Product Backlog: persistente actieve PB-keuze, gesplitste
  navigatie, disabled-states bij geen actief product

---

## [0.3.1] — eerder

Initiële stabilisatie-release.

---

## Pre-0.3.x

Foundation-werk (M0 t/m M8) is niet retroactief in dit changelog opgenomen.
Voor de volledige milestone-historie zie [docs/backlog/index.md](./docs/backlog/index.md).

---

[Unreleased]: https://github.com/madhura68/Scrum4Me/compare/v1.0.0...HEAD
[1.0.0]: https://github.com/madhura68/Scrum4Me/releases/tag/v1.0.0
[0.9.0]: https://github.com/madhura68/Scrum4Me/releases/tag/v0.9.0
[0.4.0]: https://github.com/madhura68/Scrum4Me/commit/615f0c8
[0.3.1]: https://github.com/madhura68/Scrum4Me/commit/ecc05dd
