This website requires JavaScript.
c0e0994fce
docs: present mode and frame latency overrides
feat/present-mode-override
Tanish Manku
2026-10-13 14:06:56 -0700
4240e53fc4
PHOTOCRAFT_PRESENT_MODE / PHOTOCRAFT_FRAME_LATENCY launch overrides for latency A/B tests (#1343 )
Tanish Manku
2026-10-13 14:06:38 -0700
583425b4df
Stroke latency trace: PHOTOCRAFT_STROKE_TRACE times each frame of a brush stroke (#1343 ) (#4403 )
main
Tanish Manku
2026-10-13 18:09:37 -0700
d055725952
Keyboard Shortcuts: Accept and Go to Conflict / Undo Changes, and reserved keys (K4a)
feat/shortcut-dialog-parity
Tanish Manku
2026-10-13 17:02:11 -0700
484499aa4e
.kys import: tool keys and sets saved on Windows (K3)
feat/kys-import-fidelity
Tanish Manku
2026-10-13 16:50:32 -0700
44f27ea12c
Keyboard shortcut sets: Set menu, New Set, Save, Delete, .kys Export and Summarize (K2)
feat/shortcut-sets
Tanish Manku
2026-10-13 14:44:00 -0700
a76831f632
Merge main into feat/stroke-latency-trace (keep both new stroke tests)
feat/stroke-latency-trace
Tanish Manku
2026-10-13 13:45:34 -0700
49c9b53a53
docs: regenerate scorecard after merging main
David Mann
2026-10-13 19:49:07 +0200
809f862ea9
Merge main into fix/secondary-shortcuts
David Mann
2026-10-13 19:48:23 +0200
99e1138877
Stroke layer effect: the outer edge stays round at wide sizes (#3646 ) (#3650 )
Scott C Hughes
2026-10-13 12:24:53 -0500
1bcb662828
Deep EXR: open cropped renders on their full display-window stage (#4907 )
Elvis33LE
2026-10-13 19:24:46 +0200
2571423bb3
fix(gpu): contain errors in unwatched compositor work (#4894 )
Ikki Nishihara
2026-10-14 02:24:37 +0900
5064d80b1e
TIFF: write and read EXIF as the file's own Exif and GPS directories (#4876 )
Gert Pellin - GPE
2026-10-13 19:24:27 +0200
b41e34c20f
Rulers: drag the zero point from the ruler corner, double-click resets it (#2955 ) (#3505 )
David Mann
2026-10-13 19:24:17 +0200
34ce5766d2
raw: decode Panasonic RW2 RawFormat 3 and 4 (vendor-compressed) (#3286 )
Gotya-OFFCIAL
2026-10-14 01:24:09 +0800
50c4f72af7
Speed up large-radius Unsharp Mask with guarded FFT convolution (#2987 )
optimalbytee
2026-10-13 18:23:55 +0100
fc0a579a4a
PSD: parallel RLE for the merged image; layer channels decode and gather on all cores (#2754 )
Elvis33LE
2026-10-13 19:23:44 +0200
995bc89c40
Auto-Blend Stack Images: a depth map by depth from focus, for Lens Blur (#2073 )
ragtux
2026-10-13 12:23:35 -0500
d35725200d
i18n(de): translate the labels that were still English (344 entries) and fix three display bugs (#4008 )
DomiLuebben
2026-10-13 19:21:38 +0200
be7a1f80fc
Blur Gallery: Field Blur pins on the image (#3373 ) (#3801 )
Timothy Daly
2026-10-13 13:10:11 -0400
50631b54f7
Profile prompts on open: one file at a time, before it opens, and the answer goes to that file (#3471 )
kayrockscreenprinting
2026-10-13 10:10:04 -0700
01b354a340
Add filename templates to Batch export (#4466 )
jonathanwxh-cell
2026-10-14 01:03:02 +0800
5f8733c74d
Speed up retouch blur convolution with exact-output coverage (#4511 )
jonathanwxh-cell
2026-10-14 00:56:28 +0800
25a82978b2
fix(segment): let Remove Background's cancel stop Select Subject's min cuts (#4878 )
LloydNicholson
2026-10-13 18:56:21 +0200
3260f6abb9
fix(psd): prioritize 16-bit and 32-bit global layer blocks over compatibility section (#4928 ) (#4950 )
Sir Starch
2026-10-13 18:56:15 +0200
57624bd02e
PSD: Backgrounds survive a round trip through PhotoCraft (#3560 )
MrCloudy2
2026-10-13 18:56:08 +0200
c15f2614fb
Scorecard: regenerate for the new alternate_shortcuts preference
David Mann
2026-10-13 18:53:07 +0200
74cb293570
Large document: full CPU canvas redraws run in the background, visible part first (#4024 ) (#5001 )
Ian Swope
2026-10-13 11:49:58 -0500
9a4d925b34
Brush: remember the last selected brush across restarts (split from #2516 ) (#3472 )
siraxe
2026-10-13 16:48:41 +0000
d0fc974aae
Wrap Clone Stamp strokes and sampling in Pattern Preview (#4997 )
jonathanwxh-cell
2026-10-14 00:48:33 +0800
a666ab5a85
History: jump to a state in one step (history.selectState) (#2966 ) (#3533 )
David Mann
2026-10-13 18:48:26 +0200
ca5755f5b0
Layer: Duplicate Layer to a new document, as in Photoshop (#4805 )
Abdul karim mia
2026-10-13 22:18:18 +0530
ce6fccc3f5
fix(type): missing-font checks follow layout's PostScript resolution; split hyphenless style suffixes (#608 )
kijoong
2026-10-14 01:48:09 +0900
d740ea638d
Puppet Warp: a linked layer mask moves with the pixels (#4910 ) (#4989 )
DeWarePeb
2026-10-13 18:48:02 +0200
4b76f10072
perf: encode and quantize canvas pixels in parallel (display_color, Buffer::to_rgba8) (#4768 )
Nicolas Falesy
2026-10-13 12:47:55 -0400
b007b1d355
Replace Color: Localized Color Clusters (points, localized, range) (#4477 )
Gert Pellin - GPE
2026-10-13 18:47:47 +0200
b3df06b8c4
perf(engine): lasso and polygon selections rasterise only the rows they span (#4532 ) (#4773 )
FinnNk
2026-10-13 17:47:40 +0100
55ae9bc11b
Docs: document the engine.commands reply shape (#3684 ) (#3750 )
David Mann
2026-10-13 18:47:32 +0200
1460187522
Layers: Cmd/Ctrl-click New Layer adds the layer below the current one (#4475 )
Sean Hellwig
2026-10-13 10:47:24 -0600
0a5cc0d1a0
Swatches: importing an .ase file numbers repeated group names in linear time (#5087 )
.CooCoo
2026-10-13 09:47:17 -0700
ef8dc9ea30
Layer locks: locking the pixels clears the transparency lock, as in Photoshop (#4892 ) (#4898 )
F4LCON
2026-10-13 18:47:10 +0200
1bac788706
info: a smart object embedded in a PSD is reported as embedded (#4843 )
Gert Pellin - GPE
2026-10-13 18:47:01 +0200
ecf54d1baf
Count document patterns in history budgets (#5105 )
jonathanwxh-cell
2026-10-14 00:46:53 +0800
fec0573e71
fix(window): reopen at the saved window position instead of re-centring (#4826 ) (#4850 )
Shehan Kavishka
2026-10-13 22:16:46 +0530
663863e62b
Smart Objects > Export Contents: another extension exports the contents in that format (#4847 )
Gert Pellin - GPE
2026-10-13 18:46:40 +0200
0df333f623
fix(gpu): require consent to persist CPU recovery (#3539 )
Nigel Ihza Firdausy
2026-10-13 23:46:33 +0700
52fcca883e
perf(paint): sampled tips share their samples, so cloning brush settings is cheap (#4534 ) (#4798 )
FinnNk
2026-10-13 17:46:25 +0100
2307acef92
feat(select): preserve existing mask metadata and allow explicit target in refineEdge (#4499 )
Tarek Mohamed
2026-10-13 19:46:17 +0300
b52115fc0a
Preserve document and history when Fade cannot allocate its buffers. (#4593 )
Vikram Bhaskaran
2026-10-14 03:46:10 +1100
f389d4ee64
info: adjustment layers are reported with the params their command takes (#4871 )
Gert Pellin - GPE
2026-10-13 18:46:03 +0200
207d05a0e2
Channels: keep the cached composite across view-only changes (#4915 )
Persi
2026-10-13 18:45:56 +0200
213770008a
Return allocation errors when clearing a color channel. (#4589 )
Vikram Bhaskaran
2026-10-14 03:45:49 +1100
759780e40d
Clip Fill source reads to the canvas before allocating pixels. (#4590 )
Vikram Bhaskaran
2026-10-14 03:45:42 +1100
0bdaf905cc
Curves: points outside 0..255 are refused, as the message says (#4868 )
Gert Pellin - GPE
2026-10-13 18:45:35 +0200
911881880d
Web: show the brush preset storage banner only while a change is unsaved (#4918 )
Anton
2026-10-13 19:45:26 +0300
523f1f06bc
Preferences › Interface: Photoshop's Appearance / Presentation / Options layout (#2532 ) (#2589 )
David Mann
2026-10-13 18:41:08 +0200
2e242bde67
Fix Export As freeze on large layered PSDs (#5104 )
Auros
2026-10-14 00:41:01 +0800
945e3e0ee4
Merge origin/main into fix/secondary-shortcuts
David Mann
2026-10-13 18:40:24 +0200
1e916a4e4a
Pen: Ctrl/Cmd edits the path being drawn in place (#4022 ) (#4526 )
baz
2026-10-13 16:34:23 +0000
907752daf2
Give Image Statistics a source-file dialog and stack mode selector (#4778 )
jonathanwxh-cell
2026-10-14 00:34:16 +0800
d3d86da130
Select › Color Range: Skin Tones (#4473 )
Gert Pellin - GPE
2026-10-13 18:34:04 +0200
96c0241b26
Distort: a quad dragged past the horizon draws only its front side, in the preview and the result (#4863 ) (#4870 )
F4LCON
2026-10-13 18:33:53 +0200
c4f0b8aa8b
fix(compose): redraw shapes crossing canvas bounds and include vector bounds in damage (#3946 ) (#4493 )
Tarek Mohamed
2026-10-13 19:33:47 +0300
e4f005d3dc
Palette PNGs open in Indexed Color mode with their colour table (part of #4804 ) (#4817 )
Marco Arnulfo
2026-10-13 18:33:39 +0200
efb67fc826
Text: binary-search the run lookup and probe smcp once per layout (#4430 ) (#4432 )
Valentin Klein
2026-10-13 18:33:33 +0200
66e07cbf79
fix(gpu): refresh patterns when defaults or formats change (#5013 )
Ikki Nishihara
2026-10-14 01:33:27 +0900
752f611264
perf(compose): the shape stroke split cache keeps to a byte budget and empties on Purge (#4530 ) (#4774 )
FinnNk
2026-10-13 17:33:21 +0100
5f2c23e142
Filters: Photoshop's Blur More kernel, Find Edges strength and Polar Coordinates direction (#4652 )
MrCloudy2
2026-10-13 18:33:15 +0200
cdfec72f71
perf(ui): the Navigator draws the GPU canvas's texture instead of a CPU thumbnail (#4518 ) (#4701 )
FinnNk
2026-10-13 17:29:25 +0100
13697cf5f5
Preset panels: the footer stays in view in a short dock group (#4790 ) (#4824 )
Dan Hiorns
2026-10-13 10:29:19 -0600
033ec991c2
fix(ui): show a magnifier cursor for the Zoom tool on Windows (#3735 ) (#3783 )
JGF
2026-10-13 12:29:13 -0400
ef2905ea8e
Control: list and answer the unsaved-changes prompt (#4920 ) (#4924 )
Dan Hiorns
2026-10-13 10:24:35 -0600
b21956aef7
fix(ui): Match Color's preview reads the Source document (#4851 ) (#4886 )
Shehan Kavishka
2026-10-13 21:54:28 +0530
cd35577c45
Polygonal Lasso: drop the polygon in progress when another document becomes active (#5015 )
avdyliisni9-png
2026-10-13 18:24:22 +0200
62bf7391ce
New Document: a custom background colour, from Custom… or the swatch beside the menu (#4789 ) (#4801 )
F4LCON
2026-10-13 18:24:16 +0200
f4b3766b91
Smart Filters: drag a filter up or down its stack to reorder it (#4897 )
abc2cb
2026-10-13 19:18:42 +0300
33d9cb6ac4
UI fonts: draw a variable CJK fallback at Regular, not Thin (#4820 ) (#4830 )
Dan Hiorns
2026-10-13 10:18:36 -0600
026de5e2a3
fix(layers): Ctrl+Alt+G releases the clipping mask when pressed again (#4927 )
OctaNebula
2026-10-13 18:18:28 +0200
ad62f350e5
Symmetry: Transform Symmetry gets commit/cancel buttons and its own cursors (#4495 ) (#4508 )
Dan Hiorns
2026-10-13 10:18:21 -0600
c72dda1914
Assign Profile: list only profiles of the document's colour mode (#4951 ) (#5020 )
Michael Higgins
2026-10-13 12:11:56 -0400
a0627311ab
Fix window dragging with modal dialogs (#4913 )
imSlicedBread
2026-10-13 09:11:50 -0700
f43d019a72
Brush Settings: use an amount slider for Hue Jitter (#4874 )
Arif Uğur Çelik
2026-10-13 19:11:44 +0300
05d361a367
Shortcuts: ⌥⇧⌘N makes a new layer without the dialog (#4794 ) (#4807 )
Dan Hiorns
2026-10-13 10:11:37 -0600
e4d281eb20
Brushes: preset card size numbers stay clear of the tips (#4454 ) (#4485 )
Dan Hiorns
2026-10-13 10:11:31 -0600
2ca12e17b5
Direct Selection: arrow keys nudge the selected anchors (fixes #4486 ) (#4500 )
Marco Arnulfo
2026-10-13 18:11:24 +0200
33728243fb
perf(gpu): closing a document frees what the compositor holds for it (#4529 ) (#4772 )
FinnNk
2026-10-13 17:07:27 +0100
533b9a1c62
perf(raster): moving a layer no longer stores tiles of only the default pixel (#4844 )
deadmeu
2026-10-13 16:07:20 +0000
f1233bb43a
io: a tagged CMYK file's merged image reads through its own profile (#4948 )
Timothy Daly
2026-10-13 12:07:14 -0400
7b0dbf182b
PNG: a whole-ppi pHYs reads back whole (300 ppi stays 300) (#4857 )
Gert Pellin - GPE
2026-10-13 18:07:08 +0200
5320cecb6d
fix(adjust): preserve midtone luminosity with multiple sliders (#4941 ) (#4990 )
Nigel Ihza Firdausy
2026-10-13 23:07:03 +0700
87aed12d62
Brush import: Dual Brush spacing comes from its tip (#4809 ) (#4889 )
Dan Hiorns
2026-10-13 10:06:56 -0600
1168a9dd73
Pen: a new path joins the selected path instead of replacing the Work Path (#4721 ) (#4730 )
F4LCON
2026-10-13 18:03:43 +0200
625141c2ad
fix(ui): display uppercase hex values in the color picker (#4859 )
Nigel Ihza Firdausy
2026-10-13 23:03:37 +0700
5adba14cd6
Navigator: one zoom row as in Photoshop, the percentage, Zoom Out, the slider and Zoom In (#4840 ) (#4854 )
F4LCON
2026-10-13 18:03:30 +0200
cca24dd0d8
Type options: the wheel over the font menu steps through the families (#3350 ) (#3524 )
Valentin Klein
2026-10-13 18:03:23 +0200
f20605219e
Keep applied guide layouts visible after preview closes (#5084 )
jonathanwxh-cell
2026-10-14 00:03:16 +0800
35710a94ad
Fix: native gesture fallback dedupe (#5080 )
Nigel Ihza Firdausy
2026-10-13 23:03:11 +0700
77d3478df1
fix(gradient): options-bar Opacity updates the live gradient layer (#5012 ) (#5045 )
Alon
2026-10-13 19:03:05 +0300
997406a584
Layer Style applies an open Free Transform first, so its preview shows (fixes #4821 ) (#4835 )
Marco Arnulfo
2026-10-13 18:02:58 +0200
78b70df227
Canvas: the CPU canvas shows crisp pixels when zoomed in (fixes #4810 ) (#4825 )
Marco Arnulfo
2026-10-13 18:02:51 +0200