PhotoCraft v0.21.0: a reworked Crop tool, Batch and Droplet, Layers filters and a new Home screen
PhotoCraft v0.21.0: Crop Reset and content-aware filling, Free Transform with linked layers, actions that play on any document, Batch subfolders and naming, Layers panel filters, Photoshop's toolbar order and shortcuts, a two-column Home screen, TIFF Options, PDF text that stays selectable, streamed PSD/PSB/EXR import, WinTab and Bosnian.
PhotoCraft v0.21.0 came out on 6 November 2026, about 43 hours after v0.20.2. Its release notes list 219 merged pull requests from 47 contributors, 19 of them first-time contributors. Six entries are integration batches (#10952, #11157, #11203, #11278, #11320 and #11563) that brought groups of the other listed pull requests onto main together. All 219 are merged and in the tag. The tag's code is main as of 6 November, 17:44 UTC, plus the version number.
94 of them were already in v0.20.2. That release is the main branch as of 4 November, up to #11344, so it holds every pull request in this list merged by then. GitHub lists them again because they reached the release branch in one combined commit; see the v0.20.2 notes. These notes describe everything new since v0.20.1. A few entries change little for users: the zoom field rework #6647 already shipped in v0.19.0 through #10145, and its merge here leaves the code unchanged; #6983 and #8898 only add tests; #10271, #10750, #10307 and #11607 add benchmarks and test recipes; #7975, #11344, #11426, #11207 and #11632 change CI, release tooling and repository files. PhotoCraft still has 68 tools.
Most of the work makes PhotoCraft behave the way Photoshop users expect. The Crop tool gets a Reset button, content-aware filling of the active layer and a long list of fixes. Free Transform carries linked layers along and hides its reference point. Recorded actions play on other documents, and Batch gains subfolders, file naming, error handling and progress. The Layers panel filters by colour label, effect, attribute, smart object and artboard, Shift+letter shortcuts follow the toolbar, and the Home screen is redesigned. Large files need less memory: PSD, PSB and EXR files stream in, PSD limits follow the RAM you have, and a scratch folder takes what doesn't fit. TIFF gets Photoshop's TIFF Options, PDF export keeps text selectable, Bosnian joins the interface languages, and Windows gets an optional WinTab pen backend. The web build still doesn't start as packaged, but this site's online editor now runs it; see Web build below. PhotoCraft is still early alpha, so expect rough edges.
The release notes have no scorecard section. In docs/scorecard.md, settings that do nothing go from 11 of 183 to 10 of 192, the menu items wired to a command from 631 to 660 (still all of them), and document-independent action recording moves from missing to partial.
Highlights
-
Crop tool. The options bar has a Reset button next to Cancel and Commit. It puts the frame back on the selection or the canvas, upright, and Undo brings the old frame back (#9739). With Delete Cropped Pixels on, a content-aware crop now fills the active pixel layer as well as the Background, each from its own pixels; it takes about twice as long as before (#11458). With Delete Cropped Pixels off, the Background becomes "Layer 0", as in Photoshop, and an extended or turned crop leaves the new area transparent (#10905); the Fill menu's first entry now says Background or Transparent to match (#11011). Turning:
- turning the image keeps the frame inside it, and a centred grid with 48-point spacing replaces the overlay while you turn (#11109, #11220);
- a Straighten line drawn with Ctrl (⌘) held keeps the frame's size; the Straighten button still fits it inside (#10950);
- the swap button between the ratio fields turns the frame instead of shrinking it (#7739).
The frame:
- after a crop, and after Esc, no new frame appears until the next press (#10642, #10396);
- Shift-dragging a corner follows the frame's diagonal (#10941);
- each overlay has its own icon in the menus and on the button (#11019), and the Info panel shows the frame's W, H and ratio (#10453).
Many smaller fixes cover H and P on the default frame, Clear, snapping, Esc in full screen, History jumps, tool switches mid-drag, auto-scroll at the canvas edge and views left turned (#9855, #9842, #9284, #9278, #9276, #9286, #9224, #9310, #9204, #9309). See /guides/crop.
-
Free Transform. Transforming a linked layer transforms its whole link group (#11243). The reference point is hidden by default, so the centre of the box moves the content; a Toggle Reference Point check box shows it again (#11247). A click outside the box on the image no longer commits; a click on the pasteboard or a double-click does (#11165). Shift-rotate turns in 15° steps from where the drag started (#11162). Soft edges no longer leave a faint outline behind (#10565, #10505), plain layers above the moving one stay above it under a blend or adjustment layer (#9573), and in Distort and Perspective the side handles work (#10814). Several selected shape layers get one box with eight handles (#11295).
-
Actions, Batch and Droplet.
- Recording: a recorded step names a layer by its name, or leaves it out for the active layer, instead of an ID that only exists in one document. Typing in a text layer records one step with the whole text instead of one per keystroke (#4514). Save As or Save for Web with the suggested name records only the folder, so each document is saved under its own name (#5430).
- Batch: Batch takes a folder with its subfolders, or the open documents. It names files from Photoshop's fields (name, serial number, letter, date, extension), can stop at the first error or log errors to a file, and shows progress with Cancel (#4579). Batch and Create Droplet run the action chosen in their dialog; before, changing it could still run the first one (#10612).
- Playback: playing an action adds one history state per document, named
Action: <name>, instead of one per step (#10965). - More steps play. The table of Photoshop events PhotoCraft maps to its own commands grows from 167 entries in v0.20.1 to 204 (196 already in v0.20.2), by this site's count of the code; Make Frames from Layers still only loads switched off. Steps that now play include:
- Check Spelling, Shear, Scale Effects and Create Layers, Gradient Map, Replace Color and Content-Aware Fill (#8726, #10955, #10998, #10765, #10986);
- the classic Gradient tool, Type › Create Work Path and Perspective Warp (#11223, #11222, #11553);
- Batch steps inside actions; Custom, Fibers, Color Lookup with an embedded table, Shape Blur and Calculations; smart object Stack Modes; and inserting, duplicating and deleting video frames (#7170, #10788, #11495);
- 23 newer events, among them Link and Unlink, Artboard from Group, Convert to Linked, Relink, Replace Contents and Export Contents, Crop and Straighten Photos, and Convert Type to Shape (#10755).
- Step names: Mac Roman names with accents or a degree sign, and ambiguous legacy encodings, read correctly more often (#10837, #10832).
See /guides/actions.
-
Layers panel filters. Besides Kind, Name and Mode, the filter row filters by:
- Color label (#10439);
- Effect, one of eight, counting only enabled effects (#11067);
- Attribute, with 18 entries such as Visible, Locked, Empty, Linked, Clipped and Layer Mask (#11077);
- Smart Object: linked, missing or embedded (#9211);
- Artboard: the boards that hold the selected layers (#9315).
The row now shows in every theme, not only the Pro ones (#10752). Filtering deselects the layers it hides (#11235). Fill layers match no Kind button, and the Mode list has no Pass Through (#11017). The blend mode lists have Photoshop's separators between groups (#5533).
-
Toolbar and shortcuts as in Photoshop. Shift+letter cycles a tool group in toolbar order, and P no longer reaches the Add Anchor Point, Delete Anchor Point and Convert Point tools (#11521). The healing slot starts on Spot Healing Brush, and the brush slot lists Color Replacement before Mixer Brush (#11535). Alt/Option-click on a toolbar button cycles its slot, including tools without a letter (#10301). Ctrl+/ (⌘/) opens Layer › Lock Layers… (#11437), and Ctrl+Alt+0 also zooms to 100% and F9 also opens Actions, Photoshop's second keys (#11456). Ctrl+Alt + wheel zooms like Alt + wheel (#10517). Also:
- Move tool: Shift-drag locks to eight directions, not four, and History names the steps Move, Nudge and Duplicate (#11436, #11443).
- Selections: with no selection, Shift and Alt held from the press square the marquee or draw it from the centre (#11449). Dragging an outline records Move Selection (#11444), the Polygonal Lasso records its own step name (#11453), and the Single Row and Single Column Marquee move a selection dragged from inside (#11534). The Elliptical Marquee's soft edge matches Photoshop's (#11461), and E switches Select and Mask between adding and subtracting (#11511).
- Menus: View › Guides is a submenu with Edit Selected Guides and Clear Selected Guides (#11497). The document tab's right-click menu has Photoshop's eight entries (#11502), and the empty area of the Layers panel has its own menu (#11500).
- Menu names: Layer › Smart Objects says Embed Linked and adds Embed All Linked (#11503), and several items carry Photoshop's names (#11455, #11494).
See /guides/shortcuts and /guides/tools.
-
A new Home screen. Home has two columns: a left rail with New file, Open…, Home, Learn and links, and recent files as cards with thumbnails, in a grid or a list, up to 11 of them next to a drop target (#7231). While Home is up, the tools, options bar, status bar and docks are hidden; your panel layout comes back when you open a document (#11253).
New tools and features
- History: History Options gets Automatically Create First Snapshot (on by default), Automatically Create New Snapshot When Saving and Show New Snapshot Dialog by Default (#3634, #6088). The History Brush gets Opacity and Flow, with the number keys, and you pick its source in the History panel's left column (#4446). The Art History Brush gets Opacity (#10278).
- Type: Type › OpenType has a Numerals submenu (lining, oldstyle, proportional and tabular figures) and a Stylistic Sets submenu (Set 1 to 20) (#11051, #10304). A duplicated type layer is renamed after its new text (#10352), and copied type brings its character and paragraph styles (#10501).
- Filters and adjustments: Filter › Render › Lens Flare now draws each lens's own reflection discs, rings and streaks; the project measured it at 0.97 to 0.995 SSIM against Photoshop (#8705). Selective Color keeps each colour's values (#11474), Color Lookup applies a
.3dlfile's shaper (#9170), adjustment smart filters keep their settings when edited or confirmed (#11609, #11613), and Minimum and Maximum preview at the radius they apply (#10524, #11081). - Selections: Select Subject keeps parts that run off the image edge and detached parts near the subject (#10160). Select › Sky finds sky below trees or an arch along the top edge (#9693). Grow and Similar match only the selected colours (#9673, #9825).
- Artboards: dragging a layer onto another board with the Move tool puts it in that board, and pasting onto another board keeps its place (#10512, #10538, #11441). The Artboard tool's Add New Artboard button places a board where you click, and the first board drawn in a document takes the Background in as "Layer 0" (#11532, #11496).
- Pen tablets on Windows: Preferences › Tools › Pen Tablet has a Tablet input choice: Windows Ink (the default) or WinTab, which applies at the next launch. WinTab reads pressure and the eraser, plus tilt and rotation where the pen and driver report them; turn Windows Ink off in the tablet's own software when you use it (#11331).
- Other:
- The Channels panel menu has the channel commands, New Spot Channel among them (#11557). Visible spot channels print over the composite on the canvas, as inks (#10276).
- Artboards, Layers and Layer Comps to Files have a JPEG quality setting (#11558), and File › Export › Data Sets as Files opens its dialog (#10203).
- Properties takes a typed percentage in W, H, X and Y (#10802), and Preferences › Performance shows Effect cache again (#10921).
- Content-Aware Scale works on the Background with a selection (#7719), and the Frame tool's selection, handles and placement are reworked (#8920).
- The Paint Bucket shows a crosshair at its fill point (#7994), and the pen tools use native cursors, which follow the pointer without waiting for the canvas (#10860).
- With Overscroll off, an image smaller than the window stays centred (#11085), and a right-click that moved a few pixels still opens its menu (#10351).
More on the tools: /guides/tools.
Large files and memory
- Scratch disk: large documents can move cold tiles and undo states out of RAM into compressed, checked scratch files. New preferences let PhotoCraft use 70% of physical RAM (1 to 95%); existing ones keep their allowance (#5330). Free space is measured on the scratch folder itself, so a network folder reports its own, or says it can't (#11628). A scratch folder that stops answering, such as a dead network share, no longer freezes the app (#11652).
- Streaming: PSD, PSB and large single-part EXR files are read a band at a time instead of whole channels at once (#5331). Large PSBs are written the same way (#5333), and saving a PSD, PSB or layered TIFF no longer holds the whole encoded file in memory, which needed about four times its size (#8115). The canvas shows large documents from pages sized to the zoom (#5332). JPEG and PNG files build their tiles in parallel, and large PNGs stream row by row (#10281, #10305).
- PSD memory limits follow your RAM. v0.19.0 refused any PSD over a fixed 2 GiB estimate. PSD, PSB and layered TIFF files now open on their own up to half the available RAM, at most 8 GiB. Above that, PhotoCraft asks whether to open the file anyway, within a hard limit of 75% of available RAM less a reserve; swap doesn't count (#10897). With little free memory the hard limit used to drop to 0, so even small PSDs were refused; now it shrinks gradually, and the message says how much memory is free and to close other apps (#11641). On Windows, scratch disk room now counts too; on 32-bit and web builds the message names the build's own limit (#11513). See /guides/file-formats.
- Fewer freezes: Place decodes and fits a file in the background (#10147), and the GPU compositor is built off the UI thread, which could block the first document for seconds (#9969). Sampled, textured and wet-edge brushes paint on all cores (#11369, #11349, #9617). Select and Mask, Photomerge and the Remove tool use less memory or time on big images (#10732, #10463, #10194).
File formats
- TIFF: File › Save As and Save a Copy to TIFF ask for TIFF Options, as Photoshop does: Image Compression (None, LZW or ZIP; before, the app always wrote uncompressed TIFFs), Save Image Pyramid, and Save Transparency for documents without a Background (#10932).
- PDF: export keeps the top text and shape layers as vectors over the flattened rest, so text can be selected and searched. Only plain layers qualify: Normal at 100% opacity and fill, without masks, effects or clipping. Documents with an embedded ICC profile, Lab and multichannel documents, and warped, vertical or path text stay all raster (#10355).
.pcraft: Preferences › File Handling › Save Full-Size Composite in .pcraft Files (off by default) also saves the flattened image at full size, ascomposite/full.png, for other programs that read.pcraftfiles (#9913).- PSD: flat PSDs keep their spot and alpha channels; before, the first one was lost (#10260). Stylistic sets survive a PSD save from a new document (#10313).
- SVG: drawings that made the renderer panic, filters too costly to render and nesting hidden in a DTD entity give an error instead of a crash or a hang, and text with a missing character opens much faster (#9405, #9410, #9670, #9672).
What opens and saves where: /guides/file-formats.
Languages
Bosnian (Latin script, Ijekavian) joins the interface languages, so the official builds now include 28. Every Bosnian locale, Cyrillic included, uses it. Upstream notes that the catalog was written with AI help and hasn't yet been reviewed by a native speaker (#10290). Setting the language: /guides/language.
Automation (CLI & MCP)
- Long commands as jobs. In headless MCP (
photocraft-cli mcp), a waited command that can run as a job now does, with progress and a working cancel, and other calls no longer wait behind it (#8132). In bridge mode, waited engine commands poll the app's job the same way (#8134). - GPU in
photocraft-cli.--gpuand--no-gpu, orPHOTOCRAFT_GPU=1/0, choose GPU composition for flat exports and full-size previews inconvert,run,batch,serveand headless MCP. CPU stays the default, and anything the GPU path can't do falls back to CPU with a reason on stderr (#10842, #10912). - New CLI options:
--approve-high-memoryopens a large PSD that would otherwise ask first (#10897).--pcraft-full-compositesaves the full-size image in.pcraftfiles (#9913).batchtakes--recursive,--naming,--start-serial,--stop-on-errorand--error-log(#4579). ui.pointercan drive the Move tool's transform controls, set withui.set {"moveShowTransform": true}(#11210).ui.clickandui.moverefuse coordinates beyond the screen range instead of crashing the app (#9138). The new History Options are preferences agents can set (#3634).
Setup and examples: /guides/mcp-cli.
Web build
The v0.21.0 web zip still doesn't start as packaged. Its app/photocraft-web.js imports ./snippets/…, but the zip has snippets/ only at its top level, as in v0.17.0 to v0.20.2, so on a plain static server the page stays at "Loading PhotoCraft…". Upstream tracks it in #10017, still open; #10092, #10487, #10491 and #10590 were closed as its duplicates on 5 November. The fix, #10248, isn't merged.
The online editor on this site now runs v0.21.0. It serves the official files unchanged. When the browser asks for app/snippets/…, which the zip doesn't have, the site answers with the release's own file from snippets/… at the top of the zip, byte for byte; no file is copied or edited. Until 9 November 2026 the online editor ran v0.16.0. How it works, and the workaround for your own server: /download/web.
Update, 12 November 2026: the online editor now runs v0.23.1; see v0.23.1.
What's new in the web build itself:
- Big operations that won't fit fail with an error instead of freezing the page. Before, running out of memory stopped the page with no message and lost the document. Now Place, Image Size, re-rendering a smart object and Save check first. If the operation won't fit, they report the memory it needs and what to do, and leave the document as it was. While a document is open, a notice also warns when memory runs low, so you can still save. A crash that still happens shows a message with a Reload link (#10129).
- Place runs a slice per frame, about 8 ms at a time, so placing a large PNG shows progress instead of freezing the page (#10164).
- Opening
.pcraftfiles in the browser is limited to 512 MiB per stored part and 1 GiB in total; a bigger document gives an error instead of exhausting the tab (#10984).
The zip is 14,408,940 bytes (13.7 MiB), up from v0.20.2's 14,035,038. The app is one gzipped part, app/photocraft-web-e937a3454f51996d.part-aa, of 14,302,408 bytes (13.6 MiB). The zip's HOSTING.md describes how a host can offer extra fonts through fonts/manifest.txt; this site serves none yet. Chinese, Japanese and Korean interface text in the web build is still tracked in #1615. Self-hosting notes are on /download/web.
Fixes and stability
- Hostile files: RAW (DNG), JPEG, PNG, GIF, BMP, EXR and Affinity readers refuse or budget inputs that could make a small file use huge amounts of time or memory (#11023, #11039, #11041, #11042, #11043, #10979, #10980, #10981, #10982, #10966). Text layout, the GPU effect bands, Filter Gallery values stored in a file and IPP printing no longer overflow or slow to a crawl on crafted input (#11045, #11065, #11069, #11057, #10850, #11049).
- Windows: Reveal in Explorer and the language lookup start
explorer.exeandreg.exefrom the Windows folder, never a same-named program next to PhotoCraft (#9667). Portable mode's write check can't be redirected through a planted link (#10963). A failed save that can't restore the original says where the original survives (#11189), and building the compositor on DirectX 12 no longer shares shader data across threads (#9182). - Editing: Image Size refuses a resolution outside 1 to 30,000 ppi instead of clamping it (#9261). Crop to W × H refuses a resample that wouldn't fit in memory instead of aborting (#9213). Ungroup no longer leaves a document with no layers (#11163). Trim ignores alpha that rounds to 0 (#9300), and Flip Canvas mirrors an Angle gradient fill correctly (#9244). In a rotated view, Type box and Move marquee previews follow the document (#7064). With Auto-Select, a click on the pasteboard no longer picks layers hanging off the canvas (#10731).
- Dialogs and panels:
- A click made while a Free Transform is still being applied runs when it finishes (#10360).
- The Stroke Path dialog remembers Simulate Pressure (#10583), and Save for Web's Matte takes only whole colours (#8890).
- A plug-in install error names the file's real format (#10633), and imported gradients with the same name can be picked separately (#10521).
- A save whose Image Assets partly failed says which ones failed, and still makes them after a script closes a tab (#11168, #11244).
- The About credits columns can be resized (#11182).
- CMYK: adjustment layers at reduced Fill export the inks they show (#10387, #10985, #11001).
More known problems and fixes: /guides/troubleshooting.
Breaking changes or things to know
- The Enable animations preference is gone. Preferences › Interface no longer has it, because Photoshop has no such setting. A mouse-wheel notch now moves the canvas at once, without a glide, and old preference files still load. Scripts that read or set
interface.enableAnimationsget "unknown preference" (#9480). - Tool keys changed. Shift+letter now steps through a group in toolbar order, so the order may differ from what you're used to. P no longer selects the anchor point tools; pick those from the Pen slot. On fresh settings, J picks the Spot Healing Brush, not the Remove Tool (#11521, #11535).
- Free Transform's reference point is hidden by default, and a click on the image outside the box no longer commits; press Enter, double-click or click the pasteboard (#11247, #11165).
- Crop with Delete Cropped Pixels off turns the Background into "Layer 0" and leaves extended areas transparent (#10905).
- Playing an action is one history state. Undo takes back the whole action, not its last step (#10965).
- PSD memory refusals changed. Instead of a fixed 2 GiB, the limits now depend on the RAM free when you open the file, so the same PSD can open at once on one machine, ask first on another, and be refused on a third. With little free memory, small PSDs open again; the message says how much is free. Scripts can pass
--approve-high-memory(#10897, #11641). - WinTab is opt-in and applies at the next launch; Windows Ink stays the default (#11331).
- The web zip doesn't start as packaged; this site's online editor runs it anyway; see Web build above.
- Update and Restart on Windows MSI installs. The report that it restarts without installing (#10477) is still open on 9 November 2026. If it happens, download the v0.21.0 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.21.0 build for your system from /download: Windows, macOS, Linux or the web build, or try it in the online editor. The release has 55 files, with SHA256SUMS.txt to check them against. If you are coming from v0.20.1 or earlier, the extra files are new: since v0.20.2, every Linux file has a GPG signature, and so does SHA256SUMS.txt. Check them as shown on /download/linux and in /guides/verify-download; the in-app updater doesn't check these signatures. For the Flatpak, keep using the .flatpak bundle. Builds come only from the official GitHub release; avoid third-party mirrors. An installed copy's update prompt can offer v0.21.0 too; for MSI installs, see above. If you are coming from v0.20.1, also read the v0.20.2 notes, and from v0.19.0 or earlier the v0.20.1 notes.
Update, 12 November 2026: v0.23.1 is now the current release, and the download pages offer it; see v0.23.1. v0.21.0 is the last release with Windows 32-bit (x86) builds; see v0.22.0.
Full release notes, with every merged pull request: PhotoCraft v0.21.0 on GitHub.