Vellen — What's new
Latest: version 1.0.54, November 12, 2026
Every version, what it changed, and what was wrong before it. Written plainly, on purpose: a notes app is something you trust with your thinking, and you should be able to see exactly what we fixed and when. Something not right? Write to admin@capitalcalcs.com, or use Settings → About → Report a problem inside Vellen.
Version 1.0.54November 12, 2026
- High contrast: a ticked box now looks ticked. In Windows' high contrast themes, every checkbox in Vellen (tasks, All day, Settings) looked empty whether it was ticked or not. A ticked box is now filled in the theme's highlight colour.
- Reminders, at each task's own time. A task with a due date reminds you on that day, at its own time if you give it one, or at the all-day time if not, on iPhone, iPad, Mac, Android and Windows, even with Vellen closed. The reminder shows the task's words and its note; tap it to open the note, or press and hold for Mark done or Snooze. Each device decides for itself: turn reminders on in Settings → Reminders, or with Turn on where you set a time. On Windows reminders need the Microsoft Store version: Vellen installed any other way says so in Settings → Reminders and where you set a time, and the time is still kept in the note. Windows' own Snooze offers a list of lengths, starting on the one in Settings → Reminders. On Android a reminder comes on the minute once Vellen is allowed Alarms & reminders (Settings → Reminders opens it), and reminders are set again after the phone restarts. The time is written as
⏰ 2026-11-04 14:30, the marker Obsidian's Reminder plugin reads, so a note opened in Obsidian keeps it. - One Schedule panel sets a task's date, time and repeat. Tap a task's date (or + Due, or the calendar icon at the end of the line) in a note, in Tasks or on the calendar, and the same panel opens: a date field, a time field or All day, and Repeat (every day, weekday, week, month or year). It says before you save what it will do on this device, such as "Reminds you tomorrow at 2:30 PM", and nothing changes until Save, so ⌘Z takes the whole change back. Save on a task with no date picked yet says so and stays open, rather than closing with nothing saved (on a Mac an empty date field shows today's date).
- The calendar has Week and Day views. Tasks with a time sit at their hour, and the rest sit in an All day strip at the top. Drag a task to an hour to give it that time, or to All day to take the time off; on the keyboard, Alt+Shift+↑ ↓ moves a timed task by 15 minutes. Tap a task for its card: Schedule…, Mark done and Open note. The calendar's header says how many reminders are set on this device and which is next. On a phone the calendar shows Month and Day.
- Add to Calendar. A task's card on the calendar, and the Schedule panel, have Add to Calendar…: it hands the task's day and time to your own calendar, which shows its own screen to save it (on a Mac or a Windows PC, your calendar app opens it as a calendar file). It's a copy: changing the task later doesn't change the event. On an iPhone or iPad the card says it was sent only once you tap Add, and nothing if you cancel; elsewhere, where the calendar can't tell Vellen, it says it was opened there.
- Your calendar's events beside your tasks (iPhone, iPad and Mac). Turn on Settings → Reminders → Show my calendar's events and the calendar's Week and Day show your device's calendar events too, greyed out, in each calendar's colour, sharing the hour with any task at the same time. Off until you turn it on, and only then does Vellen ask to read your calendar. It reads an event's title, times and calendar, never its notes, place or guests, and nothing it reads is written to a note, synced, or leaves the device. A task you've sent with Add to Calendar then shows twice, the task and its greyed event, which is how you can tell it's already in your calendar.
- Help → Reminders and Help → The calendar, step by step for your device. Setting reminders up, giving a task a date and time, what each button on a reminder does and how to reach it, and what to check when a reminder doesn't come, in your own device's settings and gestures; then sending a task to your calendar and seeing your calendar's events in Vellen.
- Help explains Vellen in its own words. Help no longer names another notes app when it describes Vellen's own features — the first-run folder choice, callouts, folder pages and the folder list. Obsidian is still named where it helps someone moving over: in Import & export, and once each in Tasks and Reminders, whose markers are the same as its Tasks and Reminder plugins'. And Ask AI, asked for a guide written for someone switching from another app, now picks Help's chapters by what the guide is about rather than by who it's for.
- Times follow your device's clock. Every time Vellen shows, in notes, Tasks, the calendar and Settings, reads "2:30 PM" or "14:30" as your device's 12- or 24-hour setting does. A note shows a task's time once, beside its date, rather than the date twice.
- Settings → Reminders holds only preferences. When all-day tasks remind (9:00 to start with), how long before a task's time to remind (at the time, or 5 minutes to an hour before), how long Snooze waits (10 minutes, 30 minutes, 1 hour or 3 hours, and it comes back after that long at any hour), whether ⏳ scheduled dates and notes with a due date remind too, and whether the lock screen shows the task's words, in an encrypted folder too. See them on the calendar shows what is set.
Version 1.0.53November 7, 2026
- Mac App Store: you choose where your notes folder goes. Start taking notes and I already use Vellen — get my notes now open the standard Mac Save panel, starting in your Documents folder with the name filled in and New Folder offered, so your notes are always somewhere you can see in Finder. Cancel and nothing is made. A notes folder an earlier Mac App Store version made inside Vellen's private storage is offered a move, once: choose a folder and Vellen copies every note there, checks each one, and switches to it, with sync and encryption carried over. The iCloud move asks where too. Vellen for Mac from outside the App Store, Windows, iPhone, iPad and Android are unchanged.
Version 1.0.52October 30, 2026
- Every note in the sidebar has its menu. Right-clicking a note under Pinned, Recent or a smart folder did nothing; the same note in the folder list had a full menu. Now each of those rows has the same menu — Open in new tab, Rename, Pin or Unpin, Duplicate, Show in folder, Copy path, Move to trash and the rest — and Rename edits the name right there in the row.
- A new whiteboard card opens where you can see it. On a phone, + Child on a card in the right half of the screen put the new card half off the edge and opened it for typing there, caret and all. Now the board moves just far enough to show the whole card — for + Child, + Sibling, a double-tap, and every card + Add makes.
- Leaving a nested list puts the next line at the margin. Pressing Enter on an empty indented item left its indentation behind, so the paragraph typed after the list started with spaces, and four spaces after a blank line are a code block to GitHub, Obsidian and any other Markdown reader, though Vellen drew a paragraph. Enter on an empty indented item now moves it out one level, as in other editors, and the Enter at the outermost level ends the list with nothing in front of the next line.
- A picture linked with
../shows. An image writtenin a note one folder down, as Obsidian writes links when set to relative paths, never displayed, though the file was there. A path that climbs out of the note's folder is now followed from that folder, for pictures and for links to other files such as a PDF, as long as it stays inside the notes folder. - A bulleted list of pictures keeps its bullets beside them. In a list item that is only a picture, such as
- ![[photo.png]], the "-" sat under the picture's bottom-left corner like a stray character. It now sits at the picture's top, beside it. - Links and bold words in a Google Keep checklist item are kept. The Keep import read a checklist item's plain words only, so a link or a bold word in an item came through as plain text, though the same in the note's body was kept. Items now get the same treatment as the body.
- An open note rewritten by another program keeps a version of what it replaced. Type in a note, let Vellen save it, and have a shell, a sync client or another editor overwrite the file a second later: Vellen rightly showed the new text, but History read "No versions of this note yet" and the words you had typed were nowhere. Now, when the note holds edits since its last version, History keeps them first, as "<name>" before it changed outside this window — on the Mac and Windows as the change arrives, and on a phone when Vellen comes back to the front.
- Ask AI no longer asks you to paste in a note it was sent. Asked which note covers something, with the closest note nearly empty, Ask AI named the note and then the model called it "a placeholder" and asked you to share its actual content. A note short enough to quote whole is now quoted by Vellen itself, under its name, without asking a model; and an answer that asks for the note it was given is replaced with the note's own opening words, as an answer that denies the note already was.
- Ask AI says what the icon next to a note is. Asked "what's the icon next to my note?", Ask AI listed Vellen's own ☁ and ! marks and never said that an emoji beside a name is part of the note's file name, on a small local model or a larger one, though Help's Emoji in names paragraph was in what it was sent. Vellen now puts Help's own line first, "an emoji beside a note's or a folder's name is part of its file name…", before any model's answer; a small local model is not asked at all.
- A link in a table cell counts as a link. Inside a table the alias pipe is written
[[Note\|name]]— every Notion database Vellen imports is written that way — and Vellen read the link as pointing at a note calledNote\. It drew and clicked, but was missing from Links, Linked mentions and the Graph, and renaming the note left it behind. Those links now count everywhere, a rename rewrites them and keeps the pipe escaped so the row stays one row, and the published site links them too. - The iPhone no longer zooms into a note at smaller system text sizes. With the system text size below Large, the editor's text went under 16 points, so iOS zoomed the page on the first tap into a note and left the note's name drawn over the clock. On iPhone and iPad the system size no longer takes the editor under 16 points; a size you pick yourself in Settings still applies as set.
- Help's last wording from the 7 Oct audit. Help called the Files panel "the file list" in five places and the Esc key "Escape" in two, and the phone's sync page said notes travel "never by Vellen's servers" when there are none. All now use the words the rest of Help uses, and a check fails if they come back. On Android, When Vellen warns you now explains "Vellen can't reach your notes folder right now" and Reconnect folder… in Settings → Backup & protection, and the licence topic no longer tells Android readers to press a Restore Purchases button that does nothing there yet. The comments line says Copy as Markdown keeps them.
- On Android, About names the folder your notes moved to. After Change folder… or Reconnect folder… in Settings → Backup & protection, About still named the folder the notes had left, which keeps an out-of-date copy, so a person looking there found old notes. Every way a notes folder is set now names it after the folder it points at, and a device already showing the old name corrects itself on the next launch. The folder switcher's list uses the same names.
- The Unlock screen no longer says an ended trial is unaffected. With the trial over and no store account signed in, the screen headed "Your trial has ended" said below its buttons "your trial is unaffected", and Restore Purchases said the same. Both now say there is nothing to restore, and a Microsoft Store trial that has ended says it ran until its date rather than runs until it.
- A ticked task stays in its place on the Tasks list until you leave it. Ticking a task used to take it off the list at once, and every task below moved up a row, so a quick second tap ticked the next task down without you seeing it. Now a ticked task stays where it was, struck through, and tapping it again unticks it. It leaves the list when you leave Tasks.
- Text fields ask every autofill service to stay away. On Android, Google's autofill offered the account's own name over the field for renaming a note, though the field already asked for no autofill. Every text field in Vellen now carries one shared set of opt-outs, including the ones 1Password, LastPass, Bitwarden and Dashlane read, so no field is left out when it changes; the API key field still lets a password manager fill it. On Android, where Google's autofill reads none of those, Vellen no longer hands its window to Android's autofill at all (marking the window as not for autofill was tried first, and Android's WebView ignores it); Google Password Manager no longer offers to fill the vault passphrase or the API key there.
Version 1.0.51October 26, 2026
- Help explains emoji in note names and how to add one. An emoji beside a note's or folder's name is part of its file name, not an icon Vellen adds; The basics now says so, where they usually come from (imports), how to type one on each device, and how they sort. Searching Help for emoji or icon finds it, and Ask AI answers from it.
- The phone's formatting toolbar pages cleanly at the largest text size. With the largest accessibility text size, pressing › to see more formatting buttons showed Highlight and Code again, which the first page had already shown, before Heading. The next page now starts at the first button the first page didn't show.
- Switching folders waits for an Undo that is putting notes back. Undoing a replace across thousands of notes takes a few seconds, and switching to another notes folder from the sidebar's folder list, a recent folder, the iPad's folder chip or the phone's drawer in that time stopped the Undo part-way and said so only to the folder you switched to. Back in the first folder nothing said the notes were still replaced. Every way out of the folder now waits, as Switch and Close notes folder in the command palette already did: a message says Vellen is still putting notes back, and the Undo finishes.
- A saved table or board in the sidebar follows its folder. After renaming a folder or moving it into another, its table or board under Boards, tables & whiteboards kept the old folder name and opened on "No notes match this view" until Vellen was restarted. It now follows the folder at once.
- Copy diagnostics times the calendar. Opening the calendar and paging a month now add lines to Copy diagnostics' Timings, as Search, Graph and Tasks already did, so a slow calendar on a big notes folder can be measured.
- Quick open finds a note by its aliases. A note with
aliases: [Home]in its properties, the way Obsidian notes often have, wasn't found by typing "Home" in ⌘P, though Home links to it. Now it is. - On Android, About no longer says you chose a folder you didn't. On an install whose notes are still in Vellen's own storage, from before the folder picker, About said they were in "the “Vellen” folder you chose". It now says they're in Vellen's own storage and that Settings → Backup & protection moves them to a folder you pick.
- Ask AI no longer doubts "the pencil icon". An answer that said to click the pencil icon to rename a note was marked "not a control Vellen Help names", because Help calls it the pencil. A control Help names is now recognised when the answer calls it its icon or its button.
- A table cell on a note that isn't UTF-8 says why it can't change it. With such a note open in a tab, setting one of its properties from a table was refused, rightly, but the message said "Couldn't save… check that the notes folder is reachable and has free space." It now says the note isn't plain UTF-8 text and offers Edit anyway, as ticking one of its tasks does.
- Ask AI says how to get back a deleted note. Asked "how do I get back a note I deleted?", Ask AI was also handed the topic about the ← button, and answers said Undo or ⌘Z brings a deleted note back, which isn't so. It now reads "get it back" as restoring and "get back to it" as going back, sends only the Trash topic, and Help has a line for it: open the Trash and press Restore.
- Moving a board card with its ⋯ menu keeps the keyboard on the card. Choosing Move to <column> moved the card and left keyboard and VoiceOver focus on the bare page, so the next Tab started at the first card. Focus now stays on the card's ⋯ in its new column. On a board kept in the app's settings, each card's ⋯ is now also named for its card.
- Picking a spelling suggestion fixes the word. Right-click a misspelled word and choose the suggested spelling: it now replaces the word. With auto-correct off (the default), Vellen had been refusing the replacement along with the system's automatic ones, so the menu offered the right word and clicking it did nothing (Windows; the Mac's menu took the same path).
- On an iPad, a calendar entry drags to another day. The calendar moved a note or task only by mouse drag, which the iPad does not start from a finger or a trackpad. Now, as on a board, press and hold an entry with a finger and drag it to another day, or press and drag it with the trackpad; the note's date changes with it.
- Help on a phone says how to move a board card. It still said boards were read-only on a phone. It now says to press and hold a card and drag it to another column, or use its ⋯ → Move to….
- Help on a phone no longer mentions Quick capture. Capture web page said its notes went to "the same place quick captures go", and the trial topic listed quick capture among what pauses, but Quick capture is a computer's shortcut. Both now leave it out on a phone and tablet.
Version 1.0.50October 24, 2026
- Words typed into a table cell are saved as you type them. They reached the note only when you left the cell, so if the phone closed Vellen in the background with the caret still in a cell, what you had typed there was lost. They are now saved like words anywhere else in the note, and the caret stays where it was.
- A note whose upload hits a passing Google Drive error is tried again within seconds. Putting a few hundred notes on Drive for the first time could end with "2 couldn't be copied — will try again" and wait for a later sync. Vellen now tries again after a second and after three, and first asks Drive whether the last try already arrived, so a note is never put there twice.
- On Android, the first Back after opening Vellen says it will close. Opening Vellen and pressing Back before touching the screen closed it without "Press Back again to close Vellen." Back now always says so first.
- Back from the App Switcher, an open note shows what's on disk. On an iPad, a note changed while Vellen sat in the App Switcher kept showing its old text until you opened it again. Vellen now looks again whenever its window comes back to the front.
- Ask AI no longer doubts Tab for indenting a list. Help's shortcuts table says "⌘] / ⌘[, or Tab / Shift+Tab" indent and outdent a list item, but Ask AI still marked Tab "not a shortcut Vellen Help gives". It now reads the table's "or Tab" as Tab.
- Recent sync activity says a rename was a rename. A note renamed on another device was listed as "removed" under its old name and "came in" under the new one. It now reads "renamed … to … on another device".
- Recent sync activity lists only your notes. Turning encryption off showed "1 removed here · removed _vellen.keyring" on your other devices, which is Vellen's own key file. Vellen's own files are no longer counted or named there.
- A folder with a page is named when it's renamed on another device. Renaming such a folder said "4 notes were moved or renamed on another device." It now says the folder was renamed, as it does for folders without a page.
- A confirmation from inside Settings is shown on a phone. "Passphrase changed. Your recovery phrase still works." and the other messages Settings gives were drawn underneath the full-screen Settings sheet, and were gone before it closed. Vellen's notices now appear above any open sheet.
- An embedded note counts as a link. A note shown inside another with
![[Note]]was left out of the Links panel. It's listed there now, like any other link to it. - On a small local model, Ask AI quotes the note it names. Asked which note explains something, a small model named the right note and then said things it didn't contain ("The note says that Vellen is a notes app."). Under a local model smaller than 7B, Ask AI now names the note and quotes how it begins.
- Help says how to undo a change from yesterday. Asked that on a small local model, Ask AI sent people to the Trash's "Restore all". Help now has an entry for undoing a change, Undo for what you just did and the note's version history for anything earlier, and Ask AI answers with it.
- Escape from a menu you opened with the mouse goes back to its button. On a Mac, a menu opened by clicking (the whiteboard's + Add, the notes-folder switcher, a board column's ⋯) left the keyboard nowhere when it closed. Focus now returns to the button that opened it.
- On a phone, a tablet or an iPad, a board card drags to another column. On a tablet a card moved only through its ⋯ menu, and on a phone it couldn't be moved at all. Now press and hold a card, then drag it with your finger, or just drag it with a trackpad or mouse. On a phone, hold the card at the edge of the screen and the board turns to the next column; empty columns now show, so a card can go into one. A finger that moves straight away still scrolls the board, and a tap still opens the note. A phone card also has the ⋯ menu a tablet card has, with Move to each column — the way to move a card with VoiceOver or TalkBack, which don't drag.
- On Android, New note works in a new, empty notes folder. Every New note there could fail with "it was NOT written to your notes folder", though the file was made. A look at the folder that started just before the note was made finished just after it and forgot the note. What Vellen itself writes while it looks is now kept.
- An embed is drawn wherever it sits on a line. Only an embed alone on its line was drawn, so "See this: photo.png", a gallery written as a list of
- ![[photo.png]], and a note embedded mid-sentence showed their brackets. An image in a sentence or a list item now appears in the line, a note embedded there appears as its card, and exports show the image too. - Select all in a table cell selects that cell. Ctrl+A (⌘A on a Mac) in a cell selected the whole page, so the next key you typed replaced the entire note on Windows and Android, and landed at the top of the note on a Mac.
- A notes folder renamed, moved or deleted while it's open is followed, not lost. Renaming or moving the open notes folder outside Vellen, then making a quick capture, said "Captured to Captures/…" and put the capture in a new, empty folder at the old place, while your notes sat under the new name; the note you had open said "Couldn't save … Vellen keeps trying", which it never would. Vellen now notices, says where the folder went (renamed to "…", moved, or in the Trash) and how to get back to it: Open "<new name>" opens it where it is and saves what you had typed into it, a folder in the Trash is put back and picked up again, and Find the folder… finds one Vellen can't see. Nothing is made at the old place, and the capture window says what to do and keeps your words.
- On a phone, Turn off encryption names the phone. Its question said your notes stay as they are "on this computer". It now says "on this iPhone", "this iPad" or "this Android device".
Version 1.0.49October 21, 2026
- Copy diagnostics records every quit. A quit whose last words the autosave had already written left no line, so a report couldn't tell a ⌘Q that waited for saves from one that never did. Each such quit now counts on one line, "quit-flush: nothing left to save".
- Ask AI's Help answers stay on the right feature. For a how-to question Ask AI sent the model a whole Help chapter, and a small model could mix up two features described on the same page — sending you to "Restore all in the version history panel" for a deleted note, when Restore all is in the Trash. It now sends only the paragraphs that answer the question.
- On a small local model, Ask AI quotes Help when Help names the thing you asked about. Asked how to import from Apple Notes or Obsidian, a small model could ask the question back or say Help didn't cover it, though the two lines that answer it were in front of it. Under a local model smaller than 7B, a question that names entries Help lists (Apple Notes, Obsidian, Rename…) is now answered with Help's own lines.
- Settings says when a local model is small. Under a local model smaller than 7B (qwen3:0.6b, say), Settings → AI now says its answers can be wrong, even about Vellen's own Help, and recommends 8B or larger. Help says the same.
- "No cards in view" doesn't cover a card you just added. On a new whiteboard, the first card on a phone could appear with "No cards in view — Fit to cards" drawn across it. The board now checks again whenever its size changes, as it does when the keyboard comes up.
- Renaming a folder in Finder is described as a move. Each note in the renamed folder was announced as "renamed to" its own name. The notice now says where the note moved to, and names both changes when a note is renamed and moved at once.
- A web server that isn't an AI server is named as one. Pointing Settings → AI → Local at an ordinary web server that answers "not implemented" gave "returned an error (501)". It now says the address answered, but not like an AI server.
- Fit to cards says when a board doesn't fit. On a phone, a whiteboard too wide to show whole at a readable size kept its right-hand columns off the screen, and nothing said they were there. Fit to cards, Tidy tree and making a tree from an outline now say which way the rest of the board is.
- On Android a note is never left empty by the app closing mid-save. If Android closed Vellen in the instant a note was being saved, the note could be left empty on disk (Version history still had it). A save now writes the new text beside the note and swaps it in, so the note on disk is always whole — the old words or the new.
- Renaming a folder's page in different capitals renames the folder. Renaming the Trip folder's page to "trip" renamed only the page, so the folder stayed "Trip" on disk while the phone said "trip", and another device said "Trip". The folder now takes the new spelling, and so does its page, whether the folder is renamed from the sidebar or from its page.
- Android's Back says when the next press will close Vellen. With nothing left to close, one press of Back changed nothing on screen and the next closed the app. That press now says "Press Back again to close Vellen."
- A folder replaced on another device isn't called renamed. Deleting "Work 2025" on one device and making "Work 2026" with notes of the same names was announced as "Work 2025 was renamed to Work 2026". It is now announced only when the notes really moved.
- A passing Google Drive error doesn't pause sync for minutes. When Drive answered a request with one of its own errors ("Internal Error"), sync stopped and waited for its next try, three to five minutes later — joining a folder on a new device could leave it empty for ten minutes. Vellen now asks Drive again after a second, and again after three, before it gives up.
- On Android, a notes folder that's gone can be removed from the list. A folder deleted or moved outside Vellen stayed in the notes-folder list for good: picking it only said it couldn't be opened. That message now offers Remove from list; the folder's files, wherever they are, are not touched.
- Every formatting button can be reached on a phone. On an iPhone 17 Pro, one tap on the toolbar's › moved the row past Heading, which had been under the › button: it was on neither page. Each page now starts with the first button the page before didn't show whole, on any screen width.
- Reviewing a note you've moved to the Trash says so. With versions from another device waiting, Review said "both files are still in your folder" when the note itself was in the Trash. It now says the note is in the Trash and offers to restore it and compare.
- Trashing a folder counts every note in it. A note that arrived in a folder from outside Vellen (copied in on Android, say) was moved to the trash with the folder, but the question before it counted only the notes Vellen had already seen ("the 1 note" over two). It now counts what is in the folder.
- During the trial, a notice's Undo can be tapped. In the last days of the trial, the reminder bar at the bottom of the screen was drawn over the notice that offers Undo after Find and replace, so a tap on Undo did nothing. Everything that floats at the bottom of the screen now sits above the bar.
- Phones no longer show a "Check for updates" that can't check. On iPhone, iPad, Android and the Microsoft Store version, Settings → About & updates showed a "Check for updates" button that only said the store installs updates. The store does that, so the button is gone there.
- Ask AI no longer doubts a shortcut that Help gives. Asked how to indent a list, Ask AI answered with Tab (which Help names) and then marked Tab "not a shortcut Vellen Help gives".
Version 1.0.48October 16, 2026
- A whiteboard card stays put when you edit it from its menu. Choosing Edit text from a card's right-click menu could move the card toward the menu item each time — when you held the button and slid onto the item, or opened the menu with VoiceOver — even if you changed no words. A right-click or Control-click now only opens the menu; only a plain click picks a card up.
- Search marks a note that's still in iCloud. A note iCloud hasn't downloaded, found by its name, came back as a bare title. Its result now has the same ☁ as its row in Files, and a screen reader hears "parked in iCloud, not read yet".
- Ctrl+U no longer takes back what you just typed. Ctrl+U (⌘U on a Mac), which is Underline in most writing apps, undid the words you'd just typed, with no message, and they came back only with Ctrl+Y. It now does nothing in a note. Undo is Ctrl+Z (⌘Z).
- On Windows, the title bar matches the app's theme when it opens. After some launches the bar stayed light over a dark app, with its title and the minimise, maximise and close buttons white on white. The window now appears once its theme is set.
- On Windows, Find and replace isn't covered by a list of earlier entries. A list of what you'd typed before could open under "Replace with" and cover the Replace button, so the first click did nothing. Vellen's fields no longer show it.
- In Windows high contrast you can see what's selected. High contrast drops background colours, so the selected Settings section looked like the others, and so did the Note, Links and AI tab, the highlighted Quick Open result (the one Enter opens), the toolbar's active buttons and the chosen tab or option in a table. Each is now outlined.
- On Android, a due date you type is saved as soon as it's complete. Typing a date into a task's date field saved nothing until you tapped elsewhere, so swiping Vellen away with the field still open lost the date. Each complete date is now saved as you type, and the field stays open. Escape puts back the date the task had before.
- The keyboard stays where you were when a file picker is cancelled or a rename is refused. Cancelling the folder or file picker of the Google Keep, Evernote, Notion or OneNote import left focus on nothing, so the next Tab started from the top of the window. Renaming a note in its header or the sidebar to a name that was already taken did the same, and the name you typed was gone. Every system dialog now hands focus back to the button that opened it. A refused rename keeps its name field open, with your text in it, so you can try another name.
- Choosing the note that's already open from the palette puts you back in it. After closing Settings, choosing the note you already had open from Ctrl+P (⌘P on a Mac) left the keyboard on the Settings button, so what you typed next went nowhere. The note now takes the keyboard whichever way you open it.
- Two devices syncing the same note at once keep both edits. If your phone sent an edit to Drive while your Mac was in the middle of a sync of its own, the Mac could upload its version over the phone's, and the phone then took the Mac's words as an ordinary update. The phone's edit was gone, with no conflict and no saved version. Before replacing a note in Drive, Vellen now checks that Drive still holds the copy it last saw. If it doesn't, it waits, and the next sync shows the two versions as a conflict with both kept.
- Sync history says when a notes folder's Drive copy is gone. When Vellen has looked and the folder's copy is no longer in Drive, the history row now says it can't be found and to choose another folder in Sync between devices, instead of "couldn't confirm", which read as a hiccup to wait out.
- Version history names a settled conflict's versions for the device they came from. After a note was edited on two devices and you chose one side, the version saved from the other side could be filed under the wrong device — your own words labelled "Other device's version". Each side is now named as the conflict screen named it: "This Mac's version", "Other device's version", or "Kept version" and "Set-aside copy" where this device doesn't know.
- Screen readers no longer misname sidebar rows. A folder with two saved tables was read out as "Work 2" — a table that didn't exist — and a tag as "#work 12". The count is now said as words: "Work, 2 saved tables", "#work, 12 notes", and the same for smart folders.
- A word typed just before Windows closes Vellen is kept. A close sent by another program a few milliseconds after your last keystroke could overtake it, so that word was not saved. Quitting now lets keys already on their way land first, however the app is closed.
- A new synced notes folder uploads your notes. If a folder's copy in Drive had been deleted, "Create new synced notes folder" made a new one and then refused to fill it — every sync said "Sync protected your notes: your Drive copy looked empty" and nothing went up until you found Rebuild Drive backup. The new copy now starts fresh and the first sync uploads everything. The protection for a Drive copy that empties out from under you is unchanged.
- Tab can't get stuck on Undo any more. After "Find and replace in all notes" with no note open — on a whiteboard, in Tasks or Settings — Tab reached the message's Undo and then went nowhere; only Escape got out, and it threw the Undo away. Tab and Shift+Tab now move on to the next control.
- Every formatting button can be reached on a phone. The toolbar is wider than a phone, and half of it — Checklist, Table, Image and more — could not be scrolled into reach. A › button at its end now pages through the rest, and ‹ comes back.
- Tab stays in your note. With a keyboard (an iPad's, a Mac's, an iPhone's) Tab used to send focus to the next button, and what was typed after it was lost — or pressed that button: a "B" made the note bold. In a list item Tab now nests it and Shift+Tab takes it back out; anywhere else in a note Tab types a tab. Escape, then Tab, moves on to the next control.
- Closing Find and replace puts you back where you were. Opened from the command palette, Escape left focus at the top of the window; it now returns to what you were on before the palette.
- Boards and Tables show up right after "Get my notes". On a phone the drawer could say boards are made "on a Mac, iPad or PC" over a folder that had just brought two down from Drive, until something else made it look again.
- Android screen readers can name every checkbox. "Sync automatically in the background", AI web search, backup keys and the rest were announced as just "checkbox".
- Renaming a folder's capitals on iPhone goes through cleanly. Trip → trip renamed the folder but then said "1 note is already in trip and the rest are still in Trip" and showed a phantom Trip until a relaunch, when its notes linked to one another or a whiteboard sat inside.
- Ask AI cites only the Help chapters a question is about. "Summarize this in one sentence" no longer cites "Settings, one by one", and a question naming Folder pages no longer drags in Saving web pages.
- Tasks and the Calendar open faster in big folders. Notes are read several at a time instead of one after another.
- A note Vellen writes back stops saying it's in iCloud. After Vellen kept your edits to a note iCloud had parked, the row went on saying "not downloaded" until a relaunch.
- A number past its range says what it became. Typing 32 into Editor font size sets 24 and now says the field goes from 11 to 24, instead of seeming to ignore you.
- Ask AI on an iPad in portrait opens as a side panel, not a computer-style floating window with a drag bar and a minimise button.
- Tables show links and formatting in their cells. A link in a cell — every imported Notion database's row links — opens its note; bold, italics, code and web links are drawn. Click into a cell to edit its text as written.
- Notion's "Due Date" reaches the Calendar. Calendar and boards read a date key however it is spelled — due-date, Due Date, due_date.
- Evernote superscripts and subscripts come in as superscripts and subscripts, not as a stray ^ or _.
- A picture changed on disk shows its new self. It used to keep the old image until a relaunch; on Android an image that arrived after its note opened stays red no longer.
- Export as website no longer ends in an error. The site was written whole, then "Not allowed to open path" was all it said; Vellen may now open the export's index.html, and if the system still declines, the summary says where the site is.
- A connection's label keeps off the cards. On the starter whiteboard "connect ideas" could be drawn across a card's text; labels now steer round cards as they do round fold badges.
- A Disconnect on another device is explained. The Mac said its connection to Google Drive had ended without saying the likely reason — Disconnect on another device.
- "Get your notes" scrolls when your notes folders don't fit. With more notes folders on Google Drive than fit on a phone's screen, the list ran off the top and the bottom and couldn't be scrolled, so the newest folders and the ‹ Back button were out of reach. The list now starts at its top and scrolls; the welcome and setup screens built the same way scroll too when large text makes them taller than the screen.
- Rearranging a whiteboard with a finger no longer draws arrows. A card set down over another, finger and all, became its child, with an arrow you never drew. With a finger the card you're over now lights up only once you've held there a moment; let go before that and the card just moves.
- TalkBack follows a whiteboard you move. After a pan or a zoom on Android, TalkBack still had every card where it had been, and touching a card found nothing.
Version 1.0.47October 9, 2026
- Import from Google Keep: Settings → Import & capture → "Google Keep export folder (Takeout)" brings in an unzipped Google Takeout export of Keep. Notes land in "Imported from Google Keep" (archived ones in its Archived folder), with checklists as tasks, labels as tags, and colour, pin and dates as properties; pictures are embedded, voice recordings and other files are linked, and a note's links are listed at its end. Notes in Keep's trash are skipped and counted, nothing is ever overwritten, and the message says what was imported, skipped and couldn't be read. Help has a new topic, "Import from Google Keep", including how to get the Takeout export.
- Faster first sync. Setting up sync for a notes folder now sends several notes to Google Drive at once instead of one at a time: 300 small notes took almost 6 minutes on a Mac and now take under a minute and a half, and pulling notes down to a new device is faster the same way. While it runs, the Sync button says how far it has got ("Uploading 120 of 300…") instead of only "Syncing…". If Google asks Vellen to slow down, it waits and carries on rather than leaving notes for the next sync.
- Move notes out of iCloud works on the first press. On a Mac without a
~/Vellenfolder it stopped at the first note ("Nothing was changed — 1 file couldn't be copied"), and every press after that was refused because the half-made folder "already exists". It now makes the folder first, and a move that does stop part way can be pressed again to finish. Afterwards an encrypted notes folder stays unlocked on the Mac that moved it, as the message says, instead of asking for the passphrase again; the same goes for a notes folder moved in Finder. - Android's Change folder can be pressed again after a copy that stopped part way, instead of refusing the folder it half filled. While it copies, switching to another notes folder (or closing this one) is refused with "Finish moving this notes folder first", instead of letting the switch through and leaving the copy unfinished without a word. Move notes out of iCloud does the same on a Mac.
- Move notes out of iCloud keeps the folder's own Google Drive sync. Moving into a
~/Vellenthat an older notes folder had once used picked up that old folder's Drive sync and history, and dropped the moved folder's; the new folder now starts clean and carries only what it brought. - Tables: every row's select box can be reached with Tab and ticked with Space on a Mac, where the keyboard used to skip straight past them, and each is named after its note for VoiceOver.
- Whiteboards on phones and tablets: on a zoomed-out board, a card you had just moved could not be moved again — its connection handles covered it, and each drag drew an arrow instead. The handles' touch areas now reach only away from the card.
- Android: pictures in a notes folder you picked now show — in notes, on whiteboard image cards and in note cards. They had read "image not found" over files that were there.
- Whiteboards made in Obsidian open complete: a card that points at one heading of a note ("Itinerary › Day 2") shows that section instead of the whole note, and a group's background picture is drawn behind it.
- Sync no longer gives up on a notes folder after a hiccup. If Google Drive was briefly unreachable or slow at the wrong moment, a device could decide its own notes folder's copy in Drive "can't be found" and stop syncing it, while another device kept syncing the same copy. It now says Drive couldn't be reached and tries again, and it checks the folder it last synced with before ever saying it's gone.
- Whiteboards on phones and tablets: setting a card down right next to another no longer makes it that card's child by accident — your finger has to be clearly on the other card, which lights up, as it does with a mouse.
- Leaving a list with Enter leaves a blank line, so what you type next is a new paragraph. A sentence typed straight after a checklist used to become part of the last task, in the editor, in Tasks and in the Calendar.
- Renaming a folder by its capitals only (trip → Trip) now says so if the disk keeps the old spelling, and keeps showing the old name, instead of showing a name the folder doesn't have.
- Data safety (audit of 7 Oct 2026). Every path that writes, moves or deletes your files was checked; these are the fixes:
- Words you type are no longer lost when a sync changes the same note as you quit or switch folders, or when you restore a version or resolve a conflict copy while the note has unsaved typing.
- Text typed into a whiteboard card is no longer lost when you close the board, quit, switch folders, or a sync changes the board; if the board changed elsewhere, your version is kept beside it as a conflict copy.
- Ticking a repeating task and then the task below it, or two tasks in quick succession, now ticks exactly the tasks you clicked.
- In split view, inserting a table, diagram or AI answer, or removing a due date, now changes only the note you are working in.
- Moving a card on a board, editing a table cell, "Set a property", a calendar drag, the Properties panel and template copies now change only the property you changed: other properties stay byte for byte as written (nested lists, multi-line text, quotes, leading zeros, comments, BOM and Windows line endings), and clicking into a table cell without changing it no longer rewrites the note.
- Dragging a card on a tag board no longer lowercases the note's other tags or deletes a second "Tags" property.
- Ticking a task, dragging a board card, editing a table cell, linking notes from a whiteboard or renaming a linked note no longer rewrites a non-UTF-8 note with "�" in place of its accented letters; it is left unchanged and Vellen says why.
- On macOS, Windows and iOS, quick capture, Today, templates, web clips, Duplicate, dropped files and new whiteboards no longer replace an existing note whose name differs only in capitals; they number the new one or open the existing one.
- On case-sensitive disks, moving a note into a folder whose name differs only in capitals no longer replaces the note of the same name there.
- "Tidy starter notes into folders" no longer overwrites a whiteboard already in Whiteboards/ with the same name.
- "Turn into a real note" on a whiteboard card keeps the card's text when the note couldn't be made.
- "Link the notes" on a whiteboard is now blocked after the trial ends, leaves a note with an unsettled conflict alone, and says so when it fails.
- Importing or dropping files no longer says "Imported" for a file that wasn't written, and no longer opens a note that isn't there.
- Renaming or moving a folder, or renaming its page, no longer deletes the folder's table setup, saved views or hidden files such as
.obsidianor iCloud placeholders; everything moves with it. - Restoring from the Trash no longer replaces another restored copy; extra copies come back as "(restored 2)", "(restored 3)" and so on.
- Importing from Evernote, Notion or OneNote no longer lets two attachments with the same name, such as "image.png", overwrite each other, and importing again never overwrites the first import's files.
- On Android, putting a folder in the Trash, restoring it or renaming it no longer deletes files another app had added to it.
- Opening a notes folder no longer unpins notes inside a sub-folder you don't currently have permission to open.
- Turning encryption on or off no longer overwrites a newer edit made on another device or removes notes this device hadn't downloaded yet; turning it off syncs first and stops, changing nothing, if another device's sealed changes arrive in between.
- A note renamed on another device by changing only its capitals (Plan → plan) is now renamed here, instead of ending up in the Trash and then removed from Drive.
- Renaming a large folder no longer stops the next sync with "Sync protected your notes".
- A folder renamed on another device, whose notes' links changed with the rename, is shown as a rename again instead of asking to remove files — and a deleted folder replaced by a new one with the same note names still keeps the old notes in the Trash.
- On a Mac whose notes folder is in iCloud Drive, a note iCloud has moved off the disk is no longer deleted from Drive and your other devices.
- A note saved here while a sync was running (for example by closing its tab) is no longer overwritten by the other device's version; both versions are kept.
- Two notes on Drive whose names differ only in capitals are no longer stuck as "couldn't copy" on a Mac or Windows device: one is renamed "name (1)" everywhere, or, where that isn't possible, the app says why it is waiting.
- Moving your notes folder (iCloud rescue, Android Change folder or migration) now brings tables, saved views, boards and pins, version history and the Trash along, and keeps "this folder is encrypted" and a pending key publish.
- On Android, "Change folder" now pauses sync while it copies and always moves the folder you started from, even if you switch folders during the copy.
- Quick capture now says "Captured ✓" only once the note is written; with no notes folder open, or if the write fails, it keeps your words in the box and says why.
- "Edit anyway" on a read-only note no longer unlocks the note at the same path in your other notes folders; it still holds when you return to that folder.
- The warning that boards, pins and smart folders couldn't be read now comes back each time that notes folder is opened again, instead of only once per session.
- A right-click Summarize, Improve or Ask is sent to the AI once; going to the graph and back, docking the chat or switching notes folders no longer sends the selected text again.
- An open board no longer stays on screen after switching notes folders to say "This board no longer exists."
- Bulk "Set a property" and moving a note on the Calendar now report only the changes that were actually saved, and a bulk change no longer slows down quitting; changing a property while typing in the same note no longer removes what you typed during the save.
- After the trial ends, ticking a task, editing a table cell, inserting a table or diagram, or removing a due date no longer changes the note, and Vellen says why.
- A note moved to the Trash right after typing in it no longer comes back by itself, and the Trash copy includes the last words typed. If the Trash list can't be read, Vellen refuses to change the Trash and says why, instead of hiding everything already in it.
- If a folder's table setup can't be read (damaged, or still in iCloud), Vellen no longer saves over it with only your latest change; it says why instead.
- Evernote and Apple Notes imports continue past a note that can't be saved and say how many were imported and how many couldn't be written; Notion imports save pages whose names Windows can't use (like "CON") under safe names with their links intact, Notion and OneNote say how many files couldn't be written, and importing a folder with no Notion pages no longer copies its files in first.
- Exporting a website into a folder that holds another Vellen website no longer deletes that website's pages.
- Two versions saved to History at the same moment are now both kept.
- On Android, notes in a folder not yet moved to the new storage are now saved when you switch away from the app.
- A replace across notes now stops when you leave its notes folder, writes nothing into the next folder, counts only what it changed, and leaves alone a note that changed while it ran; Switch and Close notes folder wait while a replace or its Undo is running.
- Words typed while a folder switch waits for a sync are now saved to the folder they were typed in, and closing a notes folder finishes its running sync first ("Finishing the sync before leaving this notes folder…"), so the next folder gets none of its result.
- Turning encryption on, off or resetting it, and Rebuild Drive backup, now finish against the notes folder they started in even if you close it meanwhile.
- A file change noticed just as you switch notes folders no longer removes the next folder's pins or closes its tabs, and on a phone a rescan still running no longer applies the first folder's changes to the second.
- An import or a Trash restore that finishes after you switch notes folders no longer shows its notes in the new folder or pulls you back to the old one; a failed join's banner, a website export and the Table view no longer land in another notes folder.
- Renaming a note no longer pastes the new link in the wrong place in a note that changed since Vellen last read it.
- Clean up unused attachments now moves only the files it showed you that are still unused, says how many it moved, never decides from another folder's notes, and no longer trashes files linked by bare name, from the note's own folder, as an encoded link (including OneNote attachments) or in properties.
- Renaming a folder only in capitals (Notes → notes) now changes its name on the disk on Mac, Windows and iPhone too (on iPhone it used to do nothing at all), a folder rename that fails now says so instead of nothing, and renaming a note shown on an open whiteboard with an unsaved edit keeps the edit and points the card at the new name.
- "Start fresh" at the default location, after a synced notes folder there was moved or deleted outside Vellen, now makes a new folder: it no longer puts the starter notes into the old folder's Drive copy or removes that folder's notes. Joining a Drive notes folder whose copy on this computer had been lost brings every note down again instead of saying the Drive folder is empty, and a plain folder where an encrypted one used to be is no longer refused as "keyring vanished".
- On a Mac, turning on Google Drive sync for a notes folder that's in iCloud now asks first: move the notes out of iCloud, sync where they are, or cancel. Vellen never refuses to sync.
- When iCloud is holding notes off the Mac, the line under Sync now says how many weren't synced this time (for example "3 notes are stored in iCloud only and weren't synced this time."), and the sync history shows it too.
- A notes folder in iCloud that was already syncing with Google Drive shows one notice, once per folder, with a "Move notes out of iCloud…" button.
- Settings → Encryption → Reset now checks Google Drive first. If another device changed notes this one hasn't synced, it says how many (naming up to three), says Reset would replace them with this device's older copies, and points to Change… on a device that is still unlocked, which sets a new passphrase and loses nothing. Cancel is the default; Reset anyway works as before. If Drive can't be reached for the check, Reset says "Encryption was NOT reset" and changes nothing.
- Quick capture with no notes folder open now offers "Save to <folder>" for the folder you used last, if it's still there. It opens that folder, files the note once it has opened, and says "Captured to <folder> ✓"; if the folder can't be opened, your words stay in the box and it says why.
- A right-click AI request (Summarize, Improve, Ask) made before AI was set up is no longer sent on its own once you set AI up: the chat asks first ("Summarize the selected text?") with Send and Dismiss.
- Which folders are collapsed in the file list is now remembered for each notes folder: collapsing "Projects" in one folder, or Collapse all, no longer changes another folder's layout. Each folder starts from the layout you had before the update.
- After "Move notes out of iCloud", the old folder leaves your list of notes folders, and opening it again says it's the old copy and offers the moved folder. The copy opens with sync off, and Settings → Sync asks before turning it on, because it shares a Google Drive folder with your moved notes.
- Setting a property on several notes at once in a table now saves each note's earlier version first, can be stopped, and ends with "Updated N notes" and an Undo that puts back only the notes still holding what it wrote — never a note you've edited since, and never in another notes folder.
- Exporting a website no longer writes over a file you added yourself that has the same name as a page — that page is left out, and the message afterwards names it so you can rename the note or the file.
- Words typed in a note just before you opened another note in the same tab are no longer lost when another device changed that note at the same moment — your words are kept in the note, the other version goes to History, and a notice says so.
- With the Trash's own list damaged, Move to trash now says why nothing moved, on every button that offers it, and the Trash says its list couldn't be read and where your trashed notes still are, instead of "Trash is empty".
- An exported website no longer contains your and comments in its search data or "Mentioned in" snippets, and a note marked publish: false is left out whichever way its frontmatter is written.
- Whiteboards made by other JSON Canvas tools keep their own settings (viewport, version, plugin data) when you edit them or rename a note on them.
Version 1.0.46October 7, 2026
- Help is corrected throughout: two dozen stale or wrong directions fixed (redo is Ctrl+Y on Windows, Ask AI opens beside your note, the Find and replace button exists, Android buying isn't available yet), every topic is listed in its proper place, and Help now calls your folder a "notes folder" everywhere. Searching Help for another app's word — vault, canvas, backlinks, frontmatter, hotkey — finds the right topic. The phone's ⋯ menu says Open a note…, and a whiteboard's + Add menu says Note from your notes folder….
- Help → When Vellen warns you: every bar, mark and warning Vellen can show — a file that isn't UTF-8, a read-only file, a note changed in two places, a ☁ or ! beside a note's name, "Vellen can't reach your notes", and the warnings in Settings → Sync between devices — with what each means and what each button does. Help → The welcome screen explains the first screen's choices (including I already use Vellen — get my notes, now on phones too) and what the starter notes are.
- Help covers the writing features it used to skip:
%%comments that only you see,---lines, indenting a list item (Ctrl+] / Ctrl+[, ⌘] / ⌘[ on a Mac — Tab doesn't indent), what Ctrl+/ (⌘/) does to a line, every callout type and its colour, the ⚙ properties chip and Add property…, where a pasted image is saved, and what a link to a PDF does (and doesn't do yet). All keyboard shortcuts gains an Editing table (move, copy and delete lines; select matches; F3 for the next match) and the Files panel's keys (F2 to rename, Shift+F10 for the menu). - Find next in a note: with the find bar open, ⌘G / Ctrl+G and ⌘⇧G / Ctrl+Shift+G step through the matches, and ⌘⌥G / Ctrl+Alt+G goes to a line by its number — none of them opens the graph any more (⌘G with the find bar shut still does).
- Ask AI's box shows ↵ as its send key — the key that actually sends — instead of ⌘↵ / Ctrl+↵.
- Exports and published sites: a folded callout (
> [!tip]- Title) becomes a fold-away section, closed for-and open for+, instead of a title starting with "- "; text inside code that contains%%is kept; HTML comments (<!-- -->) are left out instead of printed. - Image sizes:
![[image.png|300]]and|300x200set the picture's size in the note and in anything you export. - A link to a PDF or other file (
[[floor plan.pdf]]) shows the file in Finder or File Explorer when clicked, ready to open; a link to a file that isn't there says so. It used to do nothing. - Calendar: a note with a plain
date:(every note made from the Meeting Notes template, for one) sits on its day but no longer turns amber or counts as overdue; onlydue:anddeadline:make a note due. Board chips follow the same rule. - Repeating tasks work: ticking a task with
🔁 every …(every day, week, month or year; every N days; every weekday; every Monday; "… when done") marks it ✅ done and writes the next one above it with its dates moved on. A rule Vellen can't follow yet still ticks the box and says the next one wasn't made. The Tasks view lists each note's tasks by priority (🔺 ⏫ 🔼 🔽 ⏬). - Help has three new topics: Folder pages, Several notes folders, and Settings, one by one — every setting, what it's for, and where it's explained.
- Every Help topic now opens by saying what its feature is for, and ends with See also buttons that open related topics. Sync, AI and Whiteboard are split into headed sections, and Tabs, Getting back and the keyboard shortcuts have their own Moving around group.
- Help covers what it used to skip: folder pages, Close other tabs, Copy path, the Outline, Fit to cards, resizing a whiteboard card, what Lock does in Encryption (it forgets the key; it doesn't lock the files on your device), turning encryption off, the recovery kit, and every command in the command list.
- Ask AI finds the right Help chapter for everyday questions in a new user's own words — dark mode, a deleted note, yesterday's version, a smaller picture, the ⚠ bar, the cloud mark — and no longer answers "No note matched" when asked what a button or a mark does.
- Help, the starter notes and Settings no longer promise an Apple Notes import — the App Store's rules don't let Vellen read the Notes app. Help says how to bring a note over (copy and paste); an App Store–approved importer is planned for v1.1.
- On a phone, ⋯ → Rename… with a whiteboard open renames the whiteboard (it closed the menu and did nothing).
- Web captures: the web-capture dialog and the browser clipper's instructions now say notes go to the Captures folder — where they have gone since August — not "Web captures".
- Settings → Import on a phone or iPad no longer says sync is "coming to mobile": it says to turn on sync (Settings → Sync) to get notes imported on a computer.
- Settings → AI → What does AI cost? no longer promises free on-device AI "coming" to your phone or browser.
- The app uses Help's words: the notes list on a phone is headed Notes (not "Library"); encryption, sync and Android folder messages say "notes folder" instead of "vault"; and messages that said "this computer" on a phone — "Vellen can't reach your notes", Reset encryption, a note still in iCloud — name the device you're holding (an iPhone is told to open the note in the Files app, not Finder).
- Ask AI: a keyboard shortcut Help really gives is no longer marked as the model's words when it starts a sentence, and a request like "write documentation for folding branches to help new users" gets the same Help chapters as without its last words.
Version 1.0.45October 6, 2026
- Settings → Sync between devices says when the sync it reports happened ("Already up to date. · 2:55 PM"), so a press that did nothing no longer looks like one that found nothing.
- A Vellen shortcut is Vellen's, even with the caret in a note: ⌘G and ⌘D now only open the graph and today's note, instead of also running the editor's find-next and select-next.
- Switching to another notes folder no longer carries the previous folder's sync warning or its "Undo" with it — an Undo left over from a replace in one folder can no longer change notes in another.
- The note header shows the note's own name, with its folder as one faded line that shortens to "…": a long path no longer wraps or pushes the header's buttons onto a second line, and a folder's page shows its name once instead of "Holiday/Holiday".
- OneNote handwriting is readable on the dark theme: black ink is drawn in the text colour and coloured ink keeps its colour, without changing the imported file.
- On an iPad with a keyboard, ⌘W closes the tab (iPadOS used to close the whole window). iPadOS keeps ⌘, and ⌘? for itself, so the iPad no longer lists them — Settings and Help are on the rail.
- Closing Find and replace, Settings, Help, Trash or Version history after opening it with VoiceOver (or any press that doesn't focus the button) puts focus back on the button that opened it, not in the note.
- Under a "From Vellen Help" chip, a keyboard shortcut the AI pairs with the wrong action (Shift+Tab "to fold a branch"), or one Help never mentions, is marked as the model's words — and so is a menu path or setting Help doesn't name.
- A table, diagram, formula, embedded note or task that is the first thing in a note is drawn when the note opens, instead of showing its raw Markdown (such as a Notion database page's pipes).
- A note iCloud downloads again unchanged no longer stays marked "parked in iCloud, not downloaded".
- Tasks: a task written across two lines shows in full in the Tasks view, and its second line in a note lines up under its words; on phones and tablets a task's checkbox, date and set-a-date icon are finger-sized targets.
- An image that fails to load on a whiteboard, or inside an embedded note, says "image not found" with its path instead of showing an empty box.
- Evernote import: an attachment with an empty file name is saved under a name you can see instead of as a hidden ".png".
- Sync: a note renamed on one device is no longer reported as "deleted" on the device that had edited it, or in the sentence under Sync now; the merge screen times the other device's text by when it was written there, not when it reached Google Drive; the question before removing files another device deleted says which device that was; deleting a folder's last notes removes the empty folder from Drive and your other devices; Settings → Sync between devices names the Google Drive notes folder this folder syncs with; and a standing "notes folder can't be found" warning says when it couldn't be re-checked.
- The Calendar's "today" is your local day: in the evening in the Americas (and the morning in Asia and Australia) it no longer rings tomorrow or shows today's tasks as overdue, and a base's "today" and "this week" filters use your local day too.
- iPad with a hardware keyboard: ⌘N makes an empty note — the N no longer types itself into it (and ⌘T/⌘P no longer leave their letter in the picker's box).
- On iPad, Help and the AI chat no longer offer to pop out into a computer-style floating window.
- On iPhone and iPad, the keyboard follows Vellen's Dark or Light theme instead of the device's appearance.
- On Windows, Ctrl+J no longer opens a browser Downloads panel, and Ctrl+F away from a note or Ctrl+G inside a dialog no longer opens a browser find bar; typing a backslash in a note or folder name makes a folder, as a slash does.
- Vellen says when it had to change a name you typed — new notes, new folders, and renamed folders and whiteboards, not only renamed notes; the folder picker says "notes folder" and the export dialog says "Export".
- "Name, A–Z" puts "Report" above "Report 2" — the file extension used to make each such pair come out backwards.
- On phones, a top-level folder's ▸ in the sidebar takes a tap across its full finger-sized area.
- Closing a folder's "Sort by…" menu, by Escape or by choosing, puts keyboard focus back in the file tree.
- Renaming a note or folder deep in the sidebar gives a field wide enough to read; on Windows a task's due-date chip no longer leaves a tooltip over the next task's chip.
- The whiteboard's tips line wraps at every window width instead of scrolling sideways out of a keyboard's reach.
- Boards over large folders open faster and use less memory: each column shows 200 cards at a time, with "Show 200 more".
- Typing in very long notes no longer stutters now and then; the word count updates when you pause.
- In the command palette, Enter runs the row you typed or arrowed to, even with the mouse pointer resting over the list.
- Ask AI answers drawn from Vellen Help now mark a menu item or sync service that Help never mentions as the AI's own words, instead of leaving it looking like it came from the manual.
- Local AI pointed at an address that isn't an AI server no longer pastes that server's raw web-page code into Settings and the chat — both say the address answered, but not like an AI server.
- On phones, "How does AI work here?" in Settings → AI reads cleanly: the aside about where to find Ask AI is closed.
- A new note is named for the time you started it — "Untitled 10.45" rather than "Untitled". Two devices on one notes folder used to make "Untitled" on each, and sync, meeting two different notes under one name, left a conflict copy behind.
- A note you renamed is never described as one you deleted. When another device had edited the note under its old name, the rename brought it back — and the device that had done the renaming was told "1 deleted here came back". It now says the note was renamed here and edited on another device, and names both names.
- Linking with
[[: the note whose name you typed comes first. Typing[[Tripused to list the notes inside a folder called Trip ahead of the note called Trip, and Enter linked the wrong one. - A folder renamed on another device arrives as a rename even when renaming it changed the links inside every note: the old folder no longer stays behind empty, and its notes no longer turn up in this device's Trash.
- Notion import: a page whose first sentence starts with a word and a colon — "Owner: Robert. Back to …", "Note: ask Dana first." — keeps that sentence in the note instead of moving it, link and all, into the note's properties.
- Folders can be sorted. Right-click a folder (long-press on a phone) → Sort by…: Name A–Z, Name Z–A, Newest first, or Recently edited. The choice syncs with the notes folder. A folder of dated notes — Daily — now starts newest first, so today's note is at the top instead of at the bottom of a long scroll; and "Meeting 2" comes before "Meeting 10".
- A rename syncs as a rename. Renaming a note or a folder and then syncing used to ask "Sync wants to remove files … to match your other devices", and choosing Keep left the note under both names on every device. A rename is now carried across without a question, and when sync does ask about removals it says which device they came from.
- Folders with pages, on a phone and in a rename: tapping a closed folder's name opens its page and the folder; the ▸ beside it takes a full-size tap; renaming a folder keeps
[[links]]to its notes as they were written, instead of turning them into paths; and whiteboard cards follow notes, boards and pictures to their new names instead of showing "(missing note)". - A Notion page with pictures imports as one thing: its folder's page, with the pictures inside, instead of a note beside an empty-looking folder of the same name.
- Encryption says what it covers. What your notes say is sealed before it reaches Drive; their names, and their folders' names, are not — Settings, Help and the recovery kit now say so.
- Settings → AI's "How does AI work here?" speaks of a server and its address when you use a local AI server, and points to Ask AI where it is.
- Ask AI: Retry keeps the "From Vellen Help" chip it had the first time. An answer with suggested notes beside it no longer says "No note matched" above the note it is suggesting; it says nothing matched closely and lists the nearest by title. A request about folders for a filing cabinet, a desk drawer or a shelf is not answered from the manual.
- Renaming a note from its header or the phone's ⋯ → Rename… shows just its name, and a new name keeps it in its folder (type a path, or start with
/, to move it). Make a page for this folder writes the page with its heading. - Small things said right: "1 note", not "1 notes"; a note's name in a message has no
.md; the Calendar's example date is in the future; the Welcome note tells a phone to use ⋯ → New note; a board says how many notes have no status and how many have one that isn't a column; a phone's new notes folder says when its name was taken and what it is called instead; a server's refusal and the advice after it are separate sentences. - Two files with the same name on Drive (Drive allows it; a disk doesn't): the version you have keeps the name, and the other copy is renamed to "name (1)" on Drive and comes down to every device, with a note saying so. Sync used to keep one and silently ignore the other, and a stale copy could replace a note's text.
- Resolving a conflict: the two sides say which one was this device's and when each was last edited — "This iPhone · 8:52 PM" and "Your other device · 8:50 PM" — instead of only "Kept version" and "Set-aside copy".
- A new board's columns start from your notes. If notes in the folder already have the property —
status: Review,status: in-progress— those values become the columns, most used first, and the dialog says where they came from; "To do, Doing, Done" is only the start when nothing uses it yet. Create no longer does nothing when the name belongs to a property of another kind: it says why. - A notes folder waiting for you to choose where it syncs no longer checks Google Drive every time it opens; it waits until you press Set up sync….
- Settings → Sync's recent activity shows a flaky connection's failures as one row, however many quiet syncs fall between them.
- Keyboard: Shift+F10 and the Menu key open a sidebar row's menu. While a picker or dialog is open, shortcuts no longer act behind it.
- Windows: in high contrast, the date chip in a note keeps its edge and its calendar icon, and the set-a-date icon shows. In a short window the sidebar's icon strip fades at the edge where more is hidden.
Version 1.0.44October 1, 2026
- A folder's name stays readable while you point at it. The new-note, new-subfolder, rename and delete buttons used to be laid over the end of the row, so on a folder a few levels deep they covered the whole name and it couldn't be clicked. Now the name shortens to make room, always keeps its first letters, and the buttons give way when there isn't space (they're all on the right-click menu too).
- Import from OneNote. Settings → Import & capture → OneNote notebook: choose the
.onepkgOneNote exports (File → Export → Notebook), a notebook's.onetoc2, or one.onesection. Sections and section groups become folders, a page with subpages becomes a folder with its own page, links between pages stay links, and to-dos, tags, highlights, tables, images, drawings, attachments and each page's dates and author come along. A password-protected section is named in the summary — unlock it in OneNote and import again. No Microsoft sign-in: Vellen reads the files. - Folders can have a page of their own. A note named like its folder —
Kitchen remodel/Kitchen remodel.md— is the folder's page: clicking the folder opens it (the ▸ only opens and closes the folder), it isn't listed twice, and renaming either one renames the other. Right-click a folder for Make a page for this folder. Plain files, so a vault from Obsidian's folder-notes plugin works as it is. A Notion page with pages inside it now imports as its folder's page instead of showing twice, and Export as website makes a folder's page itsindex.html.
Version 1.0.43October 1, 2026
- The phone's title sits in the middle of its bar again — since it became tappable it had dropped to the top of the bar, above the ☰ beside it. Every tappable label on a phone now centres its words the way a button does.
- Screen readers hear every field's name — the Ask AI box, whiteboard card and group labels, passphrase fields and more — and the command list lists each section once. On the Calendar, a task says whether it's done.
- Largest text size: the Calendar's header and the new-notes-folder field fit the screen.
- Phones: the date field and the licence checkbox are full-size tap targets; whiteboard cards keep what you type without capitalising it, and the whiteboard tip no longer lists menu items a card may not have.
- Windows: no Mac key symbols or "Finder" in tooltips and Help; after setting a task's date the keyboard stays on that task; high contrast marks date chips and the current view; a renamed note whose name had to change (e.g. "CON") says what it became.
- Quitting after a big Find and replace is instant again — it used to wait up to ten seconds re-saving every note the replace touched.
- Typing in very long notes is as quick as in short ones.
- Tidy tree on a board that's already tidy changes nothing (no re-save, no re-sync); pressing Stop during a replace now records how quickly it was heard.
- Sync & AI settings: a sync that reached Google clears "Google couldn't be reached"; the sync result sits right under the buttons, and "Show less" works; a local AI model that isn't installed says the server was reached rather than "couldn't be verified just now".
- Diagrams: edge labels no longer sit on grey chips in the dark theme.
- Phones: Settings → About's "Your notes are in…" line is in one font.
- Windows: opening Vellen again brings the running window forward instead of opening a second one; the title bar follows the app's theme.
- iPhone: setting a task's due date to today works — pick today and tap ✓; a "Due date set to today" note offers Undo.
- A folder renamed outside Vellen keeps its pins and its open note, even when another file arrives at the same moment.
- Phones: a dated task has its own × in the Tasks view; on iPhone every due date set from the calendar is confirmed with Undo. The tag filter's × is a full-size tap target.
- Diagrams follow a theme change without reopening the note; gantt charts are readable on a phone.
- Find and replace in all notes finds property lines like
status: on-hold. - Ask AI: "What is Vellen?" is answered from the built-in Help.
- Sync: a note renamed on another device no longer leaves its old name in this device's Trash; with background sync off, a failure says to press Sync now rather than promising a retry.
- Screen readers and keyboards: every field has a spoken name (including the passphrase fields); task headers, filter chips and other clickable items can be reached with Tab; Settings keeps Tab inside it; Find and replace returns focus to its button; the three Import buttons say what they import.
- Sync: a device disconnected from another device says so; a failed "Sync now" is retried when the connection returns; an old result line clears after a later sync.
- Ask AI: "tags" finds the Tagging chapter; a guide "for" a person or place keeps its Help chapter.
- Diagrams: edge labels match the diagram's background exactly.
- Windows high contrast: the view you just clicked stays marked.
- Ask AI answers questions about Vellen itself ("What is Vellen, and where are my notes stored?") from the built-in Help, instead of saying no note matched.
Version 1.0.42September 29, 2026
- Unlock screen: Restore Purchases no longer moves the purchase button under your finger. Its answer now appears below the buttons.
- Android: dragging a whiteboard card no longer risks crashing the board view, and a crash report now names the part of the app that failed.
- Mac: a save refused because of permissions or a read-only disk says so, instead of suggesting you free up disk space.
- Ask AI: a guide "for nurses", "for Ana" or "for someone new" uses Vellen's Help — whoever the guide is for.
- A rename never replaces another note. On a disk that tells upper and lower case apart, renaming a note or folder to a name that differs only in case from another one used to overwrite it. Vellen now refuses, as it does for any name that's taken.
- iPhone (iOS 27): the app uses the whole screen after a system sign-in prompt. Cancelling the Apple sign-in prompt could leave every screen squeezed into the top two-thirds until the keyboard was opened again.
- A dropped connection during sync says so and tries again. It used to blame a notes folder's identity file — sometimes naming an unrelated folder, with a button to switch to it — and background sync stopped until you pressed Sync now.
- A notes folder that has never synced no longer shows a "Paused" row.
- Ask AI: asking for a guide "for beginners" (or students, colleagues…) uses Vellen's Help again, and a quotation of Vellen's own Help is no longer labelled as made up, nor printed with stray asterisks.
- Quitting with a date picker open changes nothing. A day you only browsed to in the calendar, without choosing it, is no longer written when Vellen closes.
- The note that kept your unsaved words at quit gives the right reason. If another program had the file open when Vellen closed, the note used to say its file was read-only; it now says what happened, and matches the label in Version history.
- Restoring a notes folder from Drive's trash no longer brings back deleted notes. Drive's restore brings back everything that was ever deleted from that folder; Vellen now recognises its own deletions and puts them back in the trash, instead of treating them as notes "edited elsewhere".
- iOS 27: after following a link, tapping in the note puts the cursor where you tapped. It used to stay on the first line, so what you typed went to the top of the note.
- iPad: Ask AI opens over a note in portrait. It opened into a side panel that isn't shown at that width; it now floats there.
- Android: dragging a whiteboard card can no longer crash the board view.
- Windows: Alt+F4 closes Vellen even while a date field has focus.
- A save blocked by another program says so. "Another program probably has the file open — a backup, antivirus or sync app", instead of the system's error and advice about free space.
- Ask AI finds your notes in any tense or number ("what did we decide" finds a note that says "decided"), no longer sends Vellen's manual for guides about things that aren't Vellen, keeps the right Help chapter whatever the audience wording, and doesn't describe a note it wasn't given.
- Sync history records a paused sync when the notes folder's Drive copy can't be confirmed.
- Encrypted sync: the Drive copy never loses its key. "Rebuild Drive backup" on an encrypted notes folder used to upload every note sealed and leave the key behind — and the next sync then removed the key from every device, so the Drive copy could not be opened and encryption read as off. The key now goes up with the notes, and a Drive folder whose notes are sealed by your key gets it back instead of taking yours away.
- A notes folder moved to Drive's trash is said so. Sync used to make a new, empty folder of the same name in its place — an empty backup nobody was told about, offered to the next device to join. It now stops and says the copy can't be found, and how to restore it or start a fresh one.
- Android: Back on a whiteboard peels its layers. The second Back after clearing a card's selection used to close Vellen; it now closes the board.
- iPhone: a due date can be removed. iOS's calendar covers the field's ×; its own Reset now clears the date, and every device has "Remove the due date from the task at the cursor" in the command list (and "Remove due date" on a task line's right-click menu).
- Ask AI: what leaves the device is always visible while you type. On a phone or tablet the line saying what is sent now sits above the composer, where a hardware keyboard's bar can't cover it.
- Ask AI: writing for a person uses the note you name. "A press release about the pricing call" beside a note called Pricing call now sends that note (and only notes named like that); "…for beginners" and other audience phrasings no longer lose the manual chapter a request needs; and an answer wrapped in a markdown fence with an example inside is shown — and saved — as the document it is.
- Sync settings: a connection ended elsewhere is said as ended. It used to read "Connected as … — Google couldn't be reached"; and the sync history no longer disappears when the connection ends.
- The wipe-guard's repair instruction names the command list the way your device reaches it — not ⌘P on a phone.
- Windows: a day picked in the due-date calendar is saved. Clicking a day, or pressing Enter in the calendar, now sets the date and closes the field; the arrow keys still only browse.
- Windows: notes in a folder you may not write to open read-only. They say it's the folder's permissions, instead of opening editable and then failing every save. A note you may not even read says so, rather than blaming iCloud or Dropbox, and one such folder no longer stops the whole notes folder opening.
- Android: Back while editing a whiteboard card keeps what you typed. It used to end the edit and throw the text away.
- Windows: nothing reloads the app any more. Ctrl+R, F5 and the right-click menu's Refresh used to reload Vellen and lose the words typed since the last save; the browser's own Back / Print / Inspect menu no longer appears, and tapping Alt on its own no longer swallows the next letter.
- Windows: restarting or shutting down Windows keeps the last words typed. A restart, shutdown, sign-out or Windows Update now waits for Vellen to save (the shutdown screen says "Saving your notes…" if it takes a moment); it used to end the app with the last second of typing unsaved.
- Windows: closing Vellen after using Quick capture really quits it. A hidden capture window used to keep an invisible Vellen running, and the next launch had no Ctrl+Alt+N. If another program already owns Ctrl+Alt+N, Copy diagnostics now says so.
- Windows: the window always opens fully on screen. At 200% scaling on a small laptop it could open with its bottom edge — and the vault name — under the taskbar.
- Quitting while a note can't be saved keeps its words. If the file was locked by another program or turned read-only since the last save, the words go to Version history and the note says so when you next open it; they used to be lost.
- A save that fails because another program has the file open is tried again by itself (backup, antivirus and OneDrive do this on Windows), and its message reads as a sentence.
- Due dates: the calendar no longer closes on the first arrow key on Windows, and on iPhone opening it no longer writes today's date by itself. There is a keyboard route too: "Set due date for the task at the cursor…" in the command palette. On a phone the date chip and the set-a-date icon are easier to tap without catching the line above or below.
- Calendar: after moving a task with Alt+arrows the keys keep working on it, and a stray Alt+← later no longer moves it.
- Tabbing through a table you typed by hand no longer rewrites the note.
- A note deleted outside Vellen while it had unsaved words is kept, you are told, and it stays in the Files list and the count.
- iPhone: a tap just past a wiki link places the caret instead of following the link (the rest of round thirteen's fix); Connect → stays on the whiteboard toolbar; greyed palette commands keep their whole name.
- Ask AI: a letter or press release is no longer handed an unrelated note; "…for my team" keeps the manual chapter the request is about; a failed question keeps its Retry after the panel is closed; documentation with an example inside is shown as prose; a note named as a link or an embed is recognised.
- Sync: "Protected your notes…" repeats collapse into one row, and a sync row that lists names says "…and N more" when it lists fewer than it counted.
- Screen readers: the command palette is a list of options with the selected and greyed ones announced; the new-notes-folder field has a name.
- A disabled button no longer changes colour under the pointer — "I Agree" on the first screen went near-black when tapped early.
- Set a task's due date from the note. The date on a task is now a chip: click it (or tap it) and the same date field as the Tasks view opens — pick a day, Enter, Escape, or × to remove it. A task with no date shows a small calendar icon at the end of its line while you are on that line (or pointing at it); it is also on the right-click menu as "Set due date…", and a long press on its checkbox on a phone. ⌘Z undoes it like typing.
- The command palette greys out what can't run here. On Tasks, the Calendar, the graph or a board, commands that need an open note (Insert table, Insert diagram, formatting marks, focus mode) show why instead of doing nothing.
- Calendar: hold Alt and press the arrows over a task to move it — a day with ← →, a week with ↑ ↓ — with the mouse, not only after tabbing to it; on Windows the keys no longer risk going Back.
- Whiteboards: a new card is placed beside the cards already there, not on top of them; Back on Android steps out of connect, edit and selection before it leaves the board; boards are found by name in Search.
- Ask AI: a letter, a press release or an agenda is no longer handed a chapter of the Vellen manual; a question that failed says so, with Retry, when you come back to it; an answer that names a different note than the one sent is caught; answers wrapped in a code fence read as prose and save without the fence; a local server that is busy is not said to be "out of credit".
- iOS 27: Enter on an empty list item ends the list on a new note, and lines no longer start with a capital when auto-correct is off.
- iPhone: a tap to the right of a link places the caret instead of following the link. Restore Purchases stays put when pressed.
- Sync: a failing sync tries again when you come back to the window; repeated failures are one line in Recent sync activity; Settings still names your Google account when the network is bad; an encrypted notes folder's refusal no longer points "below" from the banner over the note.
- Words saved into History at quit are mentioned when you reopen the note, with a button to show them.
- Maths:
$0.1$and similar spans are drawn as maths. - Diagnostics keep the lines that matter: repeats collapse across sessions, a quit with nothing to save logs nothing, and failed syncs are recorded with their reason.
- ⌘Q and Quit from the Dock now wait for your last words to be saved. Quitting within a moment of typing could lose the last word, and a note whose file had become read-only lost its unsaved words instead of keeping them in History; the red close button already saved. Every way out of Vellen now saves first — and logging out waits for it too.
- The save line stays still while you type. It reads "Saved locally" through ordinary autosaving instead of flipping to "Saving…" at every pause; it speaks up only if a save is taking unusually long, and still says at once when a note could not be saved.
- Mind maps are drawn at full size. A mind map from the diagram picker came out as a few dots in a tiny square; it is now as big as its contents, like every other diagram.
- Links to whiteboards work.
[[Thinking.canvas]](or just[[Thinking]]) opens the board instead of being drawn as a broken link. - Tables: words in a table's cells no longer break in the middle on a phone; Tab out of a table leaves it drawn as a table, and takes the empty row the last Tab added with it; the footer's "text" button tells a screen reader what it does.
- iPhone and iPad: toasts — including Undo after a replace — sit above the home indicator. On iOS 27, Enter on an empty list item ends the list again instead of leaving an empty item (or an empty task) behind.
- Android: changing the system text size reaches Vellen while it is running, again.
- Sync: a notes folder that isn't synced yet says so in Settings and offers "Set up sync…"; the choice between joining and creating a synced folder is worded in the app's own terms.
- Ask AI no longer tells you a note says nothing about the thing the app just said it covers; "From Vellen Help" names every chapter the answer was given, and a letter, essay or story you ask for is no longer handed a chapter of the manual because of one shared word.
- Diagnostics no longer fill up with one repeated background message: repeats are counted on one line, and the Google Drive requests that caused it no longer leave a stray cancellation behind.
- A new note on a phone is ready to type in. The keyboard comes up and the first word lands, from the + button, the ⋯ menu or the empty screen.
- Android: changing the text or display size no longer breaks the folder picker on a new phone, and if the picker ever does fail, Vellen says to reopen the app instead of showing a Java error.
- Opening a big vault is faster — the sidebar's new row windowing no longer forces the whole window to lay out while the vault loads — and VoiceOver reads the notes list as an outline again, with each row's position.
- Sync conflicts name the two versions for what they are — "Kept version" and "Set-aside copy" — and start with both kept, so nothing is dropped unless you choose it.
- Ask AI no longer shows words the model made up as a quotation from your note, answers from the right part of a long Help chapter instead of cutting it off mid-word, and finds Help for features named in your own words ("folding branches", "wiki links").
- Smaller fixes. Tab moves past a table instead of into it (and no longer adds empty rows); the
[[picker is never drawn under the toolbars; an outside edit to a note on iPhone shows up on return even if Vellen saved it first; the whiteboard toolbar can no longer loop itself into an error; the welcome screen keeps its margins at the largest text sizes; the vault name in the sidebar's foot stays whole on the Mac; the phone's replace dialog says its scope instead of showing one tab. - Big vaults use less memory and open faster. The notes list in the sidebar used to build a row for every note, even the thousands you couldn't see; with a few thousand notes that was most of Vellen's page memory and a third of the time it took to open the folder. It now builds only the rows on screen (and a margin around them), and scrolls and moves by keyboard exactly as before. Saving the search index no longer makes a temporary copy several times its size.
- Closing the window quits Vellen on a Mac. Clicking the red close button saved your work and closed the window, but left Vellen running in the Dock with no window, until you chose Quit there. Now it saves and quits.
- Maths draws properly in the app. A superscript fell to the line below and a fraction lost its bar. The cause was the app's security policy quietly refusing the positioning KaTeX writes into its output; those positions are now applied in a way the policy allows. Table column alignment in Help and Ask AI answers was lost the same way and is fixed too.
- Notion callouts and Obsidian's fold-away sections read properly. A handful of HTML tags that other apps put in notes used to show as literal text — every Notion callout had
<aside>above and below it. Vellen now reads seven of them, written plainly:<aside>is drawn as a callout,<details>/<summary>as a section under its heading (and a real fold in an export or on a published site), and<br>,<u>,<sup>and<sub>as a line break, underline, superscript and subscript. Nothing is ever run as web code: any other tag, or one of these with anything extra inside the brackets, stays plain text, and your files are not changed. - Text files in your notes folder are offered as notes. Vellen's notes are
.mdfiles, and a.txtor.markdownfile already in the folder used to be skipped without a word. Now, when Vellen opens the folder, it lists each such file and the name it will get, and Convert renames the ones you tick to.md— the words inside don't change, and nothing is ever renamed over an existing note. Untick a file to leave it alone for good; Not now asks again next time. - A note that couldn't be saved comes back when its file does. When a save failed because the file had become read-only, the note stayed frozen even after you made the file writable again, and quitting lost what you had typed. Vellen now checks again as soon as you come back to the window (and every few seconds while there is unsaved text), saves, and clears the message; anything still unsaved at quit is kept in the note's History.
- Phone drawer rows take a tap across their whole width. Graph, Tasks, Calendar and Ask AI answered only on their label.
- Sync says the short thing when the connection is down, and tries again when it comes back. A sync that started offline wrote a long paragraph saying three times that nothing had changed; it now says it couldn't reach Google Drive, once. When the connection returns, sync runs straight away instead of waiting out its back-off.
- Disconnecting Google Drive says it stops sync on every device that uses the account, and another device that finds its sign-in gone now shows itself signed out instead of "Connected as …".
- Ask AI says which note an answer comes from itself, rather than leaving a small local model to, and understands a request for documentation in your own words, not only a chapter's exact title. On a phone, Help no longer tells you the local model runs on your computer.
- Imports lose less. Evernote: long notes are no longer cut short, images without a type are kept, nested tables from web clips become real tables, checklists inside lists work in Tasks, encrypted text is marked instead of pasted as gibberish, superscripts and subscripts read as
^1and_2, and each note keeps its modified date, source link and author. Notion: database properties become the note's properties, rows link to their pages, and links between exported pages stay inside Vellen. Obsidian:%%comments%%are hidden, other Tasks date markers are tidied away, vault-absolute image paths resolve, and a whiteboard with a card type Vellen doesn't know still opens. A file that couldn't be read is now named as unreadable or invalid rather than blamed on its extension. - Smaller fixes. Destructive items sit last in every menu; the welcome screen and the phone's vault chip fit at the largest text sizes; the phone's side panels are named for screen readers; the Sync panel points to Encryption on every device.
- A note that is read-only on disk stays read-only. A note whose file had been locked with its permissions was edited and saved with "Saved locally", and came back writable, without the extra details other apps had attached to it. It now opens read-only and says why; "Edit anyway" lets you change it, and every save keeps a file's permissions and those details. A tick in Tasks or a replace across notes leaves a read-only note alone, and says so.
- Whiteboards on a phone. A card made by double-tapping low on the board is brought above the keyboard before you type into it, rather than filled in unseen underneath. "No cards in view — Fit to cards" sits on the board, not in the status bar where a tap on it did nothing — and Fit to cards always shows a card, even on a board wider than the screen.
- Ask AI answers from the note whose title matches. "Which of my notes explains wiki links?" was answered "No note matched" while naming "Linking your notes" — the right note. That note is now read and the answer comes from it. And a request to write instructions, a guide or a cheat sheet about something in Vellen gets Vellen's manual, whether or not it says "Vellen", instead of an invented menu.
- Settings → AI shows the models of the server you are connected to, not the last one you looked at, when you change the address.
- Messages that stop being true go away. A replace that couldn't write a note left its error on screen through later saves that worked; it now clears when a write lands, like its siblings. A note iCloud takes off the Mac while Vellen is open is marked ☁ at once.
- Every list in the sidebar can be reached with the keyboard — Pinned, Recent, tags, boards, tables, whiteboards and smart folders are Tab stops and open with Enter. A screen reader now hears that a note is parked in iCloud, couldn't be read, or is new from another device.
- On a Mac, the window's buttons no longer cover the first tab when the sidebar's panel is closed.
- Ticked tasks: the checkbox of a done task is as easy to hit as any other, and its text is readable in the light theme.
- Replace across notes never claims a note it didn't change. With a read-only note open, a replace changed the other notes, skipped that one, and said it had replaced them all. It now refuses the whole run, puts the others back, and the message stays on screen long enough to read. A note whose file becomes read-only while it is open now shows the read-only banner and Edit anyway, instead of advice about free space.
- After a sync conflict, the open note shows the version that won. On a phone it went on showing the losing text under the note's name until you left it and came back.
- The keyboard and the screen agree. Ask AI's question box could open under the keyboard the first time, the drawer and Settings could stay cut short after a keyboard went away, and a card made low on a whiteboard could stay hidden while you typed into it. The layout now follows the keyboard until it has settled, not one moment of it.
- On a phone, one tap opens a note in the sidebar — the first tap no longer goes to showing the row's hidden buttons.
- Ask AI is the first row under Views in the phone's drawer, in view the moment it opens.
- Ask AI: a request to write documentation, an explainer or an introduction about part of Vellen gets Vellen's manual, however it is worded. An answer cut short by the length limit now says so, as one cut short by the connection did, and a small model no longer answers with "this comes from general knowledge rather than their notes".
- Sync history reads as a sentence: a failed connection says "couldn't reach Google Drive" instead of a line of web address, and no long word can run off the screen anywhere.
- A vault opened for the first time on a device is read several files at a time; the phone drawer keeps the vault's name whole at the largest text size; the whiteboard's fold badge reaches Android's touch floor at every zoom; the notes list is a landmark for screen readers.
- Previews show a nearby link as its words. A row in Links, Unlinked mentions or search results could end or start partway through another link and show "[[Allotm…"; it now takes the whole link in.
- Quotes and callouts line up when they wrap. The first line of a quote or callout sat one space to the right of the lines it wrapped onto — on a phone, every callout.
- The Calendar shows a task's words without their Markdown, as Tasks does; the Unlock screen answers Restore Purchases once, not twice; the search's "hasn't been read" line has its verb back; the Trash icon in the sidebar no longer looks like Share.
- A replace across hundreds of notes is faster: the screen is updated a few times a second while it runs, not once per note.
- A due date picked on Android is saved when you pick it. Tapping SET in the Tasks list's date dialog left a raw
09/28/2026box on the row, and the date reached the note only when you moved on — close the app first and it was gone, with nothing said. A date chosen from a picker, on any device, is now written at once and the row shows its chip; typing a date still waits for Enter or for you to leave the field, so a half-typed month is never saved. - A menu opened near the bottom of the screen stays on it. A long-press on a row that was partly scrolled out of view could put the menu's lower half, "Rename…" included, below the window.
Version 1.0.41September 23, 2026
- Formulas stay on their line on a Mac.
$E = mc^2$drew its 2 on the line below and\frac{1}{3}as one overlapping blob; the formula now keeps its width, so superscripts, limits and fraction bars sit where they should. - Help and the 1.0.40 release note say where smart folders went. The new sidebar moved them into the Search panel; the note listed them only as something the old column used to hold, and Help still said "next to Smart folders in the sidebar". Both name the panel now (phones keep the single list, and keep the old words).
- Evernote import: nested lists nest, and double-encoded text is decoded. A sub-list under a numbered item came out two spaces in and after a blank line, which is a separate list; it now sits under its item, indented by the marker's width. And
"left on screen by a page that already held an entity is decoded, as the Apple Notes importer already did. - An image link with a space in its name shows the image. Obsidian writes
; Vellen looked for the literal%20and said "image not found" beside the file. - The import result is on screen. "Imported 5 notes…" and "macOS blocked access to Notes…" rendered below the clipper's setup steps, under the fold, so a failed import looked like nothing happening. The answer now sits directly under the Import buttons.
- Trashing a folder says what goes. "Move the folder “attachments” and the 0 notes inside it to the trash?" — over four images three notes used. The question now says everything inside goes, notes counted, images and other files named.
- A "Couldn't create" or "Couldn't save" error goes away when a later write succeeds — it stayed on screen after the folder was writable again and a new note had just been created.
- A note edited on three devices is reported as one note in three versions. The banner said "2 notes need your attention — edited on two devices at once" and the Review list showed two identical rows; the banner now counts notes and versions, and each row says which version it is, with the copy's tag.
- A folder renamed on another device is a rename here too. It used to arrive as removals and arrivals: the note you were reading closed to "Nothing open" without a word and the emptied folder stayed beside the new one. Now the open note follows to its new place, the bar says "“Projects” was renamed to “Plans” on another device", and the old folder is removed as it was on the device that renamed it.
- Phone keyboards no longer rewrite names. Every field that takes a file, folder, board or view name — and a search, a property, a URL, a passphrase — now tells the keyboard not to capitalise, autocorrect or spell-check it:
after-encryption-androidhad becomeAfter encryption Android.mdon the way to the file. - Notion import: links keep their path. Two pages with the same title imported as two notes, but every link to either pointed at the same bare name, so a link to one opened the other. Links now carry the folder ("…") and are resolved against the page they were written in.
- A four-backtick code block around a three-backtick one is one block. Every scanner in the app matched exactly three backticks, so Markdown documented inside Markdown split into three blocks, its middle escaped into the note as text, and links or checkboxes inside it were read as real ones.
- Less memory on a big vault. Vellen kept a full second copy of every note it had opened, saved, pulled from Drive or replaced text in — for as long as the folder stayed open — to tell its own saves from outside changes. It keeps a fingerprint now. A find-and-replace across the vault also held two copies of every note it touched while Undo was offered; it holds one and a fingerprint.
- Settings → AI tells a local-AI user the truth about cost and names their server by its address. "What does AI cost?" answered for a cloud provider whatever was selected — a person running their own Ollama read that their account is billed a few cents a request and that free on-device AI "is coming", under the line saying their local server was answering; it now says: nothing. The web-search row no longer mentions "your key" when there is none. And every sentence about the local server — checking it, unable to reach it, set up but unverified, its address — names it by its address ("the local AI server at http://localhost:1234"), not by the "Local (Ollama)" chip, since the server may be LM Studio; the model hints say "any qwen3 the server has" instead of "you've pulled".
- "Get my notes" opens your vault's front page. After pulling a vault from Drive for the first time it opened whichever note finished downloading last — on the sample vault, a template full of
{{placeholders}}. It now opens "Start here" (or "Welcome", "README", "Home"…) when the vault has one, otherwise the first top-level note, never a template; when the notes carry real dates, the newest. - Help on a phone talks about your device, not "your computer". Eight sentences in Help — the ones the AI is handed when you ask where your notes are stored — said "this computer" on an iPhone and offered Ollama, which a phone cannot run. Help now names the reader's device by what it is, and the local-AI topic on a phone says the model runs on a computer on your own network.
- A whiteboard says when no card is in view, and brings them back. Pinch or scroll far enough and every card leaves the screen; the board was then an empty grid with no way back but leaving it. Now a pill says "No cards in view — Fit to cards", and Fit to cards is also in the ⋯ menu, on ⌘0 (Ctrl+0), and in the board background's right-click menu — which also offers what + Add does.
- Android names your notes folder by its name. Settings → About, the sidebar's foot, the recovery kit, a published site and the folder marker Vellen writes beside your notes all called the folder "saf:vault" — an internal address — instead of the folder you picked. The Drive folder a second Android notes folder syncs into was named the same way.
- On a phone or tablet, a whiteboard's fold badge no longer steals taps from its card. On a zoomed-out board the badge's finger-sized target reached the card's own title — a tap to select the card folded the branch — and the card's right-hand connection dot, which couldn't start a connection at all. The badge now hangs off the card's corner and its target grows away from the card, never over it.
- AI answers count their steps. A numbered list in an answer with a blank line between the items — the way every model writes one — was drawn with every step numbered "1.". Now 1, 2, 3.
- On iPhone, the Ask AI chat list sits below the status bar. Its first row was drawn under the clock.
- Google Drive is connected, not signed in to — and on iPhone and iPad the Google page opens over Vellen, not in Safari. The button is now "Connect Google Drive" (it was "Sign in with Google"), the status says "Connected as", and Help says the same: Vellen has no accounts, and this step is the permission Google Drive asks for before an app may keep files there. "Disconnect" now also withdraws that permission at Google — Vellen leaves the account's third-party-access list — rather than only forgetting it on the device. On iOS the Google page opens in the system's sign-in sheet over the app, which shares Safari's sign-in so an account already signed in is one tap from done, and closing the sheet is answered with "Sign-in was cancelled", not "check your connection". (App Review, 22 Sep 2026.)
- Importing from Evernote no longer throws pictures away. A web clip's images — the
<img>tags Evernote's own format forbids but its exports carry anyway — were deleted on import: no picture, no placeholder, and the summary couldn't count them because it only counted attachments. Now a clipped picture becomes a Markdown image that shows in the note, a picture embedded in the note's own data is saved as an attachment, a video or an embedded page keeps its address as a link, struck-through, bold and italic text written as styled spans keep their marks, a link or a picture inside bold or italic text survives, and an attachment a note refers to that isn't in the file gets a visible marker where it stood and is counted in the summary. The rule behind all of it: nothing in the note vanishes without a trace. - A note iCloud has parked says so. When "Optimize Mac Storage" has parked a note in iCloud, its row in the list now carries a small ☁, and if Vellen has never read that note (a first open on a new Mac, or a rebuilt index) it says so: a line at the top of the window counts the notes it hasn't read, the search's "nothing matches" says that the parked notes weren't searched instead of claiming the words aren't there, and the ☁ explains itself on hover. A note Vellen HAS read before keeps searching from what it last read. A note the Mac refuses to hand over gets a ! the same way. Before, a parked note looked like any other and searched as if it were empty.
- Sync on a bad connection: nothing half-done, nothing stuck, and the message says what happened. Four things from a day of pulling the network out from under it. A note going up to Drive for the first time is now created and filled in one request, so a connection cut partway leaves nothing behind — before, it could leave an empty file that the next sync mistook for a note "edited on two devices at once" and spread to every device. A connection that answers and then goes silent now ends at a deadline (a minute, plus time for the bytes) instead of "Syncing…" forever with every later sync blocked behind it. A connection that fails outright says "Google Drive couldn't be reached — check the connection" first, with the reason sync paused after it, instead of opening with a sentence about encryption on a vault that was never encrypted. And a failed sync's message goes away when the next sync succeeds, instead of sitting under the success in red.
- Opening a note no longer edits it. On a Mac, opening a note from the ⌘P palette with Return could leave a blank line at the top of the note: the same keystroke that chose the note was delivered a second time to the editor that had just opened, as a newline at the top — and that "edit" then synced to your other devices as if you had made it. It was intermittent, which is why it hid. The palette now swallows the Return, and the editor ignores a line break that arrives at the caret it was opened with within a fraction of a second of opening — a key aimed at something else, never typing.
- Ticking a task on a phone ticks the task you touched. In the Tasks list, two short tasks sat closer together than their finger-sized tap zones were tall, so the zones overlapped and a tap just below one checkbox ticked the task underneath it — silently, into the file. Rows in the list are now at least a finger tall with the box centred, and a checkbox inside a note has a tap zone the height of its line, so no zone ever reaches the line next to it. A whiteboard card's checkbox also stopped growing with the system text size, like the rest of the card.
- The ⋯ menu works again on iPhone. A fix made this morning for the Mac — keeping a menu open through the moment a click lands on one of its items — assumed the Mac's order of events. An iPhone tap arrives in a different order, the menu closed a moment before the tap could count, and every item in the ⋯ menu did nothing. Found by Robert on the Simulator within minutes of the build; the test that replays the phone's order now lives beside the one that replays the Mac's.
- Every kind of whiteboard card keeps its size at any system text size. The 20 Sep fix flattened the text card and missed the card that shows a note: its excerpt still grew with the system text size inside a box that cannot, and the bottom of it was cut off — three checkboxes gone at the largest size. Now everything drawn in the board's own space — cards of every kind, group labels, arrow labels — keeps a flat size, a test enumerates them from the stylesheet, and the e2e builds both card kinds.
- The sidebar rail is one Tab stop, with ↑/↓ inside it. It was twelve stops in a row on every screen, with no arrow key that moved inside it, while the formatting toolbar beside it had been one stop with arrows since v1.0.31. A screen reader is also told when the panel is open or collapsed (
aria-expanded), and on a Mac or iPad the keyboard stays on the button that collapsed the panel instead of dropping to the top of the window. - Settings' menus are finger-sized on a tablet. Theme, Editor font and Editor width were 23 pt tall on an iPad although the touch floor rule matched them — a native menu ignores an author's height. They are drawn as Vellen's own box now, with its own caret; still the system picker when tapped. Text fields joined the floor too (the font-size field was 28 pt).
- The phone's title takes a second line before an ellipsis at the largest text sizes, so "Allotment planning" shows whole where it showed 13 of 18 characters.
- Names a screen reader can tell apart. The library's + is "New note in the library" (the header's + is "New note"; they create notes in different places), and the panel foot leads with what it does — "Switch notes folder — vault, 4 notes" — instead of just the count.
- The quick-open field has a real label, and its hint no longer cuts off mid-word at the largest text size.
- Every build carries its commit, and every pass checks it. Two iOS Simulators spent a whole test pass serving a frontend from the day before, and nothing on screen said so. Settings → About now ends with "Build v1.0.40-…", the page carries it as
data-build, and a pass compares it to the repository before trusting a device. - A purchase that completes while Vellen isn't looking now unlocks the app. If you bought the unlock through Ask to Buy and a parent approved it later, or your card needed a second step, or you bought on one device and opened another, Vellen had no way to hear about it — the purchase was delivered to a channel nothing was listening on, and the app stayed locked until you happened to quit and reopen it. Apple's own runtime flagged this on the device. Vellen now listens from the first moment it talks to the store, finishes every purchase it is handed, and asks the store again every time you come back to the app — so returning after "your purchase was approved" is enough.
- Every button is finger-sized on a phone or tablet — as a rule, not a list. The 44 pt (Apple) / 48 dp (Android) floor used to be applied to a list of controls by name, and every round of testing found some that were not on it: most recently the first-run screen itself, where "I Agree" was 39 dp and "I already use Vellen — get my notes" was 27. Now every button and every tappable row gets the floor unless it specifically opts out, and the two that do (the whiteboard's fold badge, a task's "+ Due" chip) carry an invisible halo that takes the tap instead. The fold badge and a whiteboard's connection dots also keep their full target when the board is zoomed out — both shrank with it before, to about 25 pt at the zoom "Map from a note's outline" leaves you at. The degraded-values badge on a table no longer sits under the home indicator, and the Undo toast on a phone no longer tells a screen reader to "press Tab".
- The local AI setting names your server, not Ollama. Connected to LM Studio, Vellen used to say "Ollama has no model called …" — while an Ollama on the next port had exactly that model — and told you to
ollama pullit. It now says which server, by its address, and gives the remedy for the kind of server that actually answered. The "Installed:" list no longer offers embedding models that cannot answer a question. - Ask AI tells the model only about the sources it was actually given. The instructions used to describe your notes and how to cite them on every request, even one that carried no notes — and a model told how to cite, cites: a general-knowledge answer about submarines ended with "you can refer to [Submarine Navigation Systems] in your notes", a note that does not exist. Now the notes, the Help manual and the web are each described only when they are in the request, and the citation format is shown with the titles of the notes actually sent — never a made-up title or a placeholder, both of which the smallest models cited as if they were notes — so that copying the example is citing correctly.
- Ask AI sends the model only the Help topics that have something to do with your question — a few, or none — instead of all of them. Every request used to carry the full list of Help topics (27 titles) so the model could point you at the right one. A small local model, handed 27 titles, wrote a made-up summary of every single one under a question about wiki links, and a weaker build of the same model simply echoed the list back. Now a question that shares a real word with a topic gets that topic named (up to five); a question about your notes or the wider world gets no manual at all — and when no manual is sent, the model isn't told one exists, so it can't send you off to "consult the Vellen manual" over a submarine. Less leaves your vault per request, too.
- Ask which of your notes covers something, and when none does, Vellen answers — not the model. "Which of my notes explains wiki links?" with no matching note now gets "No note matched this question. The closest by title is “Linking your notes”." from the app itself, with that note as a chip you can open, and no request goes to the AI at all. Seven versions of the prompt tried to get a model to say that sentence and every one of them got a reply about your notes instead: the smallest models read the instruction back to you, and a larger one passed judgement on notes it had never read — "none of your notes explain wiki links" — from a prompt that had told it nothing about them, because the question asks about the notes and a model with none will answer about them. A question that is not about your notes ("what are wiki links?") still goes to the model, which now gets the question and nothing about your notes — not that nothing matched, not the list of titles — under the label "No note matched — this answer is not from your notes" and the same "Closest by title" chip. The one case the title list used to still go along was a question about the collection itself ("list my notes", "how many notes do I have?") — and now that one is Vellen's too: it has the list, so it prints the count and the titles itself, exactly, and asks no model. A small local model had listed the titles on one try and refused on the next.
- Opening a vault with many whiteboards is quicker. They were read one after another on every open — twenty of them took longer than the other three thousand files put together. They are read a few at a time now, here and in the unused-attachments sweep.
- Sync tells you when your edit brought a note back. If you edited a note on this device and it was deleted on another, sync keeps your edit and puts the note back in Drive — that rule is right and hasn't changed. But this device used to report "Already up to date" and log "Nothing changed" while doing it; only the other device explained. Now this one says "Delete me" was deleted on another device — your edit here was kept, and it is back in Drive, the log names the note, and the "out" count includes it. An edit-vs-edit conflict where your version wins now counts both files it sends, not just the conflict copy.
- A note iCloud has parked stays in your list. With "Optimize Mac Storage" on, macOS moves older files off the disk and leaves a small placeholder behind. Vellen handled that while it was running, but on the next launch the parked note vanished from the list, the count, ⌘P and search — and ⌘P offered to create a new note with its name. It is listed now, its words are still searchable, and clicking it says where it is and how to get it back. That message is a notice at the bottom of the window rather than an alert that stops everything until you press OK.
- The
[[note picker shows up above the keyboard on a phone. When the caret was on the last line above the on-screen keyboard, the list of notes to link to was drawn underneath the keyboard and all you saw was a thin empty strip — it worked if you pressed Return blind, which is not the same as working. It now opens above the caret when that is where the room is. - Settings stays above the keyboard on a phone. Tapping the AI key field raised the keyboard over the field and its Connect button, and the sheet would not scroll to bring them back — the sheet was sized to the whole screen, keyboard included. Every dialog on a phone now ends where the keyboard begins, and the field you tapped is scrolled into view once the keyboard is up.
- Search says when there is more. It showed the first thirty matches and stopped, with nothing to say a word had matched two thousand notes — so the honest reading of the list, "my note isn't in here", was wrong. It now says Showing 30 of 2,728 notes, with show 30 more and show all, the way a table view already does.
- "I already use Vellen — get my notes" ends on a note. After pulling your notes down from Drive it used to land on "Nothing open" with the notes behind the drawer. It now opens the note you wrote most recently and says how many came in.
- Two icons on the strip say what they are. Settings was drawn as eight rays around a dot — a sun, which on an iPad means brightness — and is a cog now. Trash had its arrow tucked inside the bin, so it looked like the delete bin with a lid; the arrow now rises out of it.
- Search has a shortcut. ⌘⇧F (Ctrl+Shift+F) opens the Search panel with the box ready to type in, and "Search your notes" is in All commands. ⌘F is still find-in-this-note.
- Smaller things: the text-size hint in Settings and Help names the Android path on Android, not the iOS one; the AI prompt teaches the citation format without an example title that a small model could cite as if it were yours; a table's footer buttons wrap as a row at the largest text sizes instead of splitting "text" into "tex" and "t".
- A whiteboard menu closes when you leave it. With a board's + Add menu open, jumping to a note with ⌘P and Return used to open the note and run the menu's first item — an empty card added to the board you had just left, silently. Any menu now closes the moment focus leaves it.
- Search results fill the panel. They were boxed to a fixed fraction of the window from the days when search shared a column with the file list; the panel is theirs now, and the list takes the room it needs.
- Graph labels near the edge are pulled inside instead of being cut off ("elcome to Vellen 2"), and a label that cannot fit is not drawn.
- The Undo after a big replace waits to be dismissed by how big the change was — many occurrences in one note count as big, not only many notes.
- The number fields in Settings can be typed into. Editor font size and autosave delay rejected every keystroke that passed through an out-of-range value on its way to a valid one — which is every keystroke — so on an iPad, with no stepper arrows, they could not be changed at all. They take what you type and settle on a value in range when you leave the field or press Return.
- On an iPad, holding a finger on the strip or the notes list no longer selects the chrome as text, and iPadOS's own copy/look-up bar no longer covers Vellen's menu. And when the window shares the screen — tiled, Slide Over, a smaller window — the strip leaves room for iPadOS's window controls instead of drawing the V mark under them.
- An 11-inch iPad in portrait gives the note the room. The right panel stayed on screen at that width and squeezed the note to a third of the screen, with the note's header buttons stacked six rows tall; the panel now gives way below 900 pt, as it already did in narrower windows, and comes back the moment there is room.
- On an iPad with a keyboard, ⌘N works on a cold launch — before you have touched the screen. The web view takes the keyboard as soon as the page has loaded.
- The editor reaches the keyboard. With the keyboard up on a phone, the note stopped a home indicator's height above the keyboard's accessory bar — a whole line hidden behind it, on padding reserved for an indicator the keyboard was covering. The Ask AI sheet, the notes drawer and the iPad layout kept the same gap. The inset is given back while the keyboard is up and returns when it goes.
- A folder's table view has finger-sized rows on a tablet. Rows were 40 pt, under Apple's 44 pt floor, and the rule that sizes every other touch control could not see a table row.
- Callouts don't leak their tag into the text.
> [!note]showed as "!note" in the editor; it now reads as a "Note" label in the callout's colour, with the raw text back while the cursor is on that line. - The Links panel lists notes, not pictures. An embedded image or a linked PDF was listed as a broken link to a note called "screenshot.png". Outgoing links are notes only.
- A note's history says what happened. After a conflict, both kept versions were labelled "(kept during sync)" — on a vault that had never synced. They now say the note changed outside this window, and which side was kept.
- A folder created today is dated today. A new synced folder — and the vault's own "created" date — was stamped with tomorrow's date in the evening, anywhere east of Greenwich: the clock was UTC. It is the local day now, as every note's date already was.
- Notion import: one note per database, and file links that open. Every database's views (
All,By status…) each came in as a second copy of the table; only the database itself is imported now. And a link to a PDF or an image Notion exported alongside the page is a link to that file, not a wikilink to a note that doesn't exist. - Find-and-replace across a big vault writes several notes at once instead of one after another. If a write fails, the ones already written are put back as before, and Stop still stops between notes.
- Opening a folder no longer re-reads every whiteboard. Twenty boards cost a third of every open on a Mac; which notes each board shows is now remembered between opens, and only a board that changed is read.
- The sidebar's foot keeps the folder's name. Tiled to half an iPad the foot read "My n… 5 notes · 1 whiteboard", and in Slide Over the name was gone. The count is what gives way now.
- Escape in the Editor font size field takes the edit back where you can see it. It used to discard the typed number and close Settings in the same press. The first Escape restores the old value with the dialog still open; the next one closes it.
Version 1.0.40September 21, 2026
- A new sidebar. Everything used to live in one column — search, pinned notes, the file list, smart folders, your boards and tables, your tags — all stacked and all competing for the same few hundred pixels. On a tablet that meant a great deal of furniture and very little room for any of it. Now there is a slim strip of icons down the left edge, and beside it one panel showing the one thing you asked for. The file list gets the whole column instead of a fifth of it. Tags get a page of their own, and clicking one takes you to Search with that tag filled in. Graph, Tasks, Calendar, Ask AI and the command list are one click from anywhere, however many notes you have — they can no longer be pushed below the fold by a long list. Hover any icon to see what it is; hold it for half a second on a tablet. Smart folders live in Search — a smart folder is a saved search — so look for them behind the magnifying glass, not in the file list. Click the icon you are already on and the panel folds away entirely, giving the note the full width of the window. Click it again to bring it back. Two things go with the old arrangement: the draggable divider, because there is nothing left to divide when each section has its own panel, and the row of four buttons above the foot, because those four are icons on the strip now. ← moves to the top of the strip and works as it always did (Robert, 20–21 Sep 2026).
- The calendar fills the window. Its six week-rows took only as much height as their contents needed, so on a large display the month sat in the top two-thirds of the pane with a block of nothing underneath it. The weeks now share whatever room the window has — and a taller day is a bigger target to drag a note onto. Nothing changes in a short window: the rows keep the height their contents need and the month scrolls, exactly as before (Robert, 21 Sep 2026).
Version 1.0.39September 20, 2026
- Every command in the app, without a keyboard. The command list — new note, settings, trash, every action Vellen has — opened only with ⌘⇧P, and an iPad or an Android tablet runs that same layout as a computer. With no keyboard attached there was no way into it at all. A small >_ button now sits at the foot of the sidebar beside Help and Settings, and opens the list ready to type. The shortcut still works exactly as it did (Robert, 20 Sep 2026).
- Help stops describing a sidebar that moved, and a menu an iPad hasn't got. The manual still sent you to VIEWS for Graph, Tasks, Calendar and Ask AI after those four moved to a row of their own; still said a Mac, iPad or PC "draws every note" in the graph, while the toolbar beside it said it was drawing the 800 most-linked of 3,000; and in a dozen places across ten topics it told iPad and Android tablet owners to open a "⋯ menu" that only phones have. All corrected, and the graph's figure is now read from the app instead of typed into the sentence, so it cannot drift apart again. The draggable divider and the new row are written up too (20 Sep 2026).
- Graph, Tasks, Calendar and Ask AI are always one click away, and the sidebar splits where you want it. Those four are the same four in every vault, while Boards, Tables, Whiteboards, Smart folders and Tags grow with your notes — so the ones that never change were the ones being pushed off the bottom of the list they shared. They have a small row of their own now, above Trash, that never scrolls; their named rows stay under VIEWS, so nothing moved that you already knew how to find. And the line between the note list and everything under it is draggable — double-click it to go back to automatic, and the split is remembered for that notes folder. VIEWS is left holding the three that grow with your notes — Boards, Tables, Whiteboards — which is a shorter list and a calmer sidebar. On a phone nothing moved: the drawer has no such bar, so it keeps all seven rows (Robert, 20 Sep 2026).
- The graph you land on can be read. A vault of 3,000 notes and 15,000 links arranged in under a second and then drew as one solid orange disc — no labels, no structure, nothing to pick out. Every platform now draws the most-connected notes rather than all of them, and the toolbar says how many of how many: the densest part of that picture went from 99.7% ink to 50%. Zoom, filters and "Current note only" work as they did (big-vault pass, 19 Sep 2026, Finding 4).
- A phone gives the note's name the room instead of the + button. At the largest text size the header showed 8 of the 18 characters of "Allotment planning" — and at the ordinary size, with a Back button beside it, only 15. New note steps out of the row when the row is crowded, which is worth three or four characters at every size, and it is in the ⋯ menu at every size so it never simply disappears (a11y pass, 19 Sep 2026, Finding 5).
- A whiteboard is zoomed, not scaled — and now says so. A card's size lives in the whiteboard file, in the board's own units, so it is the same card on every device that opens it. When the system text size reached card text, the words grew and the card did not, and the overflow was simply cut off. Card text now keeps its size and zoom is the answer to "make this bigger" — it grows the cards and their text together and keeps the layout you built. Everything around the board still follows your text size, and Help's Whiteboard topic explains the difference (a11y pass, 19 Sep 2026, Finding 9).
- Graph, Tasks, Calendar and your boards stay reachable in a big vault. The note tree, Smart folders, Views and Tags shared one scroll region, so on a 3,000-note vault the sidebar was 130 screens tall and the VIEWS header started below every note in it — and boards, tables and whiteboards live nowhere else and have no keyboard shortcut. The library has its own scroller now, with the groups under it holding their place. Both halves have a floor, so neither can squeeze the other off the screen, and both fade at the bottom while there is more below: a small vault shows everything, and a big one gives the tree the room while keeping Graph, Tasks and Calendar on screen (big-vault pass, 19 Sep 2026, Finding 3).
- The Unlock screen stopped blaming the network for a signed-out device. It read "Vellen couldn't reach the App Store just now" on a screen whose price had come from the App Store a second earlier — the device was online, it simply had no Apple Account signed in. The app cannot tell the three "no usable record" cases apart from where that sentence is written, so it now says the one thing true in all of them: no App Store record for this device, and the trial is unaffected (App Review pass, 19 Sep 2026, Finding 4).
- Help calls the restore button what the button is called. It said "Restore purchase"; both screens say "Restore Purchases". Ask AI answers out of Help, so the app could tell someone to press a button that does not exist under that name (App Review pass, 19 Sep 2026, Finding 9).
- A replace leaves a number behind, and opening a vault says where the time went. Diagnostics now carry
replace: versionsandreplace: writeswith their note counts, so "the replace took ages" is answerable from a release build instead of from file timestamps. And reading the whiteboards at startup is its own line rather than hiding inside "loading preferences", which on a 3,000-note vault was reporting 380 ms against a preferences file of a few hundred bytes (big-vault pass, 19 Sep 2026, Findings 7 and 8). - The graph's caption is a sentence again on a phone. With "Current note only" ticked, the toolbar's summary was the only thing in the row that could give, and it collapsed to about six characters — one word per line, twelve lines, a third of the screen before the graph began. The row wraps now, so the caption takes a line of its own at full width. And opening Graph with no note open no longer ticks "Current note only", which was a filter with nothing to filter by: the tick did nothing, and the notice beside it offered the reader the view they were already looking at (big-vault pass, 19 Sep 2026, Finding 5).
- An iPad is no longer promised three keys iPadOS keeps for itself. ⌘W closed the window and left the tab open, ⌘, opened the iPad's own Settings app over Vellen, and ⌘? opened the system Help menu, which then swallowed every further shortcut. All three reach Vellen on the control key, so that is what its tooltips, its command list and its Help table now say on an iPad. Every other shortcut is unchanged (iPad pass, 19 Sep 2026, Finding 3).
- Searching Help puts the topic you named first. Typing "whiteboard" left the topic literally called Whiteboard sixth, behind five that only mention the word — on a phone with the keyboard up it was off the bottom of the screen. Help search was a filter in the topics' authored order, rendered inside its five group headings, so the ranking never had a chance. It ranks now — an exact title, then a title that starts with what you typed, then one that contains it, then the body — and a search drops the headings, because someone who has typed a word is not browsing a taxonomy (android pass, 19 Sep 2026, Finding 2).
- Two notes folders with the same name can be told apart. The notes folder menu labelled every folder by its bare name, so
~/Work/Notesand~/Personal/Noteswere two rows both reading "Notes" with nothing to choose between them. Rows that clash now carry as much of the path as it takes to be different —Work/Notes,Personal/Notes— and rows that are already unique are left alone (sync pass, 19 Sep 2026, Finding 3). - A board card is no longer a button inside a button. The card's title is the control that opens the note now, sitting beside the ⋯ menu rather than wrapped around it. The old shape — a card that was itself a button, with the menu button nested inside — is what screen readers are told never to expect: assistive tech may stop on the outer control and never reach the inner one. Both halves are still there, both still have names, and the card still opens on a click anywhere (a11y pass, 19 Sep 2026, Finding 8).
- A whiteboard connection's label is not eaten by the fold badge. On the starter board the one labelled arrow reads "connect ideas" in the file and drew as "onnect ideas" on screen, from the first moment the board was opened: the badge that folds a branch is painted over the layer the labels live in. Labels now draw above the badges, and steer clear of them in the first place where there is room (iOS 27 pass, 19 Sep 2026, Finding 4).
- A note that never existed stops haunting the list. When another program replaces a note with a folder of the same name — what a sync client does when a file and a folder collide — and you then undo that, the note that had been inside the folder stayed in Vellen's list for the rest of the session. The count disagreed with the sidebar beside it, ⌘P still offered the ghost, and opening it said the file might still be downloading from iCloud, which was never going to happen: it did not exist anywhere. Nothing was ever lost on disk, and a restart cleared it. Vellen decided "note or folder" by whether the name ended in
.md, and a folder can be calledOld Thing.md; it now notices when something it lists lives inside that path (files pass, 19 Sep 2026, Finding 1). - A note that is a symlink shows up without a restart. Symlinked notes work, and always have — but the watcher and the scanner disagreed about whether one was a note at all, because the system reports a symlink as neither a file nor a folder. So a symlink added while Vellen was running stayed invisible until the next launch (files pass, 19 Sep 2026, Finding 2).
- Every word on screen grows with the system text size. Nine pieces of chrome didn't — the "Vellen" wordmark, Graph / Tasks / Calendar in the drawer, the note's path, a board's column and card titles, the find-and-replace title and its main button — because they set a weight and no size, and so fell back to a number with no text-size in it. At the largest accessibility size that produced a list where three rows stood still while the heading above them and the row below them grew by half again. Rather than sizing those nine by hand a fourth round running, the text size now applies at the root, so anything that names no size of its own follows it — including whatever gets added next. Nothing changes on a computer, where the text size is fixed.
- A Settings row with a paragraph in it stacks on a phone, whatever its control is. "Editor width" has a 33-word explanation and a dropdown, and rows with a dropdown were deliberately left side-by-side — right about the dropdown, wrong about the paragraph next to it. At the largest text size that sentence ran down a 160-point column one or two words at a time, 25 lines of it, with the dropdown itself pushed off the bottom of the screen (a11y pass, 19 Sep 2026, Findings 6 and 3, both unchanged since round three).
- The things you tap are finger-sized on the short side too. The ✕ that clears a search was 44 points wide and 28 tall — the control you use every time you finish searching, and the only test guarding it checked the width. The tick boxes in a note and in Tasks were 20 and 22 points square. The table editor's five
+ row/− columnbuttons were 26 points tall, two of them destructive. The whiteboard tips ✕ was over on one side and short on the other. Tick boxes keep the size they are drawn at — a 44-point tick box beside ordinary text would be a design nobody asked for — and get an invisible margin around them instead, which is what the guidelines actually ask for. Underneath, the Apple and Android floors were two nearly identical lists that had drifted apart twice; they are one list and one number now, so they cannot drift again (iOS 27 pass Finding 3, Android pass Finding 3, a11y pass Finding 7, 19 Sep 2026). - LM Studio is treated as a local AI server, not as a broken Ollama. Vellen asked local servers what models they had in Ollama's language only, so on LM Studio — the server Vellen's own setup instructions send people to as an alternative — it learned nothing: no list of what is loaded, no matching a short model name against what is actually there, and no message naming the models the server does have when the one you asked for is missing. You got a bare "model not found" instead. Vellen already knew how to read LM Studio's list one row below, under "Refresh model list"; the two now ask the same way. Settings also explains a local server's errors in the same words the chat uses, instead of showing "404: model not found" where the chat showed a sentence. And the green headline says "a local AI server" rather than naming Ollama, which it has no way to check (local-AI pass, 19 Sep 2026, Findings 3, 4 and 5).
- Vellen can tell an iPad from an iPhone, and from a Mac. iPadOS reports itself to apps as "Macintosh", which four things in the app believed in two different directions. Settings → About told every iPad owner their notes were in "On My iPhone" — the check for an iPad asks whether the device says "iPad", which an iPad never says. The sidebar indented its wordmark 84 points to make room for the window buttons a Mac has and an iPad doesn't. Help hid the keyboard-shortcuts topic from the one device in the family that has a keyboard and ⌘ keys, while the app's own tooltips went on naming those shortcuts. And Settings → Import & capture — one sentence, the whole category — said imports run "on your computer" to someone holding something that isn't one; it says "in the desktop app" now (iPad pass, 19 Sep 2026, Findings 4, 6, 7 and 8).
---draws a line again. A horizontal rule on its own line stayed as three dashes for ever — with the cursor on the line below, with the cursor five lines away, it made no difference. The file was always right; only the drawing was wrong. It now draws the rule, and the three dashes come back when your cursor is on that line, the same way**and[[do. (Typing---directly under a line of text is a different thing in Markdown — it makes the line above a heading — and that still works as it did.) (iOS 27 pass, 19 Sep 2026, Finding 5).- Ask AI stops hiding Vellen's own manual from questions about Vellen. "Draft a guide to the Vellen whiteboard" opened with a verb, so it was treated as a writing request — the kind where the manual is deliberately kept out of the way, in case an essay about the history of the printing press drags in the page about version history. The manual was withheld, the model was handed a list of topic titles including one called Whiteboard, and it invented four features that do not exist and then advised going and consulting the Vellen manual. From inside Vellen. Naming the app is now the line between "write me something" and "tell me about this app, in writing". Separately, the instructions now say for the manual what they already said for your notes: a list of titles is not something you have read, so do not make claims about what the manual does or does not cover — and the manual is never cited as if it were one of your notes (local-AI pass, 19 Sep 2026, Finding 2).
- A panel's own title grows with the text size, like everything under it. At the largest accessibility text size every row in Settings and Help grew by about half again and the heading above them did not move at all, so the title ended up smaller than its own contents. The Help search box did the same. Seven panels share that header — Settings, Help, version history, smart folders, the board builder and both conflict screens — so all seven were affected and all seven are fixed. Nothing changes on a computer, where the text size is fixed anyway (iOS 27 pass, 19 Sep 2026, Finding 1).
- A paused sync no longer offers a button that hides the problem. When another device turns on encryption, this one pauses and says so — correctly. But the only button under that warning was "Sync with this folder instead", which is the remedy for a folder you moved, not for a device that has never been given the passphrase. Pressing it made the entire warning disappear: Sync went back to looking completely normal while the device stayed locked and carried on syncing nothing. The button under an encryption pause is now the one that can actually fix it, and it goes straight to the unlock box (sync pass, 19 Sep 2026, Finding 1).
- The unlock row reads as a sentence on a computer. "Passphrase or recovery phrase" broke across two lines on a Mac and its hint across three — text the much narrower iPhone fits on two — because the rule that stacks these rows was keyed to the size of the WINDOW, while the box that is actually narrow is the Settings panel's own column. That column is the same 448 points wide whatever the window does, so a row with a sentence, a box and a button never had room for all three side by side, on any computer, ever (sync pass, 19 Sep 2026, Finding 2 — and 16 Sep's Finding 2, which predicted this and was closed on the phone alone).
- An iPad's controls are finger-sized, like a phone's already were. The rule that makes everything tappable was written for the phone layout — and an iPad never gets that layout, so it had the touch screen and none of the sizing. Twenty-eight controls came in under Apple's 44-point floor in every orientation, against none on a phone: the same app, the same finger. The worst of them was "Move to trash" at 31 × 21 points, one finger-width from "Rename". The smallest was the row you tap to open Boards, Tables or Whiteboards, at 17 points tall. A whiteboard's connection dots had it too, and missing one of those did not just fail — it panned the board instead, so a connection you tried to draw quietly became a scroll. They all carry the floor now, on every device with a touch screen (iPad pass, 19 Sep 2026, Findings 5 and 2 of the iOS 27 pass).
- A board or table you just made opens, and its sidebar row works on the first tap. Making one for the folder already on screen left the pane where it was, and the new row in the sidebar then did nothing — not on the second tap, not on the third, not for the rest of the session. Quitting and reopening fixed it, and so did visiting a different folder's view and coming back, which is what gave the cause away: Vellen only re-read a folder's views when you moved to a different folder, so a view made a moment ago was never in the list it checked against, and the request to open it was thrown away without a word. It re-reads when asked for something it has not seen (iOS pass, 19 Sep 2026, Finding 1).
- The Custom model field no longer closes while you are typing in it. Typing
qwen3:8bended at the fifth character:qwen3is the name behind the "Qwen 3" button, so the moment your typing passed through it the field shut, the button lit up, and:8bwas never entered — leaving the old model saved and a different one on screen. The two names this hit are the two families Vellen offers buttons for, andollama pull qwen3:8bis what Help tells you to run, so on a machine with those tags there was no way to type either. Worse, the field vanished out from under the cursor and the next click landed on whatever moved up into that space — during testing a Save click turned the web-search setting off and left it off. Typing in a field no longer closes it; picking one of the buttons still does (local-AI pass, 19 Sep 2026, Finding 1). - "Restore Purchases" stops blaming your internet for a sign-in you cancelled. On a device with no store account signed in, pressing Restore makes the system ask you to sign in. Cancelling that is a perfectly ordinary thing to do — but Vellen could not tell it apart from the store being unreachable, so it said "The store couldn't say just now. Try again when you're online" to people who were online. It now says what is actually true: no account is signed in, so there is nothing to restore, and your trial is unaffected — which is the thing anyone pressing that button is really asking (reviewer pass, 19 Sep 2026, Finding 3).
- On a phone, Ask AI no longer types into a box you cannot see. With the software keyboard up — which is every real iPhone — the Ask AI sheet did not shorten to make room for it, so the box you were typing into was off the bottom of the screen: the words went in and nothing appeared anywhere on the display. The line that sits under it went too, the one that says "Sends your question + up to 6 matching notes to Anthropic (Claude)" — so the sentence telling you what is about to leave your device was readable only once it already had. The rest of the app had ended where the keyboard begins since v1.0.36; the sheets on top of it had not. The notes drawer and the note-details sheet are fixed with it. It went unreported this long because the Simulator has a hardware keyboard on by default, and a keyboard that never rises never covers anything (reviewer pass, 19 Sep 2026, Finding 5).
- A refused "Join" now names the way out instead of describing it. Trying to pull a synced folder onto a device that already has notes of its own is correctly refused — merging two separate sets of notes is exactly what that rule exists to prevent. But the message stopped at "start from a fresh vault and join it", which is a description of a remedy rather than a way to reach one. It now names the command, says where to find it on the device you are holding, and — the question anyone reading a refusal is really asking — says the folder arrives alongside what is already there, so nothing is mixed and nothing is lost (reviewer pass, 19 Sep 2026, Finding 1).
- The messages along the bottom of a phone are bars again, not columns down the middle. Both of them — the notice that explains what just happened, and the "Pulling your notes from Drive…" banner — rendered at exactly half the screen's width, whatever their own rules asked for. The sentence written so the $0.00 trial sheet would not come as an ambush wrapped to ten lines in a narrow column over the note. This is the third pass to report it and the second attempt at it: the first fix made the box much shorter without changing its width, which is how it came to be written down as done while still measuring half the screen. The cause was one line — a box pinned to the middle from the left edge only can never be wider than half of what it is sitting in, so the width it was allowed never applied. The whiteboard's connect hint and the graph's empty message had it too and are fixed with them (reviewer pass, 19 Sep 2026, Finding 7).
- A replace that can't write a note no longer prints your account name on screen. When one note refuses to be written, Vellen puts back the ones it had already changed and says which note refused and why — and that message, alone among the write-failure messages, printed the error exactly as the system gave it: the full path starting
/Users/<your name>/, in the one message a person is most likely to screenshot into a support thread. The path it named wasn't even their file; it was Vellen's own temporary working copy, which no longer exists, so anyone who went looking for it would have found nothing and reasonably concluded Vellen had left junk in their folder. It now redacts the path like every other message does, and still says what went wrong. New in v1.0.37, introduced by the fix that made the refusal say anything at all (files pass, 19 Sep 2026, Finding 3). - A narrow window still has your note in it. Vellen tiled to the left half of an iPad — Split View, which is a first-class way to use one — showed the sidebar and the right-hand rail and nothing between them. The note was open: the sidebar highlighted it, the rail listed its headings, and its text was nowhere on screen. 240 points of sidebar plus 280 points of rail is 520 points of chrome that never gave way, around a column that had no minimum, so below about 520 points of window the editor was simply zero wide. In Slide Over the rail was clipped by the screen edge as well. The panes now give way as the window narrows — the rail first, since it comes straight back when there is room, then the sidebar to a narrower width. The note list never goes: losing the way to another note would be worse than anything it saved. Windows on a Mac or PC narrowed the same way get the same treatment (iPad pass, 19 Sep 2026, Finding 2).
- A
[[link]]that wraps onto a second line can be followed again. Tapping one did nothing — nor did clicking it, nor ⌘-clicking it, which the code has always described as the way that always works. The app decided whether your finger was on a link by drawing one box from the link's first character to its last; when the link wraps, the last character sits on a lower line and usually further LEFT than the first, so that box was inside-out and no point on the screen was ever inside it. It was found on a 13-inch iPad in portrait — its default orientation — on the sample vault's own Welcome note, but it was never an iPad problem: any narrow window, any long note title and any large text size wraps a link. Where the link "worked", only the part of it that happened to stick out past the line below did. Vellen now reads the link's real shape, the one a text selection has (iPad pass, 19 Sep 2026, Finding 1). - Search results, the Links rail and the outline can be used from the keyboard, and the buttons say what they do. Every row in the side rails — a search result, a linked mention, an outgoing or broken link, a heading in the outline — was a piece of text with a click handler on it, so Tab stepped straight over all of them and a screen reader was handed each panel as one unbroken run of words with nothing to say where one result ended and the next began. Enter in the search box opened the first hit; the second could not be opened from a keyboard at all. The collapse headers above them had the same problem and never said whether they were open. Separately, four buttons in the phone's top bar and four in the formatting toolbar kept their words in a tooltip, which a screen reader only falls back on — so they were read out as the symbol printed on them instead, and the button that opens the only route to your notes on a phone announced itself as "trigram for heaven". Nothing about any of this looks different; all of it can now be reached, and heard (a11y pass, 19 Sep 2026, Findings 1, 2 and 4).
- Undo of a big replace tells you it is working, and can be stopped. Undoing a replace across two thousand notes took twenty-five seconds behind what looked like an idle window: no progress, no Stop, nothing moving. Anyone who concluded it hadn't worked and quit was left with half their vault reverted and half not. It now counts up as it goes and offers Stop, which keeps the notes already put back — the same promise the replace itself makes (big-vault pass, 19 Sep 2026, Finding 2).
- The Cancel button stops moving out from under you. The hint above the buttons was two lines before a run and one line during it, so the whole row jumped up 18 points at the instant a run began — which is exactly the instant someone reaching for Cancel is reaching. During the pass that wrote this finding, a click aimed at Cancel missed and 2,039 notes were rewritten that were meant to be left alone. The row now sits in one place from the moment the dialog opens (big-vault pass, 19 Sep 2026, Finding 6).
- "Replace in all notes" no longer skips notes whose only match is in their properties — or half-renames a property across your vault. It counted and rewrote different things: the list of notes to change was built from each note's text, which does not include the properties at the top, while the count and the edit itself used the whole file. On a vault where notes carry
status: on-hold, the dialog offered "243 occurrences in 174 notes" when 451 notes held the word — 61% short — and then changed the status in 22 notes while leaving 277 identical lines alone. The only thing deciding which was whether the word also happened to appear in that note's prose. The worst part was the shape: the number that would have told you something was wrong was the same number that was wrong. Properties are now searched along with the text, so the count matches what will change, and a vault-wide rename finishes (big-vault pass, 19 Sep 2026, Finding 1). - Ask AI answers the question when nothing in your notes matched, and stops talking about itself. Ask something your notes don't cover and, on a smaller local model, the reply was the search result and nothing else — or, after a first attempt at fixing that, the instruction Vellen had given the model, read back word for word, with a citation to a note you don't own. Everything Vellen tells the assistant about this case now sits where instructions belong rather than in among your notes, and it no longer asks for a sentence about the search at all: the line under the answer already tells you no note matched, so the assistant's only job is to answer, and to point at a likely note title when there is one. The label itself has stopped claiming what the answer contains — it cannot know that — and says only what it can stand behind: this answer is not from your notes (Android pass, 17 and 19 Sep 2026, Finding 1).
Version 1.0.38September 19, 2026
- The editor had been running without its own stylesheet. It was reported as "a nested list is drawn flat on the iPhone", and that was real — indentation you had written was simply not shown, so an outline or a nested checklist was indistinguishable from a flat list, and while typing you could not see which level you were on. But the list was only the visible part. CodeMirror builds its stylesheet as a
<style>element while the app starts, and the security policy the app runs under carries a nonce — which, by the rules, means any stylesheet made that way without one is thrown away. Silently: the element stays in the page with nothing behind it. So the editor had none of its own styling, and fell back to the browser's default of collapsing runs of spaces, which is what ate the indentation. Your files were never affected — the spaces were always on disk, only the drawing was wrong (iOS pass, 17 Sep 2026, Finding 2). - Mermaid diagrams have their colours back, and their size. Found while fixing the above, and never reported by anyone: a diagram's whole theme — fills, strokes, fonts, edge colours — is written into the diagram itself the same way, and was being thrown away for the same reason. Every diagram in every shipped build has been drawing in flat black. It reads as "a dark-mode diagram" rather than as something broken, which is exactly why it went unnoticed. The same policy had also been dropping the diagram's own size, so a small flowchart stretched to the full width of the pane and scaled everything in it — a two-box diagram filling the window and running off the bottom. Diagrams are drawn at their natural size again, shrinking to fit a narrow pane rather than blowing up to fill a wide one.
- Larger Text takes effect when you change it, not when you next force-quit. Set the system text size up on an iPhone with Vellen open and nothing happened — no hint that quitting and reopening would apply it, which is the worst version of this bug, because the people who change that setting are the people who need it. Vellen read the size once at launch and never again. iOS makes this easy to get wrong: it re-resolves the size immediately for a page that is already open, but it tells the page nothing — no event, no media query, nothing to listen for. What it does change is the size of anything drawn in the system font, so Vellen now watches its own measuring probe and follows it. The size is applied within a second of the change, whether it came from Settings or from Control Center (iOS 27 pass, 17 Sep 2026, Finding 1).
- The bottom strip of an iPhone screen belongs to the home indicator again. Scroll the drawer's folder tree to the end and the last row was drawn at 873.7 pt of an 874 pt screen — the indicator straight across it, and no way to scroll it clear, because that was the end of the list. Unscrolled, the LIBRARY footer and its + sat there instead. Help's topic list did the same thing for a different reason: the overlay holds the panel 12% of the screen down and the panel is 88% tall, which is exactly the whole screen. Both stop above the indicator now. The insets this depends on used to be written out by hand in fifteen separate places — which is how the drawer came to take a top inset and no bottom one without anyone noticing — and are four named values now, so the whole set can be seen at once, and tested:
env()reports nothing in a browser with no notch, so a surface that honours the inset and one that ignores it looked identical to the test suite (iOS 27 pass, 17 Sep 2026, Finding 2). - A whiteboard on a phone is mostly whiteboard again. Select a card and the toolbar wrapped to three rows: the board's own chrome took 41% of an iPhone screen before any board was visible. Two CSS rules disagreed about it — one said "one scrollable row" and had said so for weeks, the other wrapped it and, being later and more specific, won — while the code that measures the row and moves whatever will not fit into a "⋯" menu skipped phones entirely, on the theory that they had a scrolling row instead. They didn't. Phones measure now: ONE row, which does not grow when you select something, holding what you came to a board to do — Undo, Redo,
- Add, Connect →, and Delete once something is selected — with pinning, renaming, colours and the rest one tap away under ⋯. The board's name has left the toolbar too; the header an inch above it already says "Ideas". Chrome is about a quarter of the screen instead of 41%. iPads keep the wrapping toolbar: they have the width for a second row, and wrapping is what keeps the largest text size from cutting anything off there (iOS pass, 17 Sep 2026, Finding 6; iOS 27 pass, Finding 3).
- A board opens when you tap it, not just the first time. On the iPad a board made from the sidebar's
+could not be opened again: tapping its row highlighted the row and left the folder's TABLE on screen, three taps running, until the app was relaunched — after which the very first tap on the same row opened the board. Creating a board opens it, and the base screen remembered which view it had already been sent to, so that a background sync could not drag you back to a tab you had since left. Every later tap on that row looked to that guard exactly like the sync it was written to ignore, and was thrown away. It now remembers the ASK, which is counted and never repeats, so asking twice is answered twice — and a reload still leaves you where you put yourself (iPad pass, 17 Sep 2026, Finding 1). - A table in a note can lose a row or a column again. Removing one was only ever on the right-click menu, and a table cell is editable text — so on a phone a long press raises the system Copy/Paste menu and the right-click never happens. The table could gain a row and never lose one, while Enter in the last row adds one: two Enters, the ordinary reflex for "next line", left two empty rows in the note with no way back. The footer beside "+ row" and "+ column" now has "− row" and "− column", which take out whichever the caret is in (Android pass, 17 Sep 2026, Finding 2).
Version 1.0.37September 18, 2026
- Restore Purchases is a button you can find. App Review rejected iOS 1.0.10 (Guideline 3.1.1, 17 Sep 2026) for having no distinct "Restore Purchases" control: Vellen's was a quiet text link under the Unlock button, gone once the device was licensed. It is a real button now, on the unlock screen and in Settings → About, in every state — and it says what the store answered, whether that is "restored", "your free trial is on record" or "nothing found".
- Ask AI no longer claims a note you own doesn't exist. When nothing in your notes matched the words of a question, the assistant was told to say so and, in the same breath, forbidden to name any note — and what came out was "None of your notes explain wiki links", a claim about your notes from a model that had read none of them. It now speaks about the search ("nothing in your notes matched those words"), may point at a likely title from the list it is given, and the answer carries a label saying it came from general knowledge, not your notes (Android pass, 16 Sep 2026, Finding 1).
- A local AI server that refuses is described as what it is. The chat reported a local server's 403 as "Your AI key was rejected — update it in Settings" — the Local provider has an address, not a key, and Settings a panel away was already saying the true thing. The chat now names the server, quotes what it said, and for a 403 explains OLLAMA_ORIGINS; any other error from a local server points at the model and the address (local-ai pass, 17 Sep 2026, Findings 1 and 2).
- The whiteboard has Undo. A card moved, resized, added, removed or recoloured, a tree tidied — every change to a board can be taken back and redone, with ⌘Z / ⇧⌘Z (Ctrl+Z / Ctrl+Y) or the toolbar's new Undo and Redo buttons, which is what the phone needed: a card nudged by a finger reaching for a pinch was moved for good, and nothing on the board could put it back (iOS pass, 16 Sep 2026, Finding 4). A drag is one edit however far it went; a card's text is still the usual text undo while it is open.
- A replace across notes no longer fills the vault's synced history. The copy Vellen keeps of each note before a replace, a merge or a conflict resolution was a named version — synced with the vault and kept forever — so five vault-wide replaces on a 3,000-note vault left 48 MB of history beside 23 MB of notes, uploaded to Drive, with no way to reclaim it. Those copies are now safety copies: still listed in History with their label, but kept on this device only and pruned (the newest 20 per note, 90 days). A vault-wide replace also records them in one write instead of one per note. Copies made before this version stay where they are (big-vault pass, 17 Sep 2026, Finding 3).
- The Undo after a replace across many notes stays until you dismiss it. It used to fade after twelve seconds — a 2,750-note run takes longer than that to look away from — and a click anywhere on the message, including one aimed at Undo that landed beside it, threw the Undo away. Any message with a button now keeps standing when the text is clicked and has its own × instead; the one after a many-note replace also waits to be dismissed rather than fading (big-vault pass, 17 Sep 2026, Finding 1).
- Find and replace, from the keyboard. Closing the dialog put focus back at the top of the app instead of on the button that opened it — the one dialog with a field that focuses itself, which was being mistaken for the opener. And the Undo in the message afterwards was nineteen Tab stops away with twelve seconds to get there. Now focus returns to the button; while a message with Undo is showing, the next Tab from anywhere goes straight to it (once — Shift-Tab goes back, and the order is normal again); and a message never fades while the pointer is over it or the keyboard is in it (a11y pass, 17 Sep 2026, Finding 1).
- Tapping a link in a note follows it on iPhone and iPad. A finger tap on a
[[link]]only ever placed the caret in it: in editable text, iOS takes the tap for itself and never sends the click the editor was listening for. The tap itself is read now, from the touch — one finger, down and up in place — with the same rule as a click: it follows, unless the caret was already on that line, in which case you're editing it. A swipe still scrolls and a long press still selects (iOS pass, 16 Sep 2026, Finding 3). - "Replace in all notes" no longer leaves a half-done run behind. When one note could not be written (its folder read-only, say), the notes before it in the list were rewritten and nothing said so — no message, no Undo, and the dialog recounted as if the run had never happened (files pass, 17 Sep 2026). Now the notes already rewritten are put back, the run is refused, and the message names the note and the reason. The Undo afterwards also reports a note it could not put back instead of stopping.
- On a phone,
---and two spaces reach the file as typed. The smart-dash guard from v1.0.35 was built on a guess about what the iOS keyboard sends. Recordings of the real events showed three things: the keyboard deletes the hyphen and then sends the em dash as a plain character (so---was still saved as—-, and tables, frontmatter and horizontal rules could not be typed); WebKit keeps a trailing space as a no-break space until it inserts the next character itself (the 0xA0 that reached files); and the second of two spaces arrives as a space replacing the first (so two keystrokes became one and a nested list could not be indented by hand). Now a dash right after that delete is the--typed, the lost second space is put back once WebKit is done, and text leaves the editor with every no-break space made plain — the editor itself is left holding whatever WebKit wrote, because rewriting it made WebKit drop the spaces (iOS pass, 16 Sep 2026, Findings 1 and 2). A no-break space pasted into a note on a phone is made plain too. The recorder stays in the code for the next such hunt: a build made withVITE_INPUT_LOG=1writes every keyboard event toinput-log.mdin the vault. - Vellen launches on iOS 27. Any build made with Xcode 27 was terminated by iOS 27 at launch for not adopting the UIScene life cycle — found by the new-iOS pass on its first run, before anything had shipped that way (the 1.0.10 in the store was built with the iOS 26 SDK and is unaffected). The app now declares the scene manifest, and the windowing library it uses carries a one-line fix (a freed scene configuration) until tauri picks up the version that has it. Known and minor: on an iPad, asking for a second Vellen window may open a blank one.
- The Mac download builds again on Xcode 27. Packaging the disk image failed at the step that arranges its window in Finder; that step is now skipped, so the image opens with a plain window. The app inside is unchanged and still signed, notarized and stapled. A disk image left behind by an interrupted build no longer stops the next one.
Version 1.0.36September 15, 2026
- Mac, App Store and iOS builds link again on Xcode 27. v1.0.35's executables failed with "Undefined symbols: _release_object, _retain_object": Xcode 27 hides swift-rs's own helper functions inside the billing archive, and swift-rs 1.0.8 re-exports only ours. The build script now re-exports those four too (build.rs
export_swift_rs_helpers). v1.0.35 shipped for Windows only because of it; this release is the same code with the link fixed.
Version 1.0.35September 15, 2026
Round two (15 Sep 2026, v1.0.34): the fixes, tiered per READINESS.md.
- Desktop "Sign in with Google" works again for anyone not already signed in. Since the 4 Sep hardening, Vellen's
/pingrefused any page origin — including the app's own health check — so sign-in reported "another program is answering on port 21847" and never opened the browser. That program was Vellen. The check now sends no page origin and treats the server's own refusal as proof it is Vellen (sync pass, 15 Sep 2026, Finding 1, Tier 1). The port sentence no longer has "check your connection" glued after it. - iOS no longer rewrites what you type.
---reached the disk as—-and"straight"as“straight”with auto-correct off, so frontmatter, tables and horizontal rules could not be typed on a phone (iOS pass, Finding 1, Tier 1). The Mac guard listened only forinsertReplacementText; the phone keyboard hands over the curly quote as the typed character and an em dash replacing the hyphen before it. Both are declined on touch platforms and the typed characters put in; an em dash typed on its own (long-press) stays. - Find and replace across a big folder finishes, shows progress, and really stops. Every named version used to re-read every earlier version's meta file — the Nth note cost N reads, 2,750 notes ran 53 minutes without changing one, and Cancel closed the dialog while the writes went on (big-vault pass, Finding 1). A named version is now one blob and one meta file; the dialog counts "Saving a version of each note first — 120 of 2,750…" then "Replacing — …"; Stop before any rewrite leaves everything untouched, Stop during keeps what was done, says how many, and Undo covers exactly those.
- Tab on a whiteboard moves focus for people arriving by keyboard. Walking a board with Tab made a card per press (26 Tabs, 26 cards on disk), and the handler kept firing under an open Settings dialog (a11y pass, Finding 1). A card reached by Tab-walking lets Tab and Enter do what they do everywhere; a card selected by pointer keeps the outliner keys; nothing fires while a dialog or menu is open.
- One double-tap makes one card on Android. Its WebView synthesises a
dblclickfrom the two taps (iOS's doesn't), so both paths made a card, stacked (Android pass, Finding 2). - A note that comes back from a delete/edit clash appears at once, in the list and in search — it was written to disk and never indexed until a relaunch (sync pass, Finding 2).
- A case-only rename (
final→FINAL) leaves one row, from Finder or from Vellen; a note replaced by a folder of the same name drops out of the list. The watcher asked the disk "does the old path exist", and a case-insensitive volume said yes — one phantom row per rename, the note listed as its own unlinked mention (files pass, Findings 1 and 3). It now checks for a file under that exact name. - "Not saved — the last save failed" in the footer while a save is failing, instead of "Saving…" (files pass, Finding 2 — the twin of the v1.0.33 conflict fix).
- Ask AI finds a note you name, and never describes one it wasn't shown. "What does the note Linking your notes say?" sent no vault text (the relevance floor dropped the note it named) and the answer invented a title and contents; "List the titles of the notes in my vault" got "no matching notes" (Android pass, Finding 1, every platform). A title spelled out in the question is retrieved whatever the floor says; a question about what notes exist gets the folder's titles as context; and when nothing matched, the prompt says so in words the model can't read past.
- The iOS trial sheet, once dismissed, stays dismissed. The Swift trial function had no cancel branch, so cancelling read as "couldn't tell", the "won't ask again" reassurance never showed, and the sheet came back every launch; on a device with no Apple Account the dismissal surfaces as a thrown "User cancelled" error, now recognised too (reviewer pass, Finding 1). The sentence explaining the sheet stays on screen until the sheet is dealt with instead of fading under it, and no longer sits behind the "Pulling your notes from Drive…" banner (Finding 3). The banner itself is a bar across a phone's bottom again, not a narrow column over the note (sync pass, Finding 6).
- Enter on an empty checklist item ends the list in one press, on every platform. It took three, and left a stray blank line, because the Markdown keymap treated
[ ]as content — and was registered twice, once at a precedence nothing else could beat (iOS pass, Finding 3). - The phone's frame no longer slides up under the Dynamic Island while typing in a table cell, a whiteboard card or the AI sheet: the frame is sized to the visible height while the keyboard is up, and any scroll the engine puts on it is undone at once (iOS pass, Finding 2).
- A local model name is matched without regard to capitals — "Qwen3:8b" was refused with "Installed: qwen3:8b" — and the model and address fields no longer accept a phone keyboard's capital or an autofill (local-ai pass, Finding 1). On a phone the address field's example is the shape that can work, not
localhost(Android pass, Finding 8). - A phone draws the 600 most-linked notes of a big folder, not all 3,000. Unticking "Current note only" on a 3,000-note folder took 68 s, went blank for most of it and landed as an unreadable blob (big-vault pass, Finding 2). Above 600 notes a phone now keeps the most-connected ones — the hubs the picture is about — and the toolbar says "the 600 most-linked of 3,005 notes … a phone doesn't draw them all"; a Mac, iPad or PC still draws everything. The neighbourhood notice says what unticking will show.
- Help caught up with the last three releases (Robert, 16 Sep 2026: "have we been keeping the help up to date?"): the search box's ✕; Enter on an empty item ending a list; how Ask AI treats a note you name, a question about what notes exist, and a question nothing matches; the "From Vellen Help" chips; model names without regard to capitals and the "answered by" line; sync history rows for a sync that didn't finish or a note that couldn't be copied; the footer's two "Not saved" states; the trial sheet on a device with no Apple Account; symlinked notes; the phone graph's cap.
- Polish from the same round. Touch: the
[[picker's rows truncate with an ellipsis again and its title and path have a gap between them; the outline picker / command palette rows, the drawer's Views rows and Settings' Test connection / Disconnect meet the 44 pt floor, and on Android every floor is 48 dp; the Tasks due button and the whiteboard tips' ✕ take a finger-sized tap; connector dots on a zoomed-out phone board sit outside the card instead of over its text; the phone's frame and notices keep clear of the keyboard. Phones: every Settings row with a sentence stacks its buttons underneath (the sync paragraph, the "is connected" line, the encryption unlock label were one word per line); the note title in the header follows the system text size; the EULA re-flows instead of keeping its source line breaks; "On My iPhone" no longer breaks mid-word; the Tables empty state says how to set one up here (long-press a folder → Table view) instead of sending you to a Mac. Words: "this device" in the encryption intro and the recovery kit; a branch note's heading follows the name the file was given; "Refresh model list" counts what the server has, not the built-in presets; the chat says which model answered when the server used a different one; "From Vellen Help" chips name a topic only when the answer really drew on it (no more "All keyboard shortcuts" under an essay), and a request to write something attaches no manual at all. Assistive tech: "Add card to To do", "Collapse Doing", "Set a due date for …" instead of three identical names; the Help search box has a name; a tab's close × is no longer a control nested inside the tab; disclosure triangles are not spoken. Files: a symlinked note says once that edits are saved as a copy in the folder. The calendar's "+N more" stays inside its cell in a short window. - A sync that fails leaves a history row ("Didn't finish — Google Drive had a problem on its side — nothing was changed; it will be tried again") instead of a red bar that goes away, and Google's "Internal Error" is worded as Vellen's; a note that couldn't be copied is said in the status line and the history rather than "Already up to date" (sync pass, Finding 3).
- Builds on Xcode 27. Its Swift Package Manager compiled the billing package's iOS build against the macOS SDK and hid the functions Rust calls; swift-rs 1.0.8 handles both. The Mac needs
rustup component add llvm-toolsonce — ship.sh and the pass preflight check for it.
Version 1.0.34September 15, 2026
- Find and replace has a button in the note's header ("ab→", beside the pin) and a choice of This note or All notes. Stripping the colons out of a
10:23:05:23:07:31:0Ain the note you're editing is the everyday case (Robert, 15 Sep 2026), and it belongs in the same dialog as the vault-wide replace rather than only behind ⌘F. The header button opens on This note; the command palette's "Find and replace in all notes…" opens on All notes; either can be switched at the top. Both scopes get the same protection — the note is saved to History first, the message afterwards has Undo — and the button says what it will do: "Replace in “Ids”", "Remove in 4 notes". The phone gets the header button and a "Find and replace in this note…" command, one note only. - "Replace in all notes…" is a command with its own dialog, not a row under the search box. The row was one tap away on every platform, took the search box's text verbatim (so
tag:worklisted the notes tagged work while Replace hunted for those literal characters), and its dialog promised that every note was "covered by backups" while it took no version of anything — a note never opened in Vellen had no history at all, and its old wording was simply gone (Robert, 15 Sep 2026: "more dangerous than useful"). Now, on a keyboard layout, the command palette's "Replace in all notes…" opens a dialog with Find and Replace with, a live count of exactly what it would touch, and a button that says the number ("Replace in 4 notes"; "Remove in 4 notes" when Replace with is empty). Before any note is rewritten, every note gets a named version ("Before replacing X with Y") — and if one of those can't be saved, nothing is replaced, as with restores and sync conflicts. Afterwards the message has Undo, which puts each note back unless it has been edited again since. The phone has no vault-wide replace at all (see the entry above for what it has); the sidebar search box only searches. - A ✕ in the search box empties it in one tap — results and the replace row go with it, and the cursor stays in the box for the next search. Escape still does the same on a keyboard; on a phone there is no Escape, and the only way to put a search away was to backspace the words out one by one (Robert, 15 Sep 2026). Finger-sized on touch.
Version 1.0.33September 14, 2026
- Boards and Tables are in the phone's drawer, always — a board or table set up on a Mac, iPad or PC opens on the phone in its read-only layout. The rows were hidden unless the notes folder already held one, so a phone had no way in and nothing said the features existed.
- The status line tells the truth while a conflict banner is up: "Not saved — waiting on you" instead of an endless "Saving…".
- The name-clash message names the note the way you see it ("final", not "final.md").
- AI answers built from the built-in Help say so — "From Vellen Help: Whiteboard" under the answer, the same way "Notes sent for context" names the notes it read; the chip opens that Help topic. A manual answer and a made-up one used to look identical.
- On a phone, a big vault's graph opens on the current note's neighbourhood (above 500 notes, the first time) instead of arranging the whole thing — 3,000 notes took a minute and drew an unreadable blob. Untick "Current note only" for everything; the choice is remembered. The Mac still opens the full graph.
Version 1.0.32September 14, 2026
Everything below comes from the first full unattended round of hands-on
passes (14 Sep 2026: iOS, Android, reviewer, sync, local AI, big vault,
files, accessibility — 61 findings, reports/passes/2026-09-14-*.md).
- A note that isn't UTF-8 text can no longer be destroyed by typing in it. A
.mdin an old code page (the kind an imported Windows vault is full of) showed � for every accented letter, and the first autosave wrote those replacement characters over the original bytes for good, with no version kept. Such a note now opens read-only with a banner saying why; Edit anyway keeps a byte-for-byte copy under.history/raw/first. - Reinstalling on Android and choosing the same folder opens your notes again instead of creating an empty "My notes (1)" beside them — which showed the welcome note and none of your writing, with nothing to say why. The drawer's item is now "Open a folder as a notes folder…".
- Local AI works from the built Android app. Requests to a local server carried the app's own origin, which Ollama refuses (403) — and the refusal was reported as "can't reach the server". Local requests now send no origin, and a server that answers no is described as refusing, with the status.
- Diagnostics no longer leak a word of a note's name. A three-word file name in an error left its middle word between the redaction markers; the whole path goes now, spaces and all.
- Android's Back button closes what is on top first: an open ⋯ menu or the drawer, before anything behind them moves — and it keeps working after the app has been sent to the background and brought back (every press used to quit the app from then on).
- iPhone and iPad: the app no longer scrolls out from under the status bar on a swipe, and tapping a field no longer zooms the page and leaves it zoomed (the "Connect" button, the encryption unlock screen and the note-details ✕ all went off-screen that way). Fields keep at least 16 px text on touch screens; pinch-zoom is unchanged.
- Menus fit the phone. The whiteboard card menu ran past the right edge with "Remove from board (the note itself is untouched)" cut at "unto…"; menus now wrap within the screen.
- A folder renamed or moved in Finder is followed. Its notes used to stay listed under the old name, unopenable ("may still be downloading"), and then appear twice once anything touched them. A note renamed in Finder while open keeps its tab too, with a notice, instead of the tab closing without a word.
- Sync says the right thing after a delete/edit clash. "1 needs your review (copies saved)" over a note that simply came back — nothing to review, no copy saved — is now "1 note you deleted came back, edited elsewhere"; that sync shows in the recent list rather than being filed as quiet; and the conflict copy an edit/edit clash creates is uploaded by the same sync, not the next one.
- Vellen's AI can answer "what format are my notes in, and where do they live?" A Help topic, Where your notes are stored — plain Markdown files, now exists for it to read (it used to search the web and conclude Vellen might not exist).
- Branch → note never makes a second note with an existing title (which made every
[[link]]to it ambiguous); it numbers the new one and says so. - Boards say when notes are off the columns: "3 without a status →" beside the count, linking to the "No status" column — a new board over a folder read "4 notes" above three empty columns with the fourth column off the edge of an iPad.
- Calendar cells show a few chips and "+N more" instead of crushing eighteen items into 6-pixel slivers.
- The graph on a phone shows its screen and progress at once rather than a blank page for the 25 seconds a 3,000-note graph took to build, and the finished layout is framed in the viewport instead of a corner. Tidy tree says when a tree is taller than the screen and starts at its top.
- Touch targets meet the 44-point floor on phones and tablets — the note action row (Delete no longer one of five identical circles), the calendar's month arrows, the conflict banner's buttons (which now wrap instead of running off the screen), the
[[note picker, AI provider chips, the whiteboard toolbar; checkboxes grow with the text size. - Phone header names the view — Tasks, Graph, Calendar — instead of the note you left; search excerpts read as prose, not Markdown source; Help paragraphs re-flow on a phone; the whiteboard's gesture hint wraps instead of stopping mid-word; Android's first frame is dark, not white.
- Local AI wording. The green headline names the model that is actually answering (LM Studio uses whatever it has loaded); "Refresh model list" works on LM Studio; the row under an amber "couldn't be verified" no longer says "is connected"; a settled model name is said once; small models no longer echo "[Note]" from the citation example.
- Screen readers: the notes list is a named tree that announces the note you arrow to; the note editor is "Note text"; every property field is named by its property and every Remove says what it removes; the Settings, note-panel and saved-view tab lists move with the arrow keys and take one Tab stop; whiteboard and board cards are reachable by keyboard; a note's tab is named for the note alone; the four sidebar "+" buttons say what they add; "Links (2)".
- Store screen: "Vellen couldn't reach the App Store just now — your trial is unaffected" replaces "The App Store record: couldn't be read just now."; the unlock covers "your iPhone, iPad and Mac" rather than "this store's ecosystem"; encryption settings say "this device" on a phone; a web-search answer's continuation no longer runs into the previous sentence.
- Open a particular folder at launch —
open -a Vellen --args --vault <folder>on a Mac (or--vault=<folder>) opens that folder instead of the remembered one. For scripted and automated use; it becomes the remembered folder like any other. - Pass infrastructure: the preflight checks the Anthropic key is live, refuses an installed app too old for
--vault, and reads reachability by status; a round builds the Mac bundle from HEAD first and can be resumed; each pass frees port 1420, restarts the Simulator app, boots the named devices and tears everything down after; the Android pass's spurious conflict banner (a resume rescan reading a half-written file) is fixed by never reading a note while our own write is in flight.
Version 1.0.31September 13, 2026
- Vellen follows the system text size on phones and tablets. The size set under Accessibility → Display & Text Size now scales the sidebar, menus, panels and note text (up to about 1.6×, so every screen stays usable at the largest settings). Until now the app rendered pixel-for-pixel the same at the largest accessibility size as at the default — the one app on the phone that didn't answer. Settings → Appearance has a switch to turn it off; Vellen's own text-size buttons still work on top.
- Screen readers and the keyboard. Task checkboxes in a note now carry their task's words as their name ("Task: Buy milk") instead of a bare "checkbox", and sit outside the Tab order so the app's own controls come first. The formatting toolbar is one Tab stop with the arrow keys moving inside it, as its role has always promised; the two "H" and two "A" buttons have distinct names (Heading / Highlight, Smaller text / Larger text). The properties panel's "Add property" field has a proper label.
Version 1.0.30September 13, 2026
- An outside edit that lands right after an autosave is no longer missed. For two seconds after Vellen saved a note it treated any change to that file as the echo of its own write and ignored it — so a line appended by another program (or another device's sync) inside that window never reached the editor, no banner appeared, and the next keystrokes were refused by the safety check with nothing on screen to say why. The file's content now decides what is Vellen's own: an outside change shows at once on a clean note and raises the "changed outside this window" banner on one with unsaved typing. A file that vanishes under unsaved typing is likewise noticed whatever the clock says, and the words are kept. Failed-create notices name the note without its extension.
- Opening a big vault: the folder listing is one round trip. The timings shipped in v1.0.29 answered the question they were built for: of a 3,000-note vault's 2.4 s open, 1.07 s was "scanning the folder" — not disk time (27 ms in one process) but three thousand crossings of the webview boundary, one per note, to read its date and size. The app now walks the vault natively and answers once; the old walk stays as the fallback. A second line in the timings, "launch: webview start → open vault begins", now separates app start-up from the vault open, since the 5.9 s the pass saw from launch held only 2.4 s of the latter.
Version 1.0.29September 13, 2026
- The graph settles in about half the time on a big vault. A 3,000-note, 15,000-link vault took seven seconds to arrange. The physics is unchanged; its bookkeeping was the cost — a fresh hash map of neighbour buckets every tick and every pair visited twice. It now sorts nodes into a grid of reused typed arrays and sees each pair once, with a tighter neighbourhood that still covers the spacing unlinked notes settle at; and the dots are drawn as one shape rather than three thousand. Measured: 8.7 → 4.4 ms a step.
- Vellen now times its own slow phases, and the diagnostics say so. Opening a vault (each step and the total), arranging the graph, a search, collecting tasks and Tidy tree each record how long they took; Settings → About → Copy diagnostics includes a "Timings (this session)" section. A hands-on pass spent a day trying to time a release build from outside with screenshots and got numbers that were plausible and wrong; this is the answer from inside.
- Big-vault housekeeping. Opening a note re-rendered every row of the sidebar (600 ms at 3,000 notes — a row now redraws only when the change names it or something below it); the hover-only delete button is created only for the hovered row (a third of the sidebar's DOM); and the indexing progress line updates ten times a second instead of once per fifty files, which on a cached open re-rendered the app sixty times for a line nobody could see.
Version 1.0.28September 13, 2026
- After unlocking an encrypted notes folder, background sync now actually resumes. v1.0.27's fix for the silent phone cleared the banner and pulled the other device's edits the moment you entered the passphrase — and then stopped again: the background timer parked by the refusal was never restarted, so a note written on the phone sat there until a relaunch or Sync now. Found on a real iPhone within an hour of shipping, on the exact test written to close it. Now the timer restarts whenever a sync succeeds while it is parked; the test goes on to edit a note after the unlock and watches it reach Drive, sealed, by itself.
- Rename a note from its row. A new note is "Untitled" until you name it, and on a phone the row's long-press menu offered everything but a rename — the only way was ⋯ → Rename… on the open note. Right-click (or long-press) a note or whiteboard in the list → Rename… now turns the row into a name box; F2 on a focused row does the same. It asks first when other notes link to it, like the editor's pencil.
- Local AI: what Settings says is now what is true. A hands-on pass against Ollama, LM Studio and a few impostors turned up nine ways the AI panel and Settings misreported the state of a local server:
- A green "AI is connected" survived a model that didn't exist, a server that was down, and a web page that was not an AI at all. A check that doesn't get a proper answer is now an amber "set up, but couldn't be verified just now" with the reason under it — never green.
- Connecting to an address that answers with a web page (a router's admin page, say) went green, and asking it said "the AI returned an empty response" — sending you to change models. It now says the address answered but not like an AI server, and names where Ollama and LM Studio usually listen.
- A stopped server showed a raw transport string ("error sending request for url…") where the friendly sentence already existed; the sentence now says "Couldn't reach the local AI server at …" with a step for Ollama and LM Studio, since the field invites both.
- After a failed model, picking a different one left the old complaint under the new name until you pressed Test connection; changing the model now re-checks at once.
- LM Studio answers an unknown model name with whatever it has loaded, silently; Settings now says "the server answered as X, not Y".
- An answer whose connection died mid-sentence was presented as finished, with Save as note offered. It is now marked Cut off, the Save button says so, and Retry is suggested.
- A doubled full stop in the Settings detail line; "add a provider key" under a field that takes an address. Help's troubleshooting list now describes these messages, and names the whiteboard's fold menu items (the AI had invented an "Unfold" entry because Help said "the same choice" without naming it).
Version 1.0.27September 13, 2026
- A device whose notes folder was just encrypted from another device no longer falls silent. A two-device pass found the iPhone quietly stopped syncing — in both directions — the moment the Mac turned encryption on: it fetched the keyring, refused (correctly) to sync without the passphrase, and then said nothing at all. The refusal now shows as a banner where you are, with an "Open encryption settings" button that lands on the passphrase box; Settings → Sync carries the same sentence; Recent sync activity records "Paused — needs your passphrase" instead of a history that simply stops; and background sync waits for the unlock rather than retrying every few minutes. Once unlocked, sync resumes on its own. The sentence itself now names the screen ("Settings → Encryption") rather than telling you to scroll down to a section that moved.
- A note you deleted that comes back — because another device edited it after you deleted it — now says so. The edit surviving is the rule and stays; what was missing was any word about it. A short notice names the note and the reason, and Recent sync activity lists it as "came back … edited elsewhere after you deleted it" rather than as a new arrival. An edit/delete clash no longer counts as "1 to resolve" in that history either — there is no conflict copy to resolve.
- The "Get your notes" list labels its count honestly. "10 items" beside a vault the Mac calls "14 notes · 1 whiteboard" looked like a disagreement; it is a count of the folder's top-level entries, and now says so.
Version 1.0.26September 13, 2026
- Three things a hands-on pass through the iPhone build turned up. The whiteboard's fold badge and connection dots shrank with the board's zoom — on a map just laid out, the badge was about 7 points across, well under a fingertip; they now hold their size on screen whatever the zoom (and are drawn a little larger on phones, with a wider tap area). "Map from a note's outline" placed the new tree from a fixed point, on top of whatever was already on the board; it now starts below the lowest existing card. And the phone's hint bar still said "long-press a card: remove" when long-press has become the phone's menu — open, branch, fold, remove; it says so now.
- Maintenance note. The iOS row of the webview matrix records the pass: WKWebView on iOS 26.5 / Xcode 26.6, editor, whiteboard and Tasks all behaving.
- Five more from the same kind of pass, on Android. The Tasks view's checkbox was a 15-pixel target on a row that opens the note, so a near-miss threw you out of the list instead of ticking the task; it now has a generous tap area around it (larger still on phones) that ticks the task. Right-click and long-press menus on phones and tablets have 44-point rows, and the destructive item is set off from the rest by a rule and a gap. A map made from a note's outline is now moved clear of existing cards as a whole — the earlier fix placed only the root, and a tree's upper branches fanned back up over the old cards. When a local AI server can't be reached or refuses the request, Settings now says that, instead of claiming a key has expired (a local server has no key). And the Tasks view shows a task's words rather than its markdown —
**bold**,==highlight==and links are rendered as text, while the note keeps its marks. - Straight quotes stay straight. On a Mac, typing between two quotes in a note —
'v'— could have macOS swap them for curly ones, and the cursor then landed outside the opening quote so the rest of the word arrived in the wrong place (ellen123‘v’); a command copied from that note broke in the terminal. Vellen now declines the system's smart-quote and similar substitutions while Auto-correct is off, and always inside code, fenced or inline. Spelling underlines are unaffected. - What an App Store reviewer sees, fixed at the source. A hands-on pass along the review notes on a fresh iPhone found the app asking the App Store about the trial — and, on opening the folder, showing the $0.00 trial sheet — before the licence had been accepted, with the sheet's explanation hidden under the licence text. Nothing now talks to the store, and no folder opens, until "I Agree". The phone's ⋯ menu ran off the bottom of the screen with Settings out of sight and no hint that it scrolled; it now fits the screen when it can and shows "⌄ more" when it can't. The AI sheet's title row keeps clear of the status bar, and its ✕ is finger-sized. And a phone no longer says your notes are "on your computer".
Version 1.0.25September 12, 2026
- Help catches up with the whiteboard. The whiteboard topic now says that Tidy tree gives labelled arrows a wider gap, and points at the Color menu (not swatches) for colouring a selection; "All keyboard shortcuts" gains a whiteboard table — Tab, Enter, ⌘/Ctrl+Enter, Shift+Tab, − and +, Shift+click and Shift+drag, Delete, Escape. The split-panes row of that table had been showing its backslash twice.
- A note's outline becomes a map, and a map becomes notes. On the whiteboard, + Add → Map from a note's outline… reads a note's headings and bullet lists and lays them out as a tree — the title as the root, headings as branches, bullets as cards, nested as the note nests; prose and code are left behind. Going the other way, right-click (long-press on a phone) a card with cards branching off it: Branch → outline note writes the branch as a note beside the board (heading plus nested bullets — mapping it again gives the same tree back); Branch → checklist note does the same with
- [ ]on every line, so the Tasks view picks them up at once; and Branch → a note per card makes a folder named after the card with one note per card below it, each carryingstatus: To do, a title from its first line and a link to its parent — and turns those cards into note cards, so a Kanban board on that folder, grouped by status, shows the branch as a pipeline while the map stays in step with it. - A note card no longer says its title twice. A card showing a note whose first heading only repeats the file name now shows that title once, in the card's title bar; a heading that says something different is kept. Frontmatter never shows on a card. The Tasks and Boards Help topics now point at the whiteboard's Branch → … commands as a way in.
- A mapped note is the root of its map. "Map from a note's outline" now puts the note itself at the root as a note card, so the board shows under the note's "On whiteboards" and a double-click on the root opens the note. And a selected card's four connection dots are now drawn whole on its edges rather than clipped to half-moons.
Version 1.0.24September 12, 2026
- Whiteboard branches fold, and cards select in groups. A card with cards branching off it now carries a small − in its corner: click it (or press − with the card selected) and everything downstream tucks away behind a +N badge that says how many are hidden; click again, or press +, to bring them back. Right-click (long-press on a phone) offers the same. A folded card drags its hidden branch along with it, and Tidy tree treats it as a single card, so a big map can be worked one limb at a time. Nothing is removed from the file to fold it — the card simply gains
collapsed: true, which any other JSON Canvas app ignores and shows in full. And on a computer, Shift+click adds cards to the selection, Shift+drag on empty space lassoes them, and the whole selection then moves, colors, or deletes together (the Delete button counts them). The in-app Help's whiteboard topic covers both. - Drag a whiteboard card onto another to move its branch there. The target card lights up as you hover; let go and the dragged card becomes its child — the arrow is re-pointed (label and colour kept), the card lines up as the new parent's last child, and everything below it comes along in the same shape. A card set down beside another just moves, as before. A card can't be dropped on itself or on anything below it, since that would tie the tree into a loop, and a folded target unfolds so you can see what you did.
- Tidy tree leaves room for arrow labels. A level whose arrows carry labels is now set far enough right that the widest label sits in clear space between the cards, measured in the font it is drawn in — "if both viable" was being squeezed into the standard gap and half hidden behind the cards on either side. Levels without labels keep the usual spacing, and the columns stay straight. Arrow labels on every board also now sit just above the line instead of on it, with a slightly wider halo, so the line never runs through the words.
- The whiteboard toolbar fits the window. With a card selected it held twenty-one things — and in anything short of a full-screen window the colour swatches, and whatever came after them, were cut off with no way to reach them. The four "+ …" buttons are now one + Add menu (Text card, Note from your vault, Web link, Group) and the eight swatches one Color menu whose button shows the selection's current colour as a dot. And the row now measures itself: whatever still doesn't fit folds into a ⋯ menu at the right end, least-missed tools first (Delete is the last to go), and comes back as the window widens. Every tool is one tap away at any width. A phone keeps its scrolling row.
Version 1.0.23September 12, 2026
- The whiteboard is now a mind map you can type. Select a card and press Tab: a new card branches off it, already placed to the right, already joined by an arrow, already open for typing. Enter adds a card beside it on the same branch. Both work mid-sentence inside a card's text too (Tab, and ⌘/Ctrl+Enter), and Shift+Tab climbs to the parent — so a brainstorm runs as fast as you can think. When it gets messy, Tidy tree lays the whole tree out left to right in clean columns with every parent centred on its branches, keeping the root where you put it and leaving everything else alone. Nothing about the file changed: a tree is ordinary cards and ordinary arrows, so the board still opens anywhere a JSON Canvas does, and a tree you drew by hand tidies the same way. + Child, + Sibling and Tidy tree are buttons too, for a phone or a tablet. And reopening a card for editing now puts the cursor at the end of its text, where you almost always want it.
- Three things an end-of-week read of the week's own fixes turned up. A local AI server that answers the model-list request with a polite "unknown endpoint" (LM Studio does) was being read as "no models installed" and refused; it is now left to answer for itself. A Drive listing whose connection drops after the headers arrive was still being read as an empty Drive — the one shape the 9 Sep fix hadn't covered — and the two root-folder lookups that could have created a second "Vellen" folder on an incomplete answer now go through the same checks as every other listing. And the model field in Settings → AI could be overwritten by the local provider's background check while another provider's panel was open, or while you were typing a name.
- Help no longer contradicts itself about the web, and the AI's chapter picker ignores bold sentences (only bold names count as a chapter's subjects).
- The AI now finds features by their names, not just their chapter titles. Asked "what is the clipper?", it answered that Vellen has no clipper — the manual's chapter is called "Saving web pages", and a word that appeared only inside a chapter counted for almost nothing when choosing what the AI gets to read. Now a word the manual says rarely and repeatedly, or names in bold, weighs as much as a chapter title, so "callout", "backlink", "font", "quick capture" and the clipper reach their chapters; and a long word no longer matches a short one it merely begins with ("backlink" was matching every chapter that said "back"). Help also now names backlinks and the outline in so many words.
Version 1.0.22September 12, 2026
- "Qwen 3" finds the Qwen 3 you actually pulled. Help says to run "ollama pull qwen3:8b"; the model chip said "Qwen 3" and asked Ollama for "qwen3"; to Ollama those are different names, so the answer was "404: model 'qwen3' not found" under a green "AI is connected". Vellen now asks Ollama what it has before it asks it anything else, and a family name settles on the installed tag — the chip shows the name that answers. A name nothing installed answers to is refused up front, with the list of what is installed and where to pick from it, instead of by the server with a bare 404.
- Local AI works again. Settings said "AI is connected · Local (Ollama)" and the chat said "Couldn't reach the AI provider. Check your internet connection" — while the model was running on the same machine. Vellen's own network permission was the culprit: it allowed "any http address", and the rule it used silently meant "any http address on the default port". Every cloud provider sits on the default port and was fine; Ollama sits on 11434 and was refused, and a model on another computer at home (the Help's own example) would have been refused the same way. The permission now says what was meant. A test now evaluates the app's real permission file against the real addresses — so it can't drift back.
- A local model that can't be reached is blamed on the right thing. "Check your internet connection" was the one message for every provider, wrong for the one that doesn't use the internet. The message now names the address it tried and asks whether Ollama is running there; and if Vellen's own permissions ever refuse an address again, it says that's an app bug and where to report it, instead of sending you to look at the Wi-Fi.
- Sync is now tested the way it runs. Every earlier test of syncing stopped at the edge of Google Drive, because the test harness had no Drive to talk to. It has one now — a small, faithful Drive that lives inside the test page, with real checksums — and seven end-to-end scenarios run the actual sync code against it: the first sync on a fresh account, a note edited elsewhere arriving while one edited here goes up, "already up to date", deletions from another device (asked first; Keep keeps), a note changed on both sides keeping both, and a Drive folder that really was emptied being refused with the notes untouched. Nothing in the app changed; what changed is how much of it a regression can hide behind.
Version 1.0.21September 9, 2026
- What's new, on the website. Every release note from this file is now published at vellen.capitalcalcs.com/changelog.html, in the same words, with the release date — so you can see what changed, and what was wrong before it, without opening the app.
- "Your Drive copy looked empty" is no longer said about a Drive that isn't. A Windows machine reported that sync had protected its notes because the Drive copy looked empty — while the Drive copy was intact. Two things could make Drive's file list come back as nothing without Drive ever saying so: a "successful" reply that wasn't Drive at all (a hotel or airport Wi-Fi sign-in page, a proxy) used to be read as an empty list, and Drive's own "this search was incomplete" flag was ignored. Both now stop the sync with a plain sentence — "Google Drive couldn't be read properly — a Wi-Fi sign-in page or a proxy may be in the way" — and nothing is compared, so nothing is judged. The same sign-in page at token-refresh time no longer reads as "your Google sign-in has expired" either. The protection message itself now says the Drive copy may simply have been unreadable just now, and to look before rebuilding.
- Help explains inline code. The formatting list said backticks make "inline code" and left it there. It now says what that's for — a file name, a shortcut, a menu path, an exact phrase, anything to be read exactly as written — and that everything inside is taken literally, which is how to mention a piece of Markdown without triggering it.
Version 1.0.20September 7, 2026
- Selecting a paragraph no longer paints two overlapping blocks. The line you're on has a faint tint that stops at the text; a selection across a wrapped paragraph is drawn the way every editor draws it, out to the edges of the writing area. Together they made a stepped block in two shades. While anything is selected, the selection is now the only highlight; the line tint returns when you click or move on.
- Owners are never asked to register a trial. After updating on an iPhone that had already bought the unlock, a notice said the 14-day trial had been registered with the App Store — while About correctly showed the licence as owned. At launch the app asks the store and opens your last folder at the same time; when the folder won the race, the trial registration ran before the store had said "licensed". It now waits for the store's answer first (bounded, so an unreachable store still can't block a real trial), and the "registered" notice is only ever shown to someone actually on a trial.
- New notes can take their folder's shape. A folder of like notes — every application, every project — tends to share the same properties, and a new note there used to start empty: open a neighbour, copy the names, blank the values. Now, when the other notes in a note's folder share properties it lacks, the Properties panel offers Add this folder's properties (3). One click adds the names with blank values — a checkbox unticked, a list empty — and never copies a value or touches one you already have; it adds only what's missing, so a note you started by hand catches up too. It reads only the notes beside this one (never a subfolder's or another folder's), and a folder with a table or board offers that table's columns. Never automatic: a note that should have no properties ignores it. Also in the command palette.
Version 1.0.19September 6, 2026
- Edit ▸ Select All selects the note, not the whole app. On a Mac, picking Select All from the menu bar lit up everything — sidebar, tabs, panels and note together — because the menu item was the system's own action, aimed at the window rather than at what you were editing (⌘A on the keyboard never did this; the editor handles that itself). The item is now Vellen's: it selects all of the note under the cursor, or the text field you're typing in, or a whiteboard card's text — and with nothing focused, it selects nothing at all.
- The calendar emoji is gone from previews too. A task's due date is written in the file as
📅 2026-10-24, and on Apple devices that emoji draws a calendar page reading "JUL 17" — a second, wrong date beside the real one. The editor has hidden it behind the app's own icon since 30 Aug, but linked mentions, search results and the published site's search still showed it. Previews now read "due 2026-10-24"; rendered notes — hover previews, embeds, whiteboard cards, exported pages and websites — draw the same icon the editor does. The file is unchanged.
Version 1.0.18September 5, 2026
- The report that arrives after the restart. Diagnostics used to live only in memory, so a report made after reopening the app said "no errors recorded this session" — precisely when there was most to say. The last 60 events now carry across launches (labelled as an earlier session's), every message and stack trace is stripped of file paths before it is recorded rather than at one caller, and a save that fails while the app is quitting or closing is written down instead of being swallowed. Help's description of the report now matches it: the only path it shows is your notes folder's own location.
- A key that missed the keychain no longer stays missed. If the system keychain didn't answer when a key was saved — locked, slow, or dismissed — the app used to keep that key in its own settings for the rest of the session without saying so. It now tells you once, offers "Try now", asks the keychain again on its own, and moves the key across the moment it answers. Google AI keys travel in a request header, not the address, so they can't appear in a log that quotes a URL.
- The launch document tells the truth again. LAUNCH-READINESS's headline section was dated 8 Aug and quoted v0.1.95, 723 tests and a four-gate script; it now reads 5 Sep 2026 with v1.0.17, 1,405 tests, five gates, the audit's four tiers, and the decision that 1.0 is Apple and Microsoft with Google Play following in 1.x once Play Billing exists. The Mac App Store sandbox row is ticked (it was complete on 7 Aug and marked open), and rows exist for the in-app privacy link, the acknowledgements, phone update paths and the quit/background flush. README and MAINTENANCE name lint as a ship gate.
- The parts nobody had tested. The website export's real code path now runs in tests —
publish: false, a folder's own index.md as the home page, custom.css kept across re-exports, image copying, section links, the outline, the skipped count — instead of a look-alike the tests built for themselves; the build is a pure function the app and the tests share. The purchase flow (trial ended → read-only → buy → writable again) and the front door (welcome screen, the three ways in, an unreachable Drive, picking a known folder) have automated tests for the first time. No behaviour changed; what changed is what a regression can hide behind. - Faster on phones, larger websites, longer notes. Opening a folder, a background sync and the views list each checked files one at a time, waiting on every round trip; they now check several at once (5–10 s on a phone with thousands of notes, down to a fraction). A website export of a big folder no longer writes the entire navigation tree into every page — past 300 pages each page carries its own folder chain and the rest fills in when opened, so a 5,000-page site is megabytes, not gigabytes; the graph is laid out in short slices so the app stays responsive while exporting, and isn't included past 2,500 pages; search text is trimmed to 2 KB per page. In the editor, moving the cursor no longer rescans the whole note for tables, images, maths, diagrams and embeds — only an edit does — so arrow keys on a very long note are instant again.
- The screens that show thousands of notes stay quick. The sidebar tree re-rendered every row on every change anywhere in the app (a dirty-flag flip in one note, a sync pulling 500); it now redraws only when the notes, folders or selection actually change (2,300 rows: 435 ms → 17 ms per change). A table draws its first 300 rows and offers "show 300 more" / "show all" instead of laying out every row on each keystroke in the filter bar, and it no longer re-runs on unrelated changes. The Tasks view remembers which notes hold which tasks and re-reads only the ones that changed, instead of every task note on every keystroke; it also waits for typing to pause. The graph stops drawing once the layout has settled — it used to redraw every frame forever, one stroke per link, which warmed laptops and drained phones — and skips measuring labels for notes off the screen.
- Big folders open and search faster. Opening a folder of several thousand notes took seconds even from cache, because every note's broken links were re-checked against every other broken link in the folder; that work now scales with the note, not the folder (a 5,000-note test with three broken links per note: 8.9 s → 0.2 s), and the whole load notifies the sidebar once instead of once per note. The index cache — a startup shortcut, not a record — is no longer rewritten two seconds after every save (20 MB on a large folder, on a phone); it's written when the folder has been quiet for a while, and always before the app closes, switches folders or goes to the background. Search-as-you-type finds prefix matches by binary search instead of walking the whole vocabulary, and builds snippets only for the results it shows (a common word: 104 ms → 27 ms). Smart folders run each query once per change rather than on every sidebar render, and a version checkpoint reads its index once instead of twice.
Version 1.0.17September 4, 2026
- The sidebar no longer scrolls sideways, and the app no longer shifts inside its window. The Graph, Tasks, Calendar and Ask AI rows were four pixels wider than the sidebar, which was enough for a horizontal scrollbar; the rows fit now. Separately, the page around the whole app could scroll by a few pixels whenever anything ran slightly taller than the window — so a click-drag on empty space nudged everything. The frame is fixed now; only the sidebar, editor and panels scroll.
- One name for the thing your notes live in. The app said "vault" in some places and "notes folder" in others for the same folder; it now says notes folder everywhere you can read it (Help included). A round of small fixes with it: "New whiteboard" in the command palette (it said "canvas", the file extension); "Import from Evernote (.enex)…" opens the file picker straight away; the sidebar's + makes a fresh note immediately, exactly as ⌘N does and as the Welcome note promises; Encryption drops its "(beta)" and a sentence written for testers; the Sync page's pointer to Encryption is one line; Unlock and Restore are disabled (with the reason shown) on a build with no store behind them; the Trash's "Delete forever" is a labelled button, not an ×; "Click" starts its sentence in the sidebar blurbs. On published websites: the outline no longer double-escapes "&" in headings, it sits below the note's own title instead of above it, the home page's links to pages with # or & in their names work, a sparsely linked site no longer labels every dot on the graph, "Remove this setup…" says so if the delete fails, and Help describes search results as a few words around the match, which is what they are.
- Keyboard, screen readers, and the weight of a question. Right-click menus are real menus now: focus moves in when one opens, ↑/↓ and Home/End walk it, Enter picks, Escape closes and puts focus back where it was. Tabs are tabs — ←/→ switch, the × is a named button. Every dialog keeps Tab inside it, closes on Escape from anywhere, and returns focus when it goes; when one dialog sits on another, Escape closes the top one only. The system "reduce motion" setting now stills every animation, not just one spinner. The toast has two temperaments: a status fades as before, while an error — "your changes are NOT on disk" — stays until you close it, with its own × and a red edge, and is announced as an alert. Moving a note or whiteboard to the trash no longer asks first: it's recoverable, so the toast offers Undo instead (folders still ask — they carry more). The two heavy sync actions that asked nothing — Rebuild Drive backup and Disconnect — now do, and Rebuild says so when Drive isn't connected rather than spinning. Empty states: an empty Library invites the first note, an empty Graph explains itself (no notes, no notes matching the tag filter, or notes with no links between them yet), and a command search with no match says what to try.
- Phones, boards and the words on the purchase screen. On a phone, the ⋯ menu now has Rename… and Move to folder… for the open note (moving was drag-only, which a finger can't do, and Help claimed the menu had it), and the note screen shows its title once instead of three times over a tab strip with a single tab in it. The purchase screen names the store you installed from — a Windows buyer saw "App Store record: none for this account yet" while their Microsoft Store trial was running — reads Microsoft's trial end date, and says 15 days on Windows where the Store enforces 15; Help says when that trial starts. Two error screens that showed a raw stack trace (Google sign-in failing, a folder that wouldn't open) now say what happened and what to try; the details go to Diagnostics. The licence screen no longer offers "Decline & quit" on iPhone and iPad, where it did nothing.
- A better first ten minutes. The sidebar now leads with your notes — Library sits above Views, Smart folders and Tags — so a first run shows the note list instead of four feature blurbs. Settings → About gains a "Your notes are in …" row with the real folder path and a Show in Finder / Show in folder button; the Welcome note names the folder too, and a new notes folder announces where it went the moment it's made. "Get your notes" (the sign-in screen) has a Back link, and Escape and the Android back button leave it; it also says that nothing is copied until you choose a folder. On the App Store builds, the $0.00 sheet that registers your free trial is now announced before it appears and confirmed after — and Help and the Welcome note explain it. "New table" and "New board" on a folder that isn't set up yet speak plainly ("Set up “Projects” for tables", properties, not frontmatter or schema), keep the name you typed, skip the setup screen when there's nothing to propose, and close on Escape — as does the board editor. The palette's "New board" now makes the same kind of board the sidebar makes, and there's a "New table" command beside it.
- Three fixes to the newest code. On a published website, a link to a section of another page —
[[Note#Budget]]— now opens that page at that section instead of showing as "Not part of this published site" (while the target page's own "Mentioned in" list said otherwise). Exporting a site again to the same folder now removes the pages an earlier export wrote for notes that have since been markedpublish: false, renamed or deleted, and images no longer used — so a note made private really does leave the site, as Help promised. Only files Vellen wrote are ever removed; your custom.css, custom.js and anything you added yourself are left alone. And a table or board whose folder schema carried a key with a trailing space (status :in YAML does that) no longer writes a secondstatusline into a note when you edit the value: the app now writes to the spelling the note already has, blind to case and padding alike, and the schema drops the padding on load. - Ready for the store reviewers. iPhone, iPad and Android builds no longer check GitHub for newer versions — those installs update through their store, and Settings → About says so. Settings → About now links to the website, the privacy policy and support, and carries the open-source acknowledgements (every library, its licence, its copyright line). Help's trial topic points at the privacy policy too. On a phone, a view that crashes now costs you that view, not the app — the same safety net desktop has had — and the app-level recovery screen no longer offers a folder picker phones can't use. Two doors in the trial's read-only promise are closed: after the trial ends, a checkbox toggle and an edit in the Properties panel no longer rewrite the note. And the phone's note menu no longer offers Export and Print, which only ended in an error there.
- Six security hardenings from the pre-customer audit. The browser clipper's local listener now accepts clips only from real browser extensions — a web page could previously reach it through a sandboxed frame and write notes into your vault (and discover that Vellen was running); the clipped page's address is validated before it's written into a note; and a clip that arrives while Vellen is in the background no longer yanks the app in front of what you're doing. Sync refuses file or folder names from Drive that would land outside your notes folder (a folder named
..could write files elsewhere on every synced device), and every path the app resolves is now checked against the vault boundary as a last line. An encrypted vault's remembered key moved into the system keychain alongside the AI keys and Drive token. Links in rendered content — AI answers, Help, whiteboard cards — open in your browser instead of replacing the app's window with the page. Exports and published sites only include images from inside the vault. And the app's own permissions were tightened: "open" is limited to web and mail links, and the folder-access grant only accepts a real, non-root folder. - Nine ways to lose words, closed. The pre-customer audit (4 Sep) traced every path where typed text could quietly vanish or a note could be replaced without asking. Switching notes with "protection paused" on now writes the last keystrokes first (the paused switch had been skipping the flush). Switching vaults — from the vault menu, the welcome cards, or Trash → restore — flushes every open note and waits for any running sync before letting go, so a sync that outlived the switch can no longer write the old vault's boards into the new one. A sync that pulls a note you're mid-edit on raises the conflict banner instead of letting your next autosave overwrite the other device; the same if your autosave landed while the sync ran. "Saved" now means the words that were written — keystrokes typed during a slow write stay marked unsaved until their own save lands, so a quit can't trust a stale flag. New note, rename and move onto a name that already exists open or refuse instead of replacing the existing file. A note deleted by another app or device while you have unsaved edits keeps its tab and its words, and saving brings it back. A preferences file that exists but can't be read makes boards and pins read-only for the session rather than "empty" — the empty version, saved later, used to mark every board deleted on every device. The same absent-vs-unreadable rule now protects version history's index. Named versions work on Android (they were failing silently), and every "the other version is saved first" promise — conflict banners, History → Restore, closing a conflicted tab — now refuses to overwrite if that safety copy could not actually be taken, "protection paused" or not. And ⌘Q on the Mac, plus backgrounding on a phone, flush autosaves before the app goes.
Version 1.0.16September 4, 2026
- A new task line is ready to type into — no spacebar first. The checklist button and Enter both insert \
- [ ] \with its space, but on Mac and iOS the caret could end up on the wrong side of a line-ending space, so typed text landed between the brackets and the space — \- [ ]text\— and no checkbox appeared until you pressed space yourself. Text typed right after the brackets now always lands after the space (and supplies one if it's somehow missing), so click the button and just type, hit Enter and just type. Pressing space there deliberately still means exactly what it says. - Selecting text no longer paints a phantom block at the editor's foot. On Mac and iOS, dragging a selection could also fill a solid slab of highlight over the empty space below the note — nowhere near the text. Two selection painters were on at once: the editor draws its own selection, and a stylesheet rule was forcing the browser's native one back on too; WebKit "helpfully" fills the gaps between blocks when native selection paints, hence the slab. One painter now: the drawn selection keeps its color, the native one stays off, and the find panel's own text fields keep a styled selection of their own. Chromium happened to hide the overlap entirely — which is why no test ever saw it — so the new test pins the mechanism (drawn layer visible, native transparent) rather than the pixels.
- The website export finishes its 24 Aug polish list. Four smaller pieces, closing out the plan: a page with three or more sections opens with an "On this page" outline whose entries jump straight to their section (every heading is deep-linkable either way); \
publish: false\in a note's properties keeps that note out of the export entirely — no page, no search result, no dot on the graph, and the export message says how many stayed private; a wikilink that resolves to nothing now renders as an honest dotted stub that explains itself on hover, instead of quietly dressing up as italics; and the sidebar's folders fold — real collapsible groups, with only the current page's chain starting open on large sites, so two hundred notes still make a readable map. All of it static HTML and CSS, working from a double-clicked index.html like everything else. - Exported websites have a graph. The sidebar's new Graph button opens a map of the whole site: every page a dot sized by how connected it is, every link between notes a line. Hovering a dot lights up its neighborhood, clicking one opens that page, drag pans and scroll zooms, and the page you came from is marked. The layout is computed by the app's own graph engine at export time and shipped with the site — readers download a finished picture, not a physics engine, so it opens instantly, looks identical for everyone, and the site stays true to its no-server promise. Second of the Publish-parity items from the 24 Aug plan.
- Exported websites can be searched. A box at the top of every page's sidebar searches the full text of the whole site as you type — pages whose title matches rank first, each result shows the line that matched, Enter opens the top one, Escape brings the navigation back. True to the export's one rule, the words ship inside the site itself (in the same
site-data.jsthe link previews already read), so search works with no server anywhere: from a web host, a USB stick, or a double-clicked index.html alike. First of the remaining Publish-parity items from the 24 Aug plan; the graph view is next.
Version 1.0.15September 2, 2026
- A folder's table & board setup can finally be removed. The only "Remove this setup" button lived on a screen the app could never show — the Help audit caught it. Now the folder's row under Boards or Tables offers Remove this setup… in its right-click menu. It warns first, counting exactly what goes: every view saved for that folder (tables and boards share one setup, so both go together) and the property types the folder learned. Notes are never touched — every file keeps its properties as written. The e2e stub also learned that removing a directory removes it: deleted fixtures used to resurrect on the next read, which made every "and now it's gone" flow untestable.
- The Help got its second full line-by-line check. Every topic audited against what the app actually does. What changed: the Tables topic now covers the Note row, bulk editing several rows at once, that stray spaces join capitalisation as not-part-of-a-property's- name, and that a never-ticked checkbox counts as unchecked; two instructions pointing at a Remove this setup button you can't actually reach are gone; the setup dialog's type list no longer claims it guesses links; web capture's size and time limits are stated; the AI tasks note says the vault-wide sweep only happens with the whole vault selected; the trial topic tells Android users plainly that buying isn't ready there yet; and app-store installs are told updates come from the store.
- Web capture can't be flooded or stalled. The 25 MB ceiling used to be checked before the download (against a size the server declares, and can lie about) and again after (too late — the memory is already spent). The limit is now enforced while the page arrives, chunk by chunk, and the whole download gets one minute of wall clock — a server that trickles forever is refused the same as one that floods.
- A Microsoft Store install stops hearing about updates from GitHub. The tester notice could announce a new version before the Store's own rollout reached you — an update the app can't install anyway. A Store install now leaves updates to the Store (and Settings says so); sideloaded and tester builds keep the notice, which is who it's for.
Version 1.0.14September 1, 2026
- A trailing space is not a second property.
status :in a note's frontmatter yields a key with an invisible trailing space, which made a second property with an IDENTICAL label beside the real one — the same invisible-twin problem the capitalisation fix killed, one character wider. Edge whitespace now joins capitalisation as not-part-of-the-name: the spellings match as one property everywhere, the setup dialog and filter bar offer the clean word, and padded duplicates in an existing setup heal on load. - A leftover
titlein a folder's setup is cleaned up.titleis reserved for the note's name, so a property by that name (from before the reservation) was dead weight that could never show; it is now removed when the folder loads, and leaves the file at the next save. - Big folders stop paying for every keystroke. Typing in the filter bar was recomputing the table's column list — a walk over every note's properties — on each keypress, defeating the cache built to prevent exactly that. Unnoticeable in a small folder; a 3,000-note folder will feel it.
Version 1.0.13August 31, 2026
- A table shows the properties your notes actually have. A folder's table learned its columns once, when it was first set up, so a property you added to a note afterwards was invisible — you could even filter by it and still not see it, which is a filter you cannot check. Columns now come from the notes: add
owner:to a note and the column is there. The Properties button lists everything the folder knows about, and unchecking one hides that column for this view. A property you never wanted is a column you can see and hide in a click, which is a much smaller problem than one you cannot find at all. - Properties you add later can be filtered on. A folder's table learned its properties once, when you first set it up, and had no way to hear about one you added afterwards — so a property written on Tuesday was missing from the filter list for ever, with nothing on screen admitting it existed. The property dropdown now also lists what it can see in your notes, under "In your notes — not set up yet", and choosing one adds it to the folder. Nothing is added on its own, which is still what keeps a typo from becoming a column, and a property with a fixed set of values arrives knowing the values already in use.
Statusandstatusare the same property. A folder that had both spellings written in it showed the property twice in the filter list — identical labels, different results, no way to tell which was which. Capitalisation is no longer part of a property's identity: the two are matched as one, and filtering on it finds notes written either way. Your notes are left exactly as you wrote them — nothing rewrites a key in a file behind your back — and a property you set from the app is written back using the spelling that note already uses. A folder that already had both spellings in its setup — from before this landed — heals itself the next time you open it, keeping the values both spellings knew about.- One spelling per property, even before it's set up. A folder with
Status:in some notes andstatus:in others — and no table setup yet — showed one merged column with half its cells blank, because the heading unified the spellings and the cells didn't. They agree now. The setup dialog was worse: it offered the same word twice, both ticked, and Create wrote both spellings into the folder's setup — the original duplicate-property bug coming back through the newest door. It proposes one, spelled the way most notes write it, and its type guessing judges both spellings as one property — soPriority: 1in two notes andpriority: highin a third reads as text, instead of as a number that flags the third note the moment you adopt it. And it no longer proposes an empty "tags" list (or anything else that's blank everywhere) on folders where nothing is tagged. - A property's type can be forgotten. The Properties panel's × drops a property back to plain text — useful when a list of values is wrong, or a date-ness was guessed from notes that only looked like dates. The column stays and your notes are never touched.
titlebelongs to the note's name, whatever the capitalisation. A frontmatterTitle:line was half-in: offered for adoption as a property while a filter on it read the note's name. Every spelling of it now means the name — never a column of its own, never offered, filters and sorts on it read the name. And the Properties panel leads with a Note row, so a hidden Note column finally has a listed way back.- A box nobody ever ticked counts as unchecked. "Done is unchecked" used to match only notes that literally carried
done: false— which nobody writes by hand — so an open-tasks view hid exactly the tasks never marked at all, the newest ones. A missing checkbox now counts as unchecked; "is checked" still requires a real tick, so nothing sneaks into "done". - The Calendar is a calendar before you've dated anything. Opening it on a new vault used to replace the month with a sentence explaining how to add a date — so the one screen that shows what the Calendar IS was the screen a new person never saw. The month, with today on it, is always there now; the hint sits above it and leaves as soon as anything has a date.
- A saved view can't go quietly wrong over a spelling any more. The
Status/statusfix unified how values were read, but a view FILE could still name the spelling that got folded away — and everything that trusted the file's spelling missed silently: a saved filter matched nothing (the table just went blank), a sort did nothing, and a board collapsed every card into its "No value" column. Views now resolve their filters, sorts, and grouping to the real property the moment they load, wherever the spelling came from. - A column from an older saved view shows its values again. A view written before the
Status/statusfix could name the spelling that got folded away: the heading looked right while every cell under it was blank, and clicking one opened a plain text box instead of the property's own editor. - A filter written before the
Status/statusfix keeps its operators. A saved filter naming the spelling that got folded away quietly came back as plain text: the operator menu lost "is any of" and the value box stopped offering the values to choose between. Nothing errored, which is what made it hard to spot. Capitalisation is now irrelevant in the last place it still mattered. - No more empty Tags column on every folder. Vellen adds a
tagsentry to every note behind the scenes, so the new columns-from-your-notes rule was putting an all-empty Tags column on folders where nothing is tagged. A property has to actually be filled in somewhere before it earns a column — unless you set it up deliberately, which still shows it straight away. - Showing or hiding a column no longer saves your half-built filter. The Properties checkboxes save immediately by design — looking is not editing — but they were saving the whole working copy, unsaved filter and sort edits included. Same for the ×: forgetting a type mid-edit committed the edit. Both now touch only what they say they touch, and forgetting the type of a property that's currently hidden no longer wipes the view's saved column order.
- The filter bar lets go of a forgotten type. After × dropped a select back to plain text, the bar could keep offering "is any of" on values the property no longer has — a condition that matches every row and could even be saved into the view that way. The bar now follows the folder's setup the moment it changes.
- Bulk edit's "+ New option…" can't erase anything. Pressing Enter with the box still empty used to mean "clear this property on every selected note" — twelve notes updated by an unfinished thought. It now asks you to type the option first and stands still.
- Nothing your files say is lost on save. A table's setup and view files are rebuilt from what the app understands every time they're saved — so a field written by a NEWER Vellen was silently stripped the moment an older one touched the folder, and in a vault synced across devices that don't update in lockstep, sync then spread the stripped file everywhere. Fields this version has no name for now ride through every save untouched, and a file's version number is kept instead of being rewritten downwards.
- When old duplicate spellings disagree about a property's type, the one that knows the values wins. Folding a
ref/Refpair used to keep whichever was written first — and if that was plain text, the other's list of values was dropped for good, flagging everything already written under them. A select that actually carries its values now survives the fold whichever order the pair was written in. (The spelling still comes from the first.) - "Local AI — nothing leaves this device" only says that when it's true. The line was decided by which provider was answering, so it went on promising that while your notes crossed the network to an Ollama server on another computer — which is the setup Vellen's own Help recommends for phones and tablets. It now names that machine instead: Local AI at 192.168.1.20 — no cloud provider.
- A local AI address typed without
http://works.localhost:8080was saved as written, which built requests that could never connect — and the privacy line treated the address as another machine. Thehttp://is added for you now. The backup box also stops calling that address an "AI key in plain text": it's a server address, and the warning that cries wolf teaches you to ignore the one that matters. - A settings backup can find your AI keys again. Keys moved into the system keychain, and the backup was still looking in the old place, so ticking "include my AI keys" saved a file with none in it and said otherwise. It reads them properly now, tells you how many went in, and a restored key works straight away instead of waiting for a restart.
- Restoring a settings backup checks what it's restoring. A damaged or hand-edited backup file could plant entries for providers that don't exist (or blank keys that showed a provider as connected but never worked) — and count them as restored. Only real providers with real keys come back now.
- A saved xAI key shows as connected. Settings listed the providers by hand and xAI had been left off, so the panel offered to set up an account that was already working — with Test key and Disconnect hidden. The list is derived from the providers themselves now.
- A full pass over the Help. Every topic checked against what the app actually does. The corrections worth knowing about: bold that wrapped onto a second line was printing as literal
**and stealing the emphasis from the next phrase (24 places); the Views list left out Calendar and Tables; the AI privacy paragraph didn't mention that a question about tasks sends every unticked checkbox in the vault, or that recent chat turns travel with each follow-up; the encryption topic said an older copy of Vellen would pause rather than damage its notes, which is backwards;queryblocks need the wordqueryon the fence line, and the example didn't have it; and the trial topic said 14 days everywhere when Windows is 15, and named payment on stores that don't take it yet. - Help catches up with the tables rework and the published site. Two instructions were sending people to a delete button that no longer exists — a row under Boards or Tables is a folder now, and a view is deleted by the × on its own tab. The Tables topic is rewritten around how tables actually work: columns follow your notes, what the Properties button does, adopting a property from the filter bar, why a date has to be written
2026-08-27, and that capitalisation doesn't count. The website-export topic now describes what it has been shipping since v1.0.12 — "Mentioned in" backlinks, link previews, and thecustom.css/custom.jsyou can theme it with.
Version 1.0.12August 30, 2026
- Published sites say who links to a page. Every exported page now carries a "Mentioned in" list of the notes that link to it, each with the line the mention sits on, so you can tell what a link was about before clicking it. Plain HTML — no script — so it works on any host and from a double-clicked file alike.
- Links preview on hover. Point at a link in a published site and a small card shows the target's title and opening lines. The data is embedded in the site itself rather than fetched, which is why it keeps working when you open the folder locally instead of uploading it.
- Published sites follow dark mode. Pages were light-only. They now use the app's own palette and follow the reader's system setting.
- A site is yours to restyle. Exports write
custom.cssandcustom.jsbeside the pages, linked last so they override everything, and re-exporting never overwrites them — the theme is a handful of CSS variables you can redefine in a few lines. The export message now says that re-exporting to the same place is how you update a site. - A folder's saved views stay in that folder. Moving from one folder's table to another's left the first folder's views — tabs, filters, sorts — on screen and live, while the app already believed you were somewhere else. Saving in that moment wrote the view you were looking at into the folder you had just arrived at, so a filter called "Blocked" set up for Applications could end up belonging to Projects. Nothing was ever global: the screen and the app briefly disagreed about which folder you were in, and a running sync could stretch that moment out indefinitely. A folder's table now starts clean when you arrive, and a view can only be written to the folder it was loaded from.
- Boards and Tables in the sidebar list folders, not every saved view. One row per folder, named after the folder, opening that folder's original table or board — and every other way you've saved of reading that folder is a tab along the top of the screen it opens. The list used to name every saved view in the vault, alphabetically, so two views of one folder sat rows apart with a third folder's view between them and nothing to say which belonged where. A folder with more than one shows the count.
- "Table view" on a folder menu opens a table. It used to open whatever that folder happened to have — so a folder whose only view was a board answered the request with the board, every time. A table is now selected if the folder has one and created if it doesn't, and the new table appears as its own tab you can rename or remove. Asking while that folder's board was already on screen also used to do nothing at all, because nothing about the screen had changed.
- Opening a folder's table says that it is opening. While a folder's setup was being read the screen was blank, which looks exactly like a menu item that did nothing — and if a sync happened to be running, the read never started at all and the blank stayed. It reads the folder now whether or not a sync is in progress, re-reads when the sync finishes, and says "Opening…" in the meantime.
Version 1.0.11August 30, 2026
- A due date in a note now carries a small calendar icon instead of the 📅 emoji. On Apple platforms that emoji draws as a calendar page reading "JUL 17", so every dated task showed two dates that disagreed — and the wrong one was larger and in colour. The marker is now drawn as the app's own calendar icon: the same shape as the Calendar row in the sidebar, in the same muted colour as the date, and with no numbers on it to be mistaken for one. Unlike the other marks Vellen hides, it stays hidden when you click onto the line — the emoji is something the app writes, not something you type, and having the wrong date flash back into view under the caret was the whole problem. The caret steps over the marker in one press and one backspace removes it. Your files are unchanged, so a vault opened in Obsidian still means the same thing.
- You can type a due date again. In the Tasks view, typing the first digit of a month closed the field — and whatever you typed next landed on the list behind it and threw you out of the Tasks view entirely. Typing a date was impossible. Nothing is saved while you type now: the date is written when you press Enter or click away, and only if it actually changed. Escape abandons the edit, and the × is still how you clear a date. The field also opens empty rather than on today, so tapping the chip to see what it does no longer dates the task for you.
Version 1.0.10August 29, 2026
- Brief status messages appear on phones now. The small self-dismissing toast the app uses for transient results was only ever drawn on desktop, so on a phone those messages went nowhere at all — including the note explaining what the App Store's free-trial sheet was, on the very device most likely to meet it.
Version 1.0.9August 29, 2026
- Vellen no longer asks you to sign in over and over. When the App Store sheet that registers your free trial was dismissed — or couldn't complete for any reason — the app asked again every single time you opened a vault, with nothing that could ever stop it. It now asks once per launch at most, and once you've dismissed it, not again at all.
- And it explains itself. Dismissing that sheet now leaves a short note saying what it was: the App Store registering your 14-day trial, no charge, trial running either way. It reads like a purchase because it technically is one — for $0.00 — and nothing on the sheet said so.
- Reschedule from the keyboard. On the Calendar, select anything and ⌥/Alt+← → moves it a day, ⌥/Alt+↑ ↓ a week. It keeps focus, so you can keep going. Dragging was the only way to move something, which meant the calendar didn't work at all without a mouse.
- Amber text is readable in the light theme now. Twelve places used a colour picked to work as a background tint — overdue chips, the WIP counts on a board, the "matches nothing" filter note, the flagged-value badges, warning callouts — and as text on a light background it fell below the accessibility standard. All of them now use a darker shade meant for reading; the tints themselves are unchanged.
- An overdue date chip in the Tasks view responds to hover again; it had been silently overridden.
Version 1.0.8August 28, 2026
- Tasks can have due dates — and still don't need them. Every row in the Tasks view now ends in a date chip:
+ Dueon a task with no date, the day itself once it has one, amber the moment it's past, and a count of everything overdue in the toolbar. Set it, change it, or take it off without opening the note. Nothing about an undated task changed, because most tasks shouldn't have a date. - The date is written into the task line as
📅 2026-09-02— the convention Obsidian's Tasks plugin uses — so a vault opened in either app means the same thing. Type it by hand and Vellen reads it; the Tasks view shows you the words and keeps the marker out of the way. - The Calendar. A new row under Views, beside Graph and Tasks: one screen for the whole vault showing what's coming due — dated notes and dated tasks together, a month at a time. Nothing to create or name. Drag anything to another day and the note itself is rewritten, in the field it already used. Finished tasks stay on the grid, greyed out. Late days are tinted, and a backlog from before the month you're looking at is counted in the header rather than left off-screen. On a phone it's an agenda instead of a grid.
- The two-day-old per-folder calendar view is gone with it — the wrong shape, built carefully. Any calendar view you saved opens as the table it always was underneath, rather than disappearing.
Version 1.0.7August 28, 2026
- Android: your vaults are named for themselves again. Every vault in the switcher showed the name of the folder you'd granted access to — usually "Documents" — so a list of vaults read as four identical rows. Each now shows its own folder's name.
- Change a property on many notes at once. Tick rows in a table (shift-click for a range, the header box for all) and a bar appears: choose a property, set its value, apply to everything selected. The case it was built for is the ordinary one — someone leaves the team and forty notes still name them as owner. Selection only ever means rows you can currently see, so a filter change can't leave a hidden note enrolled in the next change, and the result is reported plainly, including any note skipped for having unresolved sync conflicts.
- Add a new option without leaving the table. Any status-style property's editor — in a cell or in the bulk bar — now offers + New option…: name a value the property has never seen and it joins the list and lands on the notes in one step. If a note already carries a value the property doesn't know, its cell offers to adopt it instead (and a board card stuck in the holding column can add itself as a column). A value still never joins the list just by being typed — that's how a typo used to invent a column — but now there's a deliberate way to say "this one is real".
- Boards finish the job: + Add card at the foot of every column makes a note that already belongs there; every card and column has a ⋯ menu (Move to…, Collapse, Move left/right, WIP limits) — which is also how cards move on a tablet, where there's no dragging; and columns can be reordered by dragging their heading, which sets the order everywhere that property is used. Views can be renamed, deleted, and — once a folder's last view is gone — the whole setup removed, leaving the folder exactly as it was.
- The "values didn't match" notice is a badge, not a banner. It sits quietly in the corner with a count; click for the full sentence. Nothing hidden, just proportionate.
- Help caught up. The Kanban topic describes boards as they work now rather than the old builder, there's a new topic for Tables, and the boards topic is no longer hidden on phones.
- Boards and Tables: two tools, one engine. Boards are still boards — their own sidebar home, their own + that asks up front which property's values become the columns (pick one, or mint a new status-style property right there), so a board always opens working. Tables are the new second tool: any folder as a spreadsheet — sort, filter with a bar that reads like a sentence, edit values in place. The two stay connected where it counts, through your notes: change a status in a table and the board's card moves; drag the card and the table updates. Both run on the same typed engine, so a typo'd status can never invent a board column again (it shows flagged in the holding column instead), cards carry excerpts, due dates that warn when overdue, task counts and tags — and card order, WIP limits and collapsed columns now sync between devices. Boards grouped by tags show a card on every column whose tag it carries. Your existing boards convert automatically on first launch, with the originals left untouched so older devices keep working. And for the first time, boards and tables exist on phones: swipe between columns, tap a card or row to open the note.
- "Export as website" no longer appears on phones. The export needs you to pick a destination folder, which phones can't do — so tapping it could only answer with an error. The folder menu now offers it on desktop only, matching the command palette's existing behavior.
Version 1.0.6August 27, 2026
- Android can see its tables. On Android the vault lives behind the system's storage framework, and the bases store was reading
.basefiles with the plain filesystem — which quietly answers "nothing there" for such a vault. So a freshly synced Android phone offered to turn a folder into a base whose schema and saved views were already on its disk. Every.baseread and write now goes through the same platform-aware bridge as notes and sync; nothing changes on desktop or iPhone.
Version 1.0.5August 27, 2026
- Sync always asks before removing a table's schema or saved views. The deletion dialog normally appears only from three files up, so a single note deleted on one device doesn't nag the others — but that meant one or two
.basefiles could be removed silently, and a table's whole memory is only a few files. Any.basedeletion now asks, regardless of count. - An open table follows sync. A table used to load its schema and saved views once, when opened — if a sync then delivered changes from another device into the open table, you could be marooned in a half-loaded picture (a filter applied with no tabs to escape it). The table now re-reads its
.basefiles the moment any sync finishes; unsaved sort or filter drafts survive the refresh. - The phone's top bar names the table you're looking at. Opening a folder's Table view on iPhone left the previously open note's title in the top bar ("Untitled 2" hanging over the Projects table). The bar now names what the screen shows — the folder's name while its table is up, the note title otherwise.
- Table views can be renamed and deleted, and names never collide. Double-click a view's tab to rename it in place; the × beside the active tab deletes the view after a confirm (your notes are never touched — only the saved way of looking at them). The last view can't be deleted, and every path that names a view now keeps names unique — saving a second "All notes" becomes "All notes 2" instead of two identical tabs. The view tab is also always visible now, even when there's only one, so a view's name isn't a secret.
- Choosing Keep in the sync deletion dialog now settles the question instead of re-asking it forever. When sync notices files were removed on another device, it shows them and asks before removing them here. Before, choosing Keep only skipped the removal — the next sync recomputed the identical plan and asked again, every time. Now Keep means keep everywhere: the kept files are treated as new, so the next sync puts them back on your other devices, and the dialog doesn't return. (Found via a real mixed-version case: an older build that couldn't see the new hidden
.basefolders kept trashing them on Drive, and the newer Mac kept asking about the same five files.)
Version 1.0.4August 27, 2026
- A stale Google sign-in now heals itself instead of dead-ending. Vellen's sign-in survives reinstalls (tokens live in the keychain), but the copy it keeps of when the access token expires is only a prediction stamped with the device's clock — and a clock that was ever moved forward (say, while testing a trial) leaves a token that looks fresh locally but is long expired at Google. Drive then answered "invalid authentication credentials" on a screen whose only button was Back. Now Google's verdict outranks the local clock: any 401 forces a token refresh and one retry, on every Drive call — joining a vault, background sync, all of it. And if the sign-in really is dead (revoked, or its refresh expired), the "Get your notes" screen clears the dead tokens and puts you back in front of the Sign in with Google button with one line saying why — never a dead end.
Version 1.0.3August 27, 2026
- Bases: see any folder as a table. Right-click a folder and choose "Table view" — the first time, Vellen reads the properties your notes already carry in frontmatter, guesses each one's type (dates, selects, checkboxes, numbers, tags, links), and one confirmation later the folder is a live table: sortable columns, typed values, saved views that sync with your vault. Your notes stay plain Markdown; the table is a face over them, exactly like boards. A value that doesn't fit its type is shown flagged — never hidden — and a typo'd status can no longer invent a phantom board column. A filter bar turns views into answers — "not Done", "due before the end of this week", "unowned" — and it reads like a sentence: Where Status is Blocked and Owner is any of Tom, Yuki, with the and/or as a word you click between the conditions rather than an abstract dropdown. Name the same property twice and the bar folds the rows into one "is any of" — because two conditions on one property always means "or". Under the bar, a live line reads the filter back with its match count ("0 of 6 notes match: …"), so an empty result explains itself instead of looking broken. Cells edit in place: click a status for its options, a date for a picker, a checkbox to toggle — and clicking a flagged stray value offers the valid choices, so a typo'd status is one click from healed. Opening a note from the table and pressing Back returns you to the table. On iPhone the same views render as a clean read-only list.
Version 1.0.2August 26, 2026
- No more stray blue lines on iPad with a hardware keyboard. With a Magic Keyboard (or any hardware keyboard) attached, iPadOS drew its system focus ring around the editor's text area and clipped it against the scroll edges — showing up as odd blue line fragments along the editor. The caret already shows where you're typing; the ring is suppressed.
Version 1.0.1August 25, 2026
- Vellen 1.0 — the first App Store release. The version numbering steps up from 0.1.x to 1.0.x as Vellen heads to the Apple App Store and Microsoft Store. Same app, same pace of updates.
- The iPhone and iPad app now wears the Vellen icon. iOS builds had shipped with the framework's placeholder icon — the desktop icon set was made long ago, but the iOS icon catalog generated with the Xcode project was never refilled. All eighteen sizes now carry the mark.