Markion v0.3.2
Markion v0.3.2
Stability release focused on audit hardening: crash and performance fixes plus correctness repairs for images, YAML front matter, and trailing subscript.
Highlights
Reliability and performance
- Non-ASCII URL autodetection no longer truncates or panics on Unicode domains and CJK paths.
- Callout titles ending in CJK no longer poison caret/selection state through mid-character offsets.
- Status bar stats no longer force a full Markdown parse on every Edit-mode keystroke; basic byte/char/word/line counts are version-cached.
- Diagram backends that panic (for example adversarial Mermaid source) are caught and reported as render failures instead of crashing the preview.
Data-URI image identity
- Distinct large data-URI images that previously collided under sampled fingerprints now keep separate cache identities via a complete SHA-256 digest computed once per document version.
- Pending full payloads remain available for decode, then release, without hashing or cloning multi-megabyte sources on every repaint.
YAML front matter and export
- Front-matter rendering now serializes the complete typed mapping, so one-element sequences, nested containers, multiline strings, and hostile scalars round-trip correctly.
- DOCX and PDF title overrides use the same YAML-safe path and no longer break pandoc input or mutate the source document.
Markdown extended inline
- Trailing subscript such as
H~2~is recognized again when GFM strikethrough splits the text into contiguous events, without reclassifying~~strike~~or escaped tildes.
Compatibility
- No migration required for Markdown files, preferences, or workspace data.
- MarkNice workspace bundle is unchanged from v0.3.1 (revision
c009c1ec7e7c92f89afa5a32edcb126b5296bda7); prior Windows Edge and WeChat evidence carries over. macOS and Linux manual browser checks remain deferred as authorized since v0.2.1. - Windows and macOS installers are unsigned; SmartScreen or Gatekeeper bypass may still be required. Manual multi-megabyte data-URI image interaction verification remains outstanding.
Downloads
- Windows x64: NSIS installer.
- macOS Apple Silicon: DMG.
- Linux x86_64: DEB and AppImage.
Verification
- Local:
cargo test --workspacepassed;verify-bundlepassed forassets/marknice-workspace. - CI: Windows, macOS, and Linux native package jobs on the
v0.3.2tag workflow, including updater signing, GitHub Release publication, and Aliyun OSS mirror.
Full comparison: v0.3.1...v0.3.2
Markion v0.3.2(中文说明)
稳定性版本,聚焦审计加固:修复崩溃与性能问题,并纠正图片缓存身份、YAML front matter 与尾部下标语法的正确性。
主要更新
可靠性与性能
- 含 Unicode 域名或 CJK 路径的非 ASCII URL 自动识别不再截断或 panic。
- 以 CJK 结尾的 Callout 标题不再因半字符偏移污染光标/选区状态。
- 状态栏统计在编辑模式下不再每键强制完整 Markdown 解析;字节/字符/词/行基础计数按文档版本缓存。
- 图表后端 panic(例如对抗性 Mermaid 源)会被捕获并报告为渲染失败,而不再拖垮预览。
Data-URI 图片身份
- 此前在采样指纹下会冲突的等长大 data-URI 图片,现按完整 SHA-256 摘要保留独立缓存身份,摘要在每个文档版本只计算一次。
- 待解码的完整载荷仍可按需保留并在完成后释放,避免每帧对多兆字节载荷做哈希或克隆。
YAML front matter 与导出
- Front matter 以完整类型化 mapping 序列化,单元素序列、嵌套容器、多行字符串与敌对标量均可正确往返。
- DOCX/PDF 标题覆盖走同一套 YAML 安全路径,不再破坏 pandoc 输入,也不会改写源文档。
Markdown 扩展行内语法
- 当 GFM 删除线把文本拆成相邻事件时,尾部下标(如
H~2~)可再次识别,且不会把~~strike~~或转义波浪线误判。
兼容性
- Markdown 文件、偏好设置与工作区数据无需迁移。
- MarkNice 工作区包与 v0.3.1 相同(修订
c009c1ec7e7c92f89afa5a32edcb126b5296bda7);既有 Windows Edge 与微信粘贴证据继续适用。macOS / Linux 手动浏览器检查自 v0.2.1 起仍按维护者授权延后。 - Windows 与 macOS 安装包未签名,可能仍需手动绕过 SmartScreen 或 Gatekeeper。超大 data-URI 图片的手动交互验证仍待补齐。
下载
- Windows x64:NSIS 安装程序。
- macOS Apple Silicon:DMG。
- Linux x86_64:DEB 与 AppImage。
验证
- 本地:
cargo test --workspace通过;assets/marknice-workspace的verify-bundle通过。 - CI:
v0.3.2标签工作流的 Windows / macOS / Linux 原生打包,以及更新器签名、GitHub Release 发布与阿里云 OSS 镜像。
完整变更对比: v0.3.1...v0.3.2