L'évolution publique de Palimpseste — chaque version mineure ouvre une nouvelle ride à l'atelier.Palimpseste's public evolution — every minor release opens a new fold in the workshop.
1.11.0
Story Engine localLocal Story Engine
Le générateur de chapitre complet, en 2 passes (plan beat-by-beat puis prose markdown), 100% local-capable (Ollama, LM Studio) ou cloud (Claude, GPT). Lit votre Story Bible, vos plot threads, votre persona et votre RAG de documents. Préserve les blocs verrouillés et les ancres de section. La fonction marteau de Palimpseste.The full-chapter generator, two-pass (beat-by-beat plan then markdown prose), 100% local-capable (Ollama, LM Studio) or cloud (Claude, GPT). Reads your Story Bible, plot threads, persona and document RAG. Preserves locked blocks and section anchors. Palimpseste's hammer feature.
Story Engine — 2 passesStory Engine — two passes
Pass 1 : génération d'un plan de chapitre beat-by-beat (3 à 12 beats), à partir de votre Story Bible, des arcs narratifs actifs et du synopsis du chapitre cible.Pass 1: beat-by-beat chapter plan (3 to 12 beats), drawn from your Story Bible, active plot threads and target chapter synopsis.
Pass 2 : 1500 mots de prose markdown dans la langue du projet, dans la voix du persona attaché.Pass 2: 1500 words of markdown prose in the project language, in the attached persona's voice.
Préservation automatique des blocs <!-- locked --> et des ancres <!-- id: sec-XXX --> : la régénération ne casse jamais le contenu protégé.Automatic preservation of <!-- locked --> blocks and <!-- id: sec-XXX --> anchors: regeneration never breaks protected content.
Backup .bak avant écriture, hot-swap du buffer ouvert, rechargement de la liste des chapitres. Aucune perte possible.A .bak backup before write, hot-swap of the open buffer, chapter list reload. Zero data loss possible.
Aperçu en onglets (Prose / Plan) avec banner d'alerte si des blocs verrouillés ont dû être récupérés.Tabbed preview (Prose / Plan) with warning banner if locked blocks had to be recovered.
Continuité cross-chapter : synopsis des chapitres voisins (cap 200 caractères) injecté dans le prompt.Cross-chapter continuity: neighbor chapter synopses (200-char cap) injected into the prompt.
Correctifs Sprint LSprint L fixes
Icônes distinctes pour les boutons Synopsis et Story Engine dans le panneau Roman (Sparkle vs Feather) — fini les confusions visuelles.Distinct icons for Synopsis and Story Engine buttons in the Novel panel (Sparkle vs Feather) — no more visual confusion.
Fix React #310 : hooks repositionnés avant les early returns dans NovelProjectPanel — crash en bundle minifié résolu.React #310 fix: hooks moved before early returns in NovelProjectPanel — crash in minified bundle resolved.
Normalisation CRLF dans l'extraction des blocs verrouillés (compat Windows).CRLF normalization in locked-block extraction (Windows compatibility).
1.10.0
Switch persona + Refresh projetPersona switch + Project refresh
Changement de persona en cours de projet via une modale dédiée. Raccourci global Cmd+Alt+R « refresh-and-repair » pour purger les caches et reconstruire l'index sans relancer l'app. Migration des fichiers projet plus robuste face aux schémas anciens.Switch personas mid-project via a dedicated modal. Global Cmd+Alt+R "refresh-and-repair" shortcut to purge caches and rebuild the index without restarting the app. More robust migration of project files from older schemas.
NouveautésWhat's new
PersonaSwitchPicker — modale plein écran avec preview voice + style guide.PersonaSwitchPicker — full-screen modal with voice + style guide preview.
Commande « Tout fermer » qui wipe complètement le workspace ouvert."Close all" command that completely wipes the open workspace.
Triple fix migration : parser de round-trip, signal structural-v2 et fs::rename pre-flight.Triple migration fix: round-trip parser, structural-v2 signal and fs::rename pre-flight.
1.9.0
Personas IA + Reference LibrariesAI Personas + Reference Libraries
Le persona attaché est désormais consommé par 4 surfaces IA (5 verbes + chat + 3 régen). RAG sémantique local sur les documents du persona via fastembed-rs. Reference Libraries cross-profile (user-scoped) attachables en parallèle au persona.The attached persona is now consumed by 4 AI surfaces (5 verbs + chat + 3 regens). Local semantic RAG on persona documents via fastembed-rs. User-scoped, cross-profile Reference Libraries attachable in parallel with the persona.
Intégration IA du personaPersona AI integration
Style guide en APPEND (au-dessus du global), glossaire en UNION (chaque terme une fois).Style guide APPENDed (above global), glossary UNIONed (each term once).
Override LLM et langue de sortie possibles par persona ou par projet.LLM and output language overrides possible per persona or per project.
Audit projet détecte persona-missing, library-missing et persona-block-missing avec auto-fix proposé.Project audit detects persona-missing, library-missing and persona-block-missing with proposed auto-fix.
Reference LibrariesReference Libraries
Bibliothèques user-scoped, cross-profile (mirror du persona moins les voice samples).User-scoped, cross-profile libraries (mirror of persona minus voice samples).
Multi-attach par projet : combinez un persona + N libraries. RAG en parallèle, pas d'interférence.Multi-attach per project: combine one persona + N libraries. RAG in parallel, no interference.
Quatrième carte « Depuis une bibliothèque » dans le picker de nouveau projet.Fourth "From a library" card in the new-project picker.
1.8.0
Nouveau projet v2 + PersonasNew Project v2 + Personas
Refonte complète du flux nouveau projet : 4 cartes (vierge, template, import, bibliothèque), 12 templates métier, et introduction des Personas — votre voix d'auteur capturée localement, attachée à un projet en un clic. Audit project.yml extensible avec auto-fixers.Full overhaul of the new-project flow: 4 cards (blank, template, import, library), 12 work templates, and introduction of Personas — your author voice captured locally, attached to a project in one click. Extensible project.yml audit with auto-fixers.
Mon Studio (Personas)My Studio (Personas)
Bibliothèque locale de personas (Mac) avec CRUD complet, snapshots versionnés, export/import JSON.Local persona library (Mac) with full CRUD, versioned snapshots, JSON export/import.
Attach à un projet + drift detection automatique entre source et copie figée.Attach to a project + automatic drift detection between source and frozen copy.
Menus Fichier (Nouveau persona) et Affichage (Mon Studio, Cmd+Shift+P).File menu (New persona) and View menu (My Studio, Cmd+Shift+P) entries.
Project Init v2Project Init v2
Picker 4-cartes : Vierge, Template, Importer un fichier, Depuis une bibliothèque.4-card picker: Blank, Template, Import file, From library.
12 templates pré-configurés couvrant les 3 profils (roman court, thèse IMRAD, reportage long format, etc.).12 pre-configured templates covering 3 profiles (short novel, IMRAD thesis, long-form report, etc.).
Les modèles MoE locaux (Qwen 2.5 32B, Gemma 3 27B) échouent parfois sur le structured output. Palimpseste tente désormais 4 stratégies en cascade : natif → cooldown → channels strippés → fallback cloud silencieux (opt-in). Plus de blacklist par nom à maintenir.Local MoE models (Qwen 2.5 32B, Gemma 3 27B) sometimes fail on structured output. Palimpseste now tries 4 strategies in cascade: native → cooldown → channel-stripped → silent cloud fallback (opt-in). No more name-based blacklist to maintain.
Résilience runtimeRuntime resilience
4 stratégies de recovery automatique, sans intervention utilisateur.4 automatic recovery strategies, no user intervention needed.
Cloud fallback respecte le primaryProvider sélectionné (Anthropic / OpenAI).Cloud fallback respects the selected primaryProvider (Anthropic / OpenAI).
Label de stratégie utilisée affiché dans RegenProgressModal (5 nouvelles clés i18n × 5 langues).Strategy label displayed in RegenProgressModal (5 new i18n keys × 5 languages).
Notice de privacy expliquant le fallback cloud, traduite × 5 langues.Privacy notice explaining the cloud fallback, translated × 5 languages.
1.6.0
Mémoire IA souveraineSovereign AI memory
Mémoire IA sémantique 100% locale (sans cloud, sans clé API), workspaces séparés par profil métier, routage multi-modèle (un modèle par tâche), et bible auto-injectée pour les romanciers. L'IA prend de la profondeur sans dépendance tierce.100% local semantic AI memory (no cloud, no API key), per-profile workspaces, multi-model routing (one model per task), and auto-injected story bible for novelists. The AI gains depth without third-party dependencies.
Mémoire sémantiqueSemantic memory
Embeddings ONNX intégrés (fastembed-rs) : modèle Multilingual E5 small de 130 Mo téléchargé une fois, fonctionnement 100% offline.Bundled ONNX embeddings (fastembed-rs): a 130 MB Multilingual E5 small model, downloaded once, 100% offline thereafter.
Cinq sources au choix : embarqué, LM Studio, Ollama, OpenAI, ou tout endpoint personnalisé compatible OpenAI.Five source options: embedded, LM Studio, Ollama, OpenAI, or any custom OpenAI-compatible endpoint.
L'IA comprend désormais les synonymes (« écrivain » et « auteur ») au lieu de simplement matcher les mots-clés.The AI now understands synonyms ("writer" and "author") instead of merely keyword-matching.
Si la source est injoignable, repli automatique sur le mode lexical — le panneau IA ne plante jamais.When the source is unreachable, automatic fallback to lexical mode — the AI panel never crashes.
Workspaces par profilPer-profile workspaces
Vos mémoires IA sont désormais séparées par profil : romancier, journaliste, chercheur. Un romancier ne reçoit pas son cours de méthodologie de thèse dans le contexte IA.Your AI memories are now scoped by profile: novelist, journalist, researcher. A novelist no longer receives their thesis methodology in AI context.
Migration silencieuse depuis l'ancien layout : aucune action requise, aucune perte de données.Silent migration from the previous layout: no action required, no data loss.
Routage multi-modèleMulti-model routing
Mode avancé optionnel : un modèle par classe d'opération (verbes courts, régénérations longues, tâches rapides, chat). Trois préréglages en un clic : « Tout en local », « Optimisé qualité », « Optimisé coût ».Optional advanced mode: one model per operation class (short verbs, long regenerations, fast tasks, chat). Three one-click presets: "All local", "Quality-optimized", "Cost-optimized".
Mode simple par défaut : aucun changement de comportement pour qui ne veut pas configurer.Simple mode by default: no behavior change for users who don't want to configure.
Bible auto-injectée (romancier)Auto-injected story bible (novelist)
Quand vous mentionnez un personnage de votre Bible (« Émilie sortit du wagon »), sa fiche est automatiquement ajoutée au contexte IA. Sans @mention, sans recherche.When you mention a character from your Bible ("Emily stepped off the train"), their card is automatically added to AI context. No @mention, no search.
Sous le capotUnder the hood
Bus d'événements typé pour les mutations de chapitres : élimine les désynchronisations silencieuses (réordonnancement, renommage).Typed event bus for chapter mutations: eliminates silent desyncs (reorder, rename).
+147 nouveaux tests unitaires (4337 au total). Aucune régression sur les fonctionnalités existantes.+147 new unit tests (4,337 total). Zero regression on existing features.
1.5.3
Sécurité & conformitéSecurity & compliance
Renforcement sécurité (rotation de la clé de signature, scan automatique des secrets, audit dépendances), versionning explicite des fichiers projet, conformité RGPD complète, et division du bundle pour un démarrage plus rapide.Security hardening (signing-key rotation, automatic secret scan, dependency audit), explicit project-file versioning, full GDPR compliance, and bundle splitting for faster startup.
SécuritéSecurity
Rotation de la clé de signature des mises à jour automatiques.Auto-update signing key rotated.
Crochet pré-commit qui bloque l'introduction accidentelle de secrets dans le code.Pre-commit hook that blocks accidental introduction of secrets into the code.
Audit des dépendances npm et cargo, vulnérabilités résolues.Dependency audit (npm + cargo), vulnerabilities resolved.
Intégrité de vos projetsProject integrity
Champ version ajouté à tous les fichiers de projet (.novel-meta.json, .storybible.json, .journalist.json, .fieldnotes.json, .style-dict.json) avec validation explicite à l'ouverture — vous serez prévenu sans ambiguïté si un projet a été créé par une version trop récente de Palimpseste.A version field has been added to every project file (.novel-meta.json, .storybible.json, .journalist.json, .fieldnotes.json, .style-dict.json) with explicit load-time validation — you'll be told unambiguously if a project was created by a Palimpseste version newer than yours.
Endpoint en libre-service pour exercer votre droit à l'effacement (Art. 17 RGPD) : /delete-my-data.php.Self-service endpoint to exercise your right to erasure (GDPR Art. 17): /delete-my-data.php.
Pseudo-anonymisation automatique des emails 90 jours après résiliation (politique de rétention documentée dans Confidentialité).Automatic email pseudo-anonymization 90 days after cancellation (retention policy documented in Privacy).
Article 6 ter des CGV : clause de continuité de service (engagement à publier le code serveur en open source en cas d'arrêt prolongé).Terms Article 6 ter: service-continuity clause (commitment to open-source the server code in the event of a prolonged shutdown).
Article 8 des CGV : médiateur de la consommation et plateforme européenne de règlement en ligne des litiges référencés.Terms Article 8: consumer mediator and European Online Dispute Resolution platform now referenced.
PerformancePerformance
Bundle principal réduit de 79 % (4,3 Mo → 910 Ko) grâce au chargement à la demande des panneaux et au regroupement par bibliothèque.Main bundle reduced by 79 % (4.3 MB → 910 KB) thanks to on-demand panel loading and library bucketing.
Pré-chargement intelligent des panneaux les plus fréquemment ouverts (Sommaire, Projet, Recherche).Smart prefetch of the most frequently opened panels (Table of contents, Project, Search).
1.5.2
IA & multilingueAI & multilingual
Détection automatique de la langue de votre projet et application stricte aux modèles d'IA — votre assistant local n'écrit plus en anglais malgré vous.Automatic detection of your project's language and strict enforcement on AI models — your local assistant no longer drifts to English against your wishes.
NouveautésNew
Palimpseste détecte automatiquement la langue de votre projet (français, anglais, allemand, espagnol, italien) en analysant les premiers chapitres et impose explicitement cette langue à l'IA en haut du prompt.Palimpseste auto-detects your project's language (French, English, German, Spanish, Italian) by analyzing the first chapters and explicitly enforces it at the top of every AI prompt.
Effet visible : les modèles locaux plus petits (Gemma, Llama < 70B, Qwen < 32B) cessent de basculer vers l'anglais sur les opérations de régénération (bible du roman, arcs narratifs, synopsis) et les verbes IA en place (Réécrire, Continuer, Étoffer, Décrire, Résumer).Visible effect: smaller local models (Gemma, Llama < 70B, Qwen < 32B) stop drifting to English on regeneration operations (story bible, plot threads, synopsis) and in-place AI verbs (Rewrite, Continue, Expand, Describe, Summarize).
CorrectionsFixes
Mises à jour macOS : correction d'un bug de l'updater Tauri qui rejetait les archives contenant des attributs étendus macOS.macOS auto-update: fix a Tauri updater bug that rejected archives containing macOS extended attributes.
1.5.1
IA & modèles locauxAI & local models
Diagnostic immédiat des modèles incompatibles + fenêtre de tolérance étendue à 30 minutes pour les opérations de régénération.Immediate diagnosis of incompatible models + tolerance window extended to 30 minutes for regeneration operations.
NouveautésNew
Détection des modèles MoE (Mixture-of-Experts) à faible nombre de paramètres actifs incapables de regénérer les arcs narratifs : la régénération échoue désormais immédiatement plutôt que de brûler trois tentatives, avec un message d'erreur explicite.Detection of MoE (Mixture-of-Experts) models with few active parameters that cannot regenerate plot threads: regeneration now fails immediately instead of wasting three attempts, with a clear error message.
Avertissement contextuel sur les fournisseurs IA locaux (LM Studio, Ollama) avec recommandations modèles : Mistral Small 3.1, Qwen 2.5 32B, Llama 3.3 70B.Contextual warning on local AI providers (LM Studio, Ollama) with model recommendations: Mistral Small 3.1, Qwen 2.5 32B, Llama 3.3 70B.
Délai d'attente côté Tauri étendu de 15 à 30 minutes pour absorber les régénérations longues sur modèles 32B locaux.Tauri-side timeout extended from 15 to 30 minutes to absorb long regenerations on 32 B local models.
1.5.0
Import de projetProject import
Importez vos manuscrits existants depuis Word, PDF, HTML, RTF ou Markdown en quelques clics — détection automatique des chapitres, génération IA optionnelle de la bible et de la structure.Import existing manuscripts from Word, PDF, HTML, RTF or Markdown in just a few clicks — automatic chapter detection, optional AI generation of the story bible and structure.
NouveautésNew
Assistant d'import de projet (4 étapes : sélection fichier → aperçu chapitres éditable → progression → succès) accessible depuis le menu Fichier ou la palette de commandes (Cmd+K).Project Import wizard (4 steps: file picker → editable chapter preview → progress → success) accessible from the File menu or the command palette (Cmd+K).
Suggestion automatique du profil métier (romancier / journaliste / chercheur) selon le contenu, confirmée optionnellement par IA.Automatic suggestion of the professional profile (novelist / journalist / researcher) based on content, optionally confirmed by AI.
Bootstrap IA optionnel : après l'import, l'assistant peut générer la bible du roman (personnages, lieux, objets), les arcs narratifs et les synopsis de chapitre en chaînant les opérations de régénération existantes.Optional AI bootstrap: after import, the assistant can generate the story bible (characters, locations, objects), plot threads and chapter synopses by chaining existing regeneration operations.
1.3.0
Authorship IA & qualitéAI authorship & quality
Traçage transparent de chaque passage généré par l'IA, indicateur permanent « 100 % humain » ou « 🤖 X % IA », et nouveau panneau de qualité avec détection des marqueurs IA et auto-plagiat.Transparent tracking of every AI-generated passage, permanent “100 % human” or “🤖 X % AI” indicator, and a new quality panel with AI marker detection and self-plagiarism check.
Authorship IAAI authorship
Marquage discret et portable des passages générés par l'IA directement dans la source Markdown (commentaires HTML standards, survivent au copier-coller, visibles dans git diff).Discreet portable marking of AI-generated passages directly in the Markdown source (standard HTML comments, surviving copy-paste, visible in git diff).
Indicateur permanent dans la barre de statut, cliquable pour activer/désactiver la mise en évidence visuelle.Permanent status-bar indicator, clickable to toggle visual highlighting.
Suppression des marques d'authorship via clic droit, ou automatiquement à l'export (configurable).Removal of authorship marks via right-click, or automatically on export (configurable).
Qualité d'écritureWriting quality
Marqueurs IA : détection honnête de patterns associés à la prose générée par LLM (connecteurs surutilisés, cascades « X, Y, et Z », variance des longueurs de phrase).AI markers: honest detection of patterns associated with LLM-generated prose (overused connectors, “X, Y, and Z” cascades, sentence-length variance).
Passages dupliqués : détection des n-grammes de 8 mots ou plus qui se répètent entre vos propres chapitres.Duplicate passages: detection of n-grams of 8 words or more repeated between your own chapters.
Versions antérieures — pour le journal complet (1.0.x → 1.2.x), voir le fichier
CHANGELOG.md.
Earlier versions — for the full log (1.0.x → 1.2.x), see the
CHANGELOG.md file.