Skip to main content

PhotoCraft v0.13.0: GIMP XCF files, Hindi and GPU loss recovery

PhotoCraft v0.13.0: open GIMP XCF files, a partial Hindi interface, JPEG Options on save, Duotone inks in PSD, and unsaved work kept when the GPU is lost.

v0.13.0Released Oct 22, 2026Official release notes on GitHub

PhotoCraft v0.13.0 came out on 22 October 2026, one day after v0.12.0. Its release notes list 420 merged pull requests from 132 contributors, 59 of them first-time contributors. Three of those entries are integration batches that took in 379 pull requests together (#8229, #8355, #8577); most of them also have their own line, and counting both, 430 pull requests went in. 19 of the listed pull requests had already shipped in v0.12.0 and appear again only because follow-up fixes landed on top of them, among them the smart filters without options, Content-Aware Move's large-selection preview and the Export As Resample menu; they aren't repeated here. The README still counts 67 tools.

Most of the release comes from one backlog batch that took in 266 waiting contributor pull requests at once (#8577), so it is broad rather than deep. PhotoCraft now opens GIMP XCF files, has a partial Hindi interface, asks for JPEG Options when saving a JPEG, writes Duotone inks into PSDs, and keeps your unsaved work when the graphics driver loses the GPU. The rest is hundreds of small fixes to panels, keys, file formats and actions. PhotoCraft is still early alpha, so expect rough edges.

This time the release notes don't open with the project's scorecard, but docs/scorecard.md moved a little since v0.12.0. File compatibility has 13 partial and 5 missing items instead of 12 and 6, because saving a JPEG now asks for options. Type has no missing item left, now that paragraph direction has buttons. Workspace and UI has 14 of 23 items done (up from 13), with outlined slider knobs in the light themes. 21 of 176 preferences still do nothing, down from 24 of 171. The number of test files that must render like Photoshop's own output rose from 188 to 190 of 256, and the performance numbers are unchanged: 3 scenarios within budget and 22 over. How PhotoCraft compares with Photoshop in daily use: /guides/photocraft-vs-photoshop.

Highlights

  • GIMP XCF files open. File › Open, drag and drop, recent files, photocraft-cli and automation read .xcf and .xcf.gz with their layers, nested groups, layer masks, blend modes, locks, colour tags, extra channels, the saved selection and the colour profile, from GIMP 1.x to GIMP 3.2. It is read only: Save suggests .pcraft, and exporting as .xcf fails with a message (#2945). Details and limits: /guides/gimp-xcf.
  • A Hindi interface, partly translated. Hindi is the 22nd interface language, and a system set to Hindi picks it up. Its catalog covers the top menus, the tools, Camera Raw and common dialogs; everything else is still in English (#6974). Details under Languages below.
  • JPEG Options when you save a JPEG. Save, Save As and Save a Copy to JPEG first show Photoshop's JPEG Options: Quality from 0 to 12 and Baseline, Baseline Optimized or Progressive. Quality starts at the opened JPEG's own value, and recorded actions replay your answer (#7883).
  • More PSD data survives. Duotone documents made in PhotoCraft are now saved as Duotone with their inks; in v0.12.0 they went out as Grayscale (#4935). Clouds, Difference Clouds, Fibers and Lens Flare smart filters open editable instead of kept as they were (#6160). Editing type in a file from an older Photoshop now updates the older text copy too, so Photoshop no longer shows the old text (#8146).
  • Unsaved work survives a lost GPU. When the window loses its graphics device, for example after a driver reset when the PC wakes from sleep, PhotoCraft used to crash or freeze with a window the close button couldn't close. Now it stops drawing, saves every unsaved document for crash recovery, and closes; the next launch reopens them (#6464). A layer that doesn't fit in GPU memory no longer breaks GPU drawing for the rest of the session (#6813).
  • Camera Raw: Preferences › Camera Raw Defaults › Demosaic, and a Demosaic choice in the open-time dialog, pick AHD, Malvar–He–Cutler or Bilinear (#7417). A developed raw keeps its EXIF, so File Info shows its camera, exposure and lens (#7791), and Preferences › Camera Raw Defaults › Resolution now sets the resolution it opens at (#7811).
  • Layers panel options. The Layers panel menu gains New Layer and Group, Flatten, Lock, Rename, Artboard and Panel Options, with Photoshop's thumbnail sizes (None, Small, Medium, Large) and Layer Bounds or Entire Document thumbnails (#3289).
  • Keys and panels. Ctrl+F4 closes a document on Windows and Linux (#7870). Pressing a grouped tool and dragging opens its flyout, and releasing picks the tool (#2324). The Move tool shows ΔX and ΔY beside the pointer (#5729), the Color panel has RGB sliders (#7317), and the panel dock can be dragged wider than 520 points (#8141). See /guides/shortcuts.

New tools and features

  • Interface: Tab in Full Screen Mode shows the menu bar, options bar, toolbar and dock over the canvas, and leaving Full Screen restores the panels as they were (#6830). The dock can now take the window width less 400 points (#8141). Page Up, Page Down, Home and End scroll the canvas (#8068); on macOS, Control-click opens context menus (#8221). Saved workspaces are listed in Window › Workspace (#5631), and Preferences › File Handling can stop adding "copy" to the name of a saved copy (#8085).
  • Layers: in the Smart Filters rows, double-clicking the name edits the filter's settings and the icon on the right opens its Blending Options, and the shared filter mask shows (#3283). A group's layers are indented (#8030), clicking the empty space below the layers deselects them (#8114), and Layer Comps can be reordered by dragging and renamed in place (#6891, #6508).
  • Moving and transforming: the Move tool's ΔX/ΔY readout follows Preferences › Tools › Show Transformation Values (#5729), and dragging a large floating selection no longer lags behind the pointer (#6318). Free Transform gets a 3×3 reference point widget (#3926). Warping a large layer runs in the background with progress, and Esc cancels; on an 8000 × 6000 layer the window used to freeze for 7 to 9 seconds (#5590). A dragged guide shows its position (#7800), and the Hand tool zooms with Ctrl/⌘ and Alt (#6452).
  • Brushes: the Brushes tab has a slider for the size of its previews, separate from the brush size; it isn't kept between launches (#8162). Comma and period pick the previous and next brush, and Shift with them the first and last (#7614). With airbrush build-up on, number keys set Flow and Shift+number sets Opacity (#7853). More on brushes: /guides/brushes.
  • Shapes, type and styles: triangles, polygons and stars get rounded corners (#5834). Clicking a path with the Type tool starts type on that path (#5180), and the Paragraph panel and type options bar have paragraph direction buttons, Auto, left to right and right to left (#6793). Recent Fonts is in the font menu (#3559). The Layer Style dialog gets a contour library with New, Load, Replace and Save Contours (#4392).
  • Colour: File › New has a Color Profile menu, the working space or another profile for the chosen mode (#6363). The Color panel switches between HSB and RGB sliders (#7317). Photoshop .act colour tables load into Swatches and Image › Mode › Color Table (#5407), and Color Lookup lists the .cube, .3dl and .look files of the LUT Folder set in Preferences › File Handling (#8219).
  • Printing and export: the image can be dragged on the page in the print preview, which turns Center off (#8236), and Functions › Bleed draws corner crop marks (#6389). Export As shows the size the file will have (#7677), and Save for Web has Width, Height, Percent and Resample (#6415).
  • Speed: Smart Blur is 3.5 times faster at radius 12 with the same output (#7924), building an Indexed Color palette is about 8 times faster (#6456), and the Object Finder finds small objects in large documents (#6692). See /guides/tools.

File formats

  • GIMP XCF: 8 and 16-bit integer images open as such, 32-bit integer as 16-bit, and float images as 32-bit float. Indexed images open as RGB. Text, vector and link layers open as their pixels, and GIMP 3's non-destructive layer effects, paths and sample points are left out, each with a note. GIMP blends most modes in linear light and PhotoCraft, like Photoshop, doesn't, so a file can look slightly different: in the project's tests, a Multiply layer at 60% was off by up to 38 of 255 levels (#2945, docs/xcf.md).
  • PSD Duotone: the ink block that v0.12.0 couldn't write is read and written: ink names, colours and curves. A PANTONE ink takes its colour from the file's Lab equivalent, and a 16-bit Duotone is still saved as Grayscale with a warning, since Photoshop refuses 16-bit Duotone. On screen, a duotone can differ from Photoshop's own RGB conversion by up to about 30 levels; the file itself is right (#4935, #8229).
  • PSD smart filters: 45 filters are now mapped, up from 41. The four Render filters open editable, but they still look clearly different from Photoshop's, Lens Flare most of all (#6160).
  • More PSD fixes: Gradient Map adjustment layers are padded as Photoshop expects, so it opens such exports, and re-saving an older export repairs it (#8081). The older text copy is updated on edit, though the author couldn't open the result in Photoshop (#8146). Layer comps without a visibility flag take the previous comp's, as in Photoshop (#8098), and a layer's own XMP metadata is kept (#8367).
  • JPEG: CMYK JPEG exports no longer carry a JFIF marker that made Windows Photos refuse them (#8042). Baseline Optimized only writes optimized tables at 4:4:4 or with Progressive, because of a decoder bug (#7883).
  • New formats, read only: uncompressed single-frame DICOM images (#4315) and Amiga IFF/ILBM bitmaps (#4713). Cineon (.cin) frames, readable since v0.10.0, can now be saved (#6265), and Indexed Color documents save as palette BMPs (#5928).
  • Video and HDR: an animated WebP brings every frame into a video layer, not only the first (#5635). HLG and PQ HEIC photos open as linear BT.2020 in 32-bit instead of too bright and washed out (#6873).
  • Camera raw: the EXIF covers NEF, ARW, CR2, DNG and RW2, not CR3 or RAF (#7791). The Demosaic choice in the open-time dialog re-develops the file on Open, but the preview keeps the method it opened with (#7417).

What opens and saves where: /guides/file-formats.

Languages

There are now 22 interface languages. Hindi's catalog has 491 rows, where the other 20 translations have between about 2,900 and 4,400, so much of the interface stays in English. No native speaker has reviewed it yet. On the desktop, Hindi text is drawn with a Devanagari font installed on the system; the web build can't use system fonts, so expect empty boxes there, as with Chinese (#6974, docs/localization-parity.md).

Other catalogs grew too: French is complete with 1,041 entries (#4474), Turkish had a full review (#5731), Czech was brought up to date (#7511), and Brazilian Portuguese and Russian got runtime labels that still showed in English (#8097, #6283). Chinese, Japanese and Korean menu titles get access keys such as "文件(F)" (#5882), and Preferences lists the languages by their own names (#8203). See /guides/language.

Automation (CLI & MCP)

  • photocraft-cli convert refuses to write over its input file, however the path is spelled, unless you pass --in-place (#7454).
  • New parameters: jpegFormat on the save commands and --jpeg-format on the CLI; scripts that save a JPEG are never shown the JPEG Options dialog (#7883). tiffCompression for scripted TIFF saves (#5470), profile on file.new (#6363), and rawDefaults.demosaic and ui.demosaic for raws (#7417).
  • layer.xmpMetadata reads and sets a layer's XMP packet, stored in PSD, PSB and layered TIFF where Photoshop keeps it (#8367).
  • Actions record File › Export › Export As with its settings (#7219). .atn files map Select Subject, Select and Mask, Color Range, clipping and layer masks (#6881), and a step Photoshop's format can't hold is refused instead of exported wrong in more cases (#7759). Batch keeps its results when the action saves and then closes the document (#8242). More on actions: /guides/actions.
  • The MCP stdio server answers a line that isn't UTF-8 with a parse error instead of ending the session (#8318), and nested action playback is bounded (#8408).

Setup and examples: /guides/mcp-cli.

Web build

The online editor on this site doesn't run this build; it has moved on to a newer one. The v0.13.0 web zip is 12,007,507 bytes (11.5 MiB), up from v0.12.0's 11,714,509.

  • The layout is the same as in v0.12.0: the boot module (98,880 bytes, and its .js, 26,999 bytes), app/photocraft-web.js (174,205 bytes), app/parts.txt, and the app gzipped in a single app/photocraft-web-*.part-aa of 11,907,794 bytes (11.4 MiB). Unpacked, the app is 26,021,930 bytes (24.8 MiB), up from 25,412,487. The hosting files didn't change, so the v0.12.0 self-hosting notes still apply.
  • Touch screens: one tap is one press again, so menus open on phones and tablets instead of closing at once (#6910). It wasn't tried on a real Android device.
  • GIMP XCF and the new read-only formats open in the browser too.
  • Chinese, Japanese and Korean text still shows as empty boxes in the web build, in type layers and in the interface (#1615, still open), and so does Hindi. Use the desktop app for these scripts.

Self-hosting notes are on /download/web.

Fixes and stability

  • GPU: besides the lost-device and out-of-memory fixes, Retry GPU after an error rebuilds the GPU canvas without a restart (#6897). On Intel Iris Xe with DirectX 12, red blocks no longer appear in brush previews and tool icons (#6791).
  • Windows on ARM: Auto now picks DirectX 12 for Qualcomm graphics, after a Vulkan driver crash was reported (#8004).
  • macOS: the Dock icon stays the app's own after the window opens (#7271), dropdowns no longer open behind dialogs on a trackpad tap (#7957), and Beep When Done plays the system alert (#6726).
  • Linux: in the Flatpak, opening a file while PhotoCraft runs opens it as a tab in the running window, as the other Linux packages have done since v0.10.0 (#7626).
  • Your files: a tab whose file another save writes over is marked unsaved (#8105); Save asks before replacing a file that an added or lowercased extension would name (#7051); file names that aren't valid Unicode are refused instead of rewritten (#8107); and a selection alone no longer marks a document modified (#6919).
  • Editing: Remove Background looks for the subject in the layer, not the whole canvas (#8245); Merge Layers keeps the Background layer (#6925); Puppet Warp's result matches its preview, and Delete removes the selected pin (#6786, #6754); Liquify undoes one short stroke at a time (#8128).
  • Keyboard Shortcuts: switching sets in the dialog now keeps the function keys of actions, the problem our v0.12.0 notes left open (#8287). Shift is recorded when you capture a shortcut (#7303), and custom keys on Page Up and Page Down work again (#6912).
  • Security: 32 hardening pull requests put memory and time bounds on reading RAW, HEIF, EXR, XCF, PDN, Affinity, FITS, GIF and PSD data, among others, and encode printer names in IPP requests (#8407).

More known problems and fixes: /guides/troubleshooting.

Breaking changes or things to know

  • Still no FreeBSD aarch64 build. The release notes say the target can't be built within the 5-hour CI limit, and the fix is tracked in craft-common-actions#39. FreeBSD x86_64 is still there.
  • Saving a JPEG asks first. In the app, Save, Save As and Save a Copy to a JPEG open JPEG Options before writing. Scripts and the CLI aren't asked (#7883).
  • convert won't overwrite its input. Scripts that relied on photocraft-cli convert in.jpg in.jpg now get an error; add --in-place (#7454).
  • Raws open at 300 ppi. A developed raw takes Preferences › Camera Raw Defaults › Resolution, 300 ppi by default, instead of 72. The pixels are the same, but the print size changes. A raw opened as its embedded preview keeps its own resolution (#7811).
  • Windows on ARM uses DirectX 12 under Auto. A backend chosen in Preferences, WGPU_BACKEND and --safe-gpu still apply (#8004).
  • Flatpak launches share one window. Start with --new-instance, or set PHOTOCRAFT_NEW_INSTANCE=1, for a separate process (#7626).
  • Actions that start with Deselect no longer stop when nothing is selected, but only on the engine's playback path, which scripts use. In the integration batch's testing, the same action played from the Actions panel still stopped (#6801, #8355).
  • Windows 7 and 8: PhotoCraft still needs Windows 10 or later (#2310), and the v0.13.0 MSI still has no installer check for older versions.

How to update

Download the build for your system from /download: Windows, macOS, Linux or the web build. The release has the same 28 files as v0.12.0, including the Arch Linux .pkg.tar.zst packages and SHA256SUMS.txt. v0.14.0 followed about three hours later with a handful of fixes, so you may want that one instead; see the v0.14.0 notes. Builds come only from the official GitHub release; avoid third-party mirrors. If you are coming from v0.11.1 or earlier, also read the v0.12.0 notes.

Full release notes, with every merged pull request: PhotoCraft v0.13.0 on GitHub.