# Changelog - FlowDeck ## v7.3.8 (2026-10-01) — Audit : A25 (exceptions muettes) + A21 partiel ### Fixed - **A25** — 84 `except Exception: pass/…` deviennent `logger.exception(fn)` (19 fichiers, 63 dans des handlers `async`) : les échecs du pipeline d'événements/webhooks et des écritures sont enfin visibles dans les logs - **A25 (critique)** — plus de `try` autour de `materialize_properties` dans `create_collection_v2` et `apply_db_template_v2` : un échec annule la transaction au lieu de commiter une collection sans schéma - **A21 (partiel)** — `PRAGMA busy_timeout=5000` dans `get_conn()` (le seul point d'entrée des connexions) ; le wrapper async + les 510 call sites synchrones sur l'event loop restent à migrer ### Tests - `test_collection_rollback_when_materialize_fails` → suite **1028/1028** ## v7.3.7 (2026-09-30) — Audit sécurité : A14 (fallback admin agent) ### Fixed - **A14** — `_current_user_id` et `_current_admin` ne retombent plus sur la row `admin` : 401 sans session (les 24 sites de `_current_user_id` + `PATCH/POST /api/agent/providers`) — un anonymous ne pouvait plus orienter le `ping()` du serveur vers un `api_base` interne - `_check_api_base()` sur les 2 routes provider : scheme `http(s)` obligatoire, identifiants dans l'URL refusés (400). Les hôtes privés restent acceptés — le provider par défaut du produit est Ollama `http://localhost:11434/v1` ( commentaire `ponytail:` : fermeture possible via allowlist provider local) - Test `test_agent_providers_require_admin_and_valid_api_base` → suite **1027/1027** ## v7.3.6 (2026-09-30) — Audit sécurité : A19 terminé (aucun préfixe cookie-auth exempt) ### Fixed - **A19 (fin)** — les 46 appels non-GET restants des 5 derniers préfixes (`/api/agent`, `/api/settings`, `/api/local-workspace`, `/api/gitea`, `/api/workspace` + `/api/workspaces`) reçoivent `X-CSRF-Token` (expression cookie en ligne, portée indifférente fonction/Alpine/attribut) ; les 5 préfixes sortent d'`EXCLUDED_PATHS` - Vérification syntaxe : les `