Releases: oratis/Markup
Release list
v1.1.0
Markup v1.1.0 — 宽内容用上屏幕宽度、Mermaid 真的会画图、启动快一倍,外加首次的 Windows / Linux 安装包
📐 宽表格和长代码不再挤在正文列里
正文列宽是给段落的阅读量度,可宽内容一直被关在里面:一张 8 列的中文对比表,每格被挤成一行一两个字;屏幕两侧 60% 的空白闲着。
现在表格和代码块可以按需出血——对称地长出正文列,最多到窗格边缘留 32px,居中;实在放不下再横向滚动或折行。段落宽度一点没变。
- 表格列宽按内容分配,不再平均分(Milkdown 默认主题给的是
table-layout: fixed,这才是"一字一行"的元凶);每列有下限,中文不会再被压成一条竖线。 - 代码块同理:1440px 窗口下,一行 380 字符的代码从 720px 折成 4 行,变成 1332px 折成 3 行。短代码块外观和以前完全一致。
- 引用块、列表项里的表格和代码块不出血——它们属于容器,不属于页面。顺带修掉一个刚发布的回归:引用块里放得下的小表格会凭空多出一条滚动条。
🧜 Mermaid 图现在真的会画出来
以前 README 写着 Read 模式会渲染 Mermaid,其实没有——图在应用里只是一段源码,只有导出的 HTML 才真渲染。现在补上了:
-
- 宽的图接上同一套出血系统:一张五节点的流程图在 1440px 窗口下能画到约 1000px,而不是被压进 720px。小图不会被拉伸,按自然尺寸居中。
- 跟随主题(Light / Dark / Sepia),切主题会重画。
- 图右上角悬停有「源码」按钮,一键看源码再切回来。改源码仍然走 ⌘/ 源码模式。
- 语法写错不会白屏:降级显示源码加一行说明。
⚡ 启动时要解析的 JS 少了一半
打包配置里有一行把 mermaid 的 23 个懒加载块压成了一个 3.12 MB 的块,还被首屏静态依赖——占首屏 JS 的 63%,而它当时连图都不画。
修掉之后,加上这版真的开始渲染图:
| 首屏 JS | |
|---|---|
| v1.0.1 | 4.72 MiB |
| v1.1.0 | 2.33 MiB |
净减 50.8%。各图种(时序图、甘特图、架构图…)改成按需加载,只有真的用到才下载。
🪟🐧 首次提供 Windows 和 Linux 安装包
Markup 从这版开始在 Windows 和 Linux 上编译、运行、打包:
- Windows:
.exe(NSIS 安装器) - Linux:
.deb和.AppImage - 凭据存储按平台走原生后端(macOS 钥匙串 / Windows 凭据管理器 / Linux Secret Service);无头 Linux 可以用
MARKUP_TOKEN_FILE_FALLBACK=1退回到0600权限的令牌文件。 - 双击
.md打开、单实例聚焦在 Win/Linux 上也接好了。
⚠️ 请先读这段。 这两个平台的安装包是未签名的——Windows SmartScreen 会拦一下("更多信息" → "仍要运行"),Linux 没有仓库签名。它们也没有自动更新:只有 macOS 版会自动升级,Win/Linux 需要手动下载新版。这是第一次发布,请当作尝鲜版用;macOS 版仍是主线。
🛠️ 其他
- 修好了 Mac App Store 用的
.pkg签名脚本(build-mas.sh在没有Frameworks目录时会中途退出)。 - CI 现在每个 PR 都会编译 Windows 和 Linux,防止 macOS-only 的改动再把它们弄坏。
- 新增产品站 oratis.github.io/Markup。
📦 Files
macOS(签名 + 公证,从 v0.6.1+ 自动更新)
Markup_1.1.0_apple-silicon.dmg/Markup_1.1.0_intel.dmglatest.json+.app.tar.gz(自动更新用)SHA256SUMS
Windows / Linux(未签名,无自动更新)
Markup_1.1.0_x64-setup.exeMarkup_1.1.0_amd64.deb/Markup_1.1.0_amd64.AppImageSHA256SUMS-desktop
macOS 版签名 + 公证,从 v0.6.1+ 自动更新。
🤖 Generated with Claude Code
v1.0.1
Markup v1.0.1 — Export HTML fixes + Check for Updates
🛠️ Export as HTML now exports the document you're looking at
"Export as HTML" exported a fixed "Welcome to Markup" page instead of the open
document (a stale-closure bug), and dumped the file into ~/Downloads with no
choice of location. Now it:
- exports the current document, and
- opens a Save dialog so you pick where it goes, with an "Exported …"
confirmation.
(The same stale-document bug is fixed for Export PDF too.)
🔄 Check for Updates + Changelog in About
The About Markup window (⌘-menu → About) now has:
- Check for Updates — tells you if you're on the latest version, or offers a
one-click Get vX.Y.Z to the download page. - Changelog — opens the releases page.
📦 Files
Markup_1.0.1_apple-silicon.dmg/Markup_1.0.1_intel.dmglatest.json+.app.tar.gz(auto-updater)SHA256SUMS
Signed + notarized; updates automatically from v0.6.1+.
🤖 Generated with Claude Code
v1.0.0
Markup v1.0.0 — 1.0, now on the App Store
Markup hits 1.0 and arrives on the iOS App Store and the Mac App
Store, alongside the existing signed + notarized direct-download DMG. iOS and
desktop are unified at 1.0.0 for the public launch.
📱 iOS — on the App Store
The reader-first Markdown app for iPhone & iPad: open a folder from Files/iCloud
(your Mac's vault) or open a GitHub repo as a vault and read it offline —
rendered code, math, diagrams, tables, callouts, wikilinks, search, and tabs.
🖥 macOS — on the Mac App Store
The Typora-spirit WYSIWYG editor, now sandboxed for the Mac App Store (your
chosen vault folder persists across launches via security-scoped bookmarks).
Reader-first rendering, open a GitHub repo as a vault, site-style navigation
(prev/next pager, Section rail, in-page #heading links), and editor callouts.
🔒 Private by default
No account, no telemetry, no tracking — Data Not Collected. Your notes stay
on your device and your own iCloud/GitHub. Network access only for user-initiated
GitHub fetches.
📦 Files (direct download)
Markup_1.0.0_apple-silicon.dmg/Markup_1.0.0_intel.dmglatest.json+.app.tar.gz(auto-updater)SHA256SUMS
Signed + notarized; updates automatically from v0.6.1+. (The Mac App Store build
updates through the App Store instead.)
🤖 Generated with Claude Code
Full Changelog: v0.8.0...v1.0.0
v0.8.0
Markup v0.8.0 — open GitHub repos as vaults
📦 Open a GitHub repository as a vault
Point Markup at a GitHub repo and read/edit the whole thing locally. File →
Open from GitHub (or paste owner/repo): sign in for private repos, pick from
Your repositories, and Open as vault in one click — the repo downloads to
a local working copy that search, the file tree, wikilinks, and the index all use
offline. Browse a repo first if you'd rather grab a single file.
- Open as vault is the primary action — from the repos list or a pasted
owner/repo, no hunting for a hidden button. Esc closes the dialog. - Pull latest from GitHub refreshes the vault incrementally (downloads only
what changed) — and now warns before overwriting files you've edited locally. - The title bar shows a GitHub vault as
⎇ owner/repo@branch, so it's never
confused with a local folder; the branch is pinned so a refresh always follows
the branch you opened. - Browser niceties: clickable breadcrumbs, a Markdown-only filter, a
filter box for long repo lists, an inline Sign in on private-repo / rate-limit
errors, and a one-retry on transient rate limits.
🧭 Site-style navigation
Read a folder of docs like a small website: prev/next document pager, a
Section rail listing the docs in the current folder, in-page #heading
links that scroll to the heading, and cross-document link following.
✍️ Callouts in the editor
> [!NOTE] / [!TIP] / [!IMPORTANT] / [!WARNING] / [!CAUTION] now render as styled
callouts inline in the WYSIWYG editor, matching the export and the iOS reader.
📦 Files
Markup_0.8.0_apple-silicon.dmg/Markup_0.8.0_intel.dmglatest.json+.app.tar.gz(auto-updater)SHA256SUMS
Signed + notarized; updates automatically from v0.6.1+.
🤖 Generated with Claude Code
v0.7.0
Markup v0.7.0 — drag files in, tidier Dock icon
✨ Drag Markdown / HTML / Canvas onto the window to open it
Drop a .md / .markdown / .mdx / .mkd / .canvas / .html file anywhere
on the Markup window and it opens as a tab — with or without a vault open.
Non-document files are ignored. (Previously Tauri swallowed OS file drops, so
dragging a file did nothing.)
🎨 App icon sized to match other apps
The Dock icon was a full-bleed square and looked larger than neighbouring apps.
It's now inset to Apple's standard icon grid (~82% with a transparent margin),
so it matches the rest of your Dock.
🛡️ Rolls up v0.6.2
Includes the v0.6.2 fix: a malformed $…$ equation renders as an inline error
instead of blank-screening the app (plus a top-level error boundary).
📦 Files
Markup_0.7.0_apple-silicon.dmg/Markup_0.7.0_intel.dmglatest.json+.app.tar.gz(auto-updater)SHA256SUMS
Signed + notarized; updates automatically from v0.6.1+.
🤖 Generated with Claude Code
v0.6.2
Markup v0.6.2 — fix blank-screen crash on a bad equation
A reliability fix.
🐞 A malformed $…$ could blank the whole app
If a document had an inline $…$ math span that captured prose containing a
LaTeX control sequence KaTeX didn't understand (e.g. text with \*), KaTeX
threw a parse error during render. That exception was uncaught, so the
editor — and the entire window — went blank white. Because Markup reopens your
last session on launch, a single such document made the app unusable on every
start.
Fixes:
- KaTeX now renders an offending equation as an inline error (red) instead
of throwing — one bad equation stays local. - A top-level error boundary catches any future render error and shows a
recoverable message with a "Close restored tabs & reload" button, instead
of a blank window.
📦 Files
Markup_0.6.2_apple-silicon.dmg/Markup_0.6.2_intel.dmglatest.json+.app.tar.gz(auto-updater)SHA256SUMS
Signed + notarized; updates automatically from v0.6.1+.
🤖 Generated with Claude Code
v0.6.1
v0.6.0
Markup v0.6.0 — Signed & notarized install
Markup now opens like any other Mac app — no Gatekeeper wall.
Previous builds were unsigned, so the first launch hit macOS's "Markup can't be opened because Apple cannot check it for malicious software" dialog, and you had to dig into System Settings to allow it. That's gone.
✅ What changed
- The app is code-signed with an Apple Developer ID and uses the hardened runtime.
- The DMG is notarized by Apple and stapled, so Gatekeeper clears it offline.
- Install is now: open the DMG → drag to Applications → double-click. That's it.
This release also rolls up everything since v0.5.2 — richer HTML/PDF export (syntax highlighting, math, Mermaid, tidy lists) from v0.5.3–v0.5.5 — but the headline is a trustworthy, frictionless install.
📦 Files
Markup_0.6.0_apple-silicon.dmg— Apple Silicon Macs (M1 / M2 / M3 / M4)Markup_0.6.0_intel.dmg— Intel MacsSHA256SUMS
Verify (optional)
spctl --assess --type open --context context:primary-signature -v Markup_0.6.0_apple-silicon.dmg # → accepted
xcrun stapler validate /Applications/Markup.app # → worked🤖 Generated with Claude Code
v0.5.5
Markup v0.5.5 — fix list spacing in HTML/PDF export
A bug-fix release for export layout.
🐞 Lists rendered badly in exports
Exporting a document with task lists or lists that have blank lines between items ("loose" lists) produced ugly output: checkboxes stranded on their own line above the text, and large vertical gaps between items.
Cause: a loose list wraps each item's text in a block <p>, whose default margins detached the bullet/checkbox from its text and ballooned the spacing.
Fixes:
- Collapse the
<p>margins inside list items, so loose lists look as tight as normal ones. - Emit GitHub-style task-list classes and keep the checkbox inline with its text.
- Tighten nested-list and list-block spacing.
📦 Files
Markup_0.5.5_apple-silicon.dmg— Apple Silicon Macs (M1 / M2 / M3 / M4)Markup_0.5.5_intel.dmg— Intel MacsSHA256SUMS
Unsigned (Apple Developer signing still pending — tracked for v0.6.0). First open: System Settings → Privacy & Security → Open Anyway.
🤖 Generated with Claude Code
v0.5.4
Markup v0.5.4 — fix "Open as HTML" preview
A bug-fix release.
🐞 "Open as HTML" / browser preview was blocked
Opening the current document as HTML in your browser failed with:
Preview failed: Not allowed to open path …/markup-preview/….html
The renderer wrote the preview file correctly, but the opener was denied because the app granted the "open path" capability without a path scope — so every path was rejected. Added a tight scope ($TEMP/markup-preview/*) that allows exactly the preview files and nothing else.
📦 Files
Markup_0.5.4_apple-silicon.dmg— Apple Silicon Macs (M1 / M2 / M3 / M4)Markup_0.5.4_intel.dmg— Intel MacsSHA256SUMS
Unsigned (Apple Developer signing still pending — tracked for v0.6.0). First open: System Settings → Privacy & Security → Open Anyway.
🤖 Generated with Claude Code