Changelog

Current version: v2.1.2

v2.1.0

Latest
New
  • Import from Obsidian — 4-step wizard (source → file → options → progress). Parses YAML frontmatter, wiki-links [[]], #tags, callouts > [!note]. Auto-maps top-level folders to Filarr notebooks.
  • Sakura theme — light cherry-blossom theme, soft pink on warm cream.
  • Crépuscule theme — dark twilight theme, amber and purple on deep brown.
  • Space Grotesk font — new typographic option in Appearance.
  • Atmospheric halos — subtle gradient overlay on effect themes (Space, Aurora, Sakura, Crépuscule).
Improved
  • Canvas2D graph — replaced SVG rendering with Canvas2D (10-50x faster). d3-force simulation with Barnes-Hut, frustum culling, HiDPI, zoom to cursor.
  • Organic graph — link strength formula 1/√max(degree), sub-structures emerge naturally instead of forming a ball.
  • Node size proportional to √connections (6-40px), hubs are visually prominent.
  • Interactive drag — moving a node restarts the simulation, neighbors react. Node stays pinned where dropped.
  • Smart labels — visible based on zoom level and node importance (hubs shown first).
  • Node limit raised from 500 to 2,000.
  • Virtualized NotesList — react-virtuoso reduces ~99% of DOM nodes for smooth scrolling with thousands of notes.
  • Clickable wiki-links — imported [[note]] are kept as plain text for Filarr decoration plugin.
  • External links — Ctrl+Click opens http(s):// URLs in the browser.
  • Wiki-suggestions capped at 20 results (perf with 6,000+ notes).
  • Inline parser — support for ==highlight==, [[wiki-link|alias]], and HTML→Markdown conversion.
Fixed
  • Billing webhook — fallback +30 days if Stripe doesn't return current_period_end.
  • NoteEditor — adapted background and text colors per theme.
  • Obsidian preprocessor — cleanup of %% comments, HTML buttons, shields.io badges.

v2.0.0

New
  • Zero-knowledge cloud sync — client-side AES-256-GCM encryption, R2 storage in EU (Frankfurt)
  • Secure multi-device pairing — ECDH P-256 key exchange via 6-digit code
  • Subscription plans — Free (1 GB, 1 device), Solo (10 GB, 3 devices, €4/mo), Pro (50 GB, unlimited, €8/mo)
  • Stripe integration — checkout, customer portal, webhooks, automatic plan change detection
  • Profile sync between devices — name, avatar, folder structure
  • Auto-lock — configurable (5/15/30/60 min), clears FEK from memory
  • Enhanced lock mode — deletes .fek_safe on exit, vault password required on every launch
  • Exportable recovery key — JSON file encrypted with PBKDF2 + AES-GCM, 2-step restore
  • Cloud-only indicator — gray badge on files only available online
  • filarr.com/account page — manage devices, subscription and delete account from browser
  • Multi-device onboarding — automatic primary vs secondary device detection
Improved
  • Cloud manifest encrypted with FEK (not local key) — multi-device compatible
  • Device deduplication — device ID persisted locally, upsert on login
  • Auto-login after email verification in cloud onboarding
  • Storage quota recalculation from R2 (POST /sync/recalculate)
  • Resilient token refresh — no longer logs out on Windows file lock (EPERM)
  • Notes deleted with parent folder (soft delete, no more orphans)
  • Password change synced with cloud account
Fixed
  • Storage quota desynchronized after local deletions
  • Pairing shown on first device (false positive device count)
  • FEK not found after StorageService reinitialization (multi-path search)
  • metadata.json unreadable on Device B (encryption key not shared)
  • .fek_safe not found after active profile change
  • Sync did not start automatically after onboarding
  • Next button visible during pairing step
  • Onboarding flag not persisted to disk for secondary device flow

v1.7.1

New
  • Tab / Shift+Tab indentation in lists (checkboxes, bullets, numbered)
  • Collapse chevron on checkboxes — fold/unfold nested content
  • Automatic OS language detection at onboarding
  • Language selector on welcome page (🇫🇷/🇬🇧)
  • Single instance lock — prevents multiple launches, reactivates existing window
Improved
  • Theme applied in real-time during onboarding
  • Silent update — NSIS installer runs in background, like VS Code and Obsidian
  • Auto-install on close when an update is ready
  • Theme persistence on disk via IPC (survives updates)
  • Theme pre-applied on load — no more white flash in dark mode
  • Reduced heading margins (aligned with Notion/Obsidian)
  • Interactive release pipeline — choose which platforms to build
  • Conditional CI workflow — separate jobs per platform
  • Windows artifact name with dashes (fixes auto-updater 404)
  • Telemetry reconnected — Cloudflare KV stats resume
Fixed
  • setupAutoUpdater() called twice, doubling event listeners
  • Space, Lofi, Sky themes were not restored on restart
  • Multiple instances could launch simultaneously
  • release.js script lost JSON quotes in tag message

v1.6.3

New
  • Encryption password at onboarding — KEK derivation and FEK initialization on profile creation
  • Recovery phrase (12 words, MetaMask-style) to restore the encryption password
  • PIN reset via encryption password or recovery phrase
  • 3 new themes: Space (starfield), Lofi (warm earth tones), Sky (airy blues)
  • Enhanced code blocks — language selector (24), copy, line count, fold/collapse
  • Full vault import (ZIP) — notes, folders, tags, settings, supports plain and encrypted
  • Enriched export — TipTap JSON content, extended metadata, templates, flashcards, automations
  • New Filarr SVG logo (theme-adaptive component) + all assets updated
  • Collapsible Notes side panel (Ctrl+B)
  • 30+ accent colors and 36 avatar colors for profiles
Improved
  • Graph view — instant centering on first frame, adaptive repulsion and springs
  • Flashcards — fixed TipTap parsing, more permissive Q:/A: pattern
  • Wiki-links — detection via TipTap raw text instead of plainText (fixes undetected links)
  • Link hover preview — popover above link, 400ms delay, click navigates
  • Dual tab / Split view — each panel manages its own noteId independently
  • Window persistence — position, size, and maximized state saved
  • Theme selector — dynamic grid with thumbnail preview
  • Onboarding — scrollable container, increased width
Fixed
  • Wiki-links inserted via [[ did not appear in linkedNoteIds
  • Link popover and "Link a note" button overlapped on hover
  • Flashcards found no Q/R pairs due to TipTap double line breaks
  • In split mode, clicking a note in one panel also changed the other panel

v1.6.2

New
  • Note import (.md, .html, .txt, .filarr, .json) with automatic TipTap JSON conversion
  • Enhanced global search — finds notes (title + content with context excerpt) and settings sections
  • Editor dark mode themes — automatic dark variants for Default, Writer and Developer presets
Improved
  • Complete note export — preserves headings, lists, code blocks, tables, task lists, callouts, math formulas, Mermaid and inline formatting
  • Obsidian-style graph view — infinite space force simulation, Coulomb repulsion, Hooke springs, auto-fit viewport
  • Dark mode on Masonry, Sticky Notes, Dataview views and theme selector
  • Redesigned SearchResults with type-specific icons and direct navigation
  • DashboardStats: dark mode compatibility for SVG donut chart
  • FolderView: thumbnails hidden for locked protected files
  • ManageProfilesModal: full reset with onboarding flag persisted to disk via IPC
Fixed
  • Dark mode CSS fixes: BacklinksPanel, CalendarWidget, NoteEditor, NotesList, PeriodicNotes, TasksAggregator

v1.6.1

Improved
  • Update toast in bottom-right corner with progress bar and "Restart" button
  • Available version and download percentage now transmitted to renderer
Fixed
  • Update banner did not transmit the available version

v1.6.0

Improved
  • Instant launch — backend services initialize in parallel with UI rendering
  • Migration to HashRouter for Electron production compatibility
  • Auto-update via releases.filarr.com (no more GH_TOKEN needed)
  • Automatic update check every 4 hours
  • Upload .yml manifests and .blockmap (delta updates) to R2
  • Fixed icon paths in packaged mode

v1.5.3

New
  • Built-in wiki translated EN/FR (170+ keys): guides, shortcuts, editor, views, graph, templates
  • Bug report and suggestion form in settings
Improved
  • Redesigned built-in wiki: category navigation, Markdown rendering, search

v1.5.2

New
  • Associate notes with a parent folder (NoteFolderPicker)
  • Persistent flags system on disk (survives localStorage resets)
  • SSRF protection: block requests to private networks and cloud metadata endpoints
  • Path validation and sanitization to prevent path traversal
Improved
  • Strengthened PBKDF2: 600,000 iterations (×6) + SHA-512 for exports
  • Random salt per installation instead of fixed derived salt
  • Restricted file permissions (0o600) for keys and exports
  • PIN lockout after 3 failed attempts instead of 5
  • Complete onboarding redesign (820+ lines)

v1.5.1

New
  • Frameless window VS Code / Obsidian style with native overlay controls
  • Drag zone in title bar (WebkitAppRegion)
Improved
  • Starter templates redesign (1200+ lines)
  • Side panel in NotesView with backlinks and parent folder
  • Global CSS updated for frameless mode (342 lines)

v1.5.0

Fixed
  • Fixed basename quoting in CI workflow
  • Improved multi-OS release workflow

v1.4.6

New
  • Ko-fi and Stripe donation links in settings
Improved
  • Dev/prod detection via app.isPackaged
  • Dynamic icon resolution (dev vs packaged)
Fixed
  • Fixed ProfileMetadata type (avatarImage field)
  • Fixed window renderer error

v1.4.0

New
  • Custom profile avatar images
  • Full UI Tour with automatic sidebar opening
  • Automated release script
Improved
  • Extended color palette for profiles
  • PIN lock screen with image support

v1.3.0

New
  • Multi-profile system with PIN lock and data isolation
  • Local KEK/FEK encryption: FEK derived from password, transparent encryption
  • Rich note editor with wiki-links [[]], multiple views (kanban, masonry, canvas, mind map...)
  • Full EN/FR internationalization
  • Electron security: fuses, rate limiting, IPC allowlist, CSP
Improved
  • Full codebase overhaul (394 files)
  • TypeScript migration (99.26% test coverage)
  • Scroll optimization: lazy thumbnails, content-visibility, memo
Fixed
  • FEK pipeline for hybrid encryption
  • 17 critical production issues resolved
  • 7 backend TypeScript errors fixed

v1.2.6

Improved
  • Updated encryption system
Fixed
  • Various bug fixes
  • Fixed auto-update bug

↓ 18 months of solo development — complete rewrite of encryption engine, note editor, graph view, multi-profile.

v1.2.0

Improved
  • Production deployment with environment variables

v1.1.0

New
  • Initial software skeleton
  • Local storage with AES encryption
  • File and folder customization (colors, icons)
  • Multi-select with batch actions
  • Reminder system with desktop notifications
  • Auto-update (electron-updater)
Fixed
  • File synchronization
  • Rename error
  • Deletion in subfolders
  • Copy/paste
  • Reminder notifications after completion