Eerste stabiele release. v1-readiness checklist (Now + Before-launch) is afgerond, smoke-test groen, lint/tests/build/doc-links allemaal groen. CHANGELOG.md [Unreleased] gepromoveerd naar [1.0.0] — 2026-05-04 met volledige Added/Changed/Fixed/Security-secties uit PR #85 t/m #89. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
106 lines
4.4 KiB
Markdown
106 lines
4.4 KiB
Markdown
# 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
|