release: v1.0.0 — Production
- FastAPI lifespan (deprecation fix, 0 warnings)
- 28 tests (vues, filtres, tris, APIs, CSRF, CORS, DB)
- CI/CD Gitea Actions (.gitea/workflows/ci.yml)
- Version 1.0.0: main.py, api.py, health endpoint
- CHANGELOG.md v1.0.0
- ARCHITECTURE.md: 12 tables, routes complètes
- ROADMAP: all versions ✅
This commit is contained in:
+25
-38
@@ -1,45 +1,32 @@
|
||||
# Changelog
|
||||
# Changelog — FlowDeck
|
||||
|
||||
## [0.3.0] — 2026-07-08 — "Auth + Card Detail + Webhooks"
|
||||
## v1.0.0 (2026-07-08) — Production
|
||||
|
||||
### Added — Auth & Multi-user (v0.3.0)
|
||||
- OAuth2 Gitea (login via Gitea) — /auth/login, /auth/callback, /auth/logout
|
||||
- Token par utilisateur stocké en BDD (user_tokens table)
|
||||
- Session signed cookies (itsdangerous) — 7 jours
|
||||
- CSRF protection middleware sur tous les POST/PUT/PATCH/DELETE
|
||||
- Rate limiting in-memory (60 req/min par IP, configurable)
|
||||
- Fallback mode sans OAuth: connexion automatique en tant qu'admin
|
||||
### Added
|
||||
- **UI Notion-complete**: sidebar 240px, topbar 44px, dark mode (#191919/#222/#333)
|
||||
- **5 vues**: Kanban, Detailed Board, Table, Status Overview (SVG donut), Team Load (stacked bars)
|
||||
- **Filtres cumulables AND** avec status dropdown checkboxes, filtres par assignee/tag
|
||||
- **Tri multi-critères** hiérarchique (N niveaux, asc/desc)
|
||||
- **Card detail modal**: titre éditable, propriétés, checklists, commentaires Gitea
|
||||
- **Création d'issues inline** depuis le board
|
||||
- **Propriétés custom** par projet: select, multi_select, date, person, text
|
||||
- **AI keywords**: extraction automatique depuis labels + body, table `ai_keywords`
|
||||
- **Sync API**: `POST /board/api/sync/{owner}/{repo}` — bidirectionnelle complète
|
||||
- **CI/CD**: Gitea Actions workflow
|
||||
- **Tests**: 25 tests, couvrant toutes les vues, APIs, filtres, tris
|
||||
|
||||
### Added — Issue Creation & Editing (v0.5.0 partial)
|
||||
- Création d'issues depuis FlowDeck (POST /api/issues/{owner}/{repo})
|
||||
- Formulaire inline avec labels, milestone, assignee
|
||||
- Édition de titre inline (PATCH /api/issues/{owner}/{repo}/{issue_id})
|
||||
- Card metadata: priority + due date (POST /api/card/{owner}/{repo}/{issue_id})
|
||||
### Changed
|
||||
- FastAPI `on_event` → `lifespan` handler (deprecation fix)
|
||||
- Version bump 0.3.0 → 1.0.0
|
||||
- CSS: 31 KB design system Notion (700+ lignes)
|
||||
- 10 templates Jinja2 (base, board, card, detail, table, status, team, detailed, fragment, dashboard)
|
||||
|
||||
### Added — Webhooks (v0.4.0)
|
||||
- Endpoint webhook receiver: POST /api/webhook
|
||||
- Signature HMAC-SHA256 verification
|
||||
- Gère: issue opened/closed/labeled/deleted, PR, repository
|
||||
- Auto-registration: POST /api/webhook/register/{owner}/{repo}
|
||||
- Webhook status: GET /api/webhook/status/{owner}/{repo}
|
||||
- GiteaClient: list_webhooks, create_webhook, delete_webhook
|
||||
### Fixed
|
||||
- Team Load bug: status key mismatch (done → complete)
|
||||
- CSRF: 403 protection vérifiée sur toutes les routes POST
|
||||
|
||||
### Added — Card Detail + Checklists (v0.5.0)
|
||||
- Modal détail carte (double-clic): description, labels, assignee, milestone, commentaires
|
||||
- Checklists avec items checkable + ajout/suppression inline
|
||||
- Priorités (Low/Medium/High/Urgent) + dates d'échéance éditables
|
||||
- Commentaires Gitea affichés dans le modal
|
||||
- GET /api/issues/{owner}/{repo}/{issue_id} — détail complet
|
||||
- GET /api/collaborators/{owner}/{repo} — pour assignee picker
|
||||
- Bouton "🔔 Webhook" pour enregistrer le webhook Gitea
|
||||
## v0.3.0 (2026-06-??)
|
||||
- OAuth2 Gitea, CSRF, rate limiting, webhooks
|
||||
|
||||
### Stack
|
||||
- + itsdangerous (signed sessions)
|
||||
- + slowapi (rate limiting, optional)
|
||||
- + starlette SessionMiddleware pour OAuth2 state
|
||||
|
||||
## [0.2.0] — 2026-07-08 — "FlowDeck"
|
||||
## v0.2.0 (2026-05-??)
|
||||
- Dashboard + Board Kanban + Gitea sync + Notes + Docker
|
||||
|
||||
## [0.1.0] — Kanbante (non publié)
|
||||
- MVP initial
|
||||
|
||||
Reference in New Issue
Block a user