Repository navigation
Releases
GitPad 1.4.1
Fixed
- Without a GitHub account, Ctrl+S saves and commits; the push no longer spins
forever and the toast says the file was saved locally. - A Git repository nested in the notes folder (for example an old
gitpad_notesclone inDocuments) no longer fails every commit and push. - Saving while offline keeps the local commit, and the message says the changes
are saved locally instead of repeating the network error. - The status bar shows
errorfor real failures andofflineonly for network
ones. - A second sync cannot start while a timed-out run is still going.
- Opening a subfolder of a repository reports the same path spelling on Windows.
Changed
- Settings:
Change…opens an existing folder (and initializes it when it is
empty), and a separateMove repositoryrow moves the clone after a
confirmation that shows where it will end up.
1.4.0
1.4.0 — 2026-11-13
GitPad runs on Windows too.
Added
- Windows 10 (1803 or newer) and Windows 11 on x64, as a per-user NSIS
installer. The token goes to Windows Credential Manager, Settings lists the
installed font families, and the app's own title bar and shortcuts stay. - The WebView2 context menu and browser keys (F5, Ctrl+P, Ctrl+F) are turned
off, so they cannot shadow the app's shortcuts.
Fixed
- Repository-relative paths reach the interface with
/on every platform. On
Windows the file tree, search and the filesystem watch used\while Git
status used/, so a tab could stop reloading and its dirty marker drift.
Changed
SIGTERMhandling, and thenixdependency, are unix-only; on Windows the
window close is the whole shutdown path.
GitPad 1.3.0
Open almost anything: images, PDFs and office documents get a read-only tab,
JSON and YAML format in place, and a pending GitHub login can be cancelled.
Added
- Read-only viewers for images, PDF, DOCX and ODT. PDF pages render as you
scroll, memory stays bounded, and a page that fails no longer drops the
document; office documents become a clean HTML preview. - Format JSON and YAML with Prettier (
Ctrl+Shift+I), comments included.
Nothing is reformatted on save. - Cancel a pending GitHub device-flow login, and respect the interval GitHub
asks for between polls.
Fixed
- Links open reliably on desktops without
xdg-open; when no opener works the
link is copied instead of leaving the login screen stuck. - Autosave retries every tab that failed, a push waits for another sync and
retries instead of being lost, and the startup pull goes through the same
guard. - Moving the notes repository no longer reports a failure after the rename
succeeded. - A personal access token is stored before the account is shown as signed in.
- Binary previews are capped at 20 MB; search skips binary files and waits
longer while typing.
GitPad 1.2.0
The editor notices changes made outside it, the tree creates things where you
click, and the app moves.
Added
- External changes: a debounced watch on the active repository reloads a tab
when its file changes on disk. Dirty, busy and deleted tabs are handled
instead of clobbered, autosave's own write is ignored, and the watch follows
you to another repository. - Create files and folders from the palette; the context menu prefills the
folder you right-clicked. - Entrance motion for dialogs, menus, toasts, folder expansion and the empty
state. The onboarding wizard cascades its steps, pops the success check and
fades out on close. - Remote images render in the Markdown preview (the CSP allows them).
Changed
- Tabs share the strip equally; file tree rows are inset from the panel edge.
Fixed
- A caret moved by a command (
Enteron a list,Tabacross table cells, the
code-block action) scrolls into view, with air above and below it. - Autosave no longer marks a tab stale or echoes back as an external change.
- The onboarding token field draws its focus ring around the whole control;
the wizard overlay is a window drag region.
AppImage — chmod +x GitPad_1.2.0_amd64.AppImage && ./GitPad_1.2.0_amd64.AppImage
Built on Arch, so it needs a glibc at least as new as the build host. Debian 13 and Ubuntu 24.04 need a source build.
Arch Linux — gitpad-1.2.0-1-x86_64.pkg.tar.zst (or makepkg -si from the repository).
GitPad 1.1.0
Tabs that read like the editor they open, and Markdown that types itself.
Added
- The
/menu in Markdown notes: type/at the start of a line to insert a
heading, emphasis, a code block with its language, a table, a task list and
the rest of GitHub-flavoured Markdown, nested lists included. With text
selected the command wraps it instead of inserting a placeholder. - Markdown tables edit themselves:
TabandShift+Tabwalk the cells and add
a row at the end, and/row,/col,/delrow,/delcolinside a cell
change the shape. Each change re-renders the table with its columns aligned.
Changed
- The tab bar follows VS Code: the open tab merges into the editor through
concave shoulders, the strip shares the side panel surface, and the toolbar
holds icons only. - The
/menu wears the same card treatment as the rest of the app. - Scrollbars are warm taupe with rounded sliders, in both themes.
Fixed
- The sidebar resize gutter no longer covers the sidebar scrollbar.
Entercontinues a Markdown list and clears an empty item./sublistand/subnumberindent three spaces, so the preview nests them
instead of flattening the list.
GitPad 1.0.6
Changelog
1.0.6 — 2026-11-07
Visual pass: the "Warm Graphite" palette, rounded surfaces, Hanken Grotesk as
the UI font, and matching scrollbars and file icons.
Added
- File icons from the vscode-icons set (vscode-icons-js + vendored MIT SVGs),
replacing the five hand-drawn glyphs. - Thin scrollbars (8px) in the theme's own colours: light grey on dark,
dark grey on light, cyan on high contrast; always visible, brightening on
hover. Editor scrollbars keep step. - Drag handles on every splitter: a 4px bar inside the gap, transparent at
rest, border-strong under the pointer, accent while dragging. The timeline
height handle keeps a visible pill. - History and File Timeline: hash + date on one line, message on the next;
Restore / Revert reach the 32px desktop target. - Settings: controls capped at 280px, tab content on surface-0 under a
surface-1 dialog, the dark-only override block removed (tokens invert by
themselves).
Changed
- Warm Graphite surfaces, borders, text and muted tones across all three
themes (dark, light, hc-black). - Radii scale: 6 / 9 / 14 / 18, panel gutters 8px, tab bar 40px, status bar
26px, title bar 38px. - Type scale: 10 / 11 / 12.5 / 14 / 16 / 20 px via CSS variables, all 71
hardcoded sizes replaced. - UI font: Hanken Grotesk (variable 400–700, latin subset) bundled and
preloaded, system-ui fallback. - Monaco themes aligned to the palette (dark, light; hc-black unchanged).
- Markdown preview warmed (headings, tables, blockquotes, links, inline code)
via scoped overrides; syntax palette untouched. - Dialogs and overlays use the 18px overlay radius with the two-level
shadow; menus and toasts use the first level. - Active row in the file tree, palette and tabs marked by an inset accent
bar (2px) instead of a background fill.
Fixed
- The keyring probe runs off the main thread; the onboarding no longer
waits for it before polling. - Light theme sidebar surface now one step darker than the editor so the
two panels read as separate layers. - Command palette list retriggers after backspace;
/h1../h6accept a
digit after the hash;/sublistand/subnumberwork. - File timeline restore buttons no longer flicker between half and full
opacity; they are always fully visible. - Settings hover tab no longer looks identical to the active tab.
Unreleased
Added
- The
/menu in Markdown notes: type/at the start of a line to insert a
heading, emphasis, a code block with its language, a table, a task list and
the rest of GitHub-flavoured Markdown, nested lists included. With text
selected the command wraps it instead of inserting a placeholder. - Markdown tables edit themselves:
TabandShift+Tabwalk the cells and add
a row at the end, and/row,/col,/delrow,/delcolinside a cell
change the shape. Each change re-renders the table with its columns aligned.
1.0.5 — 2026-11-06
Browser sign-in shows its code again.
Fixed
- "Login with GitHub" no longer freezes the window. Opening the browser was
waiting on the main thread, so the device code was never painted and the
polling never started; the opener now runs off that thread, and the code and
the polling start before the browser is up.
1.0.4 — 2026-11-06
Notes land next to your documents, and the editor chrome got a pass.
Added
- New repositories are cloned next to your documents
(~/Documents/gitpad_notes) instead of a hidden app-data folder. The wizard
shows the path before it starts and still lets you pick another folder. - The command palette splits a path into the folder and the file name, so the
name keeps its weight and only the leading folders truncate. - The setup wizard is one card per step, and a missing repository is an
ordinary state instead of an error.
Fixed
- Restoring or reverting from the sidebar History no longer closes the open
tab: the editor re-reads the file in place. - The undo and redo arrows follow the undo stack and stay disabled when there
is nothing to undo or redo. - The disabled Restore in the file timeline no longer lights up on hover, and
disabled arrows read as disabled. - Settings controls share one height (the inputs were two pixels taller than
the select next to them), and the selected tab no longer looks like a
hovered one.
1.0.3 — 2026-11-05
Sign-in without a keyring, a reworked history, and a safer editor.
Added
- The GitHub token now survives restarts without an OS keyring: it is kept in
auth.token(mode 0600) under the app data directory, and removed on logout
or when the keyring accepts it again. - Restore removed folders from History: a commit that only deletes files
gets a "Restore N deleted items" action. - History is grouped by day (Today/Yesterday/date), commits are cards coloured
by action, and the expander has its own rail. - The editor and the file history are separate, resizable frames with a centred
drag grip. - Confirmation dialogs are in-app and centred (restore, revert, discard, exit).
- Folders-first is independent of the sort order.
- Notifications have warning/error/info severity colours.
Fixed
- Discarding a conflicted file no longer deletes it; discard refuses and points
to the conflict dialog. Staged deletions are restored from HEAD. - A slow file-history request can no longer overwrite the current tab or the
newly expanded commit. - Global shortcuts no longer fire behind the confirmation dialog, and Escape no
longer closes the history behind it. - The history panel is clamped to the editor column when the window shrinks.
dompurifyis forced to 3.4.17 for Monaco, closing a critical advisory.- The Arch/source package now compiles the device-flow client id, so both
sign-in paths work outside the AppImage.
1.0.2 — 2026-11-05
The Arch package started with a blank window asking for a dev server.
Fixed
- The
PKGBUILDnow builds with thetauri/custom-protocolfeature. Without it
the installed binary is treated as a development build and loads
http://localhost:1420, which is why 1.0.0 and 1.0.1 frommakepkgshowed
Could not connect to localhost: Connection refused. The AppImage was never
affected: the Tauri CLI sets that feature itself. - CI compiles that same packaging build on every push, so the two build paths
cannot drift apart again.
1.0.1 — 2026-11-05
Signing in on a machine whose keyring is unavailable, and opening links from a
minimal desktop.
Fixed
- GitHub login no longer fails without a keyring. When the Secret Service is
missing, locked, or unreachable, the token is kept for the current session
instead of aborting the device flow, and the app says so with a toast at
startup and a note under the login form. - The session bus is found again. If
DBUS_SESSION_BUS_ADDRESSis not set,
GitPad falls back to$XDG_RUNTIME_DIR/bus, so a launcher that drops the
environment no longer breaks the keyring. - Links open on a bare desktop. "Create a token", the device-flow page and
profile links tryxdg-open, thengio open, and copy the URL with a notice
when neither works. Every attempt is written to the log. - Failing to open the browser no longer cancels the device flow.
1.0.0 — 2026-11-04
First stable release. GitPad is a desktop editor for markdown notes kept in a
Git repository you own.
Editor
- Monaco-based editor with automatic save after two seconds of inactivity.
- One editor instance shared by every tab, with per-file view state.
- Undo and redo arrows in the title bar, in addition to
Ctrl+Z/Ctrl+Y. - Find and replace:
Ctrl+FandCtrl+R, themed and no longer shifting the
first line of the document.
Git and sync
- Automatic commit on save (`gitpad: update {file
GitPad 1.0.5
Browser sign-in shows its code again.
Fixed
- "Login with GitHub" no longer freezes the window. Opening the browser was
waiting on the main thread, so the device code was never painted and the
polling never started; the opener now runs off that thread, and the code and
the polling start before the browser is up.
GitPad 1.0.4
Notes land next to your documents, and the editor chrome got a pass.
Added
- New repositories are cloned next to your documents
(~/Documents/gitpad_notes) instead of a hidden app-data folder. The wizard
shows the path before it starts and still lets you pick another folder. - The command palette splits a path into the folder and the file name, so the
name keeps its weight and only the leading folders truncate. - The setup wizard is one card per step, and a missing repository is an
ordinary state instead of an error.
Fixed
- Restoring or reverting from the sidebar History no longer closes the open
tab: the editor re-reads the file in place. - The undo and redo arrows follow the undo stack and stay disabled when there
is nothing to undo or redo. - The disabled Restore in the file timeline no longer lights up on hover, and
disabled arrows read as disabled. - Settings controls share one height (the inputs were two pixels taller than
the select next to them), and the selected tab no longer looks like a
hovered one.
GitPad 1.0.3
1.0.3 — 2026-11-05
Sign-in without a keyring, a reworked history, and a safer editor.
Added
- The GitHub token now survives restarts without an OS keyring: it is kept in
auth.token(mode 0600) under the app data directory, and removed on logout
or when the keyring accepts it again. - Restore removed folders from History: a commit that only deletes files
gets a "Restore N deleted items" action. - History is grouped by day (Today/Yesterday/date), commits are cards coloured
by action, and the expander has its own rail. - The editor and the file history are separate, resizable frames with a centred
drag grip. - Confirmation dialogs are in-app and centred (restore, revert, discard, exit).
- Folders-first is independent of the sort order.
- Notifications have warning/error/info severity colours.
Fixed
- Discarding a conflicted file no longer deletes it; discard refuses and points
to the conflict dialog. Staged deletions are restored from HEAD. - A slow file-history request can no longer overwrite the current tab or the
newly expanded commit. - Global shortcuts no longer fire behind the confirmation dialog, and Escape no
longer closes the history behind it. - The history panel is clamped to the editor column when the window shrinks.
dompurifyis forced to 3.4.17 for Monaco, closing a critical advisory.- The Arch/source package now compiles the device-flow client id, so both
sign-in paths work outside the AppImage.
GitPad 1.0.2
The Arch package started with a blank window asking for a dev server.
Fixed
- The
PKGBUILDnow builds with thetauri/custom-protocolfeature. Without it
the installed binary is treated as a development build and loads
http://localhost:1420, which is why 1.0.0 and 1.0.1 frommakepkgshowed
Could not connect to localhost: Connection refused. The AppImage was never
affected: the Tauri CLI sets that feature itself. - CI compiles that same packaging build on every push, so the two build paths
cannot drift apart again.