diff --git a/CHANGELOG.md b/CHANGELOG.md
index af4bc2b..0431b69 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,20 @@
# Changelog — FlowDeck
-## v5.1.6 (2026-09-07) — Placeholder titre "New Page" + placeholder blocs au focus seul
+## v5.1.7 (2026-09-07) — Retours à la ligne conservés quand on change de bloc (Entrée)
+
+> Un bloc multi-lignes (Shift+Entrée) perdait ses retours à la ligne dès qu'on
+> appuyait sur Entrée pour créer un nouveau bloc.
+
+### Cause
+- Shift+Entrée insère des `
` ; `sync()` lit `el.textContent`, qui contient
+ alors des `\n`. `mdEsc()` (render des blocs) échappait le texte mais ne
+ convertissait pas les `\n`, et le HTML les replie en espace → les lignes
+ disparaissaient au re-rendu après la scission Entrée.
+
+### Correctif
+- `mdEsc()` convertit désormais les `\n` restants en `
` (après les
+ remplacements markdown inline) : les retours à la ligne sont conservés dans
+ tous les types de bloc (paragraphe, listes, to-do, toggle, callout, code…).
> Conforme au comportement Notion : le titre affiche « New Page » quand il est
> vide ; les aides de blocs (« Press 'space' for AI… », « Heading 1 »…) ne
diff --git a/VERSION b/VERSION
index 7a3e417..693ad74 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5.1.6
\ No newline at end of file
+5.1.7
\ No newline at end of file
diff --git a/app/main.py b/app/main.py
index a4c22ae..842c1e7 100644
--- a/app/main.py
+++ b/app/main.py
@@ -60,7 +60,7 @@ async def lifespan(_app: FastAPI):
app = FastAPI(
title="FlowDeck",
- version="5.1.6",
+ version="5.1.7",
docs_url="/docs" if settings.log_level == "DEBUG" else None,
redoc_url=None,
lifespan=lifespan,
diff --git a/app/templates/_page_editor_scripts.html b/app/templates/_page_editor_scripts.html
index 54592ce..9d7512d 100644
--- a/app/templates/_page_editor_scripts.html
+++ b/app/templates/_page_editor_scripts.html
@@ -27,7 +27,8 @@
.replace(/\*\*([^*]+)\*\*/g,'$1')
.replace(/\*([^*]+)\*/g,'$1')
.replace(/~~([^~]+)~~/g,'$1')
- .replace(/\[([^\]]+)\]\((https?:[^)\s]+)\)/g,'$1');
+ .replace(/\[([^\]]+)\]\((https?:[^)\s]+)\)/g,'$1')
+ .replace(/\n/g,'
');
}
const CALLOUT_ICONS=['💡','💡','📌','⚠️','ℹ️','✅','❌','🚀','🔔','📣','⭐','❤️','🔥','💬','👀','🧠','🎯','🔑','📅','💰','💡','📚','🧪','🌍'];