Skip to content

Releases: sftwrdotdev/Markpad

Markpad v2.7.0

Choose a tag to compare

@github-actions github-actions released this 05 Aug 04:37
71c9bc9

New Features

  • Preview width is configurable: a setting, a shortcut pair to widen/narrow, and the preference persists (#346, #347, #348, #349)
    preview-width-wide
  • Editor toolbar : new icons and a show/hide toggle (#282)
    editor-toolbar
  • Window tags and pinned sessions rebuilt (#280)
    window-tag
  • Moving tabs between windows rebuilt (#279)
  • macOS settings menu (#339)
    editor-settings
  • Floating table-of-contents toggle (#331)
    floating-toc

Documents

  • A file over 50 KB opened as a truncated preview, and saving wrote that preview back over the whole document (#374)
  • A non-UTF-8 file opened as mojibake, and auto-save wrote the mojibake over the original 1.5 s later (#379)
  • Dropping two images with the same name in the same second silently replaced the first while the document still linked to it (#383)
  • A read failure during session restore evicted the tab and saved the trimmed list, so an unplugged drive lost the tab permanently (#401)
  • Re-opening a file that was already open with unsaved edits discarded them, and cleared the dirty flag so nothing said so (#412)
  • Two tabs could hold one path with two auto-save timers writing over each other (#413, #416)
  • A tab moved between windows could end up open in both, each copy with its own auto-save timer writing over the other (#366).
  • Pressing โŒ˜S while an auto-save was mid-write could leave the older text on disk (#436, #438).
  • Quitting with two tagged windows could lose one window's pinned tags (#424).
  • A stale preview render could overwrite a newer one (#254), and an interrupted session restore left the app unable to recover (#260).

Security

  • Exported HTML skipped the sanitizer entirely (#376)
  • The preview never used the shared sanitize policy, so a document's <style> reached the app's own UI โ€” reproduced hiding the title bar and fetching a remote beacon (#384)
  • A link could read as http://โ€ฆ everywhere the user can see it and open a local file instead (#415)
  • Imported VS Code theme colours are validated before being injected as CSS (#362), and imported theme slugs are normalized (#301)
  • Theme and image file paths are constrained to their directories (#249, #270)
  • File IO, decoding and Markdown boundaries hardened on the Rust side (#371)

Export and printing

  • Exported HTML now contains rendered math, syntax highlighting and Mermaid diagrams instead of raw source (#411)
    export-html-beforeexport-html-after
  • Exported HTML carries the theme, and no longer cuts collapsed sections out of the document (#382)
  • PDF exports are readable in every theme; diagrams no longer come out dark-on-dark (#359)
    pdf-diagrams
  • A PDF exported from edit mode is no longer blank (#407)
  • Local images are inlined on Windows (#363)
  • Find highlights no longer print, and collapsed matches are revealed (#377)
  • Print layout: native controls, full page width, and tighter content rhythm (#329, #333)
  • The export menu is no longer greyed out for an unsaved document you're editing (#441)

Editor and preview

  • Task checkboxes work in the preview, and the change is written back to the file (#345, #352)
  • Three separate LaTeX reports turned out to be one bug : _{1} becoming italics, \\ being eaten so a multi-row aligned collapses, \% being eaten so KaTeX treats the rest of the line as a comment. All three are comrak applying Markdown inline rules inside math delimiters; fixed by masking the span before parsing rather than patching one character at a time (#351, #402; closes #174 / #177 / #197)
  • Escaped dollars stay escaped, and $$โ€ฆ$$ inside a paragraph renders (#422)
  • The editor context menu is fully localized and follows a language change (#381)
  • URLs pasted inside code blocks are no longer turned into links (#381)
  • Scroll position returns to the block you left, not to a percentage (#420)
  • Heading folds are per-document, and are cleared when a tab follows a link to a different file (#425, #448)
  • A leading --- no longer swallows the paragraph after it (#375)
  • Copy Reference produces a link Markpad can actually follow (#403)
  • Preview works without saving first (#421)
  • ToC jumps use heading source position (#335)
  • Editor options and keyboard shortcuts now do what their labels claim (#369)
  • Saving works from reading mode (#365)
  • "Save image as" works for local images, and says so honestly for remote ones (#408)
  • A relative link to a non-Markdown file resolves against the document instead of the app (#409, #415)
  • Copy Reference produces a link Markpad can follow (#380), and "open the exported file" had never worked because the opener plugin had no path scope (#403)
  • Live Mode watched the wrong file after a tab switch (#296)
  • YouTube embeds open externally instead of failing in place (#338)
  • Settings: the modal stays draggable (#312), collapsed toolbar sections are remembered (#286), and every setting syncs across windows instead of the last window overwriting the rest (#370)
  • Recent files are merged across windows instead of overwritten (#405)
  • The auto-save failure toast no longer repeats (#406)
  • A malformed UTF-8 code fence crashed the renderer (#265)
  • Window titles update natively (#288); a window created at startup is reused instead of a second one appearing (#318)

Windows

  • "Move to New Window" froze the app. create_transfer_window built the window synchronously, and on Windows that deadlocks. WebView2 needs the main thread free to pump messages while the window is created (#360)
  • Right-clicking a tab twice opened the document menu the second time, because the first menu's full-viewport overlay swallowed the click and only called preventDefault() (#360)
  • Install failed outright when the Desktop or Start Menu folder did not exist โ€” this is the cause of the OS Error 3 reports (#400)
  • Uninstall could terminate unrelated processes with the same name (#358)
  • Install and uninstall are recoverable if interrupted (#364)
  • Markpad no longer registers itself for plain text files (#302)
  • The Install button stays reachable at large system text sizes (#428)

macOS

  • PDF export did not work at all (#287)
  • Opening several documents at once from Finder kept only one of them (#298, #300)
  • The editor paste menu was missing (#266)

Performance

  • Startup JavaScript down 81 % : Monaco now loads when you open the editor rather than before the first paint. First paint went from 4770 KB to 904 KB; entering edit mode costs ~330 ms once per window (#423)
  • Mermaid-heavy documents ~12ร— faster to type in; diagrams are no longer redrawn on every keystroke (2185 ms โ†’ 189 ms on a 20-diagram document) (#419)

Changelog

Read more

Markpad v2.6.13

Choose a tag to compare

@github-actions github-actions released this 30 Jul 05:52
e303d1c

Summary

Features

  • Added independent native windows with menu-based tab transfer.
  • Added hover marquee to reveal truncated tab titles.

Fixes

  • Tabs & Windows: Fixed tab renaming. App now prompts for unsaved tabs individually on window close and batch close. Menus are guarded when dialogs are active.
  • Editor: Pasting a URL over a selected URL replaces it instead of nesting. Unsaved content is preserved when toggling tasks. Prevented stale large-file loads.

Thank you @PathGao!

What's Changed

  • fix: review unsaved tabs one at a time on window close; restore window state only by @PathGao in #211
  • fix: remove duplicate test:frontmatter script key by @PathGao in #217
  • fix: key section folds by unique heading id instead of heading text by @PathGao in #219
  • fix: pair code regions by CommonMark rules in markdown preprocessing by @PathGao in #228
  • fix: preserve Windows file associations on uninstall by @PathGao in #256
  • fix: tab rename never worked โ€” window.prompt is a no-op in the webview by @PathGao in #224
  • fix: pasting a URL over a selected URL replaces it instead of nesting by @PathGao in #229
  • feat: reveal truncated tab titles with a hover marquee by @PathGao in #223
  • refactor: deterministic fold wrapper ids by @PathGao in #221
  • fix: guard menus while dialogs are active by @PathGao in #239
  • test: pin raw render_markdown invocations to the pipeline allowlist by @PathGao in #220
  • fix: harden Windows installer environment handling by @PathGao in #252
  • feat: independent native windows with menu-based tab transfer by @PathGao in #214
  • refactor: debounced preview render goes through renderTabPreviewFromRaw by @PathGao in #218
  • fix: avoid stale fold height after leaving edit mode by @PathGao in #238
  • fix: preserve dirty content when toggling tasks by @PathGao in #245
  • fix: ignore stale large-file loads by @PathGao in #247
  • ci: gate releases on complete platform artifacts by @PathGao in #241
  • fix: confirm dirty tabs before batch close by @PathGao in #243

Full Changelog: v2.6.12...v2.6.13

Markpad v2.6.12

Choose a tag to compare

@github-actions github-actions released this 13 Jul 05:26
e08a261

What's Changed

New Contributors

Full Changelog: v2.6.11...v2.6.12

What's Changed

New Contributors

Full Changelog: v2.6.11...v2.6.12

Markpad v2.6.11

Choose a tag to compare

@github-actions github-actions released this 03 Jun 04:35
25dc1d7

What's Changed

Full Changelog: v2.6.10...v2.6.11

Markpad v2.6.10

Choose a tag to compare

@github-actions github-actions released this 14 May 19:52
f086c9f

What's Changed

  • Keep scroll and cursor position when coming back to a tab by @dayeggpi in #150

Full Changelog: v2.6.9...v2.6.10

Markpad v2.6.9

Choose a tag to compare

@github-actions github-actions released this 08 May 21:52

What's Changed

New Contributors

Full Changelog: v2.6.8...v2.6.9

Markpad v2.6.8

Choose a tag to compare

@github-actions github-actions released this 07 May 17:40

Summary

No functional changes. Users on version 2.6.7 will receive future 2.6.8+ updates directly through the Check for updates action.

See v2.6.7 release notes for full list of changes

Full Changelog: v2.6.7...v2.6.8

Markpad v2.6.7

Choose a tag to compare

@github-actions github-actions released this 07 May 07:31

What's New

  • Toggleable auto-save
  • Check for Updates menu item
  • Auto-update now live on all platforms (2.6.7+)!

Fixed

  • Paste in editor find widget
  • Relative markdown link navigation improved
  • Snap package credential error fixed

Thanks @wargoblin for the contributions

What's Changed

Full Changelog: v2.6.5...v2.6.7

Markpad v2.6.5

Choose a tag to compare

@github-actions github-actions released this 01 May 03:35

Summary

Small update with several new contributors! Thank you all!
More fixes on the way.

Important

Snap package will be delayed as Snapcraft is down

What's Changed

  • Chocolatey pkg update fixed
  • fixed zooming for SVG and Mermaid diagrams
  • fix(i18n): Mainly for zh-CN and zh-TW, making supplements and corrections by @pansy1110 in #91
  • edit-file (ctrl+e) on txt file by @dayeggpi in #105
  • fix(editor): fix image directory path handling and enhance security by @maxrks in #112
  • Fix macOS markdown file associations by @wargoblin in #113
  • [codex] Close window after final tab closes by @wargoblin in #114
  • Fix markdown preview wrapping and Windows open-with registration by @KarlDavidRosen in #120

New Contributors

Full Changelog: v2.6.4...v2.6.5

Markpad v2.6.4

Choose a tag to compare

@github-actions github-actions released this 31 Mar 21:48
79594de

What's Changed

  • Added i18n with 26 new supported languages. (thanks @maxrks!) Full list below
  • Improved handling of loading large files and quicker load times overall
  • Fixed unresponsive titlebar on hangs #83

Supported Languages

  • English
  • Japanese
  • Chinese (Simplified)
  • Chinese (Traditional)
  • Korean
  • Russian
  • Spanish
  • French
  • German
  • Portuguese (Brazil)
  • Italian (it)
  • Polish (pl)
  • Dutch (nl)
  • Swedish (sv)
  • Portuguese (European) (pt)
  • Romanian (ro)
  • Hungarian (hu)
  • Czech (cs)
  • Slovak (sk)
  • Greek (el)
  • Finnish (fi)
  • Danish (da)
  • Norwegian (no)
  • Vietnamese (vi)
  • Indonesian (id)
  • Turkish (tr)

Changes

  • feat(i18n): add multi-language support and implement app internationalization by @maxrks in #87
  • feat: set pasting image default folder & resolve macOS screenshot scale & setting shortcut by @maxrks in #86
  • feat(settings): add multi-language support and optimize settings UI by @maxrks in #88
  • feat: large file handling improvements by @alecdotdev in #89

New Contributors

Full Changelog: v2.6.3...v2.6.4