Download
| System | Chip | Download | |
|---|---|---|---|
| Windows | Intel / AMD | Markpad_2.7.2_x64-setup.exe
| installer |
| Intel / AMD | Markpad_2.7.2_x64.exe
| portable | |
| ARM64 | Markpad_2.7.2_arm64-setup.exe
| installer | |
| ARM64 | Markpad_2.7.2_arm64.exe
| portable | |
| macOS | Intel and Apple Silicon | Markpad_2.7.2_universal.dmg
| one file for both |
| Linux | x86-64 | Markpad_2.7.2_amd64.AppImage
| portable |
| x86-64 | Markpad_2.7.2_amd64.deb
| Debian, Ubuntu | |
| x86-64 | Markpad-2.7.2-1.x86_64.rpm
| Fedora, RHEL, openSUSE |
Note
Windows SmartScreen Notice: Windows executables are not currently signed with an Authenticode code signing certificate. Windows SmartScreen may flag the binaries as an unrecognized file or false positive Trojan. You can safely bypass SmartScreen by clicking "More info" → "Run anyway".
The two Windows files differ only in that one installs and one does not.
Package managers: choco install markpad-app (Windows), sudo snap install markpad (Linux).
What's Changed
- fix(session): keep the restore breadcrumb where a kill cannot take it by @PathGao in #501
- fix(commands): move four blocking filesystem commands off the UI thread by @PathGao in #502
- fix(session): keep the snapshot when exit is used during startup by @PathGao in #503
- fix(assets): serve the asset protocol off the webview thread by @PathGao in #504
- chore: delete the code nothing reaches, and narrow the exports nothing imports by @PathGao in #506
- fix(ci): strip host-coupled libwayland from the AppImage so it starts on newer Mesa by @LargeModGames in #499
- fix(windows): remove dead installer code from the shipped binary by @PathGao in #507
- chore(i18n): remove dead installer/uninstaller translation keys by @PathGao in #508
- refactor(tauri): move #[tauri::command] to window_runtime, delete 17 wrapper functions by @PathGao in #509
- fix: guard localStorage.getItem/setItem existence for Node.js v25 compat by @PathGao in #510
- chore: remove debug leftovers, bump prevent-default to stable by @PathGao in #511
- refactor(rust): replace unwrap() with expect() or lock_recover by @PathGao in #513
- refactor(rust): introduce lightweight Error type for internal functions by @PathGao in #514
- refactor(ts): tighten any types to unknown or specific types by @PathGao in #512
- fix(scroll-sync): measure a block from the scroll container, not from its offset parent by @PathGao in #515
- docs(samples): add the scroll-sync stress document, by @Guardiancelte by @PathGao in #516
- feat(settings): the two preferences the panel was missing, and honest semantics for the ones it had by @PathGao in #517
- docs(samples): re-land the stress document under its author (rebase-merge, please) by @PathGao in #519
- refactor(outline): centre the current entry, and let both panes answer with one rule by @PathGao in #518
- feat(editor): offer this document's headings as link targets by @PathGao in #520
- fix(drag-drop): answer every file dropped on the editor pane by @PathGao in #521
- feat(markdown): accept ++inserted++, and copy a reference in the document's own spelling by @PathGao in #522
- refactor(markdown): let comrak parse the two things regexes were parsing by @PathGao in #523
- docs: a Markdown syntax reference, a reshaped README, and a download table on the release page by @PathGao in #524
- chore(deps): move the dompurify pin to 3.4.13 by @PathGao in #528
- fix(macos): give the menu back the commands the web side cannot bind by @PathGao in #527
- chore(build): add signing key to AppImage and update snapcraft workflow by @alecdotdev in #529
Full Changelog: v2.7.1...v2.7.2