PhotoCraft v0.14.0 更新:更安全地打开文件,“额外内容”可隐藏变换控件
PhotoCraft v0.14.0 给 PSD 切片、PCX、XPM、SVG 文件和恢复文件加上检查,视图 › 额外内容 会隐藏移动工具的变换控件,自动化工作区的限制也更严格。
v0.14.0 于 2026 年 10 月 23 日发布,距 v0.13.0 只隔了三个小时。这是一个小版本:官方更新日志列出了 8 个合并的 PR,来自 4 位贡献者,其中 1 位是第一次参与。8 个 PR 中有 5 个让打开文件更安全,1 个让 视图 › 额外内容 像 Photoshop 一样隐藏移动工具的变换控件,还有 1 个收紧了限定在工作区内的自动化会话能访问的范围。README 里的工具数仍是 67 个,项目记分卡与 v0.13.0 相同。PhotoCraft 仍处于早期 alpha 阶段,使用中难免遇到问题。
这些安全修复对你意味着什么
图像文件会告诉读取它的程序:图有多大、有多少切片或颜色、数据是怎样压缩的。损坏的或者被故意构造的文件可能在这些地方“撒谎”,比如声称一个需要好几 GB 内存的尺寸,或者装着解压后会膨胀到极大的数据。如果不加检查,打开这样的文件可能让 PhotoCraft 卡住、耗尽内存甚至崩溃。下面这些修复让 PhotoCraft 在真正动手之前先核对这些数字,对不上就拒绝打开。正常文件的打开方式不变。如果你经常打开来自网络、邮件或他人的图片,建议升级。
主要变化
- 更安全地打开外来文件:
- PSD:切片记录改用索引查找,不再用耗时随切片数平方增长的搜索,构造过的切片数据块无法再让 PhotoCraft 一直忙下去(#8417)。
- PCX 和 XPM:在为图像分配内存之前,先确认文件里真的有它声称的那么多行数据(#8405)。
- SVG:嵌入 SVG 的 PNG 或 WebP 图像会先按它自己的文件头确认尺寸再解码,体积很小、压缩率极高的图片无法再让 PhotoCraft 分配好几 GB 内存(#8504)。gzip 压缩的 SVG(
.svgz)只解压一次,并受 PhotoCraft 自己的大小上限约束,嵌在另一个 SVG 里的压缩 SVG 也一样(#8505)。 - 文件与崩溃恢复:打开的对象不是普通文件时会被拒绝;超过 1 MiB 或经由符号链接的恢复记录会被忽略;恢复条目不能指向恢复文件夹以外的位置(#8406)。
- 视图 › 额外内容 会隐藏变换控件:使用移动工具并打开“显示变换控件”时,按 ⌘H / Ctrl+H 会把蓝色变换框和控制点与其他额外内容一起隐藏,与 Photoshop 一致,再按一次就恢复。隐藏期间控制点不响应鼠标,“显示变换控件”的设置保持不变。实时形状的圆角控制点目前仍会显示(#6705)。详见快捷键指南。
- 自动化工作区的限制覆盖更多途径:限定在读写文件夹内的会话,现在对数据组导出、链接的智能对象和对话框也会执行这些限制,详见下文(#8680)。
自动化(CLI 与 MCP)
以下变化只影响限定在工作区(读写根目录)内的自动化会话。受信任的本地会话和桌面版的行为不变(#8680)。
doc.exportDataSets在写出任何文件之前,会按工作区规则检查每个“像素替换”图像路径,与image.applyDataSet原有的做法一致。- 这类会话保存 PSD、PSB 和分层 TIFF 时,链接的智能对象会按像素写入,并给出通常的警告,不再嵌入链接的文件。
- 重新渲染链接的智能对象时,只有工作区允许的路径才会被读取;否则图层保留上一次的渲染结果。
ui.dialog.set和ui.dialog.open不能再添加会把对话框转交给其他处理程序的隐藏字段;确认一个会写文件的对话框时,按对应的文件命令(例如file.save、file.print)来判断是否允许。- 在步骤对话框处暂停的动作,继续播放时仍受原来的工作区限制。
配置和示例见 MCP 与 CLI 指南。
网页版
本站的在线编辑器运行的不是这一版,而是更新的版本。v0.14.0 的网页版压缩包为 12,011,648 字节(11.5 MiB),比 v0.13.0 大 4,141 字节。和之前一样,应用本体是一个 gzip 压缩的分块,这一版为 11,911,894 字节,由一个小型引导模块启动。网页版仍然无法显示中文:文字图层和界面中的中日韩文字都会显示成空白方框(#1615,仍未解决)。需要处理中文文字时,请使用桌面版。自行部署的方法见网页版页面。
问题修复与稳定性
- 按固定间隔读取一行像素时,在极端坐标或很大的间隔下不再发生整数溢出。这个问题是代码审查中发现的,并没有证实会在应用里引发崩溃(#8668)。
更多已知问题和解决办法见故障排查指南。
升级前需要知道的变化
- 没有 FreeBSD aarch64 版本。 更新日志再次说明,这个平台无法在 Craft 系列应用共用的 5 小时 CI 时限内构建完成(craft-common-actions#39,仍未解决)。FreeBSD x86_64 版本照常提供。
- 工作区内的自动化保存不再嵌入链接文件。 保存 PSD、PSB 或分层 TIFF 时,这些图层会以像素写入。如果需要把链接内容嵌入文件,请在桌面版或受信任的会话中保存(#8680)。
如何升级
前往下载页获取 v0.14.0:Windows、macOS、Linux 或网页版。这次发布的 28 个文件与 v0.13.0 相同,可以用 SHA256SUMS.txt 校验。请只从官方 GitHub Release 下载,不要使用第三方镜像或转载的安装包。如果你是从 v0.12.0 或更早的版本升级,也请看看 v0.13.0 的更新说明。下一版 v0.15.1 在同一天发布,继续了这一轮安全加固。
完整更新日志(含全部合并的 PR):GitHub 上的 PhotoCraft v0.14.0。