storytold/photocraft
PhotoCraft Advances with v0.16.0 and Prior Updates, Enhancing Performance, Security, and Usability
PhotoCraft, an open-source photo editor written in Rust and designed as a clean-room reimplementation of Photoshop, has released versions 0.14.0, 0.15.1, and 0.16.0. These updates introduce improvements in security, performance, user interface, and file compatibility, while also adjusting platform support.
About PhotoCraft
PhotoCraft is an open-source photo editing application developed from scratch in pure Rust. It aims to provide a robust alternative to commercial software by supporting layered Photoshop documents, adjustment layers, layer styles, type, vectors, brushes, and advanced editing features. The project emphasizes compatibility with Photoshop files and workflows, offering users a free and extensible tool for photo editing and graphic design.
Release v0.14.0 Highlights
Released on October 23, 2026, v0.14.0 focused on security enhancements and platform support adjustments. Notably, support for FreeBSD on the aarch64 architecture was dropped due to continuous build-time limitations within the project's continuous integration (CI) system. This decision affects only the FreeBSD aarch64 target, while FreeBSD x86_64 and other platforms remain supported.
Security improvements in this release included:
- Indexing of slice IDs in PSD slice parsers to prevent malformed data issues.
- Preflight checks for PCX and XPM image allocations to avoid memory-related vulnerabilities.
- Hardening of native temporary and recovery file handling.
- Validation of embedded SVG raster images by header size.
- Prevention of double decompression of gzip-compressed SVG files.
Additionally, the release introduced a user interface change where the "View › Extras" command hides the Move tool's transform controls, improving workspace clarity.
Release v0.15.1 Highlights
Published shortly after v0.14.0, v0.15.1 concentrated on bug fixes, security hardening, and continuous integration improvements. Key changes included:
- Fixes to PSD file parsing to maintain pattern budget charges even on parse failures.
- Validation and bounding of untrusted font and PSD text processing to enhance security.
- Restrictions on droplet shim permissions and improved explanations for test ranges.
- Enhanced handling of linked files with path resolution improvements.
- Updates to the CI pipeline for better test coverage and reliability.
- Numerous security bounds applied to raster, document, ICC profiles, plugins, GPU, and UI components to mitigate potential attack vectors.
These changes collectively improved the stability and security posture of PhotoCraft, ensuring safer handling of complex image files and workflows.
Release v0.16.0 Highlights
The most recent release, v0.16.0, represents a substantial update with a wide range of enhancements across performance, user interface, file compatibility, and security:
Performance and Usability Improvements
- Reuse of filled-shape effect maps when moving styled groups, reducing redundant computations.
- Liquify tool optimizations by reusing interpolation taps and bounding render buffers.
- Moving command list rows instead of cloning for improved efficiency.
- Rasterization of text colors optimized to only cover their glyphs.
- Enhanced GPU compositor pipeline parallelization, significantly reducing startup time on DirectX 12.
- Improvements to the Slice tool, including fixed ratio and fixed size style options.
- New Guide Layout supports length units, improving layout precision.
- Color pickers now respond on press and follow small drags, enhancing color selection.
User Interface and Workflow Enhancements
- Fixes to layer visibility controls and extras display when showing grids.
- Modal behavior added to Liquify, Content-Aware Fill, Filter Gallery, and Adaptive Wide Angle dialogs, aligning with Camera Raw's user experience.
- The Levels and Curves adjustment dialogs open with their last used settings when triggered with the Option key plus shortcut.
- Curves adjustment graph now grows with the Properties panel and supports resizable dialogs.
- Perspective Crop tool's swap button now correctly swaps width and height.
File Compatibility and Export
- PSD smart filters such as Sharpen, Dust & Scratches, and Hue/Saturation remain editable after saving.
- Fixes to XCF import for linked-layer property lengths.
- WebP export now preserves image resolution.
- PSD export embeds linked files only when they are supported image types.
- Adjustments to ATN export to refuse partial Color Balance and Hue/Saturation exports.
Security and Stability
- Multiple bounds and limits added across scripting, batch processing, adjustment layers, import/export routines, and plugin handling to prevent resource exhaustion and malformed data issues.
- Fixes for GPU canvas recovery after out-of-memory errors.
- Prevention of non-finite affine inverses in geometry calculations.
Community Contributions
This release also welcomed numerous new contributors, reflecting a growing community around the project.
Summary
The recent PhotoCraft releases demonstrate a consistent focus on improving security, performance, and user experience while maintaining compatibility with Photoshop file formats. The project continues to evolve as a capable open-source photo editor, balancing advanced features with careful attention to safety and stability. Users and developers interested in a Rust-based photo editing solution with Photoshop interoperability may find these updates particularly relevant.