Skip to content

Releases: EdelmarSchneider/permark

PerMark v0.5.7

Choose a tag to compare

@github-actions github-actions released this 18 Oct 06:07

PerMark is a free, open-source Markdown app: read what your AI writes, write what it reads. It opens any .md
file as a clean page, keeps notes that save themselves, and turns a project folder into an IDE for following your
agents. It works with any AI tool, or none: it only relies on your files and git.

Review what an agent changed, send your comments to it, and keep a noisy folder quiet.

Added

  • Silence a folder. Right-click a folder or a file and choose Silence. It stays in the tree, and it opens and edits, but its changes, unread marks and Git letters stay quiet. A folder inside it can Listen on its own, and that choice covers what is already there and what appears later. Listen brings the folder back as already read, so older changes do not all arrive at once. Search leaves silenced paths out until Include silenced is on. An agent's search and unread list are unchanged.
  • Complete as you type, without AI. In Source, a link target offers files in the folder as a path from the current document, and after # the headings of that document. A word you have started offers words from the document and from file names. In Visual, the link box does the same for its target, and a word you have started offers those words beside the caret. Enter or Tab accepts; Esc closes.
  • Projects. A Projects button at the top of the activity bar lists recent folders and offers New project, Open folder and Close folder. New project adds a .permark folder to the folder you pick. Opening a folder, a recent folder, a new project, or a folder from the Explorer's menu asks whether it opens in this window or in a new one.
  • Broken links. A Broken links panel lists every link in the project whose file does not exist. When one file with that name exists somewhere else, Repair points the link at it. When several do, you pick which one.
  • See a Mermaid diagram while you edit its text. In Source, with the caret in a Mermaid block, the drawing sits beside the text and updates as you type. A text Mermaid cannot draw yet keeps the last drawing of that block and says so. Dragging nodes is not part of this.
  • Review what changed since you last read a document. A quiet bar names how many blocks changed. Review shows each one in the reading view, and Keep or Revert accepts it or writes the old text back. Your own edits are already approved, and a change is not written if the file moved on while you were looking.
  • Send comments to your agent. In the Comments tab, Send to agent on a comment, or Send all at the top, copies a prompt with the document, the section, the lines, the quoted passage and your words. Paste it into any agent chat. The prompt asks the agent to mark each comment done with a short reply. get_context, permark context and the state file say how many comments are open, so an agent that reads where you are knows to look.

Changed

  • 简体中文 wording is tighter in a few places (the tagline, a few hints and the Git legend), following a native speaker's review.

Install

Platform Download
Windows the -setup.exe installer (or the .msi)
macOS the universal .dmg (Apple silicon and Intel)
Linux the .AppImage, .deb or .rpm

PerMark updates itself: when a new version is out, it offers a one-click "Restart to update".

The app is not code-signed yet

The installers are unsigned, so your system warns you the first time. They are built by GitHub Actions
from the tagged commit, and the in-app updates are verified with a signature.

Windows (SmartScreen). If you see "Windows protected your PC", click More info, then Run anyway.

macOS (Gatekeeper). If macOS says it can't verify PerMark, open System Settings, Privacy & Security,
scroll to the Security section and click Open Anyway. On older macOS versions you can right-click the
app and choose Open instead. From a terminal: xattr -dr com.apple.quarantine /Applications/PerMark.app.

Linux. Make the AppImage executable (chmod +x PerMark_*.AppImage) and run it, or install the .deb / .rpm.

PerMark v0.5.6

Choose a tag to compare

@github-actions github-actions released this 17 Oct 05:51

PerMark is a free, open-source Markdown app: read what your AI writes, write what it reads. It opens any .md
file as a clean page, keeps notes that save themselves, and turns a project folder into an IDE for following your
agents. It works with any AI tool, or none: it only relies on your files and git.

TrailMark is now PerMark. Same app, same logo, a name of its own.

Changed

  • New name: PerMark. The app, its command (permark, permark mcp, permark context), its MCP server and the project folder
    (.permark/) take the new name. Nothing is lost on the way: an existing .trailmark/ folder becomes .permark/ the first time
    PerMark opens the project, and your settings, recent folders and notes carry over. If an agent is set up with the old
    trailmark command, run the setup lines from Settings → Agent connection again.

Install

Platform Download
Windows the -setup.exe installer (or the .msi)
macOS the universal .dmg (Apple silicon and Intel)
Linux the .AppImage, .deb or .rpm

PerMark updates itself: when a new version is out, it offers a one-click "Restart to update".

The app is not code-signed yet

The installers are unsigned, so your system warns you the first time. They are built by GitHub Actions
from the tagged commit, and the in-app updates are verified with a signature.

Windows (SmartScreen). If you see "Windows protected your PC", click More info, then Run anyway.

macOS (Gatekeeper). If macOS says it can't verify PerMark, open System Settings, Privacy & Security,
scroll to the Security section and click Open Anyway. On older macOS versions you can right-click the
app and choose Open instead. From a terminal: xattr -dr com.apple.quarantine /Applications/PerMark.app.

Linux. Make the AppImage executable (chmod +x PerMark_*.AppImage) and run it, or install the .deb / .rpm.

TrailMark v0.5.5

Choose a tag to compare

@github-actions github-actions released this 16 Oct 23:23

TrailMark is a free, open-source Markdown app: read what your AI writes, write what it reads. It opens any .md
file as a clean page, keeps notes that save themselves, and turns a project folder into an IDE for following your
agents. It works with any AI tool, or none: it only relies on your files and git.

Tags get colors and icons and help your agent find the right documents; switch folders, retrace your steps, and open web pages in the browser.

Added

  • Your agent can find the right documents by their tags. A new list_tags tool shows which tags your documents carry, how many documents
    have each, where each tag comes from (the documents or TrailMark) and how many documents have no tag at all; give it a tag to see the
    documents that have it, each with its description. search takes an optional list of tags to look only in the documents that have all of
    them, and every hit now names its document's tags and description; with tags and no words it lists those documents instead. In a project
    of a thousand documents an agent can narrow down in a call or two and read only the few that fit. Answers stay short (long lists show the
    first ones and say how many more there are, and limit asks for more), and everything works when TrailMark is closed, from the project's
    files.
  • Give a tag a color and an icon. Right-click a tag in the Tags view (or press the menu key or Shift+F10 on it) and choose Color and
    icon...
    : pick one of eight colors and one of twelve icons, with a live preview, and the tag looks that way everywhere it shows, so you can
    tell at a glance what kind of document you are looking at: in the strip above a document, in the tag editor and its suggestions, in the
    search boxes and in the Tags view. The colors are tuned to stay readable in the dark theme and in every light tone. A tag with neither looks
    as before. The choice is kept per project, in .trailmark/meta.toml with the rest of your tags ([tag_styles.<tag>]), so it travels with the
    project.
  • Open web pages in your browser. An .html or .htm file in your folder now has Open in browser: in its right-click menu in the
    Explorer, in the ... menu of the open page, and in the command palette. The page opens in the application your system uses for web
    pages, which is your browser on almost every computer.
  • See where you have been, and jump back to it. Right-click (or press and hold) the Back or Forward button to list the documents
    on that side, nearest first with the folder beside each name, and pick one to go straight there; Back and Forward carry on from that
    place, like in a browser. Go to a recent place... in the command palette lists your whole trail. The menus work from the keyboard too
    (the menu key or Shift+F10 on the focused button).
  • Switch folders without leaving the window. The project's name at the top of the Explorer is now a menu (the little arrow beside it
    says so). It lists your recent folders, with the open one ticked: pick one to show it in this window, or use Open folder... and
    Close folder, which takes you back to the start screen. A small x beside a folder takes it off the list; only the list forgets
    it, the folder and its files stay where they are. If you have unsaved edits, TrailMark asks to save them first, as it does for any
    other move. The same menu opens from the command palette (Switch folder..., Close folder), and the project's name stays in
    view while a long file tree scrolls.

Install

Platform Download
Windows the -setup.exe installer (or the .msi)
macOS the universal .dmg (Apple silicon and Intel)
Linux the .AppImage, .deb or .rpm

TrailMark updates itself: when a new version is out, it offers a one-click "Restart to update".

The app is not code-signed yet

The installers are unsigned, so your system warns you the first time. They are built by GitHub Actions
from the tagged commit, and the in-app updates are verified with a signature.

Windows (SmartScreen). If you see "Windows protected your PC", click More info, then Run anyway.

macOS (Gatekeeper). If macOS says it can't verify TrailMark, open System Settings, Privacy & Security,
scroll to the Security section and click Open Anyway. On older macOS versions you can right-click the
app and choose Open instead. From a terminal: xattr -dr com.apple.quarantine /Applications/TrailMark.app.

Linux. Make the AppImage executable (chmod +x TrailMark_*.AppImage) and run it, or install the .deb / .rpm.

TrailMark v0.5.4

Choose a tag to compare

@github-actions github-actions released this 16 Oct 21:45

TrailMark is a free, open-source Markdown app: read what your AI writes, write what it reads. It opens any .md
file as a clean page, keeps notes that save themselves, and turns a project folder into an IDE for following your
agents. It works with any AI tool, or none: it only relies on your files and git.

TrailMark speaks Italian, the light theme comes in softer tones, and the Git letters explain themselves.

Added

  • Soft light tones. Settings → Light tone adds Paper (warm cream), Sage (soft green) and Gray (soft warm gray) beside the plain
    White of the light theme, for readers who find pure white tiring. The tone applies whenever the theme is light (also when System picks
    light), in every window (the welcome screen and Notes too), and is kept across projects; the dark theme ignores it. Text, links, code and git
    colours are tuned for each tone so every pair keeps at least the contrast it has on white.
  • The Git letters are explained. Hover over a badge in the Explorer for what it means in plain words ("M · Modified: this file changed since
    your last visit..."), or open What do these letters mean? from the info button in the status bar or from the Explorer menu: it lists M, A, U,
    D, R and C, and says that TrailMark only reads Git and never commits, stages or creates repositories.
  • Italiano (Italian). The interface now comes in Italian besides English, Português (Brasil), Español, Deutsch and 简体中文.
    Settings → Language lists it, and System default picks it for any Italian system language (it-IT, it-CH and the others). The
    Windows installer offers it, "Open with TrailMark" in the file manager is worded in it ("Apri con TrailMark"), and the Microsoft Store
    package declares it. Thanks to @kelvin-mariano for the translation.

Fixed

  • Buttons look like buttons again in the Settings, tag and agent panels, and the tag editor's Done is readable in the dark theme.
  • A tag that was typed but not yet added is kept when the tag editor closes (Done, Esc or a click outside); a hint says Enter adds it.
  • Long lists show their scrollbar: with hundreds of files the thumb no longer shrinks out of sight.
  • Links in the light theme have more contrast.

Changed

  • Settings are grouped into Reading, Editing, Integration and Updates, and long explanations fold behind an info button.
  • 简体中文 wording follows a native speaker's review (批注 for comments, a clearer note / caution pair, 描述, 基准).
  • The Initialize dialog and the hint to keep settings with the project say what they do: no repository is created and nothing is committed,
    and the lines for cache/ and local/ describe what they hold.

Install

Platform Download
Windows the -setup.exe installer (or the .msi)
macOS the universal .dmg (Apple silicon and Intel)
Linux the .AppImage, .deb or .rpm

TrailMark updates itself: when a new version is out, it offers a one-click "Restart to update".

The app is not code-signed yet

The installers are unsigned, so your system warns you the first time. They are built by GitHub Actions
from the tagged commit, and the in-app updates are verified with a signature.

Windows (SmartScreen). If you see "Windows protected your PC", click More info, then Run anyway.

macOS (Gatekeeper). If macOS says it can't verify TrailMark, open System Settings, Privacy & Security,
scroll to the Security section and click Open Anyway. On older macOS versions you can right-click the
app and choose Open instead. From a terminal: xattr -dr com.apple.quarantine /Applications/TrailMark.app.

Linux. Make the AppImage executable (chmod +x TrailMark_*.AppImage) and run it, or install the .deb / .rpm.

TrailMark v0.5.3

Choose a tag to compare

@github-actions github-actions released this 16 Oct 16:51

TrailMark is a free, open-source Markdown app: read what your AI writes, write what it reads. It opens any .md
file as a clean page, keeps notes that save themselves, and turns a project folder into an IDE for following your
agents. It works with any AI tool, or none: it only relies on your files and git.

TrailMark speaks Simplified Chinese, and search finds words in Chinese and Japanese text.

Added

  • 简体中文 (Simplified Chinese). The interface now comes in Simplified Chinese besides English, Português (Brasil), Español and Deutsch.
    Settings → Language lists it, and System default picks it for any Chinese system language (Traditional Chinese systems read Simplified
    Chinese for now). The Windows installer offers it, "Open with TrailMark" in the file manager is worded in it ("用 TrailMark 打开"), the Microsoft
    Store package declares it, and the interface and documents use a Chinese font on every system.

Fixed

  • Search finds Chinese and Japanese words. These languages are written without spaces, so a sentence used to count as one giant word and
    searching for a word inside it found nothing. Search now matches the characters and character pairs of Chinese, Japanese kanji, hiragana and
    katakana text, in section results and in the agent bridge alike: "搜索" finds it inside a long sentence, a longer query ranks the section that
    holds all of it first, and a single character works too. Mixed text such as 使用Rust编写 is split at the script change. Matches are
    highlighted as one stretch in the result snippets.
  • Asking to delete one file names it again (in every language), and the toast after deleting a note shows its title.
  • Dates, times and lists are written the way each language writes them, with no stray comma between a date and a time.
  • Tables stay readable in a narrow pane: columns keep a sensible width and a wide table scrolls sideways, in Read and in Visual.
  • Typing with an input method (Chinese, Japanese, Korean): Enter and the arrow keys go to the input method while it is composing,
    instead of creating a file or opening a search result.
  • The Notes word count counts each Chinese or Japanese character as a word; Chinese text in code blocks uses a Chinese font; a cut-short
    breadcrumb shows its full name on hover; the footnote back-link is labelled in the interface's language.

Install

Platform Download
Windows the -setup.exe installer (or the .msi)
macOS the universal .dmg (Apple silicon and Intel)
Linux the .AppImage, .deb or .rpm

TrailMark updates itself: when a new version is out, it offers a one-click "Restart to update".

The app is not code-signed yet

The installers are unsigned, so your system warns you the first time. They are built by GitHub Actions
from the tagged commit, and the in-app updates are verified with a signature.

Windows (SmartScreen). If you see "Windows protected your PC", click More info, then Run anyway.

macOS (Gatekeeper). If macOS says it can't verify TrailMark, open System Settings, Privacy & Security,
scroll to the Security section and click Open Anyway. On older macOS versions you can right-click the
app and choose Open instead. From a terminal: xattr -dr com.apple.quarantine /Applications/TrailMark.app.

Linux. Make the AppImage executable (chmod +x TrailMark_*.AppImage) and run it, or install the .deb / .rpm.

TrailMark v0.5.2

Choose a tag to compare

@github-actions github-actions released this 16 Oct 08:52

TrailMark is a free, open-source Markdown app: read what your AI writes, write what it reads. It opens any .md
file as a clean page, keeps notes that save themselves, and turns a project folder into an IDE for following your
agents. It works with any AI tool, or none: it only relies on your files and git.

Pictures, audio and video open in the pane, code blocks are highlighted for about 190 languages, and Notes is simpler to start with.

Added

  • Code blocks in every mode, for about 190 languages. A fenced block (```python) is now highlighted for every language highlight.js
    ships, loaded one language at a time, so reading does not carry them all. Usual short names work (js, ts, tsx, py, sh, zsh, ps1,
    pwsh, yml, c#, c++, kt, rb, rs, golang, make, jsonc, json5, svelte, vue...), in any case, and so do the forms docs tools
    write after the backticks: rust title="main.rs", rust,ignore, {python}, {.python .numberLines}, js:app.js.
    • Reading: each block has its language in the corner, next to the copy button ("Python", "C++", "TOML"). A block that names no language, or one
      that highlight.js does not have, is colored only when the code gives its language away (a #! line, JSON that parses, an XML or HTML prolog,
      a diff, a clearly Python script) or when highlight.js's guess is strong and clearly ahead of the runner-up; it is then labelled "auto: Python",
      with a tooltip that says it is a guess. Anything less certain stays plain (directory trees, terminal output, ASCII drawings, prose). text and
      txt blocks are never colored or guessed at. A name highlight.js lacks (terraform) is shown as written, uncolored.
    • Visual: code blocks are colored while you edit, with the same colors as in Reading, and carry the language in their corner. The language
      button of the toolbar opens a picker that searches every language by name or alias; text that no language is named by is offered as it is, and
      what you type goes into the fence exactly as typed. Changing the language rewrites only that block's opening fence line (a ~~~ fence or a
      four-backtick fence stays as it was written).
    • Source: the code inside a fence is highlighted with CodeMirror's own language support, loaded when a fence asks for it.
  • Pictures open in the pane instead of "looks like a binary file". PNG, JPEG, GIF (animated), WebP, AVIF, BMP, ICO and SVG, from the Explorer,
    Quick open, search, a link or the feed. A picture is fitted to the window; a click or the button shows it at 100%, Ctrl+=, Ctrl+- and
    Ctrl+0 zoom it (and the status bar says how far), a checkerboard sits behind transparency in light and dark, and the header gives the size in
    pixels and on disk. A picture that changes on disk reloads by itself. An SVG is drawn as an <img>, never inline, so nothing in it runs.
  • Audio and video play in the pane. MP3, WAV, OGG, Opus, FLAC, M4A, AAC and WebM audio, and MP4, M4V, WebM, OGV and MOV video, in the native
    player, with the length (and the pixels of a video) in the header. Files are served in parts to the player's Range requests, at most 4 MiB
    at a time, so a long file starts at once, seeks, and is never read whole. A format or codec the window cannot play says so, with Open with
    default app
    .
  • <video> and <audio> in documents, and links to media. Players in a document play in place, with their files resolved next to the
    document (also in the Visual editor's read-only blocks and in a loose file's folder). A link to an .mp4, .wav and so on opens in the pane.
    autoplay, event handlers and inline data are dropped, a player always has controls and reads only the length of its file until you play it,
    and poster files follow a move like any other link.
  • Open with default app. Any file of the project can go to the program the system has for it: a button on the pane of a file TrailMark cannot
    show, an item in the Explorer's context menu (for every file but a Markdown document), an item in the header's menu, and a command. It is separate
    from Open in external editor, which uses your editor command. Programs and scripts (.exe, .msi, .bat, .cmd, .ps1, .vbs, .js,
    .lnk, .url, .sh, .app, .pkg, .deb, .rpm, .appimage, .website, .rdp, Access databases, macro documents and the older Office
    formats that can hold macros (.doc, .xls, .ppt), every type of %PATHEXT% on Windows, anything with an execute permission on macOS and Linux
    and the like) are refused with a message that names the kind of file; the check is on the real file, after links are followed, and a name that
    ends in a dot or a space is no document on macOS and Linux.
  • An Audio and video category in the Explorer filter. Docs and assets includes it under the rules images have (next to a document, in a
    folder such as assets, images, media, audio, video, sounds, movies or clips, or linked from a document), and the hint says so. The tree
    has an icon each for images, sound and video.
  • Quick open and Search everywhere list pictures and media by name, even when the filter hides them (a hidden folder still hides its files),
    and folders: the folders whose path has the words come after the files, with Reveal in Explorer. Picking one opens the folders above
    it, scrolls to it, opens it and puts the keyboard focus in the Explorer.
  • "Open with TrailMark" on folders in the Microsoft Store version. Right-click a folder, or the background of a folder, and choose
    Open with TrailMark; on Windows 11 it is in the main menu, not under Show more options. The Store package now carries a small
    Explorer component for it (the one thing a package cannot do with the registry), worded in your Windows display language
    (English, Português, Español or Deutsch). Select several folders and each opens in its own window. Settings → File manager says
    that the entry comes from the Store package.

Changed

  • Code block labels are easier to read. The language label of a code block is muted instead of faint (it was below the contrast the design
    asks for), and the light theme's comment color is a little darker, for AA contrast on the code block's background. The reading view's code
    language also keeps the punctuation authors write after it (rust,ignore, {python}, js:app.js), which was dropped together with the language.
  • Ctrl+=, Ctrl+- and Ctrl+0 zoom the picture while a picture is on screen (and the zoom in the status bar is the picture's); for anything
    else they still zoom the text.
  • Open in external editor on a sound or a video hands it to the system's application, as it already did for pictures and PDF files.
  • A new note is a note at once. +, Ctrl+Shift+N and New note now always make a new note, even when the one on screen is still empty,
    like the + of any editor. The note is a real (empty) file as soon as it exists, so it is in the list as "Untitled note", is still there after
    a restart, and nothing removes it for you: you delete empty notes yourself, with Delete and Undo like any other note. Several empty notes can
    exist at the same time. Pin, Rename, Share, Move to project and Delete work on a note with no text.
  • Notes folder wording. The message about a missing notes folder now says the folder you chose is not there, and why TrailMark does not
    make an empty one in its place.
  • Bring the right panel back from the corner it left. While the right panel is collapsed, a Show right panel button («) sits in the
    top-right corner of the document header, where the collapse button (») was, so the pointer that just collapsed the panel is already over
    the button that brings it back, at the width it had. It carries the same dot as the activity bar's panel toggle when something new
    arrived while the panel was collapsed. Ctrl+Alt+B works as before; Simple mode has no panel and shows nothing.

Fixed

  • Live changes: an edited block is no longer also shown as removed. When a save changed a table (an edited cell and a new row) and the
    paragraph after it (a reworded sentence), both blocks glowed, but a "2 blocks removed" marker also appeared below them for their old
    versions, although nothing had been removed. An edited block is now matched with its old version and only glows. A block that moved glows
    where it landed, with no marker. The marker stays for blocks that were really deleted, so a deletion next to a change shows exactly one.
    A block rewritten beyond recognition is still shown as removed and added.
  • No question about the default notes folder. TrailMark makes Documents/TrailMark Notes (and the folders above it) by itself the first
    time notes are needed, instead of asking whether to create it. A notes folder you chose in Settings → Notes that has gone missing (an
    unplugged drive, a renamed folder) is still reported, with Locate... and Create it, and is never created quietly.
  • One window, not two. New note or Notes on the welcome screen, Ctrl+Shift+N, Ctrl+Shift+D, and a file opened from the welcome
    screen used to leave the welcome window behind and open the Notes window on top of it. The welcome window now turns into the Notes window, in
    the same place and size; when a Notes window is already open, it comes forward and the welcome window closes. A window with a project open
    does not change.
  • Visual mode: a block that refers to a footnote no longer carries the footnote. A paragraph, list or table with a footnote reference was
    drawn with the footnote's text and a rule under it inside the same block, with a large empty gap. The reference is now a small marker
    (with the footnote's label), the footnote stays a block of its own where the file has it, and nothing is repeated. Saving is unchanged:
    these blocks ke...
Read more

TrailMark v0.5.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 02:49

TrailMark is a free, open-source Markdown app: read what your AI writes, write what it reads. It opens any .md
file as a clean page, keeps notes that save themselves, and turns a project folder into an IDE for following your
agents. It works with any AI tool, or none: it only relies on your files and git.

Notes: open TrailMark, type, close. Notes save themselves, sticky notes stay for months, and Markdown files from anywhere open in one place.

Added

  • Notes. A window of its own for quick notes, drafts and prompts: open it with Ctrl+Shift+D (or the sticky-note icon, or Notes on
    the welcome screen), press Ctrl+Shift+N from any TrailMark window to start a note, and type. Notes are plain Markdown files in
    Documents/TrailMark Notes (Settings → Notes changes the folder, and On start can open the Notes window instead of the
    welcome screen). A note is saved as you type, and closing never asks; it has no file until you type something, and is titled by its first line.
    The list has pinned notes (drag or Alt+↑ / Alt+↓ to order them, Ctrl+1 … 9 to open them), then Today, Yesterday, This week, This month
    and Older, and a filter. Copy (Ctrl+Shift+C) puts the exact Markdown on the clipboard and marks the note, with Delete note in the toast
    and Delete copied notes in the menu; in a project, Ctrl+Shift+C copies the whole open document. Delete goes to the system trash with Undo,
    Show earlier versions restores an earlier text, and Rename (F2) gives a note a file name.
    A note changed on disk while you write is never overwritten (your text is kept as a "(conflict ...)" copy), a save is durable
    (the folder is flushed after the rename), and a second TrailMark process opens the same notes read-only.
  • Files in the Notes window. A Markdown or text file opened with "Open with TrailMark", Ctrl+Shift+O or a drop on the Notes window is
    listed under Files (a file inside the project you have open still opens in that project, and a file of the notes folder opens as a
    note). A file is never written on its own: it opens in Read, E edits it, Ctrl+S saves it, and what you type before is kept apart and
    comes back after a restart. When the file changes on disk, what you see stays until you choose Reload (your text is kept as a note) or
    Keep mine (the next save asks once more); a file that is gone stays in the list, dimmed, with Locate... and Remove from list,
    and a rename in its folder is followed. .txt files are edited in Source. A setting reloads a changed file that nothing was typed into.
  • Move a note to a project, and share a note with agents. Move to project... (Ctrl+Shift+S) writes a note, exactly as it is, where the
    Save dialog says (it opens in the project you used last), sends the note to the trash and lists the copy under Files; the toast has
    Open in project and Undo. Share with agents marks a note, and an agent connected to any project whose connection is on can list
    the shared notes (list_notes) and read one (read_note); it sees no other note, and Stop sharing takes it back at once. The Agent
    popover lists "Read the note ..." like any other request.
  • A Microsoft Store build. TrailMark can now be packaged for the Microsoft Store (scripts/build-msix.ps1 builds an unsigned
    MSIX; see docs/msstore.md). The Store version is the same program with a few differences: the Store updates it, so it has no
    "Check for updates" and makes no update requests; it puts trailmark on your PATH, so the agent setup lines in Settings are the
    short ones (trailmark mcp); and Markdown files can be opened with it from the "Open with" menu. The right-click "Open with
    TrailMark" entry on folders is not in the Store version.
  • A privacy policy page on the website.
  • Window titles that tell windows apart. The title of a window, which the taskbar, Alt+Tab and the taskbar thumbnails show, now names
    the open document and its project (plan.md - my-project - TrailMark), a single file (proposal.md - TrailMark) or the note in the
    Notes window (Shopping list - Notes - TrailMark). A * in front still means unsaved edits, and a file open in the Notes window gets it too.
    It follows the document you switch to, a rename and the language.

Fixed

  • Visual editing keeps the keyboard focus and Ctrl+Z across a save. A save used to load the document again: after Ctrl+S (and after every
    autosave of a note) the characters typed next were lost, undo stopped at the last save, and a space typed just before the save
    (alpha then beta) was dropped, so the words joined.
  • C (comment), E (edit) and T (tags) work right after a result of Search everywhere is opened; they used to do nothing until Esc.
  • A save works for a file whose path is longer than 260 characters on Windows. Since 0.4.0 it failed with "path not found".

Install

Platform Download
Windows the -setup.exe installer (or the .msi)
macOS the universal .dmg (Apple silicon and Intel)
Linux the .AppImage, .deb or .rpm

TrailMark updates itself: when a new version is out, it offers a one-click "Restart to update".

The app is not code-signed yet

The installers are unsigned, so your system warns you the first time. They are built by GitHub Actions
from the tagged commit, and the in-app updates are verified with a signature.

Windows (SmartScreen). If you see "Windows protected your PC", click More info, then Run anyway.

macOS (Gatekeeper). If macOS says it can't verify TrailMark, open System Settings, Privacy & Security,
scroll to the Security section and click Open Anyway. On older macOS versions you can right-click the
app and choose Open instead. From a terminal: xattr -dr com.apple.quarantine /Applications/TrailMark.app.

Linux. Make the AppImage executable (chmod +x TrailMark_*.AppImage) and run it, or install the .deb / .rpm.

TrailMark v0.4.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 15:37

TrailMark is a fast, beautiful Markdown IDE that keeps up with your AI agents. It works with any
tool, or none: it only relies on your files and git.

Your AI agent can see what you are reading, and you can leave it comments on passages.

Added

  • Agent connection. TrailMark tells an AI agent what you are looking at, over the Model Context Protocol (MCP), so it works with
    any tool that supports MCP. Turn it on per project in Settings → Agent connection, which shows the setup lines for your agent
    with the program's path filled in, then add TrailMark as an MCP server (<path to TrailMark> mcp). The agent can ask for the open
    document, the section on screen and your selection (get_context), the documents that changed since you read them (list_unread),
    "where is X described?" (search), and your comments (list_comments, resolve_comment). It can also show you a place (open)
    without taking the focus from its terminal. It only reads, shows a place and checks off your comments: it cannot create comments or edit
    documents, and it sees only the project you opened. Most tools still work when TrailMark is closed, and open starts it.
  • trailmark context prints where you are as one short line, for tools that add it to every prompt from a hook. While the
    connection is on, a project with .trailmark/ also gets the same answer as a file, .trailmark/local/agent.json.
  • Agent in the status bar while the connection is on, with a dot that fills while an agent is connected. Click it to see what is
    shared and what was asked lately, or to turn the connection off.
  • Comments. Select a passage and press C (or Comment in the selection toolbar) to leave a comment. A bar marks the passage in
    the margin, and the Comments tab of the right panel lists the open comments by document. Comments follow their passage when the
    document changes, and a comment whose passage was rewritten is marked Passage changed. They are personal (kept in
    .trailmark/local/, never committed), work without the agent connection, and an agent can mark one done with a short reply.

Fixed

  • After using Save in the toolbar while the "Unsaved changes" bar was showing, the single-letter shortcuts (T, E, Alt+U,
    C) did nothing and Esc no longer left the editor until the window was reloaded.
  • Selecting text across a heading no longer includes the # of the heading's link when you copy it with a reference or an agent
    asks for your selection.

Security

  • The connection is off by default and its switch is kept in TrailMark's own data folder, so nothing inside a project, such as a
    cloned repository, can turn it on. TrailMark only talks to programs on your computer, and trailmark mcp checks that what answers
    is TrailMark running as you before it sends anything.
  • .trailmark/local/ and .trailmark/cache/ now ignore themselves in git, and TrailMark keeps no state in a .trailmark or local
    folder that is a link to somewhere else.

Install

Platform Download
Windows the -setup.exe installer (or the .msi)
macOS the universal .dmg (Apple silicon and Intel)
Linux the .AppImage, .deb or .rpm

TrailMark updates itself: when a new version is out, it offers a one-click "Restart to update".

The app is not code-signed yet

The installers are unsigned, so your system warns you the first time. They are built by GitHub Actions
from the tagged commit, and the in-app updates are verified with a signature.

Windows (SmartScreen). If you see "Windows protected your PC", click More info, then Run anyway.

macOS (Gatekeeper). If macOS says it can't verify TrailMark, open System Settings, Privacy & Security,
scroll to the Security section and click Open Anyway. On older macOS versions you can right-click the
app and choose Open instead. From a terminal: xattr -dr com.apple.quarantine /Applications/TrailMark.app.

Linux. Make the AppImage executable (chmod +x TrailMark_*.AppImage) and run it, or install the .deb / .rpm.

TrailMark v0.3.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 08:03

TrailMark is a fast, beautiful Markdown IDE that keeps up with your AI agents. It works with any
tool, or none: it only relies on your files and git.

One box to find anything, a dot for every document that changed since you read it, code references you can click, and
"Open with TrailMark" on macOS and Linux.

Added

  • Search everywhere (Ctrl+T). One box finds files, sections, tags and commands, grouped in that order, with All, Files,
    Sections, Tags and Commands scopes (Tab / Shift+Tab to move between them, or click). Ctrl+P opens it on Files and works
    exactly as Quick open did; Ctrl+Shift+P opens Commands. Type > first for commands or # for sections. Sections come from the same
    index as the Search panel and open at the heading; Enter on a tag puts it in the box as a tag: filter. Commands cover every action of the
    app, including the ones that only lived in a menu (Initialize TrailMark, Check for updates, New folder...), show their shortcut, appear only
    when they apply, and can be found by their English name in any language. A query of several words matches files whose path has every word.
  • Unread markers. A document that changed since you last read it gets a small dot in the Explorer, in Search everywhere, in the Search
    panel, in the Tags view and in Since last visit; a folder with unread documents inside is shown in semibold, with "N unread" as its
    tooltip. A document counts as read once it has been on screen in a focused window for 3 seconds or you scrolled it, and your own saves
    count as read. On the first visit every existing document counts as read. Alt+U opens the next unread document (newest change first).
    The Explorer menu has Mark all read and Show only unread, a folder's menu has Mark folder read, and the document menu has
    Mark as unread. Moves and renames made in TrailMark keep what you have read. The state is kept per project with the rest of its
    private state (.trailmark/local/read.json once the project is initialized), never in a file you commit.
  • "Open with TrailMark" on macOS and Linux. On macOS, TrailMark is listed in Finder's Open With for Markdown files (without becoming
    the default app), and a folder dropped on its Dock icon opens as a project. On Linux, the .deb and .rpm declare Markdown files, so
    file managers list TrailMark under Open With.
  • Clickable code references. A path in inline code (`src/main.rs`, `src/main.rs:42`, `lib.rs#L10-L20`) or in plain text with a
    line (src/main.rs:42:7) becomes a link when it names a file of the project: it is looked up from the project root, then from the document's
    folder, then by file name (a name that several files share asks which one on click). A Markdown file opens in TrailMark at the line, with the
    section tint; any other file opens in your editor at the line. Ctrl+click on a Markdown reference uses the editor too, and the right-click
    menu has Open, Open in external editor, Copy path and Copy reference. Prose that only looks like a reference (versions, times, URLs, drive
    paths), code blocks and existing links are left alone.
  • External editor setting. Settings has a new External editor field with presets for VS Code, Cursor, Zed, Sublime Text and JetBrains IDEs,
    or any command of your own (code -g {path}:{line}:{col}). The command is split into arguments before the file is filled in, so a path with
    spaces is always one argument, and it runs without a shell. Open in external editor (Ctrl+Shift+E, the menus) uses it too, at the block
    at the top of the view; with no command it opens the file with the system's default app as before. If the command can't be run, a message says
    which program was not found and takes you to Settings.

Security

  • The external editor starts in your home folder, never in the project, so a program placed in a cloned project cannot stand in for a
    command the editor runs. On macOS and Linux, a file without an extension that is marked executable is not handed to the system to open,
    since that would run it.

Fixed

  • On macOS, files and folders moved or renamed outside TrailMark now show up at once in the tree and in search, and the tags of a renamed
    file follow it, where such a move went unnoticed.
  • On macOS, renaming a file or folder in the Explorer so that only the case of its name changes (readme.md to README.md) works.
  • In Simple mode, a folder created next to the open file no longer reports the files inside it as new.

Changed

  • In Spanish the Source mode is called Código, the usual short name, so the mode switch stays compact.
  • Semantic search is now planned for v0.5 (the disabled Semantic toggle in Search says so); v0.4 brings an optional, local
    connection between TrailMark and your coding agent. See the roadmap.

Install

Platform Download
Windows the -setup.exe installer (or the .msi)
macOS the universal .dmg (Apple silicon and Intel)
Linux the .AppImage, .deb or .rpm

TrailMark updates itself: when a new version is out, it offers a one-click "Restart to update".

The app is not code-signed yet

The installers are unsigned, so your system warns you the first time. They are built by GitHub Actions
from the tagged commit, and the in-app updates are verified with a signature.

Windows (SmartScreen). If you see "Windows protected your PC", click More info, then Run anyway.

macOS (Gatekeeper). If macOS says it can't verify TrailMark, open System Settings, Privacy & Security,
scroll to the Security section and click Open Anyway. On older macOS versions you can right-click the
app and choose Open instead. From a terminal: xattr -dr com.apple.quarantine /Applications/TrailMark.app.

Linux. Make the AppImage executable (chmod +x TrailMark_*.AppImage) and run it, or install the .deb / .rpm.

TrailMark v0.2.1

Choose a tag to compare

@github-actions github-actions released this 15 Oct 02:06

TrailMark is a fast, beautiful Markdown IDE that keeps up with your AI agents. It works with any
tool, or none: it only relies on your files and git.

TrailMark now speaks Português (Brasil), Español and Deutsch, opens from the Windows file manager, and gets a single
Read | Visual | Source switch, a window that remembers its place, and an Explorer that handles workspaces of several repositories.

Added

  • One mode switch in the header: Read | Visual | Source. It replaces the Edit button and the Visual / Source switch that only showed while
    editing, and it is always there while a document is open (Simple mode too). One click goes to any mode, keeping your place (the block at the
    top of the view stays at the top, in all three) and your unsaved work; leaving an editor for Read with unsaved changes asks, as before, to
    Save, Discard or Keep editing. Ctrl+E and E open the editor you used last (the Open files for editing in setting until you use one),
    Ctrl+Alt+E toggles Visual and Source, or from Read opens the editor you did not use last. For a file that cannot be edited the Visual and Source
    segments are dimmed, with the reason as their tooltip. In a narrow header the labels become icons, and the switch works with the arrow keys,
    Home and End, with tooltips that name the shortcut.
  • Repositories inside a project are always in the tree. A folder with its own .git shows up even when the project's .gitignore
    leaves it out, which is how a workspace folder that collects several independent repositories is usually set up. Inside each one its own
    .gitignore and .git/info/exclude decide what is listed, not the project's. Search, Quick open, tags and live updates cover their files
    too. Linked worktrees work as before.
  • Two new switches in the Explorer filter, saved with it and off by default: Show hidden files and folders (names that start with a dot) and
    Show files ignored by git. Folders with more than 2,000 entries that git ignores (node_modules, target, build output) are listed
    closed, with a "large folder" tag, instead of being read.
  • .trailmark/ is easier to find. A quiet banner offers to keep tags and settings with the project when you open a git repository that
    doesn't have a .trailmark/ folder yet (Initialize, Not now, Never for this folder), and the tag editor has an Initialize .trailmark
    link next to "Saved in TrailMark, not in the file". Both open the existing Initialize dialog.
  • The window remembers its size and position. TrailMark opens where you left it, including maximized, with no jump: the window is
    placed before it is shown. Each project folder keeps its own place (in the project's private state, never in a file you commit), and
    the last window is used for the welcome screen, a folder opened for the first time and a single file. If the screen it was on is gone,
    or the resolution or display scale changed, the window comes back on the main screen at a size that fits.
  • Translations. The interface now comes in Português (Brasil), Español and Deutsch besides English. Settings → Language offers
    System default (the first language of your system that TrailMark speaks, else English) and each language written in itself; the change
    applies at once, without a restart, and is kept for all your projects. Plurals, numbers, dates and relative times follow the language,
    key names in tooltips follow the keyboard of the language (Strg+Umschalt+O in German), and the native dialogs, errors and document
    notes are worded in it too.
  • Windows installer languages. The installer asks for English, Português (Brasil), Español or Deutsch, and TrailMark starts in that language
    until you pick one in Settings. A language chosen in the app always wins, and an update never changes it.
  • A test fails when a translation misses a key, has an extra one, changes a placeholder, or leaves a long sentence in English. See
    docs/design/i18n.md for the conventions and how to add a language.
  • "Open with TrailMark" in the Windows file manager. Right-click a folder, the empty space inside a folder, or a .md / .markdown file and
    choose Open with TrailMark (on Windows 11 it is under Show more options). A second, separate option lists TrailMark in the Open with
    menu of Markdown files; it never takes over your default app (Windows keeps that for you), and Settings → File manager → Make default...
    opens the Windows page where you pick it. Both options are in the installer (on by default for a new install, on its first page) and in
    Settings → File manager, which adds or removes the entries at once and always shows what is registered now. The text of the entry follows the
    language of the interface. Nothing needs administrator rights. An update keeps what you chose (it never adds back what you removed, nor
    removes what you kept), and uninstalling removes every entry.

Changed

  • Hidden files and folders (.github, .claude, .vscode, .gitignore, ...) are no longer listed by default, in any preset. Turn on Show
    hidden files and folders
    to see them; a hidden file that is open still shows, dimmed, in its folder. A hidden folder hides its images too, even
    ones a document links to.
  • The Everything preset says that files ignored by git (including those in .git/info/exclude, such as a local-only script) have their own switch.
  • The Explorer filter keeps your documentation images. With Only assets next to documents on, an image used to show only when its
    folder, or the one above it, held a document, so the pictures of a top-level assets/ or site/assets/ folder were hidden. Now an image
    also shows when a Markdown document links to it (![](...), a reference definition, or an HTML <img>, resolved from that document, wherever the
    image is), or when it sits in a folder named assets, images, img, media, attachments, screenshots, figures, diagrams or
    pictures. The icons of a code folder stay out unless a document uses them. Data and XML files keep the old rule, and +pattern / -pattern
    entries still win. The set of linked images is kept up to date as documents change, reading only the document that changed.
  • Errors from the backend carry a kind and the name or text they are about, and the interface words them; a few messages that used to be fixed
    English sentences (a file that is not UTF-8, a document shown as plain text because of its nesting) are now worded by the interface.
  • Enter works like a spreadsheet inside a table in the Visual editor. A table cell can't hold a line break, and Enter used to leave the table.
    Now Enter moves to the same column one row down (and adds a row from the last row), Shift+Enter moves one row up, and Ctrl+Enter
    (Cmd+Enter on macOS) leaves the table. Tab and Shift+Tab still move between cells, and Tab in the last cell adds a row. Undo
    takes an added row away in one step. Enter outside a table is unchanged.
  • The Settings panel scrolls when the window is shorter than it is (it grew with the new File manager section), and a popover whose
    content changes size after it opened is placed again.

Fixed

  • The folded More formatting menu of the Visual toolbar (in a narrow window) now has the table actions (add and delete rows and
    columns), with the reason as a tooltip when one can't be used.
  • Opening a drive root from the file manager ("C:\" on the command line) works.
  • The welcome screen opens at the top with a long list of recent folders, instead of scrolled down past the logo.
  • Quick open opens a file the Explorer filter hides with one Enter when it is the only kind of match.
  • The file name in the header stays readable while editing in longer languages: the "saved ... ago" note and the folders shrink
    first, and Copy reference becomes an icon in a narrow window.

Install

Platform Download
Windows the -setup.exe installer (or the .msi)
macOS the universal .dmg (Apple silicon and Intel)
Linux the .AppImage, .deb or .rpm

TrailMark updates itself: when a new version is out, it offers a one-click "Restart to update".

The app is not code-signed yet

The installers are unsigned, so your system warns you the first time. They are built by GitHub Actions
from the tagged commit, and the in-app updates are verified with a signature.

Windows (SmartScreen). If you see "Windows protected your PC", click More info, then Run anyway.

macOS (Gatekeeper). If macOS says it can't verify TrailMark, open System Settings, Privacy & Security,
scroll to the Security section and click Open Anyway. On older macOS versions you can right-click the
app and choose Open instead. From a terminal: xattr -dr com.apple.quarantine /Applications/TrailMark.app.

Linux. Make the AppImage executable (chmod +x TrailMark_*.AppImage) and run it, or install the .deb / .rpm.