Skip to content

Diagramon 3.13.0

Choose a tag to compare

@westsource westsource released this 04 Nov 05:52
· 33 commits to main since this release

Release 说明:v3.13.0

本页中英双语:中文在前,英文在后。 / Bilingual release notes: Chinese first, English below.


中文

Diagramon 3.13.0 是一次以「安全性 + 数据完整性」为主的维护版 —— 新增功能不多,但修掉了一批会悄悄改坏你的文档或让进程直接退出的问题。

下载

方式 文件 说明
安装版(推荐) Diagramon_3.13.0_x64-setup.exe(约 62.29 MiB) 装完可用内置自动更新;缺 WebView2 时安装器会自动下载运行时
便携版(免安装) Diagramon-3.13.0-win-x64.zip(约 70.40 MB) 解压到任意位置,双击 diagramon.exe 即用;卸载 = 删文件夹

便携版说明:包里是 diagramon.exe + WebView2Loader.dll + ui\ + assets\,必须放在一起
(ui\ 与 assets\ 是从磁盘读的,不在 exe 里)。它不依赖额外要装的东西:不需要 Node.js、
不需要 Chrome、不需要 VC++ 运行库(exe 已静态链接 CRT),只需要 Windows 10/11 自带的 WebView2 运行时。
便携版的「检查更新」照常能发现新版,但更新走的是安装包(不会就地替换便携目录)——
要继续用便携形态,就手动下载新的 ZIP 覆盖。

本次亮点

  • 打开陌生图表文件更安全:图里渲染出来的链接会按协议白名单过滤(javascript: 一律剥掉,
    包括用制表符/换行拼出来的变形写法),动画改写链接的那类写法也被整类移除。内容安全策略现在覆盖到
    drawio / Excalidraw 画布本身,不再只有外壳窗口。
  • 自动配色不再改坏 D2 文档:容器里的节点改成按 容器.节点 写样式(以前写在顶层,会在图上
    凭空多出一整套重复节点),带空格 / # / ; 的节点名会自动加引号;|md … | 块里的正文
    不再被当成节点写回源码。对任何用了容器的 D2 文档,「自动配色」现在是真的只上色。
  • 切标签页不再串图:画布事件带上了「属于哪份文档」的标记,上一份文档迟到的自动保存会被丢掉,
    写不进新打开的那份文档。
  • 超深嵌套的 .dot 不再拖崩:嵌套超过 256 层会明确报「第 N 行:subgraph 嵌套超过 256 层」,
    而不是栈溢出把整个进程带走;未闭合的 subgraph 也不会再让「格式化」产出几百 MB。
  • CRLF 文件不再「一碰就永久脏」:Windows 换行格式的文件,改完再改回去脏标记会正确清掉,
    保存时也不会把整份文件静默改写成 LF。
  • AI 上游更守规矩:Ollama 的工具调用参数能正确解析了(以前全被当成「没有参数」,
    于是工具循环对它形同虚设、每一步还照样计费);上游返回超大响应会明确报错,而不是把内存吃满。
  • 升级安装不再抹掉未保存内容:以前升级会强制结束进程,而未保存文档只写在草稿仓里、
    且受「自动保存」开关控制(默认是关)。现在脏文档一律先落草稿,重开就能找回。

修复

  • 搜索含 İ / ẞ 这类字符时崩溃(panic 直接把整个进程带走)。
  • 尾部注释里带 } 时,配色块被插到图外,整份 DOT 编译不过。
  • 不带图名的 digraph { … } 第一个节点永远上不了色。
  • DOT → D2 会静默丢掉孤立节点(图例、单点状态节点)。
  • 同一份 Mermaid 源转两次 D2 结果不一样,导致脏标记常亮、diff 全是噪音。
  • 非法的 stroke-width 会被原样写进 DOT(可能注入任意属性)。
  • 圆角节点在「先配色再转 DOT」之后会丢圆角。
  • 工作区里重命名文件后按 Ctrl+S,会把旧文件名在磁盘上复活。
  • 云文档的版本号在切换标签后丢失,导致云端出现重复文档。
  • 「在文件管理器中显示」从来没生效过(调用的接口不存在),现在是真正的「定位到这个文件」。
  • 配置里的上游地址一改,旧密钥会继续沿用 —— 现在会要求重填,避免密钥被发到被改过的地址。
  • 调试用的远程调试端口在正式版里也会生效 —— 现在只在开发构建里可用。

关于 Diagramon

Diagramon 是一款本地优先的多格式图表编辑器:Mermaid / Graphviz DOT / drawio / Excalidraw
都可编辑并实时预览,AI 可辅助生成、评审与识图。渲染与校验不联网也能用 ——
只有你主动使用 AI 时,相关代码或图片才会发往你选择的上游。

官网:https://www.diagramon.com

系统要求

  • Windows 10 / 11 64 位
  • WebView2 运行时(Windows 10/11 通常已预装;缺失时安装器会现场下载)
  • 不需要 Node.js、Chrome 或 VC++ 运行库 —— 画布运行时与前端资源都随包分发

安装与更新

下载 Diagramon_3.13.0_x64-setup.exe 直接安装。已装旧版的用户可在
帮助 → 检查更新 里收到本版本(更新包即本安装包,签名见 latest.json)。

本安装包尚未做 Authenticode 代码签名,Windows SmartScreen 可能给出提示。


English

Diagramon 3.13.0 is a maintenance release focused on security and data integrity — few new
features, but a batch of fixes for problems that could silently corrupt your documents or take the
process down.

Downloads

Type File Notes
Installer (recommended) Diagramon_3.13.0_x64-setup.exe (~62.29 MiB) Enables the built-in auto-update; if WebView2 is missing the installer downloads the runtime
Portable (no install) Diagramon-3.13.0-win-x64.zip (~70.40 MB) Unzip anywhere and run diagramon.exe; uninstall = delete the folder

About the portable build: it ships diagramon.exe + WebView2Loader.dll + ui\ + assets\, and those
must stay together (the ui\ and assets\ trees are read from disk, not embedded in the exe).
It needs nothing extra installed: no Node.js, no Chrome, no VC++ redistributable (the CRT is
statically linked) — only the system WebView2 runtime that comes with Windows 10/11.
"Check for updates" still finds new versions, but updating downloads the installer
(it does not replace the portable folder in place) — to stay portable, grab the new ZIP manually.

Highlights

  • Safer to open a diagram you did not write: links rendered out of a diagram are filtered against a
    protocol allow-list (javascript: is stripped, including the tab/newline-mangled variants), and the
    animation-driven rewrite trick is removed outright. The content security policy now also covers the
    drawio / Excalidraw canvases themselves, not just the shell window.
  • Auto-palette no longer corrupts D2 documents: styles for nodes inside a container are written as
    container.node (they used to land at the top level, which created a whole duplicate set of nodes);
    names with spaces, # or ; are quoted; and markdown inside |md … | blocks is no longer mistaken for
    nodes and written back into your source.
  • Switching tabs no longer mixes diagrams: canvas events now carry which document they belong to, so a
    late autosave from the previous document is dropped instead of landing in the newly opened one.
  • Deeply nested .dot files no longer take the process down: beyond 256 levels you get a clear
    "line N: subgraph nesting exceeds 256 levels" instead of a stack overflow, and an unclosed subgraph
    no longer makes "Format" produce hundreds of megabytes.
  • CRLF files stop being "dirty forever after one edit": edit a Windows-newline file and undo it, and the
    dirty flag clears correctly; saving no longer silently rewrites the whole file to LF.
  • Better behaved toward AI upstreams: Ollama tool-call arguments are parsed correctly (they used to be
    treated as empty, which made the tool loop useless there while still costing you tokens), and an
    oversized upstream response now fails with a clear error instead of eating all the memory.
  • Upgrading no longer drops unsaved work: the installer terminates the app, and unsaved documents used to
    live only in the draft store behind the "auto-save" toggle (off by default). Dirty documents are now always
    drafted first, so they can be recovered.

Fixes

  • Search crashed (the panic took the whole process down) on text containing İ / ẞ.
  • A } inside a trailing comment pushed the palette block outside the graph, making the DOT invalid.
  • The first node of an unnamed digraph { … } could never be coloured.
  • DOT → D2 silently dropped isolated nodes (legends, single state nodes).
  • Converting the same Mermaid source to D2 twice produced different bytes, leaving the document permanently
    dirty and filling diffs with noise.
  • An invalid stroke-width was copied verbatim into DOT (potentially injecting arbitrary attributes).
  • Rounded nodes lost their rounding through "colour, then convert to DOT".
  • Renaming a file in the workspace and pressing Ctrl+S resurrected the old file name on disk.
  • Cloud documents lost their version number after switching tabs, causing duplicate documents in the cloud.
  • "Show in file manager" never worked (it called an API that does not exist); it now really reveals the file.
  • Changing a provider's base URL kept reusing the old key — it now asks for the key again, so a key can no
    longer be sent to an address that was changed underneath it.
  • The remote-debugging port was honoured in release builds too — it is now development-only.

About Diagramon

Diagramon is a local-first multi-format diagram editor: Mermaid, Graphviz DOT, drawio and Excalidraw
can all be edited with live preview, with AI assistance for generation, review and image recognition.
Rendering and validation work with no network at all — code or images reach a model only when you
actively use AI, and then only the endpoint you chose.

Official website: https://www.diagramon.com

Requirements

  • Windows 10 / 11 64-bit
  • WebView2 runtime (normally pre-installed on Windows 10/11; the installer downloads it if missing)
  • No Node.js, Chrome or VC++ redistributable needed — the canvas runtimes and front-end assets all
    ship inside the installer

Install and update

Download Diagramon_3.13.0_x64-setup.exe and run it. Users on an older version
get this release through Help → Check for updates (the update package is this installer; the signature
is in latest.json).

The installer is not yet Authenticode-signed, so Windows SmartScreen may show a prompt.