This release builds on v2.0.0 with four new features, a series of performance and UX fixes, and a complete documentation and code-quality pass. No breaking changes — vaults and databases from v2.0.0 open without migration.
What's New
Workspaces
- Save and restore named work contexts (open tabs, active note, view mode, sidebar and split-pane layout) — similar to VS Code workspace sessions
- Access from File → Workspaces or the command palette (
Workspace:) - Restoring a workspace is additive: it reopens saved notes without closing your current ones
Advanced Search
- Operator-based search syntax alongside free text:
tag:,folder:,title:,body:,created:,modified:,favorite:,private:,has:,is:orphan, and negation with- - Date shorthands:
today,yesterday,last-week,last-month,YYYY-MM-DD - Parser is strict but forgiving — unknown operators fall back to literal text, invalid values are skipped without breaking the rest of the query
- Full documentation in
doc/SEARCH.md
Git Sync panel
- Unified IDE-style panel: repository status (branch, remote, ↑ahead / ↓behind), a single change list with
M / A / D / ?? / UUprefixes, commit message field, activity log, and all safe operations — Refresh, Stage All, Unstage All, Commit, Pull, Push, Sync - Conflict detection: unmerged paths are surfaced for manual resolution; no auto-merge, no force push
- Replaces two separate "pending changes" and "commit" dialogs that duplicated the same information
Knowledge Insights
- New panel (View → Knowledge Insights,
Ctrl/Cmd+Shift+I) with vault analytics: note and link counts, top-connected notes, orphans, broken links, notes without tags, and tag usage - Graph health score (0–100) with an itemised breakdown: orphan ratio, untagged ratio, broken links
- Graph filters (text, tag, folder) that re-render from the cached model without a full rebuild
Fixes & Improvements
Performance — iCloud and large vaults
- Startup no longer hangs on vaults with many cloud-offloaded files. The filesystem DAO now builds a metadata-only cache at launch (filenames + timestamps, zero file reads) and loads note contents, tags and links in a background daemon thread. The UI is usable immediately; the list refreshes automatically when loading completes
- Backlinks no longer trigger a second per-note file read. Link targets are extracted and cached when a note is first read;
BacklinkServicereuses them without extra I/O
UI / UX
- Pin icon is now a real thumbtack (
bi-pin-angle, Bootstrap Icons) instead of a map location pin — consistent across the notes list and the editor toolbar - Git Sync panel header redesigned: branch and change summary on the first line, remote URL on its own line with ellipsis truncation; summary color changed from green (reserved for added lines) to a neutral tone
- Folder filter in the sidebar now shows the correct placeholder instead of the advanced-search hint
- Command Palette and Quick Switcher hints and placeholders are now fully localised (EN / ES)
- Preferences dialog shows the actual storage location (vault path or absolute SQLite path) instead of a hardcoded string
- About dialog version is now read from a single source and will not fall out of sync on future releases
GitServiceforcesLC_ALL=Con every subprocess so status parsing works correctly on non-English systems
Tooling
- Build and launch scripts discover the uber-JAR by glob (
jylos-*-uber.jar) — no version string to update on each release - 203 tests, all green
Downloads
Download the package for your platform:
- Windows — portable app-image,
.exeinstaller,.msiinstaller - macOS — DMG (opt-in code signing and notarization via
JYLOS_MAC_SIGN_IDENTITY/JYLOS_NOTARY_PROFILE) - Linux —
.deb/.rpm(detected automatically by the packaging script) - Any platform — uber-JAR (requires Java 21 + JavaFX 23 on
PATH)
Technology Stack
Java 21 · JavaFX 23 · SQLite · Maven · Ikonli (Feather + Bootstrap Icons)
License
Released under the MIT License.