PhotoCraft v0.23.1 更新:Flatpak 可以自我更新、缩放工具的放大/缩小模式和安全加固
PhotoCraft v0.23.1 让 Flatpak 包可以自我更新;缩放工具有了“放大”和“缩小”模式;钢笔完成路径后撤销会把路径还给你;直线工具默认 1 像素;另有二十多项加固修复,限制内存用量并转义日志输出。本站的在线编辑器现在运行 v0.23.1。
v0.23.1 于 2026 年 11 月 12 日发布,距 v0.23.0 大约七小时。这是为一个修复而发的补丁版本:Flatpak 包无法自我更新(#13322)。因为上游是从 main 而不是从 v0.23.0 切出它的,所以两者之间合并的内容也都包含在内。官方更新日志列出了 47 个合并的 PR,来自 11 位贡献者,没有第一次参与的贡献者。标签的代码就是 11 月 12 日 02:30(UTC)时的 main,也就是 #13322 的合并,版本号也是在这个 PR 里改的。列出的每个 PR 都是在 11 月 11 日 v0.23.0 取代码之后合并的。
有一条看起来比实际更重要:#13345“Release: PhotoCraft v0.23.0 on main”只是把 v0.23.0 的版本号写进 main 上的 Cargo.toml 和 Cargo.lock,没有新代码,v0.23.1 里也没有任何内容已经提前发布过。#13337、#13374、#13257 和 #13378 改的是 CI 和测试。
除了 Flatpak 的修复,缩放工具有了“放大”和“缩小”模式,钢笔完成路径后撤销会把路径还给你,直线、透视裁剪、移除和锚点工具也更接近 Photoshop。这一版大约一半是安全加固:在导入、滤镜、绘画和动作中限制内存和尺寸,并转义写进日志的文字。网页版仍需要变通办法才能启动,而本站的在线编辑器现在运行 v0.23.1,详见下文“网页版”。PhotoCraft 仍处于早期 alpha 阶段,使用中难免遇到问题。
主要变化
- Flatpak 可以自我更新了。 “帮助 › 检查更新…”和“更新并重启”需要通过
flatpak-spawn --host向宿主系统的 Flatpak 查询已安装的副本,并运行它的更新程序。以前沙盒不允许这样做,所以更新程序认不出这是它能处理的 Flatpak 包安装,提示框只能改为“下载”。现在两个 Flatpak 清单都在网络权限旁边加上了--talk-name=org.freedesktop.Flatpak(#13322)。这项权限随你安装的包而来,所以 v0.23.0 及更早的版本无法自己更新到 v0.23.1:请手动安装一次 v0.23.1 的包。我们还没能在实际运行的沙盒中测试之后的自我更新。详见下文“Flatpak”。 - 缩放工具的模式。 缩放工具的选项栏开头有一对按钮:“放大”和“缩小”,默认是“放大”。在“缩小”模式下,点击缩小、Alt+点击放大;关闭“细微缩放”时,拖动会缩小一次。用 Ctrl+空格临时缩放在两种模式下都和以前一样(#13013)。
- 撤销会把钢笔路径还给你。 闭合路径、按 Enter 或 Esc 结束路径,或者切换到别的工具之后,按 Ctrl/⌘+Z 撤销的是最后这一步,钢笔会从最后一个锚点接着画。以前撤销会删掉整条路径(#6413)。
- 直线工具:首次使用和“复位工具”之后,粗细为 1 像素,箭头为 5 × 10 像素(#13305);一次拖动是一个名为“Line Tool”的历史记录步骤(#13303)。
- 文字:文字选项栏有了 Photoshop 的“切换字符和段落面板”按钮(#13020)。
工具
- 透视裁剪:宽、高和分辨率限制在 Photoshop 的范围内,超出时会弹出提示(#12237);没有面积的拖动会保留已经点下的角(#13234)。详见裁剪工具指南。
- 锚点工具:用删除锚点工具按住 Alt 点击锚点会选中整条子路径,第一次按 Esc 会保留路径(#13188、#13176)。在直线段上添加的锚点是平滑点,带方向线(#13215)。转换点工具可以像直接选择工具一样拖动线段(#13141),自由钢笔只有在离起点 3 像素以内时才会闭合(#13313)。
- 移除工具:首次使用和“复位工具”之后画笔为 19 像素(#13151),在“全部锁定”的像素图层上会弹出提示(#13171)。
- 其他:计数工具的选项栏一开始就显示全部控件,顺序与 Photoshop 一致(#12206);圆角星形只圆化外侧的顶点(#13342);拖动颜色取样点时光标保持不变(#13212);“任意角度”旋转会保留你输入的数值(#13217)。
工具的更多介绍见工具指南。
安全加固
这些修复大多来自同一位贡献者的审查,正常使用时察觉不到;它们防止特制或极端的输入耗费大量内存或时间,或者访问不该访问的地方。
- 内存和尺寸上限:“置入”会拒绝让图像超过渲染上限的缩放比例(#11229)。导入器、文字光栅化、颜色配置文件表、GPU 合成器以及渐变和效果贴图占用的内存都会全部计入预算(#11144、#11047、#11055、#11061、#11056)。密集的工作缓冲区要先通过预算检查,副本过大的连续笔尖笔画会被拒绝(#10964、#11070)。
- 输入限制在范围内:滤镜参数(水彩画纸、方框模糊、Lanczos、RAW Develop 降噪)、EXIF 文字、变形扫描、修复尺寸和金字塔深度;编码器、EXR、FITS 和 VP8 读取器以及 EXIF 缩略图都检查尺寸;zstd 窗口有上限;Cryptomatte 图层只列一次(#11199、#11161、#11164、#11145、#10978、#11181)。
- 文件和链接:自动化的
save_bytes绝不读取链接文件(#11233);作为符号链接的预设会被拒绝,批量导出把符号链接的文件名视为已占用(#11145、#11204);保存时替换属于另一个用户组的文件,不再扩大该组的访问权限(#11232)。 - 日志和脚本:来自文件和插件、写进日志和诊断输出的控制字符会被转义(#11218);嵌套的暂存会话和预设调用需要授权,CSV 和 PostScript 文字会被转义(#11188);播放动作时跳过的步骤也计入预算,批处理的嵌套层数有上限(#10969)。
- 顺带的小修复:元数据选项现在也作用于 WebP 快速导出(#11058),RAW Develop 生成预览时每行源数据只读一次(#11064)。
- macOS 发布签名把证书解码到独占的临时文件中(#11028)。
Flatpak
发布包的清单和从源码构建的清单现在都包含 --talk-name=org.freedesktop.Flatpak,注释说明共用的更新程序要通过 flatpak-spawn --host 检查并更新这个安装;这是自 v0.21.0 以来唯一变化的权限(#13322)。请注意:
- 这项权限很宽。 拥有它的应用可以通过
flatpak-spawn --host在沙盒之外运行程序,所以沙盒不再能把 PhotoCraft 和你的其他文件隔开。可以用flatpak info --show-permissions ai.storyteller.photocraft查看。 - 要收回这项权限,运行
flatpak override --user --no-talk-name=org.freedesktop.Flatpak ai.storyteller.photocraft。这样自我更新又认不出这个安装了,请像以前一样手动更新包。 - 从 v0.23.0 或更早的版本升级时,请手动安装一次新包:
flatpak install --user photocraft-0.23.1-linux-x86_64.flatpak(或-linux-aarch64)。
安装步骤和沙盒的其他权限见 Linux 下载页。
网页版
v0.23.1 网页版压缩包按原样部署仍无法启动。 我们下载了 photocraft-web-0.23.1.zip:16,064,050 字节(15.3 MiB),SHA-256 为 3a498eb517bca6cec89f9c6b1fc6448269a05428c8a3a4637c16817da157f03c,与 SHA256SUMS.txt 一致。它的结构从 v0.17.0 起就没变:根目录是启动用的 wasm 和脚本,app/ 里是 photocraft-web.js、parts.txt 和一个 gzip 压缩的分块 app/photocraft-web-caa57f60c12c8283.part-aa,大小为 15,955,518 字节(15.2 MiB)。app/photocraft-web.js 引用 ./snippets/…,但 snippets/ 只在压缩包根目录,放在普通静态服务器上时页面一直停在“Loading PhotoCraft…”。#10017 仍未关闭,修复用的 #10248 也还没有合并。压缩包里的 HOSTING.md 现在说明,从源码构建网页版时会从 craft-i18n 下载翻译。
本站的在线编辑器从 2026 年 11 月 12 日起运行 v0.23.1。 和以前一样,它提供的是未经改动的官方文件;浏览器请求 app/snippets/… 时,本站会原样返回该版本根目录下 snippets/… 中的同一个文件。它从 11 月 9 日起运行 v0.21.0,跳过了 v0.22.0 和 v0.23.0。具体做法,以及在自己的服务器上的解决办法,见网页版页面。
上游仍然没有给浏览器版一个官方网址(#1655,未关闭),网页版界面的中文、日文和韩文显示问题仍在 #1615 中跟踪。
升级前需要知道的变化
- Flatpak 的沙盒变宽了:为了更新,它现在可以在宿主系统上运行程序,详见上文“Flatpak”。
- 从 v0.23.0 或更早的版本升级 Flatpak 时,需要手动更新一次;之后的版本应该可以通过“更新并重启”获得。
- 缩放工具:选了“缩小”之后,点击会一直缩小,直到你重新选“放大”(#13013)。
- 网页版压缩包按原样部署无法启动,但本站的在线编辑器可以正常运行它。
- 没有 Windows 32 位版本,v0.22.0 起就是这样;见 v0.22.0 的更新说明。
- Windows MSI 安装版的“更新并重启”。 点击后只重启、什么也没安装的问题(#10477)截至 2026 年 11 月 12 日仍未解决。遇到这种情况,请从 Windows 下载页下载 v0.23.1 的 MSI 手动安装一次。
- Windows 7 和 8:PhotoCraft 仍然需要 Windows 10 或更新版本。
如何升级
前往下载页获取 v0.23.1:Windows、macOS、Linux 或网页版,也可以直接在在线编辑器中试用。这次发布有 52 个文件,与 v0.22.0 和 v0.23.0 相同,可以用 SHA256SUMS.txt 校验。Linux 文件和 SHA256SUMS.txt 用的仍是 v0.20.2 起的同一个 release-signing-key.asc;2026 年 11 月 12 日,gpg --verify SHA256SUMS.txt.asc SHA256SUMS.txt 显示签名有效,密钥指纹为 2B76 741B 414A AD6C D33E 6312 13A0 05C0 B9D7 C3ED。请按校验下载文件指南核对你自己下载的文件。请只从官方 GitHub Release 下载,不要使用第三方镜像或转载的安装包。已安装版本的更新提示也可以提供 v0.23.1;Flatpak 和 MSI 安装版请看上文。如果你是从 v0.22.0 升级,也请看看 v0.23.0 的更新说明;从 v0.21.0 或更早的版本升级,还请看看 v0.22.0 的更新说明。
完整更新日志(含全部合并的 PR):GitHub 上的 PhotoCraft v0.23.1。