Skip to content

Releases: hellotham/hellonotes

HelloNotes 1.3.1

Choose a tag to compare

@ChristineTham ChristineTham released this 18 Aug 08:01

A bug-fix release, and the bug was worth the release on its own: on a large vault kept in iCloud Drive, the editor froze. Typing a title could lock the window for thirteen seconds, a save could set the whole folder re-reading, and a note being edited could vanish from the sidebar.

The editor is never blocked

The cause was not where two previous attempts looked. Work that the code carefully sent to a background thread was running on the main one anyway — a project setting made every unannotated type main-actor, so Task.detached detached the work's priority and cancellation but not its thread. On a local folder that only wastes effort. On a folder managed by iCloud it meant every directory listing became a blocking call to the sync daemon, on the thread drawing your window, which is why this only ever happened on a real vault.

Measured on a 2,000-note vault, before and after:

before after
Naming a new note 13.4 s 0.003 s
Scanning the folder 0.24 s of blocked editor 0.002 s
Worst freeze 5.9 s none above 0.5 s
  • Naming a note is instant. Renaming rewrote [[links]] in every note in the vault before it would return, and a new note opens with its title focused — so that was the price of typing a name. It now updates only the notes that actually link to it, and does it after the rename, not before.
  • Saving never re-reads the folder. A save whose note had briefly left the list would trigger a full rescan, which is what made notes leave the list: the failure fed itself.
  • Opening a note doesn't wait for a scan, and creating, appending to, or deleting one changes one entry rather than asking the whole folder again.
  • Transclusions, previews and the file viewer read off the main thread. A ![[note]] embed used to be read while the editor laid out the page.
  • Quitting can't hang. If the sync daemon stops answering, the app now gives the final save five seconds and exits, instead of waiting forever and being force-quit — which would have discarded the edits that wait exists to protect.

Nothing in the editor's behaviour changed, only what it waits for.

Notes stay put

  • A partial scan can no longer remove notes. A scan that resumes mid-folder reports success having seen only the rest of the tree; publishing that as the truth replaced the note list with its tail. Only a pass that starts at the top may remove anything now.
  • A scan that is cancelled leaves the collection alone rather than emptying it.
  • Unsaved edits survive a refresh. Closing an editor in the background didn't save it first, so a note that briefly left the list took your pending keystrokes with it.
  • Clicking a note in the sidebar always opens it. If it couldn't be found the click did nothing at all — no error, no sign anything had happened.
  • On iPhone and iPad, switching collections no longer closes the note you have open, and a selection that resolves to nothing leaves the editor alone.

Blockquotes in the editor

  • Markdown reveals per line, not per block. A blockquote is one block however many lines it spans, so putting the cursor in one used to show the raw > on every line of it and drop every vertical bar. Now the line you are on shows its markers and the rest keep their formatting — the same as Bear and Obsidian. This applies to headings and emphasis too.
  • A paragraph you turn into a blockquote gets its bar straight away, instead of when the line next happened to be redrawn.

Under the hood

The rule that the editor is never blocked is now checked rather than remembered: work that must stay off the main thread goes through a helper that makes it a compile error to touch main-thread state, and a test fails the build if the folder scanner ever regains it. The app can also now catch a freeze while it is happening and record what was responsible, which is how this one was finally found — after five earlier attempts measured the wrong thing.

HelloNotes 1.3

Choose a tag to compare

@ChristineTham ChristineTham released this 16 Aug 09:43

HelloNotes already had most of this. It was just filed under "AI" — in a panel and a window organised around the fact that a model was involved, which is the one thing you are least likely to be thinking about when you want a summary. So this release is mostly about putting each of these next to the thing it acts on, and then adding the two that were genuinely missing: finding the links you meant to make, and letting research arrive as a note instead of as a chat reply.

Where the AI lives now

  • The Note menu. Summarise Note, Suggest Tags, Suggest Links and Rewrite or Expand Note… sit beside Rename and Duplicate. Each answer lands in the inspector tab that already holds that kind of information — the summary at the top of Outline, tags in Tags, suggested links in References, beside the backlinks they are about to join.
  • A command palette, ⇧⌘P. Type a command's name to run it, including the ones with no shortcut worth memorising. Built from the same set of actions the menu bar is, and a command that is unavailable right now is left out rather than shown greyed: everything you can find in it, you can run.
  • Select text and act on it. The things the system's own Writing Tools cannot do, because they need your notes: link the phrase, find related notes, explain it using what you have written. A floating bar on the Mac; the standard selection menu on iPhone and iPad.
  • The AI features now work on iPhone and iPad, where previously none of them did — note actions, rewriting, Ask Library, the Assistant, Review Links and New Note from a Prompt. The command palette remains Mac-only.

Review Links

  • Review Links… (⇧⌘L) walks a note phrase by phrase, the way a spell check does: Link, Skip, or Never. You see the phrase in its own sentence and the opening lines of the note it would point at, because the same phrase can deserve a link in one paragraph and not the next.
  • "Never" is remembered for that collection, so a phrase you have rejected stops coming back. It is stored on your device, not in your notes — a decision you made is not something to commit to a shared repository.
  • Nothing is written until you finish, and the whole set applies as one change you can undo in one step.
  • Every phrase that names another note is a candidate; when a note turns up more than ten, you are shown the ten whose targets are most related to what you have written.
  • Needs no AI provider at all — it is an exact scan of your own text.

New Note from a Prompt

  • ⌃⌘N, or File ▸ New Note from a Prompt…, in two modes.
  • Write composes a note from a description. Research investigates a question on the web across several angles and lands the answer as a note, with its sources gathered at the end and a record of the question it came from.
  • Both connect to what you already have. Notes you own on the topic are offered to the model as links, and every link that comes back is checked against your collection: anything naming a note that does not exist is turned back into ordinary text, and the draft tells you it happened. Research arrives joined up instead of as an island.
  • You read the whole draft before it exists. Title and body are editable, and no file is created until you press Create Note.

Suggest as I type (Mac only, off by default)

  • Grey text appears after the cursor when you pause at the end of a line. ⌥⇥ or → accepts it; Esc dismisses it.
  • The suggestion is never part of your note until you accept it. It is drawn on screen and nothing more — it cannot reach a save, a search result, your links, or a Git diff.
  • Runs on your device only: a suggestion that has to cross the network arrives after you have already typed past it. Turn it on in Assistant Settings ▸ Inline completion.

Smaller things

  • Related notes are found by the whole text, not just the title — by the distinctive words two notes share, so an unusual name or term counts for far more than a common one. Built the first time something needs it rather than at launch, and kept current as you save.
  • Assistant Settings now says what your chosen model can and cannot do — on-device or cloud, roughly how much of a note it reads, and which features would work better on a larger one.
  • Deep research declines up front on a provider that cannot drive its tools, instead of failing part-way through.

Requires macOS 15 or later; the iOS/iPadOS build requires iOS 26.5. The on-device features additionally need macOS 26 and a Mac where Apple Intelligence is available and switched on — everything else in HelloNotes works without them. The widget and the Finder Quick Look preview are built for macOS 26.5, so on an earlier macOS the app runs normally but those two are absent.

HelloNotes 1.2

Choose a tag to compare

@ChristineTham ChristineTham released this 15 Aug 10:45

A collection points at a folder HelloNotes does not control. This release is
about what happens when that folder is large, slow, in the cloud, inside a Git
repository, or simply not there any more — and about the app saying so instead
of guessing.

Cloud folders

  • Use the folder you already have. If Box, Dropbox, OneDrive or Google Drive is installed on your Mac, File ▸ Open Cloud Folder… opens its folder directly — no sign-in, no token, no second copy of your files. Connecting over a provider's API moved to File ▸ Connect Over the Web, for accounts whose app you don't have.
  • Cloud collections open immediately. The folder's structure appears straight away and each file's contents arrive the first time you open it. Every file comes across, not just Markdown — PDFs, images and documents preview as usual.
  • They come back when you reopen the app, from what is already on disk, then check the provider for changes.
  • Refresh asks the provider what has changed rather than re-reading the whole folder.
  • Edited in two places at once? Both versions are kept — decided by the provider's own record of the file, not by comparing two devices' clocks.
  • Add as Collection now works on iPhone and iPad.

Large folders

  • Adding a big folder tells you it is big, and offers to open a subfolder instead. Adding it anyway is always allowed.
  • Scanning shows progress and can be stopped. What has been found is kept, and scanning resumes where it stopped — after a cancel, a quit, or iOS suspending the app.
  • Notes appear as they are found, rather than all at once at the end.
  • Non-note files can be hidden per collection, and the status bar says how many are hidden.

Folders that move, vanish, or change behind your back

  • A folder that can't be read now says so — moved, renamed, deleted, or on a disconnected disk — and keeps showing its notes as they were, rather than appearing empty. Try Again picks it back up; a folder that has moved is followed.
  • Editing continues while a folder is away. Saving is refused rather than written into nowhere, and your changes are held until it returns.
  • Changes made by other apps are noticed more reliably, and search says when its results may be incomplete.
  • iPad and iPhone notice changes at all now.
  • Search says when it can't see everything, and offers to download what it is skipping.

Git

  • A folder inside a repository is recognised as one. Opening ~/project/docs as a collection now has the full Git panel, and everything it does covers only that folder. Nothing outside your collection is ever committed.
  • The branch and change count keep up with the terminal after a git pull or branch switch.

Fixed

  • "Add as Collection" appeared to do nothing — failures were discarded silently.
  • A cloud browser opened with a saved sign-in showed an empty account.
  • An expired cloud sign-in now offers to sign in again.
  • Cancelling a scan no longer discards what it found.
  • A collection whose saved permission had aged out silently disappeared on the next launch.
  • Large attachments upload to OneDrive instead of failing past 4 MB.

HelloNotes 1.1

Choose a tag to compare

@ChristineTham ChristineTham released this 14 Aug 20:16

HelloNotes 1.1 simplifies the window, fixes several long-standing rendering
faults in the editor, and gives a handful of silent failures a voice.

The window

Collections and folders are now a single tree in one collapsible sidebar
the collection is the root, its folders hang beneath it, and opening another
collection adds another root. Recents and Bookmarks are pinned above them. The
separate collection rail is gone.

The toolbar was rebuilt around it: search at the leading edge next to the
sidebar it searches, New Note and Open Quickly in the middle, and the five
inspector panels — outline, tags, references, properties, history — as toggles
at the trailing edge.

A note's title is now shown above its body and can be renamed in place, with the
caret moving between title and body as one flow.

Editor

  • Display maths, Mermaid diagrams and tables no longer leave dead space. A
    rendered block reserved its image band once per line of source, so a one-line
    $$…$$ formula pushed roughly 90pt of emptiness beneath itself.
  • No more stray marks around a rendered block — the trailing newline kept
    full body size, a Mermaid fence's syntax colours were repainted over the
    concealed source after it collapsed, and the spell checker underlined the
    hidden LaTeX, leaving a red dash above every formula.
  • Switching notes no longer corrupts the note you left. Headings came back
    at body size and folded front matter came back as an empty band; both stuck
    until the app was relaunched.
  • Front matter folds to nothing, instead of leaving a blank first line.
  • Rendered blocks follow the theme, re-rendering on a light/dark switch.
  • Windows line endings parse correctly — in a CRLF file, setext headings,
    thematic breaks and front matter were all read as ordinary paragraphs.
  • Code and maths are no longer spell-checked.
  • The editor stays responsive while another app edits the same vault, and link
    anchors are no longer mistaken for tags.

Accessibility

  • The VoiceOver headings rotor honours its search field; typing to narrow the
    heading list previously did nothing.
  • Graph and mind-map labels scale with the system text size instead of canvas
    zoom alone, and mind-map chips grow with their labels.

Git

  • Create Repository can be stopped. Creating with a remote ends in a push,
    and a push to an unreachable host left the sheet spinning with no way out.
    Stopping removes the half-made repository.
  • Fixed a deadlock in the git operation queue.

Reliability & performance

  • Launch opens saved collections in parallel rather than waiting for each
    folder scan in turn.
  • Superseded folder scans stop — a bulk git checkout could put several full
    vault walks on the disk at once.
  • Chat transcript save failures are reported instead of silently losing the
    conversation until the next launch.
  • The references panel shows an empty state rather than disappearing.

iPhone & iPad

The adaptive shell now drives iOS too, with a compact tab-bar model of its own
and a live editor with full block chrome.


Requires macOS 15 or later. Universal binary (Apple silicon & Intel), signed
with a Developer ID and notarised by Apple.

shasum -a 256 HelloNotes.dmg should print:

614d4f163bbed4639e16e5da8a120fa290cc15354c027fa4c5817ecb61b2435a

Full notes: CHANGELOG.md

HelloNotes 1.0

Choose a tag to compare

@ChristineTham ChristineTham released this 25 Jul 08:41

The first public release of HelloNotes — a private, local-first Markdown knowledge base for the Mac.

Your notes are ordinary .md files in a folder you choose. No database, no account, no sync service of ours. The folder in Finder is the library, and every note stays readable in any editor on any platform.

What's in it

  • A native live editor built on TextKit 2 — Markdown styles itself as you type, with syntax-highlighted code, LaTeX maths, Mermaid diagrams and collapsible callouts rendered natively rather than in a web view.
  • Connected thinking[[wiki-links]] with autocomplete and aliases, backlinks, unlinked mentions, transclusion, and an interactive graph and mind map.
  • Find anything — full-text search with snippets, Open Quickly, nested tags, bookmarks, daily notes and templates.
  • Intelligence on your Mac — summaries, tag and link suggestions, and questions answered across your whole library, on-device with Apple Intelligence, or through your own model if you prefer.
  • Version history with Git — initialise a repository, commit as you write, browse any note's history and restore an earlier version. Sync to your own remote.
  • Cloud storage — works in iCloud Drive, Dropbox, Box, OneDrive and Google Drive folders, with coordinated reads so online-only files materialise on demand.
  • A GitHub-identical preview, rendered with cmark-gfm.

Existing Obsidian vaults open as-is — wiki-links, tags, aliases and front matter intact.

Installing

Download HelloNotes.dmg, open it, and drag HelloNotes to Applications. The app is signed with a Developer ID and notarised by Apple, so it opens without a security warning — no Gatekeeper changes and no right-click → Open needed.

Requires macOS 15 or later. Universal — Apple silicon and Intel. Free.

shasum -a 256 HelloNotes.dmg
aec653d8715604d349fa97afb860c67cc722256cb0adb1f0f4f08a96da03bd05

Documentation

The user manual, feature tour and screenshots are at https://hellotham.com/hellonotes/

Published by Hello Tham.