PhotoCraft v0.20.1: many more Photoshop action steps play, and the Line tool draws arrows
PhotoCraft v0.20.1: the table of Photoshop action events it maps grows from 117 to 167 entries, with all 47 Filter Gallery effects, Distort, Render, Stylize and Pixelate, New Set in the Actions panel, older and localized .atn files, Line tool arrowheads, Linux memory return. There is no v0.20.0.
PhotoCraft v0.20.1 came out on 3 November 2026, 30 hours after v0.19.0. It is the release after v0.19.0: there is no v0.20.0 release or tag. The version was set to 0.20.0 (24d4f4d), but the release run failed on Linux riscv64 (run). The packaging script checks each cross-built photocraft-cli by running --version under an emulator. This release's new Linux memory setting makes PhotoCraft restart itself once at launch (see Highlights); under the emulator that restart went to the host system, which can't run a riscv64 program, and the check failed. The run was cancelled before any release was drafted. About 20 minutes after the 0.20.0 commit, a fix that sets the variable for that check (eed8bd2) and the version 0.20.1 (327c4cc) went out, and that run succeeded. The fix touches only the packaging check, not the app.
Its release notes list 31 merged pull requests from 15 contributors, 6 of them first-time contributors. Two entries are integration batches of Actions work, #10535 with 9 pull requests and #10776 with 14, and all 23 also have their own line, so 29 pull requests are new. None was reverted before the tag or shipped earlier; #7561 adds only tests. The README counts 68 tools, as in v0.19.0, and the scorecard is unchanged.
Most of this release is about Photoshop actions. The table of Photoshop events that PhotoCraft maps to its own commands grows from 117 entries in v0.18.0 and v0.19.0 to 167; one entry, Make Frames from Layers, still only loads switched off. Every Filter Gallery effect, the Distort, Render, Stylize and Pixelate filters and steps for newer features such as Remove Background and Sky now play, older and localized .atn files load, and the Actions panel can make a new set. These counts come from the event table in the code; upstream's docs/atn.md lists 144 and lags behind it. Outside actions, the Line tool draws editable arrowheads, Linux returns a closed document's memory to the system, and scanned YCbCr TIFFs open. The web build still doesn't start; see Web build below. PhotoCraft is still early alpha, so expect rough edges.
Highlights
- All 47 Filter Gallery effects in actions. A recorded Filter Gallery step now plays as the matching Filter Gallery effect for all 47 effects, with Photoshop's keys, limits and defaults; in v0.18.0 only Spatter did. A step with several stacked effects stays a Photoshop step (#10632).
- Many more filters and commands in actions. Steps from these menus now load as PhotoCraft commands, play and save back:
- Distort: Pinch, Polar Coordinates, Spherize, Twirl, Wave and ZigZag (#10629). Render: Clouds, Difference Clouds, Fibers and Lens Flare (#10620).
- Stylize: Find Edges, Solarize, Extrude, Trace Contour, Wind and Tiles. Pixelate: Facet, Fragment, Color Halftone, Mezzotint, Mosaic and Pointillize (#10618).
- De-Interlace, NTSC Colors, HSB/HSL, Custom, Average, and Remove Black Matte and Remove White Matte (#10631).
- Oil Paint, Smart Sharpen, Focus Area, Select › Sky and Remove Background, which Photoshop records by name only (#10627). Split Channels, Merge Spot Channel, Trap and Match Color (#10630).
- Adding to, subtracting from and intersecting with a selection, Paste Into and Paste Outside, Fade, Link Layers, Distribute, Define Pattern, and the older Remove Layer Mask and Merge Layers events (#10628); selecting a single colour channel, such as Cyan (#10616); and Camera Raw Filter, which stopped 57 of 295 actions in the reporter's collection. A Camera Raw step that uses Calibration, a white balance other than Custom or a few other controls PhotoCraft can't reproduce stays a Photoshop step (#8714).
- Mapped steps keep their settings. A transform recorded around a corner no longer plays around the centre, a new layer keeps its clipping, group names, opacity, blend modes and labels are kept, and several event codes PhotoCraft wrote that Photoshop refused are corrected (#10702). Image Size's Scale Styles, Convert to Profile's Dither, Flatten and Rasterize options, Content-Aware Fill's settings, Paste Layer Style and Paste As are kept and played (#10704). Steps that point at a layer, document or layer comp by its number play too (#10753).
- Older and localized action files. Version 12
.atnfiles, which failed to load before, now load; PhotoCraft still saves version 16 (#10743). Step names that a localized Photoshop stored in its own code page, such as GBK on Chinese Windows or Shift_JIS on Japanese, are shown readably instead of garbled; PhotoCraft works out the code page and keeps the bytes unchanged (#8327). - New Set, and several files at once. The Actions panel has Photoshop's folder button and New Set… in its menu, which make an empty set ("Set 1" by default); New Action records into the selected set, and Play with a set selected plays the whole set (#10459). Load Actions takes several files at once; if one fails, the others still load, and the summary names the failed files (#10601). See /guides/actions.
- Arrowheads on the Line tool. The Line tool's options bar has an Arrowheads menu (the gear button): Start and End, Width and Length in pixels, and Concavity from 0 to 100%. A drawn arrow stays a live shape: Properties edits its arrowheads and weight, and Set as default uses that arrow's settings for new ones. Arrows stay editable after transforms, and PSD files keep Photoshop's line-arrow settings in both directions (#9259). See /guides/tools.
- Linux gives memory back. Closing a large document used to leave its memory with PhotoCraft, about 2 GiB in the original report. On Linux with glibc, PhotoCraft and
photocraft-clinow restart themselves once at launch withMALLOC_TRIM_THRESHOLD_=131072, so freed memory goes back to the system: in the project's test, memory after closing a 5400 × 7200 document fell from 459 MiB to 21 MiB (#10515). Large buffers are now reused instead of allocated afresh, which keeps that setting from slowing filters down; in the project's benchmark,.pcraftsave is about 11% and the Curves preview about 13% slower, and everything else is within noise (#10514).
New tools and features
- Actions, smaller changes: a pattern step picks an installed pattern by its ID before one with a colliding name (#7642); Vibrance adjustment layers load with Photoshop's own class (#8858); Stroke steps save the settings they leave at default (#10424). Saving a set strictly refuses a partial Levels edit and an adjustment edit that names its layer, which Photoshop's event can't hold, instead of writing something different; Save Actions in the panel leaves those steps out (#10417, #8736).
- Linux title bar: with the System Title Bar preference on, GNOME on Wayland now shows minimize, maximize, close and resize controls. PhotoCraft's own title bar stays the default on Linux (#6266).
File formats
- TIFF: JPEG-compressed YCbCr TIFFs, a common output of scanners and copiers, open as RGB instead of failing; 8 and 16 bits, with the embedded colour profile kept. Uncompressed YCbCr with subsampled colour and old-style JPEG (compression 6) still give an error (#10319).
- PSD: line shapes keep their arrowheads; see Highlights (#9259).
.pcraft: the bundle's outer structure now comes from a library shared with the other Craft apps. Files are saved byte for byte as before. The only change: a bundle whose manifest names a thumbnail other thanthumb.png, or a composite other thancomposite/preview.png, is refused as damaged. PhotoCraft never writes other names, so files it saved aren't affected (#10724).
What opens and saves where: /guides/file-formats.
Automation (CLI & MCP)
actions.loadtakes anencodingfor 8-bit step names (autoby default, or a label such asgbk,shift_jisorwindows-1252) and reports the one it used (#8327).actions.newSetmakes an empty set, andactions.recordtakes aset(#10459). The CLI also recognises a version 12 file without the.atnextension (#10743).shape.createandshape.edittakearrowStart,arrowEnd,arrowWidth,arrowLengthandarrowConcavityfor lines (#9259).edit.convertToProfiletakesdither,flattenandrasterizePlaced(all false by default), andimage.imageSizetakesscaleStyles(true by default) to scale layer effects with the pixels (#10704).
Setup and examples: /guides/mcp-cli.
Web build
The v0.20.1 web build doesn't start. It has the same fault as v0.17.0 to v0.19.0: app/photocraft-web.js loads a small script from app/snippets/…, but the zip has the snippets/ folder only at its top level, so on a plain static server the browser gets a 404 for app/snippets/eframe-…/inline0.js and the page stays at "Loading PhotoCraft…". #10092, #10487, #10491 and #10590 are all still open, and the fix, #10248, isn't merged. The issue authors report that copying snippets/ into app/ makes it start.
The online editor on this site therefore stays on the v0.16.0 web build until a fixed build is released.
For reference, the v0.20.1 zip is 13,692,037 bytes (13.1 MiB), up from v0.19.0's 13,433,636. The app is one gzipped part, app/photocraft-web-*.part-aa, of 13,586,502 bytes (13.0 MiB); unpacked, it is 30,332,277 bytes (28.9 MiB), up from 29,891,631. Self-hosting notes are on /download/web.
Fixes and stability
- Memory: besides the Linux change, large working buffers for tiles, compositing and filters are kept in a capped pool and reused on every platform, and the pool is released when a document closes or after 2 seconds idle (#10514).
- Actions: mapped steps that lost a setting on load or save are fixed; see Highlights (#10702).
More known problems and fixes: /guides/troubleshooting.
Breaking changes or things to know
- There is no v0.20.0. The version went straight from 0.19.0 to 0.20.1.
- PhotoCraft restarts itself once at launch on Linux. The process keeps its ID, arguments and environment, and programs PhotoCraft starts inherit
MALLOC_TRIM_THRESHOLD_. If you setMALLOC_TRIM_THRESHOLD_or another glibc malloc setting yourself, PhotoCraft leaves it alone and doesn't restart; that is also the way to opt out. macOS, Windows, musl and the web build are unchanged (#10515). - Not every step plays yet. Scripts, plug-in filters, a Filter Gallery step with several stacked effects and the other unmapped steps still load as Photoshop steps that stop playback with their name. Strict saving refuses a few edits Photoshop's format can't hold (#10417, #8736).
- An empty action set isn't kept when you quit; it is remembered once it holds an action (#10459).
- The web build doesn't start, and this site's online editor stays on v0.16.0; see Web build above.
- Update and Restart on Windows MSI installs. The report that it restarts without installing (#10477) is still open. If it happens, download the v0.20.1 MSI from /download/windows and run it once.
- Windows 7 and 8: PhotoCraft still needs Windows 10 or later.
How to update
Download the v0.20.1 build for your system from /download: Windows, macOS, Linux or the web build, which doesn't start for now. The release has the same 32 files as v0.18.0 and v0.19.0, with SHA256SUMS.txt to check them against. For the Flatpak, keep using the .flatpak bundle; the OCI image the release run pushes to GitHub's container registry isn't publicly readable. Builds come only from the official GitHub release; avoid third-party mirrors. If you already run v0.19.0 or v0.18.0, the update prompt can install v0.20.1 for you. If you are coming from v0.18.0 or earlier, also read the v0.19.0 notes, and from v0.17.0 or earlier the v0.18.0 notes.
Full release notes, with every merged pull request: PhotoCraft v0.20.1 on GitHub.