⚠️ Note for macOS users
Builds are unsigned (no Apple Developer ID). After dragging MarkText into Applications, clear the quarantine flag once:
xattr -cr /Applications/marktext.app
Verifying downloads
All artifacts are listed with their SHA-256 in SHA256SUMS.txt. Verify with:
sha256sum -c SHA256SUMS.txt --ignore-missing
What's Changed
- Ignore empty key bindings by @fxha in https://github.com/marktext/marktext/pull/3077
- Update auto pair quote logic by @Lorilandly in https://github.com/marktext/marktext/pull/2960
- Fix image paste handler is not executed by @fxha in https://github.com/marktext/marktext/pull/3076
- Add experimental native support for Apple M1 by @fxha in https://github.com/marktext/marktext/pull/3089
- Update dependencies by @fxha in https://github.com/marktext/marktext/pull/3096
- Fix: "delete" shortcut on a selected image deletes the text after it (#2816) by @kiyoka in https://github.com/marktext/marktext/pull/3088
- Fix links to macOS releases by @yous in https://github.com/marktext/marktext/pull/3099
- Fix typo in the DataCenter class init method by @vdeschuy in https://github.com/marktext/marktext/pull/3104
- 0.17.1 by @fxha in https://github.com/marktext/marktext/pull/3105
- Fixed multi line highlight. by @or1ko in https://github.com/marktext/marktext/pull/3115
- Don't copy (or on cut) empty data to the clipboard, matches native behavior by @mitchcapper in https://github.com/marktext/marktext/pull/3130
- Upgrade Electron to v17 by @fxha in https://github.com/marktext/marktext/pull/3138
- Remove Wayland workaround by @fxha in https://github.com/marktext/marktext/pull/3147
- Refactor menu actions and shortcut handling by @fxha in https://github.com/marktext/marktext/pull/3032
- Replace node-spellchecker with Electron builtin spell checker by @fxha in https://github.com/marktext/marktext/pull/2895
- Remove expired "marktext.app" domain by @CouldBeThis in https://github.com/marktext/marktext/pull/3350
- fix wrong logo path in ko.md by @heli-os in https://github.com/marktext/marktext/pull/3576
- Update Traditional Chinese translation of README by @ChiahongHong in https://github.com/marktext/marktext/pull/3264
- Update dependencies by @fxha in https://github.com/marktext/marktext/pull/3213
- Add .mdx extension support by @davidknezic in https://github.com/marktext/marktext/pull/3438
- FIX: 'yarn run test:specs' command fails to load @markedjs/html-differ (#3330) by @kiyoka in https://github.com/marktext/marktext/pull/3331
- fix [#3150]: Win32 error in renderer process by @fxha in https://github.com/marktext/marktext/pull/3214
- Fix roadmap link by @fulldecent in https://github.com/marktext/marktext/pull/3678
- upgrade to mermaid 10 by @ivy-rew in https://github.com/marktext/marktext/pull/3734
- [i18n] Improve portuguese translation on the README by @tiagozip in https://github.com/marktext/marktext/pull/3813
- chore: update readme add Inkio and remove broken link by @Jocs in https://github.com/marktext/marktext/pull/4084
- chore: Update outdated GitHub Actions versions by @pgoslatara in https://github.com/marktext/marktext/pull/4113
- Add arabic lang for doc by @Almohawis in https://github.com/marktext/marktext/pull/4097
- chore: update readme file by @Jocs in https://github.com/marktext/marktext/pull/4136
- docs: improve grammar & punctuation by @RightWrite in https://github.com/marktext/marktext/pull/3939
- add .claude .agents to gitignore by @chongchonghe in https://github.com/marktext/marktext/pull/4172
- Note added according to the issue [#2208] by @aespondac in https://github.com/marktext/marktext/pull/3867
- fix: upload failure with github (#3588) by @left0ver in https://github.com/marktext/marktext/pull/3589
- Fix not colored emojis on popup by @fxha in https://github.com/marktext/marktext/pull/3215
- fix issue 3268 by @hahaha28 in https://github.com/marktext/marktext/pull/3269
- fix: [#4153] suppress EPIPE crash in main process by @Wordbe in https://github.com/marktext/marktext/pull/4154
- New feature: Opening image file with the external tool (#2321) by @kiyoka in https://github.com/marktext/marktext/pull/3007
- fix: guard null imageContainer.firstChild in getImageInfo by @Jocs in https://github.com/marktext/marktext/pull/4193
- fix: prevent querySelector crash on empty heading slug by @Bowl42 in https://github.com/marktext/marktext/pull/4135
- Re-Factor MarkText with electron-vite by @Tkaixiang in https://github.com/marktext/marktext/pull/4001
- fix: restore docs accidentally deleted in PR [#4001] (electron-vite refactor) by @Jocs in https://github.com/marktext/marktext/pull/4196
- restore: recover accidentally deleted tests from PR [#4001] by @Jocs in https://github.com/marktext/marktext/pull/4197
- chore: upgrade project dependencies to latest compatible versions by @Jocs in https://github.com/marktext/marktext/pull/4199
- translate: convert all Chinese code comments to English by @Jocs in https://github.com/marktext/marktext/pull/4201
- fix: fix ESLint configuration and resolve all lint errors by @Jocs in https://github.com/marktext/marktext/pull/4202
- fix: resolve post-refactor regressions from electron-vite migration by @Jocs in https://github.com/marktext/marktext/pull/4203
- Make native menu theme follow app theme by @johnsmith507 in https://github.com/marktext/marktext/pull/4205
- feat: add GitHub Sponsors button to repository by @Jocs in https://github.com/marktext/marktext/pull/4207
- feat: update sponsor by @Jocs in https://github.com/marktext/marktext/pull/4208
- i18n: translate sponsor section in all language READMEs by @Jocs in https://github.com/marktext/marktext/pull/4209
- fix: support Node v24+ with native-keymap C++20 patch and automated postinstall by @Jocs in https://github.com/marktext/marktext/pull/4211
- fix: ensure npm run dev works after npm install on Node v24+ by @Jocs in https://github.com/marktext/marktext/pull/4212
- feat: migrate package manager from npm to pnpm by @Jocs in https://github.com/marktext/marktext/pull/4213
- docs: display special sponsor as a Markdown table by @Jocs in https://github.com/marktext/marktext/pull/4215
- docs: update stale references and add CLAUDE.md by @Jocs in https://github.com/marktext/marktext/pull/4216
- ci: replace manual test_pr with automated PR workflows by @Jocs in https://github.com/marktext/marktext/pull/4218
- fix: word count tooltip not showing on macOS by @Jocs in https://github.com/marktext/marktext/pull/4219
- fix: restore image fullscreen viewer broken by view-image removal by @Jocs in https://github.com/marktext/marktext/pull/4221
- feat: restore third-party license tooling and add CI validation by @Jocs in https://github.com/marktext/marktext/pull/4220
- fix: prevent crash in normalizeTable when body row has more cells than header by @Jocs in https://github.com/marktext/marktext/pull/4222
- fix: skip conflict detection for unbound shortcuts in keybinding loader by @Jocs in https://github.com/marktext/marktext/pull/4223
- fix: avoid reloading existing i18n locales by @cerredz in https://github.com/marktext/marktext/pull/4224
- fix: migrate jsconfig.json away from deprecated baseUrl (TS 6.0) by @Jocs in https://github.com/marktext/marktext/pull/4225
- fix: remove unused languine dependency (resolves CVE-2026-41650) by @Jocs in https://github.com/marktext/marktext/pull/4226
- chore: remove unused deps and upgrade all dependencies to latest by @Jocs in https://github.com/marktext/marktext/pull/4227
- ci: add Claude Code Action workflow by @Jocs in https://github.com/marktext/marktext/pull/4228
- fix: add pnpm-workspace.yaml to approve build scripts for native deps by @Jocs in https://github.com/marktext/marktext/pull/4230
- fix: build error when build mac target by @Jocs in https://github.com/marktext/marktext/pull/4232
- fix: use default font smoothing by @cerredz in https://github.com/marktext/marktext/pull/4217
- docs: update CommonMark Spec links to latest version by @Jocs in https://github.com/marktext/marktext/pull/4235
- fix: [#4151] preserve scroll position on external file change by @Wordbe in https://github.com/marktext/marktext/pull/4152
- fix: Internal image cache isn't reset if failed to load (#3001) by @kiyoka in https://github.com/marktext/marktext/pull/3010
- Allow scrolling down even if no contents below by @szdytom in https://github.com/marktext/marktext/pull/3405
- Added Arch Linux to development dependencies in BUILD.md by @lawgimenez in https://github.com/marktext/marktext/pull/3381
- fix(i18n): capitalize GitHub in English and Portuguese locale strings by @Blueteemo in https://github.com/marktext/marktext/pull/4238
- docs: expand CLAUDE.md with single-test recipes and dev script catalog by @Jocs in https://github.com/marktext/marktext/pull/4239
- fix: unblock local lint and vitest runs by @Jocs in https://github.com/marktext/marktext/pull/4240
- test(e2e): broaden Playwright coverage with menu/IPC-driven specs by @Jocs in https://github.com/marktext/marktext/pull/4241
- fix(ui): repair Insert Table dialog wrap and overhaul Help menu by @Jocs in https://github.com/marktext/marktext/pull/4242
- fix(source-view): stop styling math subscripts as emphasis (#4121) by @Jocs in https://github.com/marktext/marktext/pull/4243
- feat(security): sandbox the renderer (contextIsolation, nodeIntegration: false, sandbox: true) by @Jocs in https://github.com/marktext/marktext/pull/4244
- feat(ts): migrate the entire project to TypeScript by @Jocs in https://github.com/marktext/marktext/pull/4247
- refactor(stores): type editor + preferences Pinia stores (TS migration follow-up 1/6) by @Jocs in https://github.com/marktext/marktext/pull/4249
- refactor(renderer): type prefComponents schemas + leaf SFC controls (TS migration follow-up 2/6) by @Jocs in https://github.com/marktext/marktext/pull/4250
- refactor(test): port specs to strict TS — drop @ts-nocheck, ESM imports (TS migration follow-up 3/6) by @Jocs in https://github.com/marktext/marktext/pull/4251
- refactor(renderer): type sidebar + top-level SFCs — drop @ts-nocheck (TS migration follow-up 4/6) by @Jocs in https://github.com/marktext/marktext/pull/4252
- refactor(renderer): type editor + components SFCs — drop @ts-nocheck (TS migration follow-up 5/6) by @Jocs in https://github.com/marktext/marktext/pull/4253
- refactor(renderer): type preference page SFCs — drop @ts-nocheck (TS migration follow-up 6/6) by @Jocs in https://github.com/marktext/marktext/pull/4254
- chore(eslint): tighten @typescript-eslint/no-explicit-any to error (TS migration follow-up 7/7) by @Jocs in https://github.com/marktext/marktext/pull/4255
- chore(eslint): ignore .claude/ worktree clones in lint runs by @Jocs in https://github.com/marktext/marktext/pull/4256
- fix(ipc): tighten three IPC channels + SET_IMAGE_FOLDER_PATH signature by @Jocs in https://github.com/marktext/marktext/pull/4258
- fix(renderer): editor fills width when sidebar collapses to icon strip by @Jocs in https://github.com/marktext/marktext/pull/4262
- style(preferences): polish dialog UI and unify design by @Jocs in https://github.com/marktext/marktext/pull/4263
- style(ui): batch polish sidebar, tabs, preferences, and theme contrast by @Jocs in https://github.com/marktext/marktext/pull/4264
- style(sidebar): unify collapse arrows and tighten tree spacing by @Jocs in https://github.com/marktext/marktext/pull/4265
- fix(muya): guard stale cursor/block lookups against null by @Jocs in https://github.com/marktext/marktext/pull/4267
- ci(release): split into validate→build→publish, harden workflow by @Jocs in https://github.com/marktext/marktext/pull/4266
- test(e2e): regression guards for previously-reported "Unexpected error" crashes by @Jocs in https://github.com/marktext/marktext/pull/4268
- docs(release): expand RELEASE.md into a step-by-step playbook by @Jocs in https://github.com/marktext/marktext/pull/4270
- fix(release): restore updater metadata artifacts by @Jocs in https://github.com/marktext/marktext/pull/4272
- fix(sidebar): create-file button works in non-English locales by @Jocs in https://github.com/marktext/marktext/pull/4273
- chore: remove unused SVG icons from renderer by @Jocs in https://github.com/marktext/marktext/pull/4275
- FIx: switch path-browserify to Pathe + image pasting on windows + cleanup console.logs by @Tkaixiang in https://github.com/marktext/marktext/pull/4274
- refactor(image): remove GitHub uploader and None option; default to PicGo by @Jocs in https://github.com/marktext/marktext/pull/4276
- feat(sidebar): implement file & folder sort with natural ordering by @Jocs in https://github.com/marktext/marktext/pull/4277
- feat(sidebar): add toggle to hide Opened Files + cap list to 4 items by @Jocs in https://github.com/marktext/marktext/pull/4278
- build: add Windows ARM64 native build support by @Jocs in https://github.com/marktext/marktext/pull/4279
- fix(uploader): remove 5 MB hard limit on image uploads by @Jocs in https://github.com/marktext/marktext/pull/4280
- fix(preferences): update broken doc links to correct develop-branch paths by @Jocs in https://github.com/marktext/marktext/pull/4281
- fix(build): restore dedicated .md file icon on Windows by @Blueteemo in https://github.com/marktext/marktext/pull/4284
- chore: remove residual Unsplash code by @Jocs in https://github.com/marktext/marktext/pull/4286
- chore: remove dead code and debug noise by @Jocs in https://github.com/marktext/marktext/pull/4287
- refactor(editor): rename LINTEN_FOR_* typos and unify JSON deep-clones by @Jocs in https://github.com/marktext/marktext/pull/4288
- perf(filesystem): cut stat syscalls and per-call regex compilation by @Jocs in https://github.com/marktext/marktext/pull/4289
- chore: misc simplifications by @Jocs in https://github.com/marktext/marktext/pull/4290
New Contributors
- @Lorilandly made their first contribution in https://github.com/marktext/marktext/pull/2960
- @yous made their first contribution in https://github.com/marktext/marktext/pull/3099
- @vdeschuy made their first contribution in https://github.com/marktext/marktext/pull/3104
- @or1ko made their first contribution in https://github.com/marktext/marktext/pull/3115
- @mitchcapper made their first contribution in https://github.com/marktext/marktext/pull/3130
- @CouldBeThis made their first contribution in https://github.com/marktext/marktext/pull/3350
- @heli-os made their first contribution in https://github.com/marktext/marktext/pull/3576
- @ChiahongHong made their first contribution in https://github.com/marktext/marktext/pull/3264
- @davidknezic made their first contribution in https://github.com/marktext/marktext/pull/3438
- @fulldecent made their first contribution in https://github.com/marktext/marktext/pull/3678
- @ivy-rew made their first contribution in https://github.com/marktext/marktext/pull/3734
- @tiagozip made their first contribution in https://github.com/marktext/marktext/pull/3813
- @pgoslatara made their first contribution in https://github.com/marktext/marktext/pull/4113
- @Almohawis made their first contribution in https://github.com/marktext/marktext/pull/4097
- @RightWrite made their first contribution in https://github.com/marktext/marktext/pull/3939
- @chongchonghe made their first contribution in https://github.com/marktext/marktext/pull/4172
- @aespondac made their first contribution in https://github.com/marktext/marktext/pull/3867
- @left0ver made their first contribution in https://github.com/marktext/marktext/pull/3589
- @hahaha28 made their first contribution in https://github.com/marktext/marktext/pull/3269
- @Wordbe made their first contribution in https://github.com/marktext/marktext/pull/4154
- @Bowl42 made their first contribution in https://github.com/marktext/marktext/pull/4135
- @Tkaixiang made their first contribution in https://github.com/marktext/marktext/pull/4001
- @johnsmith507 made their first contribution in https://github.com/marktext/marktext/pull/4205
- @cerredz made their first contribution in https://github.com/marktext/marktext/pull/4224
- @szdytom made their first contribution in https://github.com/marktext/marktext/pull/3405
- @lawgimenez made their first contribution in https://github.com/marktext/marktext/pull/3381
- @Blueteemo made their first contribution in https://github.com/marktext/marktext/pull/4238
Full Changelog: https://github.com/marktext/marktext/compare/v0.17.0...v0.19.0