- FormulaEngine: 19 functions (prop, if, concat, round, now, today, dateAdd, replace, ...)
- RollupEngine: 12 aggregations (count, sum, avg, min, max, range, unique, percent_checked)
- API relation: POST /db/{id}/properties/relation + /link (bidirectional)
- API rollup: POST /db/rollup/compute
- API formula: POST /db/formula/evaluate
- FKs fix: related_collection_id/relation_property_id/target_property_id → ON DELETE SET NULL
- 43/43 tests passent (+5 tests v1.5)
- Version 1.4.0 → 1.5.0
- Docs: ROADMAP, CHANGELOG à jour
86 lines
3.9 KiB
Markdown
86 lines
3.9 KiB
Markdown
# Changelog — FlowDeck
|
|
|
|
## 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
|
|
|
|
## 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
|
|
|
|
## 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)
|
|
|
|
## 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
|