Release notes
1.0.0-beta.9
7 November 2026
This release adds a Today's dashboard for the tasks due and overdue, notes you can lock, pictures in frontmatter and beside people links, a light and a dark theme per vault with custom themes you can build and keep, and clippings that match the Obsidian Web Clipper's frontmatter. It also fixes a bug where a note could be overwritten with the welcome text while a vault was restoring.
Today's dashboard
- Run Today's Dashboard from the command palette. It shows the date, the open tasks due today, and the ones that slipped, oldest first with priority as the tie-break. Tick a row to complete the task in its note, the same way the board does, or click it to open the note. A Refresh button rescans the vault.
- Only tasks with a
📅due date are listed, and the archive note is left out, as on the board.
Locked notes
- Lock Note in the command palette writes
locked: trueto the note's frontmatter. While it is set, the editor refuses every change: typing, the margin+button, the Insert menu, slash commands, drops, and AI rewrites. A banner above the note offers Unlock, which removes the property again. - The lock is part of the file, so it travels with the vault and shows up in Obsidian's properties.
Pictures and switches in frontmatter
- A property named
photo,image,avatar,cover,picture, orthumbnail, or any property whose value names an image, shows a thumbnail, a Choose... button that copies a picture from disk into the vault's image folder, and takes a picture dropped from Finder onto the row. The value is written as"[[file.jpg]]", the form Obsidian uses, and quoted values now resolve to the file. - A property whose value is
trueorfalseis edited with a switch. - A wikilink to a note under
People/whose frontmatter names aphoto,image, oravatarshows that picture beside the link. The Markdown is untouched, a link that could mean more than one note shows no picture, and pictures update after any save in the vault.
Themes
- A vault now picks a light theme and a dark theme, and the appearance mode decides which one applies. Picking a theme previews it live; closing Settings without saving reverts it.
- The Theme Builder starts from any theme and saves the result as a named custom theme. Custom themes sit in the light or dark grid beside the built-ins, can be edited or deleted, and are shared by every vault on this machine. The vault stores only the theme's id. On a machine without that custom theme, the Cupertino theme of the same base is shown instead.
- The tidbit capture window follows the vault's theme for the current mode.
- Toggles in Settings and the frontmatter editor are drawn as switches.
Editing
- Fixed: a note could be overwritten with the welcome text. When settings loaded during vault restore rebuilt the editor, a tab could be read from the editor that was never hydrated, and autosave wrote the placeholder to disk. The live editor is now always the one hydrated, and the placeholder is never taken as a note's content.
- Shift+Up and Shift+Down from a selected block (a rich link, a table, a drawing) extend the selection across the block into the text beyond it, and Backspace deletes the whole selection. Each block the selection covers is outlined. Before, the block fell out of the selection on the first press.
- A wikilink shows its brackets only while the caret is inside it. Before, every link on the active line showed its raw syntax.
- Clicking a rich link card opens its URL in the browser.
- Opening a note by clicking a calendar day or a file row no longer leaves a stray caret in the top left corner of the editor.
- The calendar highlights the day whose note is open, and its Today button opens today's note instead of only showing the month.
- The graph applies its starting zoom when it opens.
Web clipper
- Clippings follow the Obsidian Web Clipper's default template, so a vault shared with it holds one shape of clipping:
authoris a list of wikilinks,publishedandcreatedare dates, and the note gainssourcetype: default,reviewed: false,coverwith the page's share image, andpermalink. Theclippedproperty is replaced bycreated. - The Chrome extension has moved to its own repository, glyphary-web-clipper, and is packaged for the Chrome Web Store. Its popup gains a source type (
article,default,github,link,video, or a word of your own), remembered per category, with GitHub and video pages preselected. When a page has a share image, the extension saves it the way the Obsidian Featured Image plugin does: the original underthumbnails/external/, a 256x144 WebP underthumbnails/resized/, referenced fromfeatureandthumbnail.
Known limitations
- A theme tuned token by token in an earlier beta is not carried over. Rebuild it in the Theme Builder and save it as a custom theme.
- Completing a task from the dashboard while its note has unsaved edits removes the row although the note was not changed. Refresh brings it back.
- Base support is a documented subset of Obsidian Bases, not the full engine. Only simple filter conditions are edited as fields; anything else is edited as expression text.
- The graph counts
#tagsinside fenced code, and its legend matches tags exactly rather than by hierarchy. - The web clipper fetches pages without a browser session, so pages behind logins or rendered by JavaScript clip poorly from the app. Use the extension for those.
- Obsidian's live preview only exposes a tag's root segment, so an exported colour for a nested tag shows its root's colour there.
- Obsidian Sync skips
.excalidrawfiles unless "Sync all other types" is enabled on every device. - The Windows installer is unsigned, so SmartScreen shows an "unrecognized app" prompt on first launch.
Under the hood
- Theme palettes left the Rust side. Vault settings keep two theme ids, and the token allowlist and value validation went with the per-vault token overrides.
- Note locking, the theme library, the dashboard, people photos, and image-valued frontmatter are separate modules; the task scan, task labels, and theme lists are shared instead of copied.
- Frontend contract tests grew to 146 and Rust tests to 84. Block selection was verified in headless WebKit and Chromium.
1.0.0-beta.8
27 September 2026
This release looks at the vault as a whole instead of one note at a time. It adds a link graph, Bases you can build inside the app, a task board that reads Obsidian Tasks metadata, completion for tags and people, tag colours, and a web clipper with a Chrome extension. It also fixes a serializer bug that was damaging notes on save.
Graph view
- Press
Cmd+Gfor a graph of every note and its links, orCmd+Shift+Gfor the notes around the current one. Both are also in the command palette and the View menu. - Nodes are coloured by cluster, tags can filter the graph, and a globe mode wraps the same layout onto a sphere.
- There is no index to keep fresh. Each open rescans the vault, which takes well under a second even for very large vaults.
Bases
- Create a
.basefile from a folder's context menu and edit it in a form: views, filters,order:,sort:,limit:, and the card image property. Edits mark the tab dirty and are written on save, like any other document. - Filters can nest
and,or, andnotgroups at the base level and per view. They are evaluated in order and support==,!=, comparisons, andcontains. - Formulas follow the Obsidian Bases syntax and function set, with typed values, dates, and durations. A formula that loops or fails shows up in the editor's "Base problems" list instead of breaking the view.
- The editor pane follows macOS conventions, and filter rows are readable in dark mode.
Tasks
- The Task Board is a Kanban window with To Do, In Progress, and Done columns over every task in the vault. Drag a card or use its arrows to change the checkbox in the note. A note with unsaved edits refuses the move until you save it, and a clean open tab reloads on its own. Clicking a card opens the note in the main window.
- Cards read the Obsidian Tasks emoji format. Priority and due date show on the card, overdue in red, and each column can be sorted by priority, due date, or recent update.
- The archive button on a Done card cuts the task and its sub-bullets out of the note and appends them to an archive note, stamped with the source note and the date. The archive note is set in Settings and is left out of the board. Done shows the newest 25 finished tasks, with a Show All button at the foot of the column.
- On a task line,
+at the start of a word opens a menu of priorities and due shortcuts: pick a day from a calendar, or choose today, tomorrow, or next week./due,/scheduled, and/startin the slash menu, or typing a date emoji, open the same calendar at the caret and write📅 2026-09-27. - Obsidian status markers such as
[/],[-],[>], and[?]render as status boxes and survive editing. - The Tasks drawer remembers its sort order per vault.
Tags and people
- Type
#at the start of a word and a list of the vault's tags drops under the caret, most used first, filtering as you type. Enter, Tab, or a click completes it. Enter on a tag nobody has used yet keeps what you typed. - Notes under
People/are people. Type@to complete one the same way; the result is a plain[[Name]]link. - Inline
#tagsin note text render as pills, the same as frontmatter tags. - Pick a colour for a tag from the Tags drawer. Nested tags inherit it, and it shows on inline tags, frontmatter pills, and in the drawer. Tags without a pick stay neutral. Settings, then Export, writes the picks as an Obsidian CSS snippet so the vault looks the same in both apps.
- A Tags drawer lists every tag with its notes, and the Recent drawer has an activity heatmap with hover tooltips.
Web clipper
- Clip a web page by URL from the command palette, through a
glyphary://cliplink, or with a bookmarklet you can copy from the palette. Pages land inClippings/as Markdown with the same frontmatter Obsidian's clipper writes. A selection clips as a quote. - A Chrome extension, in the repository's
browser-extension/folder, clips the current tab straight to disk using Defuddle. It supports categories mapped to vault folders, tags, and an optional hand-off that opens the note in Glyphary.
Editing
- Fixed: saving no longer damages notes. The Markdown serializer used to backslash-escape
[[links]],#tags,a_b, and*, and HTML-encode<and&, on every save. Text now comes back exactly as typed. A note that an earlier build saved as\[\[Note\]\]reads back as[[Note]]and is repaired the next time you save it. - Table column widths follow the Pandoc convention: the number of dashes in the separator row sets each column's share of the width. Dragging a column border in the visual editor works.
- Typing
- [ ]turns a bullet into a task, and typing through the slash menu keeps the keystroke. - Image properties accept bare wikilinks, as in
photo: "[[file.jpg]]", the way Obsidian writes them.
Windows and drawers
- Settings and the Task Board open in their own windows and stay in sync with the main window. Closing the main window now quits the app even while they are open.
- A gear at the foot of the vault rail opens Settings.
- The inspector drawer can be pinned open, or left unpinned so it shows on hover.
- The folder tree refreshes after you delete a file in a nested folder.
- The Settings checkboxes for Vim mode and the slash menu no longer throw when toggled.
Known limitations
- Base support is a documented subset of Obsidian Bases, not the full engine. Only simple filter conditions are edited as fields; anything else is edited as expression text.
- The graph counts
#tagsinside fenced code, and its legend matches tags exactly rather than by hierarchy. - The web clipper fetches pages without a browser session, so pages behind logins or rendered by JavaScript clip poorly from the app. Use the extension for those.
- Obsidian's live preview only exposes a tag's root segment, so an exported colour for a nested tag shows its root's colour there.
- Obsidian Sync skips
.excalidrawfiles unless "Sync all other types" is enabled on every device. - The Windows installer is unsigned, so SmartScreen shows an "unrecognized app" prompt on first launch.
Under the hood
- The Bases engine (reader, writer, expression parser, and evaluator) lives in its own Rust modules with their own test suites.
- The task board, inline completion, task field pickers, window opening, and cross-window notices are modules with explicit dependencies. The main app file only wires them together.
- Card dragging uses pointer events because HTML5 drag and drop snaps back inside the WebKit webview.
- Frontend contract tests grew to 131 and Rust tests to 83. The Markdown round trip was checked in headless Chromium.
1.0.0-beta.7
23 August 2026
This release is about writing flow: a slash command menu, a focus mode, a new theme pair, better search, and fixes for Excalidraw and the editor. It also restructures a large part of the app shell, which does not change what you see but makes the next releases safer to build.
Slash commands and first-use hints
- Type
/at the start of a line or after a space to open a menu of the Insert and AI commands at the caret. Type to filter, press Enter to run, or press Esc to keep the plain slash. - The slash menu is on by default and can be turned off per vault in Settings, under Editor.
- The first time you use the slash menu or the Source drawer, a short hint explains it. Hints can be disabled or reset from the new Hints section in Settings.
Focus mode
- Enter Focus Mode from the command palette or from View in the menu bar. It hides the file drawer, inspector, tabs, formatting toolbar, frontmatter, and every title-bar icon except Save and the command palette. Drawer widths, open tabs, and scroll positions come back unchanged when you exit.
Themes and appearance
- Two new theme templates, Cupertino and Cupertino Dark: white or graphite surfaces, one blue accent, system fonts, soft shadows, and dark code colors in the light variant.
- Picking a template now switches light or dark mode to match it. Closing Settings without saving reverts both the preview and the mode.
- The Theme Builder can now set shadow, highlight, and list-marker colors. Two new theme options hide the accent border around the active note and cast a shadow from the file drawer.
- The selected file in the drawer uses the theme accent, and every template ships with a full-width editor.
- Saving Settings closes the dialog. If a save is rejected, the reason appears inside the dialog instead of vanishing.
Editing
==text==becomes a highlight as you type, and~~text~~strikes through without needing a leading space.- Syntax highlighting and the code block picker now cover 40 languages, including Go, C, C++, Java, C#, Swift, Kotlin, PHP, Ruby, YAML, TOML, Dockerfile, diff, Makefile, Lua, Perl, R, Scala, Haskell, PowerShell, GraphQL, LaTeX, Protobuf, Dart, and Elixir, with the usual fence aliases.
- A Mermaid syntax error stays inside its block instead of pushing a full-width error banner into the page.
- The insertion
+controls now appear between adjacent callouts, columns, and collapsible blocks, and the caret lands in the editor as soon as a note opens. - Dialogs and popovers were reworked, and files can be dragged into the editor from the system and between split panes.
- Obsidian-style
glyphary://openlinks open a vault file from other apps.
Search
- A query with several words finds notes that contain every word, in any order. Each word is still a regular expression.
- Results are sorted newest first before the result limit applies, so a recently edited note is never pushed out of a large result set.
AI
- AI: Diagram from selection or note draws the text as an editable Mermaid flowchart, sequence diagram, or state diagram and inserts it below the source after review.
- AI: Humanize selection rewrites AI-sounding prose using the patterns from Wikipedia's "Signs of AI writing" while keeping every claim.
Excalidraw
- Saving a drawing no longer leaves it marked unsaved. The dialog shows a Saved confirmation and disables Save until the next edit.
- Notes with embedded drawings no longer flicker when you return to them, and a preview that cannot load now says why.
- Previews render offline because the Excalidraw fonts now ship with the app instead of loading from a CDN.
Known limitations
- Obsidian Sync skips
.excalidrawfiles unless "Sync all other types" is enabled on every device. Otherwise a drawing made on one machine shows as a missing preview on another. - The Windows installer is unsigned, so SmartScreen shows an "unrecognized app" prompt on first launch.
Under the hood
- The main app file lost about 1,850 lines. Excalidraw sessions, AI commands, the command palette catalog, and vault file operations now live in their own modules with explicit dependencies.
- The frontend contract tests are split into nine files by area, and a new test checks that every Theme Builder token is accepted by the Rust settings allowlist.
- Theme options and code block languages are each defined in one table that drives both the interface and the behavior.
1.0.0-beta.6
14 July 2026
This release makes everyday navigation faster and moves the most common workspace actions into a quieter, configurable title bar.
Faster document opening
- Document rows in Files, nested folder trees, Search, Recent, Starred, and Tasks open with one click by default.
- A per-vault setting, Open documents with a double click, restores selection before opening for people who prefer it. Keyboard activation works in either mode.
Native workspace controls
- Back moved onto the title-bar row above the active Files drawer.
- New Note and New Folder title-bar actions are visible by default, can be hidden independently, and keep their folder context-menu equivalents.
- A command palette button sits beside Save;
Cmd+Pstill works. - The welcome screen hides drawer, document, appearance, and status controls until a vault is open.
Interface settings
- A new Interface settings group covers the New Note and New Folder buttons, the title-bar document proxy, the status bar, and document click behavior.
- Existing vault settings pick up the new one-click and visible-button defaults without rewriting hand-edited configuration values.
Under the hood
- Document activation is centralized, so Files, Search, Recent, Starred, Tasks, and folder trees share one click policy.
- Settings checkboxes and title-bar vault actions were extracted for reuse, display settings are normalized once per render, and the Rust migration defaults were consolidated.
- The README and user manual were updated, with regression tests for click and keyboard activation, interface defaults, older vault settings, title-bar controls, and the welcome screen.
This is still a beta because it changes persisted per-vault interface settings and document-opening behavior. Existing settings files receive the new defaults automatically.
1.0.0-beta.5
13 July 2026
This release turns Glyphary from a single-vault Markdown editor into a fuller desktop workspace. The main additions are remembered vaults, starred files, Base views, structured frontmatter editing, and native macOS integration.
Vaults, files, and navigation
- A vault library remembers opened folders and switches between them without the system picker. Each vault restores its own current folder, open and recent files, active page, drawer state, and split layout. Entries can use custom cover images and can be forgotten without deleting the vault on disk.
- A Starred view lists notes, canvases, and Base files. Starred items can be reordered by dragging, follow renamed or moved files and folders, and drop off the list when a file is deleted.
- Optional file-tree previews show note excerpts and first-image thumbnails, with settings for files inside folder trees, preview images, and the folder-tree background.
- Calendar notes render a preview on hover, including an empty-state preview for days without a note, with a configurable delay.
Frontmatter and Markdown editing
- The freeform frontmatter textarea is replaced by one single-line row per property. Properties can be added, renamed, edited, and removed without exposing the raw metadata block. Tags and other multi-value properties are edited as pills, with support for inline arrays and YAML block lists. YAML and TOML delimiters and unrelated source lines are preserved during row edits.
- The pipe in a wikilink alias such as
[[Page|Display text]]now stays inside its Markdown table cell. - Cursor movement around rendered block widgets was fixed, so you can enter and leave surrounding text without getting trapped or skipping an insertion point.
- Rendering in the standalone Tidbit capture window was fixed.
Base files and canvas
- Obsidian-compatible
.basefiles open as local database-style views over Markdown frontmatter, with multiple named table or gallery views per file. - Gallery cards can render local or remote note images with side or top image layouts.
- Base views show result counts, title search, ascending and descending property sorting, and controls for choosing visible properties. Clicking a table row or gallery card opens its source note.
- Base and canvas files take part in recent files, starring, reordering, native file actions, and tab restoration like Markdown notes.
Native macOS integration
- Native File, Edit, Insert, Format, View, Window, and Help menus reflect the current enabled and checked states, including Open Recent, tab navigation, drawer toggles, appearance choices, table commands, and active-file actions.
- Vault entries, tables, Base controls, and vault-library items use native context menus when available.
- Settings opens in its own window on macOS.
- Markdown, Canvas, and Base files inside the current vault have native file associations and Open With handling.
- Files and folders gained Open in Default App, Reveal in Finder, and Copy Path actions.
- An optional title-bar document proxy shows active-file actions and dirty state. The title-bar layout, traffic-light placement, drag regions, native window material, window restoration, and single-instance file opening were reworked.
Appearance and settings
- New controls for the title-bar document proxy and the folder-tree background.
- Glass overlays are lighter, so native material stays visible without washing out the editor. Settings, command palettes, and other decision surfaces stay opaque for readability.
Under the hood
- Editor, search, vault state, tasks, command palette, and Excalidraw code moved out of the main app shell into focused modules, and Settings, theme controls, vault context menus, and file-action helpers were split out as well.
- The startup update check now compares the running version with GitHub's latest published release.
- A real-app Tauri smoke-test harness has a self-test mode and an owned scratch-note workflow.
- Regression tests cover per-vault sessions, vault-library persistence, Base queries, file previews, native menus, frontmatter rows and pills, and wikilink aliases inside tables.
- Patched DOMPurify and Lodash ES releases are pinned in the Markdown and diagram dependency tree.
This is still a beta because it changes workspace persistence, frontmatter serialization, Markdown table parsing, Base queries, and native window behavior. Test it against a real vault and keep a normal backup before replacing a daily build.
1.0.0-beta.3 and 1.0.0-beta.4
27 and 28 June 2026
beta.4 is beta.3 with a working update check; the beta.3 build could not detect newer releases, so install beta.4 and ignore beta.3. Both add pieces that were missing from the earlier releases, and some of them were must-haves (oops): Mermaid diagrams, in-page search, startup update checks, and more complete inline Markdown formatting, while files stay plain Markdown on disk.
Markdown and formatting
- Fenced
mermaidcode blocks render as diagrams, with an Edit control to return to the Markdown source, and the command palette gained Insert Mermaid Diagram. <kbd>...</kbd>renders as keyboard-style inline text.- Format commands wrap text as keyboard keys, strikethrough, highlight, superscript, or subscript, and
==highlight==,^superscript^, and~subscript~render inline. - Keyboard formatting wraps the current selection inline instead of adding line breaks.
Search and navigation
- In-page search with
Cmd+Fhighlights matches, counts them, and supports previous and next navigation. Matches are selected without hiding the editor cursor. - Editor selections survive opening and closing the command palette.
- Clicking a search result keeps the left drawer on the Search tab instead of switching back to Files.
- Vault search shows one row per file with the number of matches in that file, sorted from the newest modified page to the oldest.
Updates
- Glyphary checks GitHub Releases on startup and shows an update dialog when the newest published release differs from the running version. The dialog shows the release notes with Later and Open Release actions.
These are still betas because they touch Markdown rendering, search selection, command palette selection, startup networking, and release packaging. Test with a real vault before replacing your daily build.
1.0.0-beta.2
21 June 2026
This release makes Glyphary feel more natural as a local-first Markdown editor: cleaner reading, better Obsidian compatibility, richer table controls, and release packaging that is ready for notarization.
Reading and editing
- View and Edit chrome modes. View mode hides frontmatter and the formatting toolbar while the document stays editable.
- Frontmatter-driven page banners with
banner: '![[image.png]]', rendered above the frontmatter area. - Wikilink aliases such as
[[Actual Page|Display Name]]. Outside the active line, wikilinks render as clean links that hide the[[...]]syntax and alias targets while the Markdown on disk stays intact. - Plain paste with
Cmd+Shift+V. - New columns insert at the cursor instead of at the end of the file, and a document wrapped in
---is no longer treated as one giant metadata block.
Tabs and navigation
- The last tab can be closed, leaving the editor center empty, and the command palette keeps document commands out of the way when no note or canvas is open.
- A configurable New Tab file: when set,
Cmd+Topens that vault note; when unset, Glyphary prompts from the status bar instead of opening a blank tab. - Opening a daily note from the calendar moves the file drawer selection to that note.
File tree actions
- Right-clicking empty space in a folder offers New Note, New Canvas, and New Folder for that folder.
- Markdown files, canvas files, and folders can be renamed from the right-click menu, and canvas files can be created from folder context menus.
Tables
- A table context menu in the editor offers the same row and column operations as the command palette, plus Align Column with left, center, and right alignment based on Markdown table alignment syntax.
- The table menu is opaque, the Align Column submenu no longer has a hover gap, and aligning a column no longer leaves the document selected after applying or undoing the change.
Documentation and packaging
- Installation instructions for the macOS DMG and Windows installer, a developer setup section, and a Markdown reference page covering table alignment and wikilink aliases.
- The Windows bundle icon configuration was fixed, the release Makefile builds the universal macOS DMG directly, and the universal app binary is signed with the Developer ID Application identity, hardened runtime, and secure timestamp before notarization.
This is still a beta because it touches editing behavior, Markdown rendering, table mutation, file-tree actions, and platform packaging. Test with a real vault before replacing your daily build.