docs: CHANGELOG, README, WORKLOAD updated for v2.1.0 — complete
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped

- CHANGELOG: all 9 versions documented (v1.3 → v2.1)
- README: version 2.1.0, full feature list, 73/73 tests
- WORKLOAD: rewritten, 52/52 features (100%), architecture summary
This commit is contained in:
2026-07-10 07:30:54 -04:00
parent 80f56acf4c
commit 7c8f8d719e
3 changed files with 159 additions and 162 deletions
+68 -67
View File
@@ -1,85 +1,86 @@
# Changelog — FlowDeck
## v2.1.0 (2026-07-10) — Intégrations Avancées
### Added
- **API publique**: `/api/v1` (collections, pages, my-tasks) avec token auth
- **Token generation**: `POST /api/v1/token`
- **Webhooks sortants**: `GET/POST/DELETE /workspace/webhooks` + dispatcher
- **PWA**: `GET /manifest.json`
- **CSRF**: `/api/v1` exempté
### Tests
- 73/73 passent (+6 tests v2.1)
## v2.0.0 (2026-07-10) — Multi-User Workspaces & Editor Complete
### Added
- **Workspaces**: tables `workspaces` + `workspace_members`, CRUD API, roles admin/editor/commenter/viewer
- **Comments**: table `comments` avec thread (parent_id), resolved
- **Page History**: table `page_history`, snapshot JSON
- **Favorites**: table `favorites`, add/remove/list
- **Templates**: `database_templates` + `page_templates`, apply API
- **CSV Import/Export**: `POST .../import/csv`, `GET .../export/csv`
- **Public Sharing**: `GET /workspace/public/{id}` (read-only, no auth)
### Tests
- 67/67 passent (+7 tests v2.0)
## v1.9.0 (2026-07-10) — My Tasks Dashboard
### Added
- **My Tasks**: `GET /my-tasks` (HTML), `GET /my-tasks/api` (JSON)
- Agrégation cross-collection, vues All/Today/Overdue/Next 7 days
## v1.8.0 (2026-07-10) — Sub-items & Dependencies
### Added
- **Sub-items**: parent_id auto-référence, GET/POST sub-items
- **Status aggregate**: `GET .../status-aggregate`
- **Dependencies**: `POST .../dependencies`, `POST .../check-deps`
## v1.7.0 (2026-07-10) — Vues Améliorées
### Added
- **View config**: `PUT /db/views/{id}/config` (group_by, card_size, cover, visible)
- **Save view as**: `POST /db/{id}/views/save-as`
- **List views**: `GET /db/{id}/views/api`
## v1.6.0 (2026-07-10) — Vues Manquantes
### Added
- **Calendar**: grid mensuel, navigation mois
- **Gallery**: cartes visuelles, card_size configurable
- **List**: vue compacte avec preview
- **Timeline**: barres horizontales Gantt
- **Table**: rendu SSR avec colonnes properties
- **View tabs**: navigation Table/Board/Calendar/Gallery/List/Timeline
## v1.5.0 (2026-07-10) — Relations & Rollups
### Added
- **Type `relation`**: lien bidirectionnel entre collections avec reverse_name auto
- API: `POST /db/{id}/properties/relation`, `POST /db/{id}/properties/relation/link`
- **FormulaEngine**: 19 fonctions (prop, if, concat, round, now, today, dateAdd, replace, ...)
- API: `POST /db/formula/evaluate`
- **RollupEngine**: 12 fonctions (count, sum, avg, min, max, range, unique, percent_checked, ...)
- API: `POST /db/rollup/compute`
- **Tests**: 5 nouveaux tests (43/43 passent, +13%)
### Fixed
- FKs `related_collection_id`, `relation_property_id`, `target_property_id` → `ON DELETE SET NULL`
### Changed
- Version 1.4.0 → 1.5.0
- **RollupEngine**: 12 agrégations (count, sum, avg, min, max, range, unique, percent_checked)
- **Relation**: lien bidirectionnel, API create/link
## v1.4.0 (2026-07-10) — Propriétés Avancées
### Added
- **Table `collection_properties`**: remplace `project_properties`, liée aux collections
- Types: title, text, number, select, multi_select, status, date, person, checkbox, url, email, phone, files, unique_id
- Auto-propriétés: created_time, created_by, last_edited_time, last_edited_by
- Relations/Rollups/Formulas: schéma prêt (colonnes dispo, implémentation v1.5)
- **Service `property_types.py`**: 21 types définis, validation, formatage, auto-values
- **API propriétés**: `GET /db/property-types/api`, CRUD `/{id}/properties/api`, `PUT/DELETE /properties/{id}/api`
- **Tests**: 4 nouveaux tests (38/38 passent, +12%)
### Changed
- Version 1.3.0 → 1.4.0
- **Table `collection_properties`**: 21 types Notion
- **Service `property_types.py`**: validation, formatage, auto-values
## v1.3.0 (2026-07-10) — Database Concept
### Added
- **Nouvelles tables**: `collections`, `collection_pages`, `collection_views` — fondation Database Notion
- **Router `/db`**: API CRUD complète pour collections et pages
- `GET/POST /db/api` — lister/créer collections
- `GET/PUT/DELETE /db/api/{id}` — lire/modifier/supprimer collection
- `GET/POST /db/{id}/pages/api` — lister/créer pages
- `GET/PUT/DELETE /db/pages/{id}/api` — CRUD page standalone
- `GET /db/{id}` — vue HTML basique par collection
- **GiteaBoardCompat**: adaptateur boards Gitea legacy → Collections
- `GET /db/boards/api` — liste boards comme pseudo-collections
- `GET /db/board/{owner}/{repo}/api` — board spécifique comme collection
- `POST /db/board/{owner}/{repo}/sync` — sync board → vraie collection
- **Tests**: 6 nouveaux tests (34/34 passent, +21%)
- **CSRF**: `/db/` exempté (API interne)
### Changed
- Version 1.0.0 → 1.3.0 (main.py, api.py, health)
- `db.py` init: 3 nouvelles tables + index
- Architecture DB: `collection_pages` utilise `property_values_json` (JSON flexible)
- **Tables**: `collections`, `collection_pages`, `collection_views`
- **Router `/db`**: CRUD collections + pages (16 endpoints)
- **GiteaBoardCompat**: adaptateur boards legacy → Collections
## v1.0.0 (2026-07-08) — Production
### 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
### 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)
### Fixed
- Team Load bug: status key mismatch (done → complete)
- CSRF: 403 protection vérifiée sur toutes les routes POST
## v0.3.0 (2026-06-??)
- OAuth2 Gitea, CSRF, rate limiting, webhooks
## v0.2.0 (2026-05-??)
- Dashboard + Board Kanban + Gitea sync + Notes + Docker
- FastAPI lifespan, 28 tests, CI/CD Gitea Actions, CSS 31KB, 10 templates
- 5 vues: Kanban, Table, Status Overview, Team Load, Detailed Board
- Filtres cumulables AND, tri multi-critères
- Card detail modal, checklists, commentaires Gitea
- Propriétés custom, AI keywords, sync API