Skip to content

Markion v0.3.2

Choose a tag to compare

@github-actions github-actions released this 05 Sep 08:33
· 16 commits to main since this release

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 --workspace passed; verify-bundle passed for assets/marknice-workspace.
  • CI: Windows, macOS, and Linux native package jobs on the v0.3.2 tag 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-workspaceverify-bundle 通过。
  • CI:v0.3.2 标签工作流的 Windows / macOS / Linux 原生打包,以及更新器签名、GitHub Release 发布与阿里云 OSS 镜像。

完整变更对比: v0.3.1...v0.3.2