Changelog
Version actuelle : v2.1.2
v2.1.0
DernièreNouveau
- Import depuis Obsidian — wizard 4 étapes (source → fichier → options → progression). Parse le YAML frontmatter, les wiki-links [[]], les tags #tag, les callouts > [!note]. Mapping automatique des dossiers top-level vers les carnets Filarr.
- Thème Sakura — thème clair inspiré des cerisiers en fleurs, rose doux sur crème chaud.
- Thème Crépuscule — thème sombre crépusculaire, ambre et pourpre sur brun profond.
- Police Space Grotesk — nouvelle option typographique dans Apparence.
- Halos atmosphériques — overlay gradient subtil sur les thèmes à effets (Space, Aurora, Sakura, Crépuscule).
Amélioré
- Graphe Canvas2D — remplacement du rendu SVG par Canvas2D (10-50x plus rapide). Simulation d3-force avec Barnes-Hut, frustum culling, HiDPI, zoom vers le curseur.
- Graphe organique — formule de link strength 1/√max(degré), les sous-structures émergent naturellement au lieu de former une boule.
- Taille des nœuds proportionnelle à √connexions (6-40px), les hubs sont visuellement proéminents.
- Drag interactif — déplacer un nœud relance la simulation, les voisins réagissent. Le nœud reste épinglé.
- Labels intelligents — visibles selon le zoom et l’importance du nœud (hubs affichés en premier).
- Limite de nœuds passée de 500 à 2000.
- NotesList virtualisée — react-virtuoso réduit ~99% des nœuds DOM pour le scroll fluide avec des milliers de notes.
- Wiki-links cliquables — les [[note]] importées sont conservées en texte brut pour le plugin de décoration Filarr.
- Liens externes — Ctrl+Clic ouvre les URLs http(s):// dans le navigateur.
- Wiki-suggestions coupées à 20 résultats (perf avec 6000+ notes).
- Inline parser — support de ==highlight==, [[wiki-link|alias]], et conversion HTML→Markdown.
Corrigé
- Billing webhook — fallback +30 jours si Stripe ne renvoie pas current_period_end.
- NoteEditor — adaptation des couleurs de fond et texte par thème.
- Obsidian preprocessor — nettoyage des commentaires %%, boutons HTML, badges shields.io.
v2.0.0
Nouveau
- Synchronisation cloud zero-knowledge — chiffrement AES-256-GCM côté client, stockage R2 Europe (Frankfurt)
- Jumelage multi-appareils sécurisé — échange de clés ECDH P-256 via code à 6 chiffres
- Plans d’abonnement — Free (1 Go, 1 appareil), Solo (10 Go, 3 appareils, 4€/mois), Pro (50 Go, illimité, 8€/mois)
- Intégration Stripe — checkout, portail client, webhooks, détection automatique du changement de plan
- Synchronisation des profils entre appareils — nom, avatar, structure de dossiers
- Verrouillage automatique — configurable (5/15/30/60 min), efface la FEK de la mémoire
- Mode verrouillage renforcé — supprime .fek_safe à la fermeture, mot de passe vault requis à chaque lancement
- Clé de secours exportable — fichier JSON chiffré avec PBKDF2 + AES-GCM, restauration en 2 étapes
- Indicateur cloud-only — badge gris sur les fichiers disponibles uniquement en ligne
- Page filarr.com/account — gestion des appareils, abonnement et suppression de compte depuis le navigateur
- Onboarding multi-appareils — détection automatique device principal vs secondaire
Amélioré
- Manifest cloud chiffré avec la FEK (plus la clé locale) — compatible multi-appareils
- Deduplication des appareils — device ID persisté localement, upsert au login
- Auto-login après vérification email dans l’onboarding cloud
- Recalcul du quota storage depuis R2 (POST /sync/recalculate)
- Token refresh résilient — ne déconnecte plus sur erreur fichier Windows (EPERM)
- Notes supprimées avec le dossier parent (soft delete, plus d’orphelins)
- Changement de mot de passe synchronisé avec le compte cloud
Corrigé
- Quota storage désynchronisé après suppressions locales
- Pairing affiché sur le premier device (faux positif device count)
- FEK introuvable après réinitialisation StorageService (recherche multi-chemins)
- Metadata.json illisible sur Device B (clé de chiffrement non partagée)
- .fek_safe introuvable après changement de profil actif
- Sync ne démarrait pas automatiquement après l’onboarding
- Bouton Suivant visible pendant l’étape de jumelage
- Flag onboarding non persisté sur disque pour le flow secondaire
v1.7.1
Nouveau
- Indentation Tab / Shift+Tab dans les listes (checkboxes, puces, numérotées)
- Chevron collapse sur les checkboxes — replie/déplie le contenu imbriqué
- Détection automatique de la langue OS dès l’onboarding
- Sélecteur de langue sur la page de bienvenue (🇫🇷/🇬🇧)
- Single instance lock — empêche les lancements multiples, réactive la fenêtre existante
Amélioré
- Thème appliqué en temps réel dans l’onboarding
- Mise à jour silencieuse — installateur NSIS en arrière-plan, comme VS Code et Obsidian
- Installation auto à la fermeture quand une mise à jour est prête
- Persistance du thème sur disque via IPC (survit aux mises à jour)
- Thème pré-appliqué au chargement — plus de flash blanc en dark mode
- Marges des titres réduites (aligné sur Notion/Obsidian)
- Pipeline de release interactive — choix des plateformes à builder
- Workflow CI conditionnel — jobs séparés par plateforme
- Nom d’artefact Windows avec tirets (corrige le 404 auto-updater)
- Télémétrie rebranchée — stats KV Cloudflare reprennent
Corrigé
- setupAutoUpdater() appelé deux fois, doublant les event listeners
- Les thèmes Space, Lofi, Sky n’étaient pas restaurés au redémarrage
- Plusieurs instances pouvaient se lancer simultanément
- Le script release.js perdait les guillemets JSON dans le message de tag
v1.6.3
Nouveau
- Mot de passe de chiffrement à l’onboarding — dérivation KEK et initialisation FEK dès la création du profil
- Phrase de récupération (12 mots, style MetaMask) pour restaurer le mot de passe de chiffrement
- Réinitialisation du PIN via mot de passe de chiffrement ou phrase de récupération
- 3 nouveaux thèmes : Space (étoilé), Lofi (tons terre), Sky (bleus aériens)
- Code blocks améliorés — sélecteur de langage (24), copier, compteur de lignes, fold/collapse
- Import de vault complet (ZIP) — notes, dossiers, tags, paramètres, supports plain et chiffré
- Export enrichi — contenu TipTap JSON, métadonnées étendues, templates, flashcards, automations
- Nouveau logo SVG Filarr (composant adaptatif au thème) + tous les assets refaits
- Panneau latéral Notes repliable (Ctrl+B)
- 30+ couleurs d’accent et 36 couleurs d’avatar pour les profils
Amélioré
- Vue graphe — centrage instantané dès le premier frame, répulsion et ressorts adaptatifs
- Flashcards — parsing TipTap corrigé, pattern Q:/A: plus permissif
- Wiki-links — détection via texte brut TipTap au lieu de plainText (corrige les liens non détectés)
- Aperçu au survol des liens — popover au-dessus, délai 400ms, clic navigant
- Double onglet / Split view — chaque panneau gère son propre noteId indépendamment
- Persistance fenêtre — position, taille et état maximisé sauvegardés
- Sélecteur de thème — grille dynamique avec prévisualisation miniature
- Onboarding — conteneur scrollable, largeur augmentée
Corrigé
- Wiki-links insérés via [[ n’apparaissaient pas dans les linkedNoteIds
- Le popover de lien et le bouton « Lier une note » se superposaient au survol
- Flashcards ne trouvaient aucune paire Q/R (doubles sauts de ligne TipTap)
- En mode split, cliquer sur une note changeait aussi la note dans l’autre panneau
v1.6.2
Nouveau
- Import de notes (.md, .html, .txt, .filarr, .json) avec conversion automatique en TipTap JSON
- Recherche globale enrichie — trouve les notes (titre + contenu avec extrait) et les sections de paramètres
- Thèmes éditeur dark mode — variantes sombres automatiques pour Default, Writer et Developer
Amélioré
- Export de notes complet — conserve titres, listes, code blocks, tableaux, task lists, callouts, formules math, Mermaid et formatage inline
- Vue graphe style Obsidian — simulation de forces en espace infini, répulsion Coulomb, ressorts Hooke, auto-fit du viewport
- Dark mode sur les vues Masonry, Sticky Notes, Dataview et sélecteur de thème
- SearchResults redesigné avec icônes par type et navigation directe
- DashboardStats : compatibilité dark mode du donut chart SVG
- FolderView : miniatures masquées pour les fichiers verrouillés
- ManageProfilesModal : reset complet avec flag d’onboarding persisté sur disque
Corrigé
- Corrections CSS dark mode : BacklinksPanel, CalendarWidget, NoteEditor, NotesList, PeriodicNotes, TasksAggregator
v1.6.1
Amélioré
- Toast de mise à jour en bas à droite avec barre de progression et bouton « Redémarrer »
- Transmission de la version disponible et du pourcentage de téléchargement
Corrigé
- Le bandeau de mise à jour ne transmettait pas la version disponible
v1.6.0
Amélioré
- Lancement instantané — les services backend s’initialisent en parallèle du rendu UI
- Migration vers HashRouter pour compatibilité Electron en production
- Mise à jour automatique via releases.filarr.com (plus besoin de GH_TOKEN)
- Vérification automatique des mises à jour toutes les 4 heures
- Upload des manifestes .yml et .blockmap (mises à jour delta) vers R2
- Correction des chemins d’icônes en mode packagé
v1.5.3
Nouveau
- Wiki intégré traduit EN/FR (170+ clés) : guides, raccourcis, éditeur, vues, graph, templates
- Formulaire de rapport de bug et suggestions dans les paramètres
Amélioré
- Refonte du wiki intégré : navigation par catégories, rendu Markdown, recherche
v1.5.2
Nouveau
- Association de notes à un dossier parent (NoteFolderPicker)
- Système de flags persistants sur disque (survivent aux resets de localStorage)
- Protection SSRF : blocage des requêtes vers réseaux privés et endpoints cloud
- Validation de chemin et sanitization pour empêcher le path traversal
Amélioré
- PBKDF2 renforcé : 600 000 itérations (×6) + SHA-512 pour les exports
- Sel aléatoire par installation au lieu d’un sel fixe
- Permissions fichiers restreintes (0o600) pour les clés et exports
- PIN lockout dès 3 tentatives échouées au lieu de 5
- Refonte complète de l’onboarding (820+ lignes)
v1.5.1
Nouveau
- Fenêtre frameless style VS Code / Obsidian avec contrôles natifs en overlay
- Zone de drag dans la barre de titre (WebkitAppRegion)
Amélioré
- Refonte des templates de démarrage (1200+ lignes)
- Panneau latéral dans NotesView avec backlinks et dossier parent
- CSS global mis à jour pour le mode frameless (342 lignes)
v1.5.0
Corrigé
- Correction du quoting basename dans le workflow CI
- Amélioration du workflow release multi-OS
v1.4.6
Nouveau
- Liens de donation Ko-fi et Stripe dans les paramètres
Amélioré
- Détection dev/prod via app.isPackaged
- Résolution d’icône dynamique (dev vs packagé)
Corrigé
- Correction du type ProfileMetadata (champ avatarImage)
- Correction de l’erreur window renderer
v1.4.0
Nouveau
- Image personnalisée sur les avatars de profil
- UI Tour complet avec ouverture automatique de la sidebar
- Script de release automatisé
Amélioré
- Palette étendue de couleurs pour les profils
- Écran de verrouillage PIN avec support d’image
v1.3.0
Nouveau
- Système multi-profil avec PIN lock et isolation des données
- Chiffrement local KEK/FEK : FEK dérivé du mot de passe, chiffrement transparent
- Éditeur de notes riche avec wiki-links [[]], vues multiples (kanban, masonry, canvas, mind map...)
- Internationalisation EN/FR complète
- Sécurité Electron : fuses, rate limiting, IPC allowlist, CSP
Amélioré
- Refonte complète du codebase (394 fichiers)
- Migration TypeScript (99.26% couverture de tests)
- Optimisation scroll : lazy thumbnails, content-visibility, memo
Corrigé
- Pipeline FEK pour chiffrement hybride
- 17 issues critiques de production résolues
- 7 erreurs TypeScript backend corrigées
v1.2.6
Amélioré
- Mise à jour du système de cryptage
Corrigé
- Corrections de bugs divers
- Correction du bug de mise à jour automatique
↓ 18 mois de développement solo — refonte complète du moteur de chiffrement, éditeur de notes, graph view, multi-profil.
v1.2.0
Amélioré
- Passage en production avec variable d’environnement
v1.1.0
Nouveau
- Création du squelette du logiciel
- Stockage local avec chiffrement AES
- Personnalisation des fichiers et dossiers (couleurs, icônes)
- Sélection multiple avec actions groupées
- Système de rappels avec notifications desktop
- Mise à jour automatique (electron-updater)
Corrigé
- Synchronisation des fichiers
- Erreur de renommage
- Suppression dans les sous-dossiers
- Copier/coller
- Notifications de rappel après complétion