storytold Release Notes
66 release notes curated from 9 sources by the Releasebot Team. Last updated: Oct 13, 2026
storytold Products
- Oct 12, 2026
- Date parsed from source:Oct 12, 2026
- First seen by Releasebot:Oct 13, 2026
PhotoCraft v0.8.2
photocraft releases a major update with new creative tools, expanded Photoshop and file-format compatibility, and faster editing. Highlights include advanced selection, transform, text and color features, plus smoother performance, improved automation and broader localization.
What's Changed
Original source
Adopt shared docking while preserving panel controls and workspaces by @skylartaylor in #3097
GPU composite: reuse unchanged lower-stack chunks for property edits by @Elvis33LE in #1169
Design: bounded GPU stack prefix reuse for property edits by @Elvis33LE in #1164
feat(ui): allow disabling Studio canvas background dots by @Ni-zav in #2317
File Info shows Camera Data from EXIF/XMP (#2424) by @itrycodinganditsbad in #2692
fix(canvas): update Move transform-control cursors on first hover by @Ni-zav in #2887
Releasing a brush stroke no longer freezes: the commit takes the pixels the live stroke already drew (P32: 136 ms → 0.8 ms) by @tanish2k09 in #2131
fix(brush): interpolate pen pressure across Shift-click connecting strokes by @Ni-zav in #2890
fix(transform): commit Free Transform on an outside click by @Ni-zav in #2909
app.save: encode on the save worker, not the UI thread (#2488) by @ahmedhosnypro in #2517
fix(shortcuts): reject malformed bindings and correctly display Plus by @Ni-zav in #3006
Favorite themes from the appearance button's right-click menu by @luniiya in #2445
Render Video: animated GIFs keep their transparency (#3061) by @fabianghe in #3162
fix(type): exclude text inside hidden groups from automatic hit testing by @Ni-zav in #3173
Enhanced Controls: wire Zoom with Trackpad Pinch (#204) by @reynold-hu in #2577
Units & Rulers: wire the Type units preference (#204) by @reynold-hu in #2587
fix(type): use the correct line at soft-wrap caret boundaries by @Ni-zav in #3174
fix(masks): preserve off-canvas alpha in From Transparency by @Ni-zav in #3177
Rulers: keep tick marks and labels out of the origin corner by @arthurdeka in #2617
fix(psd): Improve interoperability and decoding by @reneleonhardt in #1955
fix(layers): remap linked-layer groups when copying between documents by @Ni-zav in #3178
Brush HUD: wire Vary Round Brush Hardness and Brush Preview Color (#204) by @reynold-hu in #2640
fix(history): preserve an empty layer selection across undo and redo by @Ni-zav in #3179
Auto-Align Layers: register focus and exposure brackets by intensity when there is nothing to match by @ragtux in #2065
Double-clicking a mask thumbnail in the Layers panel now opens that mask's settings by @Lyraedan in #2654
fix(layers): select Shift ranges in visible panel row order (#3041) by @Ni-zav in #3180
Auto-Blend Stack Images: fuse the merged layer per pyramid level by region energy, with halo control by @ragtux in #2044
fix(io): preserve group fill opacity in OpenRaster exports by @Ni-zav in #3181
Control channel: input methods reject bad params instead of using defaults (#2449) by @itrycodinganditsbad in #2656
fix(vector): pivot explicit path transforms on target layer (#3062) by @Ni-zav in #3183
General: wire Beep When Done for finished background jobs (#204) by @reynold-hu in #2658
fix(vector): preserve scaled live-line thickness during endpoint edits by @Ni-zav in #3184
fix(actions): avoid replaying Browse script edits twice by @Ni-zav in #3190
i18n test: scan past small test modules; translate what it was missing by @herzer in #2660
fix(masks): bake feathered coverage when applying a layer mask by @Ni-zav in #3191
Type: wire Font Preview Size for the font menu samples (#204) by @reynold-hu in #2668
fix(video): retain original footage for Restore Frame and Show Altered Video by @Ni-zav in #3192
Improve zoomed Liquify preview detail by @Elvis33LE in #2715
fix(compose): preserve Dissolve coverage for adjustments, styles and clipping by @Ni-zav in #3195
Color Replacement tool on the toolbar (#1045) by @itrycodinganditsbad in #2719
fix(shapes): preserve transformed outline on unchanged live geometry edits by @Ni-zav in #3197
Crop tool: New / Delete Crop Preset saves and removes user presets (#1919) by @davidmann4 in #2723
Test Move layer edges across bit depths and view modes by @Skyfuller1303 in #2738
fix(type): preserve formatting for trailing empty paragraphs by @Ni-zav in #3198
Keep custom crop ratio fields editable by @imSlicedBread in #3209
raw: fit non-DNG colour to the camera's embedded JPEG by @switch87 in #2135
Add Anchor Point and Delete Anchor Point tools (#1044) by @itrycodinganditsbad in #2756
fix(crop): stabilize resizing and apply ratio changes immediately by @TheTeslak in #3206
Layers panel: load a fallback font for layer names in other scripts (#2275) by @itrycodinganditsbad in #2758
Type: ⇧⌘> / ⇧⌘< change the type size (and work on Nordic/German layouts) by @Simonfalentinolesen in #2402
CLI: batch plays an action from an Actions set with the whole set loaded (#2786) by @vangel76 in #2792
Droplets: carry the actions their Play Action steps call (#2794) by @vangel76 in #2800
Spot Healing: Content-Aware dab no longer scans every patch in full (#2771) by @vangel76 in #2805
Layers: double-click a shape layer's thumbnail to pick its fill colour (#2812) by @vangel76 in #2820
TGA: targa options asks for 24 or 32 bits/pixel, same as in Photoshop by @Matty-PW in #2760
Tools: remember tool options between launches (#2814) by @vangel76 in #2822
Options bar: Reset Tool and Reset All Tools (#2825) by @vangel76 in #2830
Free Transform: right-click menu with the transform modes, rotate and flip (#2832) by @vangel76 in #2840
Channels: Edit › Transform works on a targeted alpha channel (#2835) by @vangel76 in #2845
Free Transform: themed rotate cursor and live angle/size/offset readout (#1767) by @itrycodinganditsbad in #2809
Move tool: drag a marquee from an empty spot to select the layers it touches (#2844) by @vangel76 in #2852
View: Pattern Preview tiles the document around the canvas (#1067) by @davidmann4 in #2803
Tools: Freeform Pen and Curvature Pen (#1054) by @vangel76 in #2856
Tools: Horizontal and Vertical Type Mask (#1055) by @vangel76 in #2861
Speed up large feathered mask refreshes by @Elvis33LE in #2417
Tools: Artboard tool (#2858) by @vangel76 in #2862
Tools: Perspective Crop (#1043) by @vangel76 in #2864
Actions: toggle, reorder and delete single steps (#2855) by @vangel76 in #2866
Text fields: drag-selecting in a single-line field follows the pointer's x (#1946) by @davidmann4 in #2821
perf: repeated Select Subject answers from the last mask (#2865) by @vangel76 in #2870
Dropdowns: press, drag onto an option and release to choose it (#2735) by @LloydNicholson in #2854
perf: Select › Modify › Feather/Smooth on 24 MP within budget (#2873) by @vangel76 in #2882
Refine gradient stop controls in Properties and Gradient Editor by @Skyfuller1303 in #2859
perf: duplicating a layer recomposites only where the copy draws (#2883) by @vangel76 in #2884
Status bar: buttons sit inside the bar with centred labels (#2823) by @davidmann4 in #2876
perf: keep resident GPU tiles and convert 32-bit tiles directly for brush dabs on large documents (#2900) by @vangel76 in #2902
Themes: Photoshop's light-gray and light Pro brightness levels (#2661) by @ngrafton2006 in #2892
scorecard: twenty rows describe work that is already in the tree by @Erica4fr in #2894
perf: marquee selections on large documents are built row by row (#2888) by @vangel76 in #2907
Tools: Frame tool (#2914) by @vangel76 in #2915
Add Photoshop-style guide layout dialog and live preview by @Skyfuller1303 in #2930
perf: pasting a layer recomposites only where it draws (#2901) by @vangel76 in #2917
Image Size: Photoshop's resampling, measured by @Unemars in #2451
Toolbar: Pro themes draw tool glyphs at two thirds of the button (#2665) by @ngrafton2006 in #2932
MCP bridge: reconnect before idle sockets die, retry reads, actionable timeouts (#2487) by @ahmedhosnypro in #2507
Dropdowns: type a letter to jump to an item, Enter to choose (#1481) by @davidmann4 in #2948
Layers: right-click an effect row for the layer style menu (#2846) by @davidmann4 in #2950
Smart Objects: linked smart objects follow their files while open by @KattKnight in #2510
Place: wire Always Create Smart Objects When Placing (#204) by @reynold-hu in #2543
Preferences: wire Tools › Show Transformation Values (#204) by @timothydaly1 in #2953
Channels: keep RGB off while an alpha or mask is shown, and select from that channel. by @Desayuno64 in #2555
Tools: wire Enable Flick Panning for the Hand tool (#204) by @davidmann4 in #2964
app.open: open directory .pcraft through the automation read root (#2490) by @ahmedhosnypro in #2581
Layers: Pattern Fill dialog for new and edited pattern fill layers (#2908) by @davidmann4 in #2979
Layer Style: contour picker and Contour Editor (#2912) by @vangel76 in #2949
Type: wire Show Font Names in English (#204) by @davidmann4 in #2981
Text fields: right-click edit menu (#2921) by @vangel76 in #2952
control: allow requests that operate an open Camera Raw dialog by @harrisonoconnorhover in #2988
Pixel grid: fade the line colour across mid-tones instead of flipping at one luma by @Jeremy8776 in #2990
Tests: the marquee ellipse check walks several dash periods of the curve by @ahmedhosnypro in #3018
Fix Shape Stroke controls, popup interactions and paint colours by @optimalbytee in #3019
Fix canvas context menus closing immediately on trackpad taps by @zi-ger in #3029
8-bit documents: soft, low-flow brush strokes are dithered instead of banded by @tanish2k09 in #3237
fix(ui): reduced suffix spacing width in the value field to prevent overflow (#3040) by @peppepol in #3084
Rulers: remember View › Rulers for new documents; guides as f64 (#2918) by @vangel76 in #2954
Mirror the shell for right-to-left UI languages (DIST-220-4) by @MathMattTech in #3114
Type: Edit › Paste, Copy and Select › All work on the text being typed (#2893) by @vangel76 in #2960
New Document: presets follow Units & Rulers › Preset Resolutions (#204) by @paulo-vc in #3126
Dialogs: the live dialog stays in front of older ones (stuck stacked profile prompts) by @kayrockscreenprinting in #3140
Window menu: list the open documents, the active one checked (#2991) by @brennanMKE in #3147
fix(ui): respect explicit dropdown defaults in schema dialogs (#3056) by @buivanvu94 in #3149
PSD: don't inflate an over-budget ZIP merged image at parse time (#2926) by @vangel76 in #2967
i18n(es): native-style review of the Spanish catalog (Dodge/Burn swap, Photoshop terminology, formal register) by @diegozpy in #3154
Type tool: right-click menu while editing text (#2968) by @vangel76 in #2969
Preserve HDR range in float adjustments and stack statistics by @grlessa in #2592
Speed up large Content-Aware Scale operations by @Elvis33LE in #2596
fix(zoom): Alt-click with the Zoom tool on desktops that take Alt+cli… by @kavishkashehan726-sudo in #3164
Select and Mask: live preview in Photoshop's view modes (#1754) by @vangel76 in #2970
Five exact-output speedups: dense Extrude 160s to 0.39s by @excited-raccoon in #2685
fix(ui): respect native desktop scale under Auto UI scaling (#1278) by @dylanmtaylor in #3165
fix: macOS Monterey crash on Intel Iris Pro (disable wgpu indirect validation) by @mjohnson7cd in #3171
fix(engine): allow targeting layer mask and vector mask via channel.target (#2458) by @buivanvu94 in #2705
Tools: Convert Point tool in the Pen flyout (#3204) by @Sir-Starch in #3211
fix(ui): unchanged Custom Proof Setup replaces active document proof profile (#3055) by @buivanvu94 in #3213
PSD: cap the layer tree in psd_to_document; layered TIFF checks group depth (#2940) by @vangel76 in #2975
Type menu: Anti-Alias › None first and checked; checks follow the edited layer (#2983) by @vangel76 in #2984
fix(ui): Global Light opens with stale values and overwrites document setting (#3054) by @buivanvu94 in #3217
Color Sampler tool (#1046) by @roaldosulejmani in #2753
Clip the checker under rounded colour swatches to their corners (#3208) by @myangaa1 in #3363
ci: refactor workflows to use storytold/craft-common-actions by @dylanmtaylor in #3432
Speed up Tilt-Shift with existing per-level halo trimming by @optimalbytee in #2880
Select and Mask: Refine Edge Brush (#2972) by @vangel76 in #2989
Layers: Combine Shapes merges the selected shape layers (#2400) by @davidmann4 in #2906
Move dock tabs between groups individually by @imSlicedBread in #3239
Add built-in rainbow gradient presets by @Myosh1 in #2916
Native brush outline and crosshair cursors on macOS, X11 and Wayland (#1343) by @tanish2k09 in #3243
Menus: a submenu stays open while the pointer heads for it (#1218) by @brennanMKE in #3251
i18n(pt-br): complete Brazilian Portuguese catalog (+782 missing UI, filter, and tool strings) by @onicafe in #3254
Zoom and Hand tools: right-click the canvas for the view menu (#3242) by @LloydNicholson in #3255
Quick Mask: an empty start and Select All stay apart (#2743) by @itrycodinganditsbad in #2922
raw: charge the lossless-JPEG intermediate and segment-sized buffers against max_alloc (#2925) by @switch87 in #3194
Prevent white flash when opening the screen color picker by @imSlicedBread in #3256
Add FITS read/write (astronomy images) by @dmoulton in #2956
ui: keep the Color panel knob in the corner it was dragged to by @switch87 in #3275
Rulers: stay level and fully ticked on a rotated view; guides turn with the image (#3233) by @vangel76 in #3282
ui: Dust & Scratches previews at full resolution, as it applies by @switch87 in #3287
Open several files in name order, keeping it for background opens (#3248) by @myangaa1 in #3293
GPU canvas: price the display textures before building them (#2934) by @vangel76 in #3299
Move tool: double-click type on the canvas to edit it (#1132) by @LloydNicholson in #3300
Free Transform: right-click W or H to pick their unit (#3235) by @dhiorns15 in #3301
Type: variable font axis sliders; optical size follows the type size (#2985) by @vangel76 in #2996
Tests: panic_hunt reruns a timed-out command before calling it hung (#2994) by @vangel76 in #2997
Cycle Color Lookup LUTs with keyboard and wheel by @imSlicedBread in #3304
Fix/3144 taskbar maximized by @axlecoffee in #3308
File Handling: wire Image Previews to embed a PSD thumbnail (#204) by @davidmann4 in #2971
Select and Mask: Output To New Document, with or without a layer mask (#2998) by @vangel76 in #3007
Inspect: report each layer's vector mask by @KnottyDyes in #2980
Pen: Alt breaks a handle while drawing, and close-drag pulls out the first anchor's handles (#3306) by @vangel76 in #3314
Type: Warp on live type takes the warp styles and stays editable, no prompt (#3004) by @vangel76 in #3008
feat(ui): Motion Blur and other filter angles get the angle dial (#3152) by @Kartik8Dwivedi in #3407
Free Transform: ⌘-drag of a corner scales editable type instead of distorting it (#3010) by @vangel76 in #3012
Color panel: HSB on sRGB values, like Photoshop (#3323) by @LloydNicholson in #3327
fix(shapes): options bar Fill/Stroke edit the selected shape by @alonfaraj in #3370
Installed ICC profiles in the profile menus, and Mirror in Print by @Moiztermind in #3011
Window: a window saved while minimized reopens at the minimum size, not 160 × 64 by @KattKnight in #3380
i18n: translate the Select and Mask dialog labels (#3014) by @vangel76 in #3015
Color: honour the EXIF sRGB tag on open; wire Ignore EXIF Profile Tag (#204) by @timothydaly1 in #3026
Linux: say so when no file dialog can open (#3354); read ldconfig on non-English systems by @DomiLuebben in #3397
fix(paint): respect Lock All on layer masks (#3094) by @Sir-Starch in #3111
Transform: Distort, Perspective and Warp keep shape layers live (#3009) by @vangel76 in #3025
fix(gradient): respect Lock All on Gradient Fills (#3093) by @Sir-Starch in #3120
fix(ui): focus and select hex field when color picker opens (#3375) by @buivanvu94 in #3408
Type: scan system fonts off the UI thread (#3021) by @vangel76 in #3030
fix(type): respect Lock All on text edits (#3092) by @Sir-Starch in #3132
fix(type): return caret after normalized CRLF insertion (#3074) by @Sir-Starch in #3138
Toolbox: make the colour swap arrow clearer by @Jeremy8776 in #3416
fix(type): navigate adjacent line with large leading (#3066) by @Sir-Starch in #3141
fix(ui): drop doubled options-bar borders reintroduced in UI.9 by @rafi612 in #3425
Transform Path: Distort, Perspective and Warp apply to paths (#3027) by @vangel76 in #3032
fix(crop): unlock Background when extending canvas (#3081) by @Sir-Starch in #3158
Fix Camera Raw preview color management by @imSlicedBread in #3427
fix(mode): restore indexed pixels after clearing transparency (#3080) by @Sir-Starch in #3153
Marquee: Single Row/Column Marquee History step names (#3031) by @vangel76 in #3035
fix(cli): skip recorded view and save steps in batch (#3058) by @Sir-Starch in #3143
Properties: a new adjustment or fill layer shows its settings, not its mask (#3369) by @davidmann4 in #3429
fix(filters): process untouched Reveal All masks (#3082) by @Sir-Starch in #3156
Keep the Color panel selected when switching themes (#3371) by @prekabreki in #3433
fix(history): read locked history sources (#3076) by @Sir-Starch in #3186
automation: refuse edit.installedProfiles, it scans the OS profile folders by @Sir-Starch in #3763
Keep transform controls with moved selected pixels (#3402) by @prekabreki in #3436
SVG: warn when text has no font to use (fixes the FreeBSD svg test) by @diegochagas in #3168
Crop tool: switching to another tool commits the pending crop (#3368) by @davidmann4 in #3451
fix(warp): Perspective Warp moves only the selected part of a linked … by @kavishkashehan726-sudo in #3148
Paths: Stroke Path with any brush-based tool and Simulate Pressure (#2978) by @vangel76 in #3039
fix(image): arbitrary canvas rotation moves position-locked children in groups (#3078) by @buivanvu94 in #3155
i18n(cs): translate the dynamic labels the Czech catalog was missing by @Losminek in #3454
Artboard tool: '+' buttons add a board beside the selected one; ⇧ keeps proportions (#3033) by @vangel76 in #3046
fix(transform): identity transform makes feathered selection edges translucent (#3079) by @buivanvu94 in #3159
Let the Actions step list grow with its panel by @kotulsky in #3460
Layers: clip groups follow New Layer, Arrange, Reorder and Delete (#2203) by @timothydaly1 in #3090
Type Mask: Shift/Alt at commit add to or subtract from the selection; no Layers row for the working text (#3036) by @vangel76 in #3069
Quick-export each selected layer as a separate PNG by @kotulsky in #3462
scorecard: FILE-216-5 save-path tests are in the tree by @davidmann4 in #3476
Actions: a command that runs other commands is recorded once (#3067) by @vangel76 in #3072
Type: triple-click selects a line, quadruple a paragraph, five clicks all text (#3493) by @davidmann4 in #3496
Layers: the New Layer dialog (Layer › New › Layer…, ⇧⌘N) by @timothydaly1 in #3104
Color Picker: no bigger than Photoshop's (532 × 376 points, was 682 × 437), buttons sized to their labels by @kayrockscreenprinting in #3500
Artboards: a board moved past the canvas origin grows the canvas left/up (#3070) by @vangel76 in #3073
Optimise computed brush coverage and native raster row writes by @optimalbytee in #3098
fix(crop): the crop box's own Undo/Redo (#3145) by @dottedt in #3510
Freeform Pen: Alt-clicks draw straight segments; Cmd/Ctrl is Direct Selection with the new pens (#3085) by @vangel76 in #3087
test(gradient): guard the on-canvas midpoint diamond drag (#3172) by @dottedt in #3512
Actions: Last Filter is recorded as the filter it repeated (#3089) by @vangel76 in #3091
Content-Aware Move: Transform On Drop (#3071) by @vangel76 in #3095
Numeric fields: typed units, scrubby labels, double-click reset (#3099) by @vangel76 in #3100
Keep fitted Camera Raw colour during tuning and crop Nikon D5100 borders by @optimalbytee in #3201
Preserve surrounding whitespace in OpenRaster layer names by @imSlicedBread in #3207
Tests: one GPU harness at a time in every GPU test binary (WARP crash) by @dhiorns15 in #3212
Content-Aware Scale: transform box with live preview (#3096) by @vangel76 in #3103
automation: doc.place reads a file through the read root (#2810) by @switch87 in #3215
Layers panel: Shift+Plus/Minus cycle blend modes; effects dropped on the Trash are deleted (#3102) by @vangel76 in #3106
Moving type keeps its rendering: Artboards to Files no longer drops PSD text by @fabianghe in #3218
Shortcuts: layout-independent brush keys, Photoshop's German keys plus a fallback for all layouts (#3109) by @vangel76 in #3112
Liquify: the brush fades to nothing at its edge at every Density (#2606) by @dhiorns15 in #3241
test(paint): pin the retouch dab footprint to the Full Size ring by @switch87 in #3258
Layers panel: a mask dragged onto the Trash asks to apply or delete it (#3113) by @vangel76 in #3118
PNG export: Indexed Color keeps the document resolution (#3047) by @vangel76 in #3271
Layers panel: dragging the vector mask to the Trash asks to delete just the mask (#3119) by @vangel76 in #3125
Interface: an Enable Animations preference (#3273) by @vangel76 in #3276
Edit > Copy takes a targeted layer mask, so masks travel between layers and documents (#2928) by @vbasky in #3267
automation: export layers, data sets and CSVs through the granted roots (#3216) by @switch87 in #3230
Type: fall back to installed Khmer, Lao and Burmese fonts (#218) by @RaccoonPie-314 in #3259
Curves: pencil mode, Smooth and Edit points (#3088) by @vangel76 in #3108
fix(io): smooth PSD gradients no longer overshoot their stops (#3028) by @Sir-Starch in #3285
Codecs: decode PNM straight into the budgeted output buffer (#2938) by @vangel76 in #3291
Properties: Curves adjustment layers get the black/gray/white eyedroppers (#3110) by @vangel76 in #3115
Format: admit the declared .pcraft canvas before loading it (#2935) by @vangel76 in #3295
fix(format): persist the Save As filename in .pcraft manifests (#3312) by @Ni-zav in #3319
Levels: black, gray and white point eyedroppers (#3116) by @vangel76 in #3128
Puppet Warp: the mesh follows the object outline (#3105) by @vangel76 in #3117
Clone Source: W/H link and overlay blend modes (#3298) by @vangel76 in #3310
Vanishing Point: on-canvas plane editor with Create/Edit Plane, grid and paste (#3122) by @vangel76 in #3133
Let [ shrink the brush to 1 px (#3229) by @myangaa1 in #3332
MCP: command_batch says it is not atomic, and the docs explain recovery by @KnottyDyes in #3338
New Document: a real Recent category of recently created documents (#3131) by @vangel76 in #3135
Group effects follow their children's effects, not just their pixels (#3274) by @alexanderalber in #3326
Format: reopening a .pcraft shares deduplicated tiles again (#3315) by @vangel76 in #3339
fix(presets): never overwrite preset or actions files that failed to load by @tms-h in #3346
fix(engine): create new layer masks at the document depth by @piero-83 in #3359
feat(api): add file path to document.inspect by @Mr-Pearce in #3398
Ctrl-click shape and path thumbnails to load selections by @kotulsky in #3449
fix(selection): scope Color Range to the active selection (#3313) by @Ni-zav in #3366
Layer › Duplicate Layer… asks for the copy's name and destination document (#3348) by @prekabreki in #3440
Copy takes every selected layer, Paste recreates them (#2478) by @DomiLuebben in #3394
Fix GIMP hole heading name and location by @philipzae in #3517
Commands check an explicit "layer" instead of whichever layer is active by @fabianghe in #3466
Brush cursor: shaped tips trace their outline (split from #2516) by @siraxe in #3467
perf: Edit > Clear works tile by tile on large selections (#3463) by @itrycodinganditsbad in #3482
Autosave: best-effort cleanup after commit; sweep orphaned recovery bundles (#3489) by @vangel76 in #3502
Raw: open monochrome LinearRaw DNGs (1 sample per pixel) (#3497) by @davidmann4 in #3503
PSD gradients: read the interpolation method Photoshop writes; add Smooth by @MrCloudy2 in #3442
CI: restore tests, catalogs, and web size gate by @skylartaylor in #3923
Color Balance: Photoshop's per-channel levels and gamma curves by @MrCloudy2 in #3443
Save: show save progress as Saving NN% in the status bar and tab title (#3389) by @davidmann4 in #3485
Warp presets: Photoshop's Bezier control grids instead of approximations by @MrCloudy2 in #3444
Brush and Pencil: hold ~ to erase, and Clear mode (#3439) by @itsF4LCON in #3465
Content-Aware tools: faster, cancellable at once, same pixels (P21, P22, P49) by @Unemars in #3395
fix(io): a fresh Metrics type layer writes no empty Txt2 stub (#3514) by @dottedt in #3529
Brush: show the smoothing string from brush to pointer (#3479) by @vangel76 in #3526
Security: verify AppImage build inputs by @skylartaylor in #2270
History panel: snapshots (camera button, snapshot rows, history.*Snapshot) (#2966) by @itsF4LCON in #3545
feat(ui): Photoshop's New Guide: units and colour by @FinnNk in #3553
Tools: Shift key switches tools by default, as in Photoshop (#3525) by @vangel76 in #3528
Use Fontconfig for Linux font discovery (#2330) by @Sir-Starch in #2961
Use each XRandR output's ICC profile in the screen picker by @Sir-Starch in #2962
Support automatic monitor ICC profiles on Linux X11 by @Sir-Starch in #2963
Security: harden document exports and automation inputs by @skylartaylor in #2269
Animated GIF: every frame loads into video layers (#572) by @Sir-Starch in #2999
GPU memory budget: read installed RAM on Windows by @dhiorns15 in #3189
fix(ui): correct the clipping-mask indicator orientation by @Skyfuller1303 in #3037
Windows installer: refuse Windows 7 and 8 with a clear message (#2310) by @dhiorns15 in #3261
Format: index ZIP entries by name and use crc32fast (#3474) by @vangel76 in #3488
psd: harden the standalone binary parsers (fuzz + property tests, gradient/swatch correctness) by @agent-346022 in #3542
Add Vietnamese localization by @duydev in #2636
Linux: StartupWMClass is the window's app id by @atoslins in #3481
M11: ten more MCP acceptance tasks (11-20) for FILE-216-6 by @reynold-hu in #3562
fix(ui): don't reopen floating Brush Settings on restart by @Ni-zav in #3570
M11: six rounding-out acceptance tasks (31-36) by @reynold-hu in #3568
Options bar: the Gradient tool's controls show in every theme (#3601) by @vangel76 in #3607
fix(ui): one eliding label for fixed-width chrome, so translations can't overrun (#3580) by @dottedt in #3616
test(ui): marquee shift+alt before the drag intersects the selection (#208) by @agent-346022 in #3624
Crop tool: a resized frame snaps its handle, not the pointer (#3638) by @davidmann4 in #3640
fix(transform): keep nearest-neighbor previews on original texels by @Ni-zav in #3688
fix(engine): image.canvasSize rejects unlisted anchors instead of landing between two (#2946) by @agent-346022 in #3572
Edit › Transform › Skew: corners and sides move along one axis, like Photoshop (#3437) by @kayrockscreenprinting in #3590
PSD: alpha channel resources count the merged transparency; 13-byte DisplayInfo by @MrCloudy2 in #3577
Glows: Photoshop's precise ramp; centre-source glows inverted after the contour by @MrCloudy2 in #3578
Canvas: wheel/pinch zoom over the pasteboard keeps the image in view (#3720) by @FredApps in #3731
Select: open the Save Selection and Load Selection dialogs (#3713) by @itrycodinganditsbad in #3738
Toolbar: the colour chips sit right under the tools again by @Unemars in #3745
Fix: video frames to layers working using folder dialog request (#3513) by @peppepol in #3718
Menus: keep clear of the taskbar when Wayland hides the window position (#3737) by @FredApps in #3739
i18n(it): translate the dynamic labels the Italian catalog was missing by @fabiodalez-dev in #3742
Chisel bevels: Photoshop's facet slope and ramp ends by @MrCloudy2 in #3595
Character panel: OpenType feature buttons (TYPE-218-5, #3752) by @davidmann4 in #3757
Brush: symmetric live strokes update only what changed (#3593) by @xsvm in #3605
Move: an unlinked layer mask moves alone when targeted (#3604) by @vangel76 in #3611
fix(ui): drag a document tab off the strip to float it in its own window (#3733) by @bommerts in #3785
fix(web): keep the canvas steady during preset saves by @zenjabba in #3805
UI: drag to reorder swatch groups and preset folders (#3658) by @dottedt in #3828
Keep transform preview visible while panning (#3610) by @Sir-Starch in #3843
perf: draw marching ants as one mesh instead of a line shape per dash by @JameEnder in https://github.com/storytold/photocraft/pull/3846
Fail CLI run when recorded action playback fails by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/3861
Guides: Shift-drag out of a ruler lands on the nearest ruler tick (#3770) by @n-delic in https://github.com/storytold/photocraft/pull/3796
fix(engine): a PSD type layer names the installed font, not an invented one (#3556) by @dottedt in https://github.com/storytold/photocraft/pull/3564
Actions: replay tests for crop, filters, selections and styled text on a second document (AUTO-219-4) by @reynold-hu in https://github.com/storytold/photocraft/pull/3566
feat(psd): Gradient Map stops in CMYK, Lab, Gray and HSB import and round-trip by @echelon in https://github.com/storytold/photocraft/pull/4033
feat(save): File › Save keeps a JPEG's quality and a WebP's lossy/lossless encoding (#2399) by @echelon in https://github.com/storytold/photocraft/pull/4032
PSD: descriptor ids warp, list and time are written as strings, as Photoshop writes them by @echelon in https://github.com/storytold/photocraft/pull/4039
fix(liquify): pointer speed no longer changes the warp (continuous dab spacing) by @echelon in https://github.com/storytold/photocraft/pull/4047
Update Japanese translations by @coolvitto in https://github.com/storytold/photocraft/pull/3892
UI: unify plain text inputs on one text_field widget (#3789) by @dottedt in https://github.com/storytold/photocraft/pull/3896
Layer › Export As exports every selected layer or artboard (#3629) by @fabianghe in https://github.com/storytold/photocraft/pull/3909
UI: Photoshop-style in-dialog preview for the generic filter dialogs (#3769) by @dottedt in https://github.com/storytold/photocraft/pull/3877
fix(ui): allow selecting shapes and editing color with path selection (#3915) by @seotarek in https://github.com/storytold/photocraft/pull/3932
PSD type layers: TySh bounds, AntiAlias numbers and version info written as Photoshop writes them by @echelon in https://github.com/storytold/photocraft/pull/4041
PSD: rasterized fill and smart layers stay rasterized after save and reopen by @echelon in https://github.com/storytold/photocraft/pull/4034
Dismiss Home when closing a document tab (#3981) by @vbasky in https://github.com/storytold/photocraft/pull/3984
fix(ui): show a paint-bucket cursor for the Paint Bucket tool (#3968) by @MarekSpodBiedry in https://github.com/storytold/photocraft/pull/3989
fix(ui): Open layer color choices from the visibility icon by @Ni-zav in https://github.com/storytold/photocraft/pull/4001
fix(ui): Make checkbox labels nonselectable and show pointer cursors by @Ni-zav in https://github.com/storytold/photocraft/pull/4002
fix(ui): keep filter jobs polling on idle Linux by @rozaqabdul656 in https://github.com/storytold/photocraft/pull/3961
Add WebP and optional quality to Batch export dialogs by @zenjabba in https://github.com/storytold/photocraft/pull/3956
feat(compose): Lab documents evaluate Invert, Posterize, Threshold, Brightness/Contrast and Gradient Map on L, a, b by @echelon in https://github.com/storytold/photocraft/pull/4038
PSD: composite_rgba8 checks the output budget and converts planes fallibly (#3639) by @vangel76 in https://github.com/storytold/photocraft/pull/3651
PSD: don't preallocate knots from untrusted path length counts (#3635) by @vangel76 in https://github.com/storytold/photocraft/pull/3654
PSD: bound the zero padding of undersized pattern channels (#3652) by @vangel76 in https://github.com/storytold/photocraft/pull/3686
PSD: cap descriptor list/object preallocation from untrusted counts (#3636) by @vangel76 in https://github.com/storytold/photocraft/pull/3699
fix(engine): Displace smart filter ignores its mapPath displacement map (#3670) by @horknfbr in https://github.com/storytold/photocraft/pull/3676
PSD: smart object Trnf frames the custom warp's control points, not the source rect (#3671) by @horknfbr in https://github.com/storytold/photocraft/pull/3677
feat(io): import Photoshop Displace smart filters with their embedded map (#3673) by @horknfbr in https://github.com/storytold/photocraft/pull/3680
Gradient Map: edit color stops on the ramp by @arthurdeka in https://github.com/storytold/photocraft/pull/3982
Free Transform: a layer's style shows while the box is open, drawn from the transformed layer (#3653) by @kayrockscreenprinting in https://github.com/storytold/photocraft/pull/3696
fix(algo): mesh warps filter their source when shrinking, so thin lines don't alias (#3672) by @horknfbr in https://github.com/storytold/photocraft/pull/3678
feat(io): open Krita .kra composites as editable raster documents (#3692) by @Ni-zav in https://github.com/storytold/photocraft/pull/3700
fix(psd): Multichannel alpha channels stay alpha; a save keeps resources and global blocks by @echelon in https://github.com/storytold/photocraft/pull/4031
fix(layers): identify the Background by structure, never by its English name by @echelon in https://github.com/storytold/photocraft/pull/4036
Codecs: refuse implausible PNG/WebP headers before allocating (#3691) by @vangel76 in https://github.com/storytold/photocraft/pull/3706
PSD: avoid cloning layer data when padding and presize the output buffer (#3687) by @vangel76 in https://github.com/storytold/photocraft/pull/3707
Codecs: bound the TIFF IFD walk by a file-size entry budget (#3683) by @vangel76 in https://github.com/storytold/photocraft/pull/3711
Select the Normal RGB blend kernel once per buffer by @Streetblock in https://github.com/storytold/photocraft/pull/3715
Allow empty vector masks in downsampled preview proxies by @Streetblock in https://github.com/storytold/photocraft/pull/3716
feat(codecs): decode legacy PCX images and palettes (#3692) by @Ni-zav in https://github.com/storytold/photocraft/pull/3701
fix(text): scale faux bold dilation with glyph scaling (#3705) by @nicolasfalesy in https://github.com/storytold/photocraft/pull/3719
Answer a repeat auth with "already authenticated" (#3668) by @itrycodinganditsbad in https://github.com/storytold/photocraft/pull/3723
Codecs: integer fast paths for Image::convert (#3717) by @vangel76 in https://github.com/storytold/photocraft/pull/3729
automation: say why a command is disabled in engine.commands (#3664) by @itrycodinganditsbad in https://github.com/storytold/photocraft/pull/3740
feat: Photoshop's layer and selection keys (Ctrl+, toggle, Ctrl+, /, Ctrl+Alt+2, Ctrl+Alt+Backspace, Tab rename, Alt-click thumbnail) by @FinnNk in https://github.com/storytold/photocraft/pull/3710
View: remember Extras, Show and Snap To across restarts (#3762) by @bommerts in https://github.com/storytold/photocraft/pull/3787
fix(automation): warn when text falls back from a missing font (#3391) by @buivanvu94 in https://github.com/storytold/photocraft/pull/3630
Satin: Distance 0 draws as 1 px, as in Photoshop by @MrCloudy2 in https://github.com/storytold/photocraft/pull/3744
Type: editing text keeps its ligatures and OpenType alternates (#3617) by @davidmann4 in https://github.com/storytold/photocraft/pull/3747
Brushes: Photoshop's texture Height/Subtract modes, Brightness and Contrast (#3340) by @davidmann4 in https://github.com/storytold/photocraft/pull/3749
Camera raw colour fit: read a Sony Adobe RGB preview as Adobe RGB, not sRGB by @Madcat71 in https://github.com/storytold/photocraft/pull/3760
Shadows/Highlights: Photoshop's, measured by @Unemars in https://github.com/storytold/photocraft/pull/3765
Black & White: tint like the Color blend mode, as in Photoshop by @MrCloudy2 in https://github.com/storytold/photocraft/pull/3780
Hue/Saturation: Photoshop's saturation curve, lightness order and Colorize lightness by @MrCloudy2 in https://github.com/storytold/photocraft/pull/3781
History: add history.undo and history.redo aliases (#3675) by @dottedt in https://github.com/storytold/photocraft/pull/3786
Fix straight-path anchor insertion at the hit position by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/3856
Preserve signed HDR colors during surface transforms by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/3857
Brushes: drag a brush folder into another folder (#2014) by @davidmann4 in https://github.com/storytold/photocraft/pull/3851
Keep CMYK ink values when flattening and merging (#3778) by @itrycodinganditsbad in https://github.com/storytold/photocraft/pull/3855
Type: wire missingGlyphProtection (script fallback toggle) by @reynold-hu in https://github.com/storytold/photocraft/pull/3863
io: read version 3 Photo Filter colour as XYZ, not Lab (#3777) by @itrycodinganditsbad in https://github.com/storytold/photocraft/pull/3790
Workspace: wire Enable Narrow Options Bar (#204) by @reynold-hu in https://github.com/storytold/photocraft/pull/3870
Selective Color (Absolute): scale by the room the ink has, as in Photoshop by @MrCloudy2 in https://github.com/storytold/photocraft/pull/3793
Shift Edge moves by a fraction of a pixel so the slider does not snap by @Desayuno64 in https://github.com/storytold/photocraft/pull/3800
Image > Mode > 32 Bits/Channel: convert to linear light, as Photoshop does by @MrCloudy2 in https://github.com/storytold/photocraft/pull/3792
Engine: Flatten All Layer Effects keeps layer and vector masks (#3804) by @dottedt in https://github.com/storytold/photocraft/pull/3835
fix(gpu): flush every 1000 passes so deep stacks don't pile into one command buffer by @JameEnder in https://github.com/storytold/photocraft/pull/3844
perf(gpu): a duplicated layer's texture starts as a copy of its source by @JameEnder in https://github.com/storytold/photocraft/pull/3848
perf: the Navigator redraws only the area an edit changed by @JameEnder in https://github.com/storytold/photocraft/pull/3845
perf: edits, undo and redo recomposite only where added or removed layers draw by @JameEnder in https://github.com/storytold/photocraft/pull/3847
Remove tool: Create a new layer, and Remove after each stroke off by @diegochagas in https://github.com/storytold/photocraft/pull/3808
Workspace: wire Auto-Collapse Iconic Panels (#204) by @reynold-hu in https://github.com/storytold/photocraft/pull/3880
Camera Raw on raw opens: Clarity, Texture and Dehaze in linear light, measured by @Unemars in https://github.com/storytold/photocraft/pull/3815
Layer styles: Photoshop's measured contour presets; Satin's contour lookup by @MrCloudy2 in https://github.com/storytold/photocraft/pull/3803
fix(smart-object): keep pixels when rasterizing smart object layer by @Gotix-eg in https://github.com/storytold/photocraft/pull/3873
PSD: write kept 8B64 blocks as 8BIM so Photoshop opens PSB-derived files by @MrCloudy2 in https://github.com/storytold/photocraft/pull/3743
fix(io): preserve indexed BMP color tables (#3802) by @Sir-Starch in https://github.com/storytold/photocraft/pull/3869
feat: Photoshop's tool keys (arrows turn the brush, Shift-click new type, Space+F canvas colour) by @FinnNk in https://github.com/storytold/photocraft/pull/3725
PSD type: read styles from the run's sheets and place text at its Txt2 frame (#3795, #1317) by @FredApps in https://github.com/storytold/photocraft/pull/3819
Merged and stamped layers keep their content bounds in CMYK and Lab by @dgliwa in https://github.com/storytold/photocraft/pull/3886
Preserve surviving channel targets and visibility on deletion by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/3887
Layers: Merge Group for a selected group (#3832) by @FredApps in https://github.com/storytold/photocraft/pull/3888
test(cms): validate profile-specific CMYK endpoints by @FredApps in https://github.com/storytold/photocraft/pull/3890
Count video footage in history memory budgets by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/3894
Mix filtered selection edges with premultiplied alpha by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/3895
Color: convert input-only embedded profiles to the working space on open (#3876) by @HEOJUNFO in https://github.com/storytold/photocraft/pull/3900
Format: check pattern sizes on load (#3478) by @vangel76 in https://github.com/storytold/photocraft/pull/3484
Format: overflow-safe blob decode and bounds-checked ZIP reads (#3486) by @vangel76 in https://github.com/storytold/photocraft/pull/3501
Fuzz: ignore the same build leftovers in every fuzz crate by @s17sh70x2jfl031ag in https://github.com/storytold/photocraft/pull/3585
HEIF: move the heic-rs pin from 0.1.1 to 0.1.4 by @s17sh70x2jfl031ag in https://github.com/storytold/photocraft/pull/3637
Codecs: decode only the requested EXR part (#3721) by @vangel76 in https://github.com/storytold/photocraft/pull/3722
Codecs: decode JPEG and CCITT G3/G4 compressed TIFF (#3712) by @vangel76 in https://github.com/storytold/photocraft/pull/3727
fix(linux): avoid duplicate AppImage desktop launcher (#3623) by @Korg1ch in https://github.com/storytold/photocraft/pull/3641
ops: count selection masks in history pixel budget by @Streetblock in https://github.com/storytold/photocraft/pull/3614
Verify PngSuite archives and cached corpus files by @zenjabba in https://github.com/storytold/photocraft/pull/3973
feat: Alt+Cancel → Reset for opt-in command dialogs by @seandellis in https://github.com/storytold/photocraft/pull/3871
i18n(tr): add Turkish UI translation catalog by @yeniufuklar-com in https://github.com/storytold/photocraft/pull/3809
i18n: add Hungarian (hu) UI translation by @Skaywalker in https://github.com/storytold/photocraft/pull/3831
Release workflow: pass the Azure signing secrets by @echelon in https://github.com/storytold/photocraft/pull/3794
Fix main: wasm size cap, Windows Export As test, filter preview window (scope and a crash), CLI duplicate font warnings by @echelon in https://github.com/storytold/photocraft/pull/4147
Web: wasm back under the 24 MiB gate with ~1 MiB headroom (25.38 → 24.17 MB) by @bommerts in https://github.com/storytold/photocraft/pull/4253
New Contributors
@skylartaylor made their first contribution in #3097
@herzer made their first contribution in #2660
@Skyfuller1303 made their first contribution in #2738
@imSlicedBread made their first contribution in #3209
@TheTeslak made their first contribution in #3206
@Simonfalentinolesen made their first contribution in #2402
@Matty-PW made their first contribution in #2760
@ngrafton2006 made their first contribution in #2892
@KattKnight made their first contribution in #2510
@timothydaly1 made their first contribution in #2953
@Desayuno64 made their first contribution in #2555
@peppepol made their first contribution in #3084
@MathMattTech made their first contribution in #3114
@paulo-vc made their first contribution in #3126
@diegozpy made their first contribution in #3154
@grlessa made their first contribution in #2592
@dylanmtaylor made their first contribution in #3165
@mjohnson7cd made their first contribution in #3171
@myangaa1 made their first contribution in #3363
@Myosh1 made their first contribution in #2916
@onicafe made their first contribution in #3254
@dmoulton made their first contribution in #2956
@axlecoffee made their first contribution in #3308
@KnottyDyes made their first contribution in #2980
@Kartik8Dwivedi made their first contribution in #3407
@Moiztermind made their first contribution in #3011
@DomiLuebben made their first contribution in #3397
@Losminek made their first contribution in #3454
@dottedt made their first contribution in #3510
@RaccoonPie-314 made their first contribution in #3259
@tms-h made their first contribution in #3346
@piero-83 made their first contribution in #3359
@Mr-Pearce made their first contribution in #3398
@philipzae made their first contribution in #3517
@agent-346022 made their first contribution in #3542
@duydev made their first contribution in #2636
@atoslins made their first contribution in #3481
@FredApps made their first contribution in #3731
@fabiodalez-dev made their first contribution in #3742
@JameEnder made their first contribution in https://github.com/storytold/photocraft/pull/3846
@jonathanwxh-cell made their first contribution in https://github.com/storytold/photocraft/pull/3861
@n-delic made their first contribution in https://github.com/storytold/photocraft/pull/3796
@seotarek made their first contribution in https://github.com/storytold/photocraft/pull/3932
@horknfbr made their first contribution in https://github.com/storytold/photocraft/pull/3676
@nicolasfalesy made their first contribution in https://github.com/storytold/photocraft/pull/3719
@Madcat71 made their first contribution in https://github.com/storytold/photocraft/pull/3760
@Gotix-eg made their first contribution in https://github.com/storytold/photocraft/pull/3873
@dgliwa made their first contribution in https://github.com/storytold/photocraft/pull/3886
@s17sh70x2jfl031ag made their first contribution in https://github.com/storytold/photocraft/pull/3585
@Korg1ch made their first contribution in https://github.com/storytold/photocraft/pull/3641
@seandellis made their first contribution in https://github.com/storytold/photocraft/pull/3871
@yeniufuklar-com made their first contribution in https://github.com/storytold/photocraft/pull/3809
@Skaywalker made their first contribution in https://github.com/storytold/photocraft/pull/3831
Full Changelog: v0.7.0...v0.8.2 - Oct 12, 2026
- Date parsed from source:Oct 12, 2026
- First seen by Releasebot:Oct 13, 2026
GridCraft v0.6.1
gridcraft releases a major spreadsheet update with PivotTables, slicers, Solver and forecasting tools, richer charts and Excel compatibility, encrypted workbook support, new languages, and broad improvements to editing, printing, and the interface.
What's Changed
- selection.move: clamp extreme dr/dc to the sheet edge instead of overflowing by @webdevtodayjason in #232
- CHOOSE: pick element by element when the index is an array by @nihilist-narwhal in #252
- Add MacJedi42 to the contributor names by @MacJedi42 in #253
- Sort and Remove Duplicates: compare text the way Excel does by @nihilist-narwhal in #255
- XLSX: write one cfvo per icon in icon-set rules (#235) by @alexanderalber in #262
- XLSX: write @ as _xlfn.SINGLE in a dynamic-array formula (#64) by @alexanderalber in #267
- Fix Paste button deadlock in ribbon by @ttrudging in #272
- Add vangel76 to the contributor names by @vangel76 in #274
- UI: skip system fonts egui can't parse instead of panicking at startup (#226) by @vangel76 in #277
- UI: Name Box Enter goes to the typed cell, not the one below (#247) by @vangel76 in #282
- macOS: use the correctly padded Dock icon by @Zarvinx in #222
- fix: Save toolbar button and saveChanges dialog discard an in-progress cell edit by @Dejan-Port in #223
- XLSX: bump quick-xml 0.38 -> 0.41 (RUSTSEC-2026-0195 namespace-declaration DoS) by @pkibiego in #231
- Accuracy: round an exact tie at the 16th significant digit toward zero by @MacJedi42 in #248
- Criteria: text patterns don't match blank cells by @nihilist-narwhal in #250
- ci: refactor workflows to use storytold/craft-common-actions by @dylanmtaylor in #336
- Do not draw the selection over the frozen pane when it lies only in the scrolling pane (#198) by @MarekSpodBiedry in #217
- Resize charts from the corner handle and the Size fields, keep typed chart and table names (#190) by @MarekSpodBiedry in #218
- Delete selected charts with the keyboard by @Zarvinx in #219
- i18n: Spanish interface translation (the Español option only localized formulas) by @diegozpy in #242
- Conditional formatting: apply every matching rule; Cell Value rules as in Excel by @nihilist-narwhal in #251
- AutoFilter: a selected header row filters the data below it; search box in the filter menu (#201) by @alexanderalber in #263
- Add German (de) interface language by @arekown in #271
- Functions: ODDFPRICE, ODDFYIELD, ODDLPRICE, ODDLYIELD (#275) by @vangel76 in #276
- Fill handle: Ctrl+drag swaps copying and extending a series (#264) by @vangel76 in #278
- Functions: PERCENTOF and EUROCONVERT (#279) by @vangel76 in #280
- Clipboard: pasted currency cells keep the number from the clipboard HTML (#257) by @vangel76 in #285
- Functions: BAHTTEXT (#291) by @vangel76 in #292
- Name Manager: New… and Edit… open the name dialog and return to the manager (#238) by @vangel76 in #293
- View: Interface size preference scales the whole window (#230) by @vangel76 in #294
- View: Formula Bar and Zoom 100% as engine commands (#289) by @vangel76 in #295
- Functions: TRIMRANGE (#296) by @vangel76 in #297
- Keep formula helpers inside the worksheet when scrolling (#200) by @webdevtodayjason in #228
- Typed dates before 1900 stay text; typed times past 24 hours keep their hours by @nihilist-narwhal in #254
- macOS: centre the window buttons in the title bar (#170) by @vangel76 in #323
- Issue #347: Protect Sheet and Unprotect Sheet mask the password by @LloydNicholson in #351
- Charts: Recommended Charts opens a dialog of chart types with previews (#215) by @vangel76 in #301
- XLSX: write threaded comments and persons parts, read note visibility (#300) by @vangel76 in #302
- Charts: Select Data edits the category axis labels; blank corner makes column 1 the categories (#287) by @vangel76 in #303
- Checkboxes: ribbon button, Excel's value and Delete rules, XLSX cell controls (#196) by @vangel76 in #305
- PivotTables: calculated fields (pivot.calculatedField) (#304) by @vangel76 in #306
- Review: Allow Edit Ranges with Excel-compatible password hashes (#307) by @vangel76 in #308
- Grid: freeze panes by dragging the freeze handles (#195) by @vangel76 in #309
- Grid: mirror right-to-left sheets (#146) by @vangel76 in #310
- Charts: PivotCharts (insert.pivotChart) (#311) by @vangel76 in #313
- Windows: never load Vulkan by default; OpenGL fallback when DirectX 12 can't start (#120) by @vangel76 in #315
- macOS: end the process in on_exit so quitting doesn't crash (#117) by @vangel76 in #316
- Functions: FORECAST.ETS, .CONFINT, .SEASONALITY and .STAT (#314) by @vangel76 in #317
- UI: title-bar light/dark switch, File › Display theme, system appearance on first run (#194, #239) by @vangel76 in #318
- Keyboard: Excel shortcut audit, add the missing ones (#110) by @vangel76 in #319
- Data: Analysis ToolPak with 13 tools and the Data Analysis dialog (#312) by @vangel76 in #320
- Packaging: offer GridCraft for .xlsb and .ods files (#92) by @vangel76 in #321
- Data: Solver with Simplex LP, integer branch and bound and a nonlinear method (#326) by @vangel76 in #327
- UI: File tab Backstage view (#174) by @vangel76 in #331
- i18n: Czech interface language (cs) by @Losminek in #335
- Issue #341: resizing Ctrl-selected rows or columns resizes all of them by @LloydNicholson in #350
- Get rid of double range copy for aggregation operations over ranges by @Fly-Style in #352
- Issue #348: copying multiple selections works when the areas line up, and explains when it can't by @LloydNicholson in #353
- Journal: sheet protection passwords aren't recorded in plain text by @LloydNicholson in #355
- Fix horizontal worksheet tab scrolling by @ttrudging in #268
- Cell: cell.set without an input is an error by @mikl0s in #207
- Fix Rust 1.95 Clippy warnings by @Zarvinx in #212
- Read the browser clock for NOW(), TODAY() and year-less dates on wasm (#202) by @MarekSpodBiedry in #216
- Review: Previous/Next Comment, Show Comments, Show All Notes, Convert to Comments (#281) by @vangel76 in #286
- Clipboard: Insert Copied Cells and Insert Cut Cells (#21) by @vangel76 in #288
- UI fonts: symbol fallback faces so interface symbols aren't boxes (#197) by @vangel76 in #298
- M2: fix cell vertical alignment positioning and add keytips (#241) by @AlissonFA in #261
- Leave the active cell unshaded inside a selected range by @arcanii in #265
- Glide the selection outline to a new selection; View ▸ Animations turns it off by @arcanii in #266
- View: Page Layout view with rulers and in-place headers and footers (#329) by @vangel76 in #334
- Data: Forecast Sheet (data.forecastSheet) (#322) by @vangel76 in #325
- XLSX/IO: read legacy .xls (BIFF8) workbooks (#121) by @vangel76 in #332
- XLSX: keep unmodelled parts on save (#330) by @vangel76 in #333
- Cell references: an invalid reference is an error instead of the active cell by @mikl0s in #206
- fix(ribbon): Watch Window layout in Formulas ribbon (#342) by @ege-arhan in #360
- Edit date cells as dates, not serial numbers (#362) by @MarekSpodBiedry in #364
- Ctrl+click on an already selected header or cell deselects it (#359) by @MarekSpodBiedry in #365
- Reorder selected columns by dragging headers by @Zarvinx in #211
- Feature/table slicers by @zaidshurbaji in #193
- web: print straight to the system print dialog, not just export by @Dejan-Port in #209
- Linux: the display theme asks the desktop, not winit by @gyurix in #203
- Preserve VBA macros + Excel-style macros UX (issue #6) by @justinjohn0306 in #19
- Fix: list and render installed system fonts (#4) by @justinjohn0306 in #9
- Grid: merged ranges draw their right and bottom borders (#376) by @vangel76 in #380
- Grid: render Shrink to fit (#375) by @vangel76 in #381
- Windows: compile DirectX 12 shaders with FXC, no DXC runtime needed (#339, #354) by @vangel76 in #382
- View: restore and save the scroll position (topLeftCell) (#378) by @vangel76 in #383
- Review: Protect Workbook dialog with an Excel-compatible password (#345) by @vangel76 in #384
- Review: Protect Sheet passwords use Excel-compatible hashes, kept in XLSX (#346) by @vangel76 in #387
- Keyboard: Shift+Space and Ctrl+Space select without starting an edit (#338) by @vangel76 in #395
- Data validation: relative formulas, checked with the value being entered by @nihilist-narwhal in #397
- Defined names: relative references follow the cell that uses the name by @nihilist-narwhal in #398
- XLSX: write the _xlfn. prefix for GROUPBY, PIVOTBY, ENCODEURL and the REGEX functions by @nihilist-narwhal in #399
- INDEX: arrays of row and column numbers pick a value each by @nihilist-narwhal in #400
- Web: native Save and Save As file picker with download fallback by @GhostMitra in #391
- XLOOKUP: return a reference when the result range is one by @nihilist-narwhal in #396
- Web & UI: resolve system theme preference and default web to system theme by @GhostMitra in #390
- Web: add favicon to web app index and disable dev incremental compilation by @GhostMitra in #392
- File: desktop Print opens the system PDF viewer, Save As offers PDF/CSV/HTML (#370, #343) by @vangel76 in #394
- Draw the outline band for grouped rows and columns (#373) by @itrycodinganditsbad in #388
- Drawing: text box formatting — run size/bold/font/outline, alignment, anchor, no outline (#377) by @vangel76 in #401
- UI fonts: formula bar falls back to the cell font, so Hebrew isn't boxes (#349) by @vangel76 in #402
- Headers and footers: first-page and even-page variants, Insert › Header & Footer edits in place (#344) by @vangel76 in #404
- Scatter charts of two unlabelled columns plot the first as X for one series (#428) by @MarekSpodBiedry in #438
- Rotated text follows the cell's alignment by @itrycodinganditsbad in #439
- Refuse formulas with the wrong argument count on entry (#363) by @shrshk in #409
- Keytips: table-driven sequential access-key system (issues #33, #49) by @jsymes21-byte in #411
- Keytips: full Excel sequential Alt table — 364 sequences, badges on every control, generated tests (fixes #33, #49) by @jsymes21-byte in #412
- i18n: add French (fr) interface by @pechnikov2026-star in #413
- CI: run cargo xtask ci on pull requests and pushes to main by @neilcawse in #415
- CLI: check subcommand - cached-value calc oracle and XLSX round-trip fidelity on any corpus by @neilcawse in #416
- Numfmt: fraction literals and zero fractions, ? pads thousands separator, TEXT booleans through text section by @neilcawse in #418
- Functions: MODE/VALUE/SUMPRODUCT text args, ADDRESS [Book]Sheet, Excel-style lookup bisection, SUBTOTAL skips filtered rows by @neilcawse in #419
- Formulas: trim-reference operators (A1:.E10, A1.:E10, A1.:.E10); read unbracketed [[#This Row],Col] by @neilcawse in #420
- Calc: iterative calculation for circular references (Maximum Iterations, Maximum Change) by @neilcawse in #421
- File formats: CSV/TSV export writes displayed values; templates and .xlsm saved with their own content types by @neilcawse in #422
- XLSX: strip _xlpm. from LET/LAMBDA parameters on read, keep line breaks in table columns, allow leading backslash in table names by @neilcawse in #423
- Charts: read, write and draw trendlines by @neilcawse in #424
- Engine: command-sequence fuzz harness (undo/redo, XLSX round-trip, full-recalc invariants) and the bugs it found by @neilcawse in #425
- CSV: saving keeps the separator the file was opened with (#426) by @vedran-dobos in #427
- Fix AutoFit width for table and AutoFilter dropdowns by @derechopiano in #433
- Open password-encrypted workbooks (Agile and Standard encryption) (#11) by @LloydNicholson in #436
- Print: select printers and submit jobs through craft-print by @skylartaylor in #459
- Release workflow: pass the Azure signing secrets by @echelon in #440
New Contributors
- @webdevtodayjason made their first contribution in #232
- @MacJedi42 made their first contribution in #253
- @alexanderalber made their first contribution in #262
- @ttrudging made their first contribution in #272
- @vangel76 made their first contribution in #274
- @Zarvinx made their first contribution in #222
- @Dejan-Port made their first contribution in #223
- @pkibiego made their first contribution in #231
- @diegozpy made their first contribution in #242
- @arekown made their first contribution in #271
- @Losminek made their first contribution in #335
- @Fly-Style made their first contribution in #352
- @mikl0s made their first contribution in #207
- @AlissonFA made their first contribution in #261
- @arcanii made their first contribution in #265
- @ege-arhan made their first contribution in #360
- @zaidshurbaji made their first contribution in #193
- @gyurix made their first contribution in #203
- @GhostMitra made their first contribution in #391
- @shrshk made their first contribution in #409
- @jsymes21-byte made their first contribution in #411
- @pechnikov2026-star made their first contribution in #413
- @neilcawse made their first contribution in #415
- @vedran-dobos made their first contribution in #427
- @derechopiano made their first contribution in #433
- @skylartaylor made their first contribution in #459
Full Changelog: v0.5.0...v0.6.1
Original source All of your release notes in one feed
Join Releasebot and get updates from storytold and hundreds of other software products.
- Oct 12, 2026
- Date parsed from source:Oct 12, 2026
- First seen by Releasebot:Oct 13, 2026
WordCraft v0.6.1
wordcraft expands into a more capable Word-style editor with rich document formatting, tables, charts, SmartArt, mail merge, accessibility tools, and broad file compatibility. It also adds new languages and polishing across layout, proofing, and everyday editing.
What's Changed
- Hyperlinks cover only their own text (#413) by @vangel76 in #449
- Groups keep rotated members' orientation; group resize; ink erase after rotation (#441, #442, #443, #445) by @vangel76 in #474
- Mail merge: SKIPIF, NEXT, IF in preview, header/footer fields (#427, #428, #429, #430) by @vangel76 in #478
- Options: interface size setting (#475) by @vangel76 in #480
- Citations: eight more bibliography styles (#383) by @vangel76 in #388
- Backstage: the side menu is fixed width, no dead resize handle by @vangel76 in #504
- CLI: a closed stdout ends quietly instead of panicking (#508) by @vangel76 in #510
- .doc import fixes: piece bold, section kinds, orientation, list overrides, style inheritance, alternate font names (#458–#463) by @vangel76 in #484
- Dialogs: switching tabs keeps the window's top edge in place (#507) by @vangel76 in #511
- Spelling: common words like "desktop" are recognised (#520) by @vangel76 in #522
- Equation fixes: numbering removal, control colour, undo for navigation edits, LaTeX text spaces (#444, #446, #447, #448) by @vangel76 in #487
- Import/export fixes: TXT encodings and list labels, RTF Unicode, ODT styles and cell colours, HTML borders and pre spaces, LaTeX alignment groups (#433–#440) by @vangel76 in #482
- i18n(es): consistent tú register, fix swapped Page Up/Page Down by @diegozpy in #514
- i18n: add Turkish (tr) interface translation by @PbyLoyth in #494
- i18n audit: full ribbon sweep, and the table style sample in the interface language (re-lands #313's last three commits) by @dkhlapov in #411
- Docs: collapse duplicate rows left by parallel merges by @vangel76 in #372
- Add Word's common keyboard shortcuts by @vangel76 in #338
- Field codes: show, edit, update, unlink, lock and step through fields like Word by @vangel76 in #349
- Move paragraphs up/down, promote/demote headings, Go Back (Shift+F5) and Alt+X Unicode toggle by @vangel76 in #351
- ci: refactor workflows to use storytold/craft-common-actions by @dylanmtaylor in #639
- i18n: add Russian (ru) interface translation by @dkhlapov in #300
- Customize Keyboard dialog (#368) by @vangel76 in #378
- Customize Ribbon and Quick Access Toolbar (#379) by @vangel76 in #384
- Tight and Through text wrapping follow the object's outline by @vangel76 in #360
- Choose which side of an object text wraps on by @vangel76 in #364
- Phonetic Guide: ruby text (furigana, pinyin) over base text by @vangel76 in #296
- Enclose Characters: put a character in a circle, square, triangle or diamond by @vangel76 in #301
- Insert › Icons: a library of original icons, a searchable picker and Icon Color by @vangel76 in #318
- Mail merge: use Excel and OpenDocument spreadsheets as recipient lists by @vangel76 in #341
- Balance newspaper columns before a continuous section break by @vangel76 in #353
- Drawing Canvas: insert a canvas and draw shapes, pictures and text boxes inside it by @vangel76 in #356
- Documents keep their own footnote separators and continuation notice by @vangel76 in #361
- Right-to-left tables and sections by @vangel76 in #365
- Shape Format › Text: direction, alignment and linked text boxes (#369) by @vangel76 in #380
- Footnote and Endnote options per section (#385) by @vangel76 in #390
- Track Changes: moves (w:moveFrom/w:moveTo) (#400) by @vangel76 in #404
- Document grid: lines per page and characters per line (#391) by @vangel76 in #401
- Draw: Lasso Select, Add Pen, Ink to Shape and Ink Replay (#395) by @vangel76 in #408
- References dialogs: Caption, Index, Table of Contents, Create Source (#402) by @vangel76 in #410
- Accessibility: Alt Text pane for every object, Mark as decorative, deeper checker (#386) by @vangel76 in #396
- Dialogs: Line Numbers, Hyphenation, Language, Envelopes and Labels (#407) by @vangel76 in #414
- Insert › Chart: create and edit column, bar, line, pie, area, scatter and doughnut charts (#409) by @vangel76 in #415
- Content controls: keep, show and edit w:sdt (#381) by @vangel76 in #392
- WordArt text effects and transforms, and shape connectors (#416) by @vangel76 in #481
- Compare, Restrict Editing and AutoCorrect Options dialogs (#412) by @vangel76 in #476
- Editing fixes: Center range, undo grouping, Change Case runs and offsets, Bold undo at caret (#418, #419, #420, #421, #424) by @vangel76 in #477
- Layout fixes: mirrored margins, tall headers/footers push the body, endnote continuation, footnote caret on continuation pages (#452, #453, #454, #456, #457) by @vangel76 in #490
- Chinese interface: keep a system CJK fallback after the bundled face; find PingFang on macOS 12 (#486) by @vangel76 in #495
- Fixes: tracked paste marks, plain paste blank lines, paragraph marks in Replace All, Delete/Split columns and cells, Font dialog (#417, #422, #423, #431, #432, #466) by @vangel76 in #479
- Fixes: footnotes in table cells, NUMPAGES, bookmark link pages, bookmark around final table, INCLUDEPICTURE results by @vangel76 in #483
- Accessibility: the document canvas exposes its text to screen readers (#488) by @vangel76 in #489
- Font list: installed Chinese fonts are listed, by their Chinese names in a Chinese interface (#505) by @vangel76 in #506
- Paragraph dialog: mirror indents, same-style spacing, suppress line numbers, don't hyphenate (#512) by @vangel76 in #519
- Right-click on a picture or shape: Wrap Text submenu (#513) by @vangel76 in #521
- File › Options: Word's panes with working settings (#485) by @vangel76 in #492
- Templates and Add-ins: attached template, update styles, Organizer (#377) by @vangel76 in #382
- Vertical text for sections (w:textDirection) (#491) by @vangel76 in #496
- Outline view: Outlining tab, levels, collapse/expand, Show Level (#493) by @vangel76 in #499
- Insert › SmartArt: create and edit list, process, cycle, hierarchy, pyramid, radial, matrix and venn graphics (#497) by @vangel76 in #503
- CI: FreeBSD and Windows ARM64 nightly and on release, not per PR by @echelon in #530
- README: which AUR package to install (#509) by @dkhlapov in #616
- Windows: DX12 starts without shipped DXC DLLs (#603) by @vangel76 in #609
- docx: fix clippy large_enum_variant on main by @echelon in #779
- Styles: Update to Match Selection takes the selection's formatting (#555) by @vangel76 in #562
- AutoFormat: +---+ tables, arrow bullets, smileys inside words, border-line undo (#546) by @vangel76 in #547
- Find and Replace: special characters (^p, ^t, …) and wildcards (#543) by @vangel76 in #553
- Mini toolbar: every button fits, flush font box, proper dropdown arrows, dark-mode font list (#535) by @vangel76 in #540
- Fonts: system fallback reads each font file once (#605) by @vangel76 in #610
- Numbering: Chinese, Japanese and Korean number formats (一、二、三 …) (#534) by @vangel76 in #561
- Font dialog: separate Asian and Latin text fonts (#505) by @vangel76 in #536
- Chinese documents: character-unit indents, .doc indents and line spacing, floating tables, blank pages (#534) by @vangel76 in #550
- DOCX: theme colours and theme fonts take precedence over the fixed values, as in Word by @LloydNicholson in #626
- Open and save Word XML Document (Flat OPC); open Word 2003 XML (#548) by @vangel76 in #560
- Find: each Find Next in the dialog moves one match (#468) by @alexanderalber in #556
- Contributors: add my own entry (alexanderalber) by @alexanderalber in #566
- IME composition text uses document fallback fonts instead of boxes (#565) by @MarekSpodBiedry in #578
- Layout › Page Setup: the group launcher opens the Page Setup dialog (#471) by @alexanderalber in #563
- Web: a CSV picked as recipients no longer turns the next TXT drop into recipients (#472) by @MarekSpodBiedry in #579
- Zotero: a pending citation no longer edits a replacement document (#470) by @MarekSpodBiedry in #580
- Zotero: a note with a picture stays when its citation moves to body text (#469) by @MarekSpodBiedry in #581
- Pictures in headers/footers can be moved, resized and rotated by @DevCoderMax in #591
- Paragraph dialog: OK keeps Exactly and At Least line spacing (#467) by @alexanderalber in #564
- rustdoc: no links to private items in the UI crate (#665) by @dkhlapov in #683
- Brand licence: name WordCraft, not DesignCraft (#664) by @dkhlapov in #682
- Fonts: Palatino Linotype / Book Antiqua prefer Palatino look-alikes (#670) by @vangel76 in #677
- fix(docx): preserve omitted paragraph defaults by @OPUZZLES in #647
- Drag after a double/triple-click extends the selection by words/paragraphs (#549) by @dkhlapov in #649
- Open playlists and other text files (.m3u, .m3u8, .log, .ini, …) (#569) by @dkhlapov in #648
- Table: a vertical merge lays out and hit-tests as one cell (#640) by @vangel76 in #669
- DOCX diagrams: theme-styled shapes and connectors, arrowheads, canvases, VML lines (#611) by @dkhlapov in #671
- Complex scripts: shape Myanmar, Khmer and Indic text; caret and line breaks respect syllables (#604) by @dkhlapov in #652
- More Colors… and a Colors dialog for custom colours (#606) by @dkhlapov in #666
- Print: preview, page range, copies and collate on File > Print (#641) by @vangel76 in #674
- Print Markup: comments in PDF, print, images and text copies (#589) by @dkhlapov in #667
- Design tab: style set gallery gets its own box, no overlap with Colors and Fonts (#638) by @vangel76 in #673
- Security: pictures travel in the reply, exported links keep only safe targets (#678, #679) by @petycomp in #681
- docs: fix coordination error in ROADMAP.md by @lunar-me in #715
- Release workflow: pass the Azure signing secrets by @echelon in #752
- layout: make Myanmar fallback tests deterministic by @echelon in #807
- View: Hide White Space between pages in Print Layout (#645) by @vangel76 in #684
- Add fonts at run time: Add Font…, drop a font file, font.add (#582) by @dkhlapov in #668
- References › Table of Authorities: labelled Insert, plus Update Table (#661) by @dkhlapov in #693
- Input field borders reach 3:1 contrast in both themes (#657) by @dkhlapov in #696
- Pictures: WMF drawings fill their frame like Word plays them by @naxvog in #739
- Ink: draw the live pen stroke in the dark-page colour while drawing, not only after lifting the pen (#730) by @MarekSpodBiedry in #746
- Backspace still erases while Shift is held (#707) by @MarekSpodBiedry in #747
- Dark theme: readable text on the accent (#655) by @dkhlapov in #704
- Let dialogs be dragged by their title bar instead of pinning them to the screen centre (#732) by @MarekSpodBiedry in #748
- Layout: multiple line spacing adds its leading below the text, like Word by @naxvog in #719
- Web: add wordcraft.ico as favicon via Trunk by @GhostMitra in #717
- Track Changes: deletions in balloons (Show revisions in balloons now work) by @Matty-PW in #734
- Layout: a page total in the footer no longer lays the body out twice (#771) by @dkhlapov in #773
- speech: launch Windows PowerShell by full path for Read Aloud by @SteamSmith in #792
- Save As: a bare filename typed in the dialog now saves correctly (#689) by @notdezzi in #757
- Selection: dragging past the viewport edge auto-scrolls (#688) by @notdezzi in #758
- #755: Line Numbers and Hyphenation measure in the Options unit by @edurbs in #795
- M8.1: Bibliography DOCX round-trip: support extended fields (#410) and upstream sync (#532) by @yefan911 in #790
- Ruler: the horizontal scale mirrors for right-to-left paragraphs (#692) by @notdezzi in #756
- Ribbon and context-menu Paste insert the system clipboard's text (#584) by @MarekSpodBiedry in #593
- MacOS window close by @nusenyaw66 in #539
- fix: protect original files during native saves by @OPUZZLES in #621
- Caret: glide and fade like Word for Windows; File › Options › Advanced › Animation turns it off by @arcanii in #570
- Linux: open/save works without a portal file dialog (#576) by @vangel76 in #583
- Accessibility Options: Animation effects setting that follows the system by @JeremyYao in #791
- fix(docx): preserve custom XML stores through saves by @OPUZZLES in #612
- Tables: resize by dragging column borders, row borders and the corner handle (#217) by @rabis7575 in #600
- fix(docx): preserve unstyled TOC result ranges by @OPUZZLES in #617
- .doc import: inline pictures, floating pictures and basic shapes (#551) by @vangel76 in #558
- i18n: add Italian interface (it) by @fabiodalez-dev in #598
- Add German (de) interface language by @arekown in #574
- M15: Polish interface, and Polish spelling, grammar and hyphenation by @witkowski01 in #346
- i18n: add Czech (cs) interface translation by @DanielKnourek in #387
- Linux: the display theme asks the desktop, not winit by @gyurix in #298
- Fix CJK fallback mixing serif/sans faces within one run by @jeleesky in #567
- Open Word documents with WordCraft by default (file associations + Options button) by @vangel76 in #304
- Tests: linear-time checks measure CPU time, robust under load by @echelon in #850
- Linux: default to XWayland for file drag-and-drop on Wayland desktops by @dylanmtaylor in #220
- Preserve independent complex-script formatting during DOCX round trips by @shirizhaki in #366
- Numeral display modes: Arabic, Hindi, Context and System digits (view.numeral) by @abdo4312 in #501
- Fix bulleted list toolbar button active state by @Cyberverse-cent0 in #651
- web: use File System Access API showSaveFilePicker with download fallback by @GhostMitra in #728
- Backstage: add Save As page and close on successful save by @GhostMitra in #727
- Fix sentence-capitalization suggestions after ellipses by @ripdog in #742
- Fix paragraph alignment focus by @Osaym in #690
- ui-egui: fix Windows clippy in desktop_theme by @echelon in #872
- Interface colours come from the theme (#656) by @dkhlapov in #705
- Dark theme: gallery previews no longer bright white (#663) by @dkhlapov in #706
- Skip non-English runs in proofing instead of flagging them (#100) by @regalf in #741
- Added some fixes to the spanish "Info" Page on Wordcraft by @SammyL-eo in #695
- One drop-down marker on every ribbon button (#659) by @dkhlapov in #697
- Menu buttons grey out while their command is disabled (#658) by @dkhlapov in #698
- Ribbon: large-button labels end above the group titles (#653) by @dkhlapov in #699
- Layout › Paragraph: fields fit above the title and line up (#654) by @dkhlapov in #703
- KeyTips: Quick Access Toolbar badges, saved option and native Alt fix (#620) by @m1ssha in #709
- Add paginated Reading Mode with smooth column navigation by @ripdog in #740
- i18n: add French (fr) interface by @pechnikov2026-star in #729
- i18n(hu): complete the Hungarian catalog again by @Skaywalker in #842
- Bidi: auto-detect RTL paragraph direction when typing Kurdish, Arabic and Hebrew by @Hevarh1 in #713
- Layout: an inline picture wider than the text keeps its size, like Word by @naxvog in #745
- Fix Navigation pane expanding for long headings by @ripdog in #759
- i18n: complete Turkish interface catalog with 2,170 entries and full … by @yeniufuklar-com in #774
- MCP: confine file access with --automation-read-root and --automation-write-root (#769) by @isaac-levine in #798
- Persist the custom dictionary across sessions (#40) by @regalf in #796
- DOCX: preserve native Word ink on save by @OPUZZLES in #592
- AutoCorrect: TWo INitial CApitals, cAPS LOCK and table-cell capitals (#544) by @vangel76 in #545
- Affix engine: FLAG UTF-8, 128 flag bits, continuation classes, FORBIDDENWORD (#100) by @edurbs in #782
- Portuguese proofing: pt-BR spelling, suggestions, grammar and hyphenation (#100) by @edurbs in #797
- Hyphenation: Bulgarian text follows the Bulgarian syllable rules by @bulgariamitko in #826
- i18n: add Bulgarian (bg) interface translation by @bulgariamitko in #825
- ODT import reads page size, orientation and margins from styles.xml (#810) by @MarekSpodBiedry in #829
- Paste keeps other programs' formatting; clipboard pictures on Wayland (#687, #833) by @dkhlapov in #847
- New documents follow the system region: A4, centimetres and decimal comma outside the US (#838) by @dkhlapov in #857
- Ctrl/⌘+F focuses the Find box, so typing searches (#772) by @Yasas-Sri in #823
- Comment cards show the time as well as the date (#812) by @MarekSpodBiedry in #828
- fix(ui): equation gallery tiles follow the dark theme (#817) by @MarekSpodBiedry in #827
- Accept and Reject at the caret cover a tracked change split by a comment (#809) by @MarekSpodBiedry in #830
- Keep the font table and embedded fonts when saving a .docx (#770) by @MarekSpodBiedry in #831
- Zoom after One Page keeps one page per row (#768) by @MarekSpodBiedry in #832
- Tables: row borders stay apart around a vertical merge (#640) by @rabis7575 in #841
- PDF export: internal links in linear time by @echelon in #937
- fix(windows): start 32-bit builds on OpenGL so launch no longer exits by @odedigo in #839
- Ribbon keytip letters like Word for Windows by @echelon in #922
- fix(ui): draw non-Latin file names in the window caption by @odedigo in #840
- Table of contents entries drawn plain, as in Word by @echelon in #930
- Ribbon groups fit above their labels (View › Show, Developer › Controls, Layout › Paragraph) by @manucarcor in #910
- Alt+Q moves to "Tell me" command search (#819) by @dkhlapov in #849
- Spaces and tabs don't make a line taller by @echelon in #931
- .doc: tab stops and section breaks read correctly by @echelon in #925
- Word 365 cover pages: freeforms in groups, text-box margins and Resize to fit (#743) by @dkhlapov in #843
- Heading numbers from a style's list level (6.4.5, not 6.15) by @echelon in #926
- A list label raises its line, but doesn't deepen it by @echelon in #928
- Sorting and table numbers follow the text's language (#836, #837) by @dkhlapov in #844
- Hidden end-of-cell marks (hideMark) by @echelon in #939
- ROADMAP: progress log table renders again by @echelon in #947
- layout tests: fix clippy in a_hidden_cell_mark_takes_no_room by @echelon in #948
- Text frames placed like Word's and kept on save by @echelon in #935
- List indents and style indents combine like Word by @echelon in #927
- AutoCorrect: the English replacement list applies only to English text (#835) by @dkhlapov in #846
- Keep with next splits a paragraph that doesn't fit anyway by @echelon in #933
- Start on File › Home when launched with nothing to open (#766) by @dkhlapov in #853
- An empty continuous section mark takes no room by @echelon in #940
- Undo history list beside the Quick Access Toolbar's Undo (#701) by @dkhlapov in #855
- Paragraph-relative floats start above the space before by @echelon in #941
- i18n(es): translate the equation gallery and built-in style names by @diegozpy in #854
- Text after a column break uses the new column's width by @echelon in #934
- Space before at the top of a page like Word by @echelon in #932
- Tables: select, insert and move with the mouse; double-click a border to AutoFit by @rabis7575 in #637
- Kerning and automatic paragraph spacing like Word by @echelon in #923
- No automatic spacing between list items by @echelon in #924
- Shift+F10 opens the context menu at the caret (#821) by @echelon in #920
- Tables: the right-click menu offers the table's commands by @rabis7575 in #694
- Tables: drags and Shift+arrows over cells select whole cells by @rabis7575 in #722
- Rulers: table column and row markers; indents in a cell measured from it by @rabis7575 in #710
- Alt+Q opens Search like Word (#819) by @echelon in #919
- Tables: Ctrl, Alt, left-edge and selected-cells border drags by @rabis7575 in #720
- Ctrl+F searches in the Navigation pane; one Find and Replace dialog (#712) by @echelon in #921
- Fonts: documents use the craft-fonts Simplified Chinese face (fixes FreeBSD CI after #567) by @dkhlapov in #888
- Smooth scrolling through a very large table (#811) by @dkhlapov in #891
- Save Changes prompt answers from the keyboard (#861) by @dkhlapov in #870
- Section breaks no longer delete the selected text (#852) by @dkhlapov in #875
- Click in the left margin selects lines (selection bar) (#856) by @dkhlapov in #879
New Contributors
- @diegozpy made their first contribution in #514
- @PbyLoyth made their first contribution in #494
- @dylanmtaylor made their first contribution in #639
- @alexanderalber made their first contribution in #556
- @DevCoderMax made their first contribution in #591
- @OPUZZLES made their first contribution in #647
- @petycomp made their first contribution in #681
- @lunar-me made their first contribution in #715
- @GhostMitra made their first contribution in #717
- @Matty-PW made their first contribution in #734
- @SteamSmith made their first contribution in #792
- @notdezzi made their first contribution in #757
- @yefan911 made their first contribution in #790
- @nusenyaw66 made their first contribution in #539
- @arcanii made their first contribution in #570
- @JeremyYao made their first contribution in #791
- @rabis7575 made their first contribution in #600
- @fabiodalez-dev made their first contribution in #598
- @arekown made their first contribution in #574
- @DanielKnourek made their first contribution in #387
- @gyurix made their first contribution in #298
- @jeleesky made their first contribution in #567
- @shirizhaki made their first contribution in #366
- @abdo4312 made their first contribution in #501
- @Cyberverse-cent0 made their first contribution in #651
- @ripdog made their first contribution in #742
- @Osaym made their first contribution in #690
- @regalf made their first contribution in #741
- @SammyL-eo made their first contribution in #695
- @m1ssha made their first contribution in #709
- @pechnikov2026-star made their first contribution in #729
- @Skaywalker made their first contribution in #842
- @Hevarh1 made their first contribution in #713
- @yeniufuklar-com made their first contribution in #774
- @isaac-levine made their first contribution in #798
- @bulgariamitko made their first contribution in #826
- @Yasas-Sri made their first contribution in #823
- @odedigo made their first contribution in #839
- @manucarcor made their first contribution in #910
Full Changelog: v0.5.0...v0.6.1
Original source - Oct 12, 2026
- Date parsed from source:Oct 12, 2026
- First seen by Releasebot:Oct 13, 2026
PdfCraft v0.7.1
pdfcraft releases a major update with expanded PDF editing, forms, printing, accessibility, and OCR capabilities, alongside performance, security, and localization improvements across desktop and web.
What's Changed
- Adopt shared panel docking with document-aware visibility by @skylartaylor in #966
- Print: Windows lists its printers and spools jobs by @Mawfyy in #847
- M10: Windows printing prints at actual size, off the UI thread (follow-up to #847) by @echelon in #1007
- ci: refactor workflows to use storytold/craft-common-actions by @dylanmtaylor in #1073
- Text extraction: word gaps follow position on the line, not drawing order (#1062) by @pauliusiv123-rgb in #1074
- M7: watermark offset from the page centre (edit.watermark-appearance) by @Byxis in #1076
- M12: XFA script time limits start when the engine is ready by @arcanii in #1081
- Linux: draw on the GPU the Wayland compositor draws with by @atoslins in #1088
- doc_create from text refuses characters Helvetica can't draw (#959) by @sibrash4 in #1030
- Linux: StartupWMClass is the window's app id by @atoslins in #1087
- M4, #569: Combine files takes images and text files by @mlkonrad in #1032
- Return renderer initialization errors to the OpenGL startup fallback by @huferyliu in #1042
- Forms: encode appearances with the existing simple font by @piero-83 in #1044
- Forms: keep the accepted value when Tab wraps to the same field by @piero-83 in #1045
- CLI: reject malformed --root options before dispatch by @piero-83 in #1048
- Edit images: moving or resizing a clipped image moves its own clip too (#1022) by @MarekSpodBiedry in #1049
- M2: stream page content past the 256 MiB cap (item 1 of #623) by @cyfung1031 in #797
- XFA: single-block forms paginate, open in their saved state, and show their signatures by @EULArule in #1098
- UI: a tool chosen with no document open asks for a file and runs on it by @michelleDeko in #1100
- M14: Enumerate form fields once on open by @cyfung1031 in #1011
- Top bar: the Save button names its shortcut instead of "(M4)" (#962) by @DWAA1660 in #1013
- M14: correct Taiwan Traditional Chinese accessibility and form terms by @MaxTheHaters in #1023
- M10: Enhance camera image finds the document's edges; rotate, crop or organize after Enhance page (part 3 of #1008) by @magdale76 in #1027
- M9: stream structure-tree checks without a total-element cutoff by @cyfung1031 in #926
- fix(macos): close the empty main window with Command-W by @Ni-zav in #930
- fix(xfdf): combine imported annotation flags with bitwise OR by @Ni-zav in #931
- feat(macos): declare document icon file for PDFs in Info.plist by @Totopo27 in #933
- macOS: the tab strip is the 28 pt band the traffic lights are centred in (#789) by @ch0kemeister in #1055
- Issues #444, #186: a mouse wheel scroll speed preference, faster by default on Windows and Linux by @AutoHenry in #514
- fix(ui): bookmark, comment and command filters match Turkish İ/ı in any case by @snipeTR in #937
- fix(annot): create mailto links for bare email addresses by @Ni-zav in #941
- Fix/noissue hyphenated print label ranges s20261010 t220019 z f82d4 by @Ni-zav in #942
- macOS: "Reopen the files that were open" starts from the system reopen-windows setting (#871) by @ch0kemeister in #1053
- Keep Border and Fill color palettes independent in field Properties by @sanyamsingh001 in #1054
- M2, #1060: axial and radial shadings draw as native gradients (InDesign fades 10× faster) by @mlkonrad in #1061
- UI: theme picker with light and dark theme cards by @luniiya in #1082
- Docs: sync the progress docs with issues closed on 2026-10-10 by @Ridzzz0Alam in #1064
- Fix plural forms for recent document page counts by @neronek22 in #1065
- Read mode: the rail's Bookmarks and other pane buttons open their panels (#932) by @DWAA1660 in #947
- Issue #948: the root-confinement test tries the symbolic-link escape only when the link was made by @pauliusiv123-rgb in #949
- fix(measure): include closing edges of every filled PDF subpath by @Ni-zav in #952
- demo-pdf: two fixes so xtask demo-pdf and xtask screenshots work on Windows by @pechnikov2026-star in #954
- M7: shard Japanese Type 3 fallback fonts across large edits by @cyfung1031 in #958
- Typed signatures draw Cyrillic and Greek letters (#846) by @DWAA1660 in #963
- M7: shard Arabic generated glyph fonts instead of rejecting large text by @cyfung1031 in #967
- M9: sign with CAC/PIV smart cards through the macOS Keychain by @sfv9 in #968
- M10: stream Create Multiple sources without a fixed file-count cutoff by @cyfung1031 in #978
- M11: strip redundant ASCII stream wrappers during optimization by @cyfung1031 in #989
- text_find stops reading pages once its limit is reached (#971) by @DWAA1660 in #990
- M14: a chosen interface size is absolute, as in PhotoCraft by @mitul72 in #1005
- docs(ocr): add model download step to build instructions by @mjohnson7cd in #1006
- M2: keep non-interpolated minified images sharp by @cyfung1031 in #635
- docs: register the MCP server from an installed release by @sawizzle in #643
- M12: add deterministic snap property tests to the measure crate by @cyfung1031 in #714
- Windows: Save asks where to keep an Outlook attachment instead of writing its temporary copy by @art804 in #601
- Chinese UI: draw with an installed Chinese face when the build has none (#826) by @YingQiu0871 in #925
- fix(ui): preserve scroll position when collapsing or resizing sidebars (#1056) by @omarelders in #1069
- render: don't let a hostile page-tree /Count abort inspection by @pechnikov2026-star in #956
- xfa, xfdf: refuse XML nested past 1024 levels instead of aborting the process by @pkibiego in #987
- M2: overlapping text runs stay whole; placement in arrange, bounded checks by @cyfung1031 in #748
- pt-BR: lowercase month names in the date picker by @WladmirJunior in #1089
- M9: visible digital signatures can show a drawn, typed or image graphic (#193) by @kestrel99 in #934
- Issue #568: honour the document's copy permission (Table 22, bit 5) by @jay-tau in #914
- Viewer: Continuous scrolling is an independent checkbox over the base layout (#752) by @justinjohn0306 in #896
- M4: open Organize Pages as a selectable thumbnail overview by @lukashold in #1004
- Add an opt-in low-disk Cargo profile by @cyfung1031 in #951
- Select tool: trigger multi-click text selection on pointer press (#1024) by @krinry in #1040
- M14: scan PdfCraft page-content markers once per document refresh by @cyfung1031 in #1016
- Open dialog: allow selecting several files at once by @LucasT-dev in #1086
- Issue #431: reload a document when its file changes on disk by @pauliusiv123-rgb in #459
- fix(annot): validate finite link areas before add or edit by @Ni-zav in #940
- Add faux-redaction audit (paint-order and colour-aware, fail-closed) by @ejbarraza in #110
- fix(ui): prevent translated tool labels from overflowing and align German terminology by @Ni-zav in #939
- chore: bump github actions to fix Node 20 deprecation warnings by @dylanmtaylor in #641
- On-page text boxes keep a dark caret on their white backgrounds in the dark theme (#655) by @MarekSpodBiedry in #734
- Render visible pages before thumbnails and text extraction by @gyurix in #950
- Print: start PowerShell on Windows by its full path by @jcl-bit in #1106
- Comments: line breaks saved as CR show in comment text by @nicholasyoannou in #1113
- Cap unbounded editing and text caches; index form fields once by @chiranjeevi-max in #1115
- Fix text selection cursor on all tools toggle(View More - View Less Button) by @oussama-dalhi in #1121
- Print: architectural paper presets and PDF scale controls (#599 follow-up) by @durtyrobbin in #1123
- M10: Enhance camera image cleans the photo up and chooses its look (part 4 of #1008, closes #1034) by @magdale76 in #1038
- Security: fix 10 verified audit findings in redaction, signature validation, and untrusted-input handling by @JeremyYao in #1099
- feat: Scale down large signature images instead of rejecting (#1075) by @mjohnson7cd in #1124
- Forms: keep tiles and render unbaked field values during page re-render by @Piohrun in #636
- Issue #995 & #1077: unlock a restricted document with its permissions password by @Ridzzz0Alam in #1127
- Tests: consolidate safe ui-egui integration targets by @cyfung1031 in #992
- fix(theme): complete Linux System appearance tracking by @coygeek in #1017
- Issue #432: global Units preference (mm, cm, in, pt), defaulting to the system region by @bulgariamitko in #463
- Give dialogs roomier text fields and padding by @bartalos86 in #487
- i18n: let the layers below hand their sentences over, so they can be translated by @feraremag2680 in #478
- Improve PDF Navigation with Cursor-Anchored Zoom and Mouse Panning by @mhadidi06 in #504
- M14: complete the Czech (cs) interface catalog by @Losminek in #1066
- M14: Italian catalog review: meaning, agreement, consistency (47 entries) by @magdale76 in #1025
- M14: Slovenian (Slovenščina) interface language by @spacekomet in #1091
- Add Greek (el) interface localization by @Camthalion77 in #994
- M14: Kazakh interface language by @pechnikov2026-star in #955
- feat(i18n): add complete Turkish interface language support by @yeniufuklar-com in #1057
- Content edits on heavy documents: narrow refresh, cached appearances, per-page invalidation by @MaksPV in #1122
- M7: Hebrew in Edit text (reading order, writing order, Hebrew glyphs) by @tzagim in #521
- Heavy pages: cull off-tile images, cache decodes, preview backdrops, calmer queues by @MaksPV in #1117
- M14: text the fonts can't draw is kept and reported, never written as ? silently by @kekeandzeyu in #1112
- M7: support shaped Thai text in Add Text and UI fallback fonts by @PuemMTH in #767
- M7: preserve overlapping text when dragging paragraphs (#594) by @FredApps in #1052
- Bound materialized text search matches (#971) by @rp6186030 in #1164
- XFA: import and export data files, and pictures for image fields by @ysrdevs in #1175
- docs(contributors): add Ufuk Efe to people.toml by @yeniufuklar-com in #1177
- Issue #1185: Protect refuses passwords that encryption would make empty or equal by @jay-tau in #1186
- M14: keep structural page order through inspection by @cyfung1031 in #1182
- Raise workspace rust-version to 1.95 to match the UI crate (#1169) by @MarekSpodBiedry in #1188
- M5: preserve comment identities during partial XFDF and FDF imports by @MMexicann in #1144
- Test PDF viewer trackpad pinch zoom by @earlvanze in #1148
- M4: replace selected pages from organize toolbar and context menus (#786) by @Hathor875 in #1149
- UI: checkboxes and radio buttons are outlined, and checkboxes are square by @Toddpe in #1173
- M14: "Edit with PdfCraft" on the File Explorer menu of PDF files (#682) by @jcl-bit in #1180
- M2: bound the total size of page-label prefixes by @ymote in #1146
- Windows printing: two-sided binds on the chosen edge; note drivers that ignore Two-sided by @bulgariamitko in #1154
- Issue #1028: OCR can read pictures on pages that already have text by @rp6186030 in #1184
- M14: choose Tools panel side in Preferences by @earlvanze in #1130
- Show annotation actions beside selected text by @earlvanze in #1133
- i18n(es): add 84 missing rows, consistent tú register by @diegozpy in #1134
- Linux: prefer server DPI over panel physical DPI in vendored winit by @gyurix in #1150
- M2: keep doubled short text runs from interleaving by @cyfung1031 in #1198
- docs: sync Earl Co contributor name from GitHub by @earlvanze in #1199
- Accessibility: identify structure objects in checker findings by @earlvanze in #1207
- Accessibility: edit structure tag properties through tools by @earlvanze in #1210
- Accessibility: export before-and-after review record by @earlvanze in #1204
- M10.5: Adopt craft-print spooler with Windows printing fixes by @skylartaylor in #1015
- Preserve source fonts in text editing and resize clipped artwork by @komo1iddin in #1116
- Polish chrome hover, press, and selection by @bartalos86 in #457
- Edit text: support Devanagari system font fallback and Indic pre-base matra reordering by @krinry in #1033
- Fix Word invoice layout and pagination (#773) by @lollinoo in #1126
- M5.7: Fill & Sign Scan tab for photographed signatures (#1110) by @Bjorneseth in #1111
- M4: rename colliding form field names when combining (organize.field-name-conflicts) by @edurbs in #1155
- M10: Create separate PDFs from multiple files by @earlvanze in #1183
- Comments panel: show Persian and Arabic comments in reading order (#1079) by @itrycodinganditsbad in #1138
- M10: Presentation (.pptx) export (#1137) by @Hathor875 in #1162
- Add editable page-range selection to Organize Pages (#1092) by @DWAA1660 in #1174
- M14: edits let go of the previous working file before writing the next (gap 13) by @rp6186030 in #1279
- Accessibility: show figure findings on the page by @earlvanze in #1280
- Fix viewport jitter when annotating with search active (#1254) by @omarelders in #1283
- Automation tests: isolate workdirs by call site by @cyfung1031 in #1223
- M0: validate the committed parity manifest in xtask tests by @srt8hellcat2-ui in #1214
- M7: report unsupported document link actions accurately by @cyfung1031 in #1242
- M5: Insert text snaps its caret to the text (#345) by @diegozpy in #1249
- Accessibility: compare checker results after each recheck by @earlvanze in #1250
- M5: quick-bar colour recolours the selected comment (#1191) by @rp6186030 in #1255
- Redaction: add case-sensitive and whole-word search options by @earlvanze in #1258
- control: close the connection on malformed input before auth by @SteamSmith in #1259
- M10.5: load driver options for CUPS printer instances by @srt8hellcat2-ui in #1226
- Units: read the Windows measurement system from the registry, not reg.exe by @jcl-bit in #1227
- Accessibility: reorder sibling structure tags through an undoable tool by @earlvanze in #1229
- Accessibility: export before-and-after review as HTML by @earlvanze in #1234
- Refine Greek localization and May abbreviation by @Camthalion77 in #1262
- Resize exclusive image crops across nested states and content streams by @komo1iddin in #1269
- honour the /Lab colour space /WhitePoint (#1203) by @Hathor875 in #1237
- Accessibility: persist human review decisions for an exact PDF revision by @earlvanze in #1239
- Accessibility: add visual tag properties panel by @earlvanze in #1216
- M10: print from the web build through the browser's print dialog (gap 4) by @rp6186030 in #1243
- M7: open local GoToR PDF links natively by @cyfung1031 in #1265
- M3: follow Windows' Animation effects setting; add an Animation effects preference by @JeremyYao in #1235
- Reading colours: replace document colours for reading comfort (#897) by @edurbs in #1270
- Accessibility: keep manual review visible in checker summaries by @earlvanze in #1224
- Tests: normalize generated streams in Arabic output golden by @earlvanze in #1275
- Comments: "Other colour…" picker and recent custom colours under the swatches (#1193) by @ngrafton2006 in #1261
- M3: add PDF tab context menu (fixes #1233) by @srt8hellcat2-ui in #1266
- M14: tune Windows low-DPI JetBrains Mono hinting by @cyfung1031 in #1264
- Text extraction: honour /ActualText, so Thai from Chrome PDFs is searchable by @git-monchiant in #1217
- feat(edit): remove all links command and context menu (#539) by @Hathor875 in #1213
- M12: say when a form's scripts were turned off by @arcanii in #1251
- XFA: one script thread per event, and the live form kept up to date in place by @ysrdevs in #1355
- xtask: stop headless Chrome leaving macOS code-sign clones (#1196) by @MarekSpodBiedry in #1292
- Issue #1296: hayro-syntax applies SASLprep to AES-256 passwords (PdfCraft patch 16) by @jay-tau in #1345
- M3: match Greek final sigma in case-insensitive search by @nevicia2010-hub in #1349
- Clean form tag references by @not-a-feature in #1351
- M12: accept literal digits in date formats (dd.mm.26) by @aparcar in #1352
- CI: keep craft-fonts enabled across Linux Rust gates by @cyfung1031 in #1284
- CI: run dependency layering once per workflow by @cyfung1031 in #1286
- CI: keep line tables instead of full workspace debug info by @cyfung1031 in #1298
- test(cli): reject unknown MCP options by @mhmdeve in #1342
- Refine search match selection and text failure jitter handling by @omarelders in #1291
- Fill & Sign: choose text and date font size by @earlvanze in #1285
- fix(xfdf): text data from a one-field form keeps its commas (#1321) by @marcoarnulfo in #1371
- CLI: audit rejects unknown options before reading the file (fixes #1332) by @umesh429 in #1372
- fix(preflight): find colour operators after any PDF whitespace (#1334) by @marcoarnulfo in #1373
- fix(sign): a signature field with a null /V can be signed by name (#1328) by @marcoarnulfo in #1374
- fix(redact): removing comments keeps non-comment annotations (#1325) by @marcoarnulfo in #1375
- fix(print): refuse huge posters at the sheet limit instead of overflowing (#1335) by @marcoarnulfo in #1376
- M7: preserve Arabic text order in copy, search and editing by @YouseifUS in #1369
- M2: snap shrunk interpolated images to whole pixels so scans stay sharp by @philip-tam in #1377
- M14: Preserve recovery snapshots without readable metadata by @LabDennis in #1378
- fix(fonts): a composite /W run past the last CID stops there (#1313) by @marcoarnulfo in #1389
- fix(ui): the Fields panel lists a field on a missing page as unplaced (#1307) by @marcoarnulfo in #1390
- fix(automation): content_update refuses text styling on an image (#1331) by @marcoarnulfo in #1391
- fix(forms): a whole look keeps the rest of an indirect /MK (#1322) by @marcoarnulfo in #1392
- fix(forms): a literal Off value reads as Off outside buttons (#1320) by @marcoarnulfo in #1393
- fix(fonts): a /Differences code past 255 no longer encodes as its last byte (#1314) by @marcoarnulfo in #1394
- Issue #1368: keep text a dragged paragraph passed over by @Ridzzz0Alam in #1381
- M7: Preserve explicit page ranges across dialog redraws (#1304) by @LabDennis in #1382
- M3: select an image on the page and copy it by @FrancescoClemeno in #1363
- fix(cli): edit refuses move/insert destinations past the end (#1330) by @umesh429 in #1400
- fix(sign): refuse to sign a field whose /V is not a signature (#1328) by @marcoarnulfo in #1402
- fix(forms): keep a whitespace-only value in a text field without a format (#1323) by @marcoarnulfo in #1403
- fix(content): skip an inline image with an unreadable key to its EI (#1318) by @marcoarnulfo in #1404
- fix(automation): doc_save reports a required full rewrite as not incremental (#1329) by @marcoarnulfo in #1405
- fix(audit): an identity cm between re and fill no longer hides a cover (#1333) by @umesh429 in #1410
- fix(ui): Current page prints the viewed page, not a page labelled with its number (#1308) by @marcoarnulfo in #1411
- fix(render): draw Turkish Ğ İ Ş ğ ş in non-embedded fonts by @TheLastRoadRunner in #1409
- M10: edit OCR text on scanned pages so the change shows by @TanguAchilis in #1397
- Edit text: support per-font visual-order Indic text and nukta reordering by @krinry in #1380
- M12: preview text structure proposals for auto-tagging by @earlvanze in #1383
- M10: Test current-page print previews and saved output by @LabDennis in #1415
- fix(content): count an unreadable inline image with no EI as skipped (#1318) by @marcoarnulfo in #1418
- feat(ui): add command palette arrow-key navigation by @Morpheus004 in #1419
- M4: Fix Combine duplicate warnings and cache their computation by @LabDennis in #1420
- feat(preflight): verify image resolution and bleed without rewriting the file by @Baltsar in #1408
- M14: add Lithuanian interface and date localization by @tdslot in #1401
- M1: write a valid xref when an incremental save has no objects (#1339) by @bartalos86 in #1424
- Release workflow: pass the Azure signing secrets by @echelon in #1194
New Contributors
- @dylanmtaylor made their first contribution in #1073
- @arcanii made their first contribution in #1081
- @atoslins made their first contribution in #1088
- @sibrash4 made their first contribution in #1030
- @huferyliu made their first contribution in #1042
- @piero-83 made their first contribution in #1044
- @EULArule made their first contribution in #1098
- @michelleDeko made their first contribution in #1100
- @MaxTheHaters made their first contribution in #1023
- @magdale76 made their first contribution in #1027
- @Totopo27 made their first contribution in #933
- @luniiya made their first contribution in #1082
- @Ridzzz0Alam made their first contribution in #1064
- @neronek22 made their first contribution in #1065
- @pechnikov2026-star made their first contribution in #954
- @sfv9 made their first contribution in #968
- @mjohnson7cd made their first contribution in #1006
- @sawizzle made their first contribution in #643
- @art804 made their first contribution in #601
- @YingQiu0871 made their first contribution in #925
- @omarelders made their first contribution in #1069
- @pkibiego made their first contribution in #987
- @WladmirJunior made their first contribution in #1089
- @kestrel99 made their first contribution in #934
- @lukashold made their first contribution in #1004
- @krinry made their first contribution in #1040
- @LucasT-dev made their first contribution in #1086
- @ejbarraza made their first contribution in #110
- @nicholasyoannou made their first contribution in #1113
- @durtyrobbin made their first contribution in #1123
- @JeremyYao made their first contribution in #1099
- @Piohrun made their first contribution in #636
- @coygeek made their first contribution in #1017
- @mhadidi06 made their first contribution in #504
- @Losminek made their first contribution in #1066
- @spacekomet made their first contribution in #1091
- @Camthalion77 made their first contribution in #994
- @yeniufuklar-com made their first contribution in #1057
- @tzagim made their first contribution in #521
- @kekeandzeyu made their first contribution in #1112
- @PuemMTH made their first contribution in #767
- @FredApps made their first contribution in #1052
- @rp6186030 made their first contribution in #1164
- @MMexicann made their first contribution in #1144
- @earlvanze made their first contribution in #1148
- @ymote made their first contribution in #1146
- @diegozpy made their first contribution in #1134
- @komo1iddin made their first contribution in #1116
- @lollinoo made their first contribution in #1126
- @Bjorneseth made their first contribution in #1111
- @itrycodinganditsbad made their first contribution in #1138
- @srt8hellcat2-ui made their first contribution in #1214
- @SteamSmith made their first contribution in #1259
- @ngrafton2006 made their first contribution in #1261
- @git-monchiant made their first contribution in #1217
- @nevicia2010-hub made their first contribution in #1349
- @not-a-feature made their first contribution in #1351
- @aparcar made their first contribution in #1352
- @mhmdeve made their first contribution in #1342
- @marcoarnulfo made their first contribution in #1371
- @umesh429 made their first contribution in #1372
- @YouseifUS made their first contribution in #1369
- @philip-tam made their first contribution in #1377
- @LabDennis made their first contribution in #1378
- @FrancescoClemeno made their first contribution in #1363
- @TheLastRoadRunner made their first contribution in #1409
- @TanguAchilis made their first contribution in #1397
- @Morpheus004 made their first contribution in #1419
- @Baltsar made their first contribution in #1408
- @tdslot made their first contribution in #1401
Full Changelog: v0.6.0...v0.7.1
Original source - Oct 12, 2026
- Date parsed from source:Oct 12, 2026
- First seen by Releasebot:Oct 13, 2026
FilmCraft v0.7.2
filmcraft releases a major update with broader video and audio format support, faster playback and decoding, and smoother editing workflows. It also adds timeline and text tools, export options, localization improvements, and fixes across media handling and the interface.
What's Changed
- Share docking transactions and preserve FilmCraft panel behavior by @skylartaylor in #881
- ci: refactor workflows to use storytold/craft-common-actions by @dylanmtaylor in #1051
- #853: Shift constrains pen mask segments to 45° steps by @vangel76 in #862
- Reveal in Finder for Project clips with a local path by @vbasky in #889
- fix(media): RF64 trailing metadata stays outside audio duration by @mjohnson7cd in #944
- Keep nested sequence markers in OTIO export by @vbasky in #947
- Export: correct loudness lost to peak limiting by @earlvanze in #952
- Keep New Sequence open when frame size is rejected by @vbasky in #974
- #980: VP9 decode loop-filters a frame as a superblock-row wavefront by @vangel76 in #995
- #790: Matroska AAC / MP3 / AC-3 trims the exact CodecDelay by @vangel76 in #792
- #923: reordered Matroska video without DefaultDuration keeps its frame rate by @JordyUSA in #986
- timeline: box selection updates live while dragging by @ReReddo in #1028
- Engine: list edge, params and reverse in the sequence.applyAudioTransition schema (#1100) by @MarekSpodBiedry in #1107
- Timeline: keep continuous thumbnails fixed while the view zooms (#1094) by @MarekSpodBiedry in #1108
- fix(effects): keep a setParam keyframe outside the clip at its time (#1055) by @itrycodinganditsbad in #1120
- dock: the mouse wheel over a tab strip switches tabs by @ReReddo in #1032
- Roll linked audio with the picture cut by @vbasky in #870
- #243: text fields keep unmodified keys so IMEs can compose by @opentechnepal in #888
- One undo for a Scale (and similar) mouse drag by @vbasky in #892
- Essential Graphics: an Install refused shows why on the status bar (#611) by @vbasky in #949
- fix(render): update Noise grain on every frame using exact timestamps by @Ni-zav in #956
- Timeline: a drag with Track Select Forward/Backward moves what it selects by @mktk1117 in #979
- fix: 値グラフからキーフレームの補間を選択 #962 by @haranishi in #1138
- tools: press and drag a grouped tool to open its flyout by @ReReddo in #1030
- meters: adapt to the panel's size; react while scrubbing by @ReReddo in #1031
- fix(render): 5.1 sources on a stereo track fold down instead of losing C and surrounds by @ossini in #1036
- Timeline: a press on the ruler moves the playhead at once (#1090) by @MarekSpodBiedry in #1109
- fix(cli): fail export/render that drew offline media unless --allow-offline (#1054) by @itrycodinganditsbad in #1121
- fix: パネルのフォーカス枠の欠けを修正 #1075 by @haranishi in #1144
- macOS: app menu follows the interface language (#1145) by @keller-lukas in #1151
- Keep recovery snapshots when session metadata is unreadable by @vbasky in #932
- monitors: about 10% of zoom per wheel notch, exactly reversible by @ReReddo in #1026
- Underline vertical graphic text by @vbasky in #1044
- Underline follows baseline shift on whole-style text by @vbasky in #1045
- Fix #1072: Text panel 'Import captions file…' button label invisible in light mode by @mjohnson7cd in #1084
- #1091: Home / End and other jumps scroll the Timeline to the playhead by @vangel76 in #1097
- fix: 再生停止後も音量メーターを更新 #1062 by @haranishi in #1133
- Hot-text number fields select the whole value when clicked (#1126) by @MarekSpodBiedry in #1166
- #867: Indonesian (id) interface translation by @vangel76 in #878
- #847: AV1 decode runs deblocking, CDEF and loop restoration in parallel row bands by @vangel76 in #886
- Refuse trim and timing edits on a locked track by @vbasky in #934
- Match Frame on a reversed clip uses moving source time by @vbasky in #973
- Fix Extract hard cutoffs and clipped caption font targets by @whatever-industries in #1047
- Clear used media as offline instead of stripping the timeline by @vbasky in #1050
- #820: fall back to DX12, then a software adapter, when the graphics start fails by @vangel76 in #827
- #844: on-monitor corner-roundness handle for masks by @vangel76 in #851
- #965: HDR and wide-gamut media play on the GPU path by @JordyUSA in #1017
- OS drops on an empty Timeline create a sequence by @vbasky in #833
- #841: import packed 10/12-bit and Y'CbCr DPX stills by @vangel76 in #842
- #840: restart an audio stream the device drops instead of playing silent by @vangel76 in #849
- Reject negative times on timeline.place and markers.add by @vbasky in #869
- LongGOP seek / time-to-first-frame, not the H.264 throughput gap by @vbasky in #876
- Import every MPEG audio stream, not only the first PID by @vbasky in #891
- MCP invalid --bridge exits 2 like other usage errors by @vbasky in #975
- #924: decoded H.264 / HEVC frames keep the signalled colour primaries by @JordyUSA in #988
- WIN: stabilize Windows verification prerequisites by @jahvari in #989
- Reject non-finite numbers and empty LUT input ranges in .cube import (#998) by @MarekSpodBiedry in #1012
- #1018: Scene Edit Detection in the timeline clip's right-click menu by @ossini in #1048
- fix: サブクリップ配置で親の音声を保持 #913 by @haranishi in #1099
- Escape cancels a drag in progress: drag-and-drop, value drags, color pickers and dialogs by @ReReddo in #608
- Export FCP7 XML markers on source media by @vbasky in #946
- #395: Arabic and Hebrew in the interface: fallback fonts, captions in reading order by @seif9116 in #1140
- Timeline: dragging a clip above the top track or below the last one adds a new track (#1104) by @MarekSpodBiedry in #1167
- fix(tts-text): preserve magnitude, fractions and leading zeros in narration by @Ni-zav in #954
- Move fade-out with a non-ripple Speed/Duration change by @vbasky in #969
- Refuse timeline.move when the source track is locked by @vbasky in #970
- Clamp Automate Cross Dissolve to the placed overlap by @vbasky in #976
- #922: eight-channel AAC reports and returns eight channels by @JordyUSA in #984
- Lumetri panel: truncate a long clip name in the header so the control rows stay in view (#997) by @MarekSpodBiedry in #1013
- settings: label colour presets (built-ins, import, export, delete) by @ReReddo in #1035
- fix(audio): シャトル再生で音程維持設定を反映 (#959) by @haranishi in #1146
- #831: cargo xtask parity measures effects and transitions (--area) by @vangel76 in #836
- #480: exports no longer stop for good when a clip's decoding uses rayon (rotated iPhone HEVC clips) by @MrCloudy2 in #846
- Opening Demo Project does not keep the previous save path by @vbasky in #933
- Import FCPXML one-frame markers as points by @vbasky in #945
- One undo for a multi-point Trim by Frames by @vbasky in #971
- Add OmaStore manifest by @KitsuneSemCalda in #513
- Paste cut clips even when old OS clipboard files linger by @vbasky in #839
- #835: workflow acceptance tests through the MCP server, checked by ffprobe by @vangel76 in #843
- #854: GIF frame delays add up to the sequence duration by @vangel76 in #872
- monitors: show the unreadable slate for persistently failing (damaged) media by @FredApps in #885
- Clear Close Sequence also clears File Close (Cmd+W) by @vbasky in #832
- fix(export): estimate TIFF sequence size using the actual channel count by @Ni-zav in #957
- #928: the schema reports Restore open sequences as wired by @JordyUSA in #992
- Count VideoToolbox sessions, frames and declined requests in perf.stats (#981) by @MarekSpodBiedry in #1014
- Keep the voice-over start point when recording past the end of the timeline (#960) by @MarekSpodBiedry in #1015
- timeline: drag the outer track edges to resize by @ReReddo in #1027
- docs: German in the localization parity table (follow-up to #630) by @keller-lukas in #1073
- #371: split stereo halves from FCP7 XML play on their own side by @carlitosteso3 in #1085
- fix: ハイフン区切り数字の先頭ゼロを保持 #910 by @haranishi in #1105
- Text editing on the Program monitor: double-click and Ctrl/Cmd+A select all the text (#1102) by @MarekSpodBiedry in #1106
- Export: unknown keys in settings are an error, not ignored by @japbcoelho in #1113
- fix(captions): apply body and div timing to TTML paragraphs (#895) by @itrycodinganditsbad in #1119
- fix(playback): rest Program marked playback on the Out frame by @Ni-zav in #955
- Export: FLAC (clean-room encoder; .flac files and FLAC audio in MP4/MOV) by @JordyUSA in #613
- #598: import AVI files (clean-room AVI / OpenDML demuxer) by @JordyUSA in #650
- program monitor, effect controls: on-screen transform handles for Motion and Transform by @ReReddo in #667
- #809: own MPEG audio Layer I / II decoder plays MP2 at ffmpeg's default bit rates by @vangel76 in #819
- #1039: faster HEVC motion compensation and deblocking, bit-exact (−10…28% cycles per frame) by @vangel76 in #1053
- #432: VP8 video decodes (clean-room pure-Rust VP8 decoder), so VP8 WebM no longer shows black by @MrCloudy2 in #1064
- Type text committed by an input method into text layers on the monitor (#1083) by @MarekSpodBiedry in #1110
- monitors: a zoom bar for the time ruler, larger transport buttons by @ReReddo in #1025
- #859: complete the Brazilian Portuguese (pt-br) interface translation by @vangel76 in #866
- Project panel: dragging one of several selected items places them all, back to back, in one undo step by @aw4e in #746
- number fields: type a calculation and get its result by @ReReddo in #845
- i18n: complete and polish the Japanese catalog by @FacedFour1207 in #991
- fix: マーカーの色変更と範囲帯の右クリックを修正 (#1143) by @haranishi in #1161
- #786: right-click Label menus show the label colours by @vangel76 in #873
- #1092: Project panel Shift-click selects the range from the anchor by @vangel76 in #1095
- Show audio effects in Effect Controls on linked A/V clips by @vbasky in #834
- #857: reject unknown marker colour names instead of storing Green by @vangel76 in #864
- Linked Rate Stretch keeps one speed when a neighbour limits a partner by @vbasky in #972
- Source marks honour frame, seconds and timecode by @vbasky in #1043
- #850: launch files open whatever the extension's case, with absolute paths by @vangel76 in #858
- #260: file dialogs on Linux no longer stop the app (GNOME "not responding") by @MrCloudy2 in #604
- export: type the file name and pick the location in Quick Export by @ReReddo in #1033
- fix(menus): native menu follows command enablement (#902) by @itrycodinganditsbad in #1129
- #402: animated GIF and APNG import as clips, with transparency by @liangforstudy in #931
- #1065: CinemaDNG / DNG import with a clean-room decoder by @vangel76 in #1068
- #874: compressed (RLE / ZIPS / ZIP) OpenEXR export by @vangel76 in #879
- fix(timeline): snap sub-frame timeline.place to the frame grid; inspect counts export's frames (#1101) by @itrycodinganditsbad in #1139
- fix: エフェクトコントロールの矩形選択とShiftスナップを修正 (#967) by @haranishi in #1159
- #828: import OpenEXR stills and image sequences by @vangel76 in #837
- Median Radius is not capped at four working pixels by @vbasky in #1046
- M7: optimize audio DSP and isolate the unchanged mixer throughput gate by @earlvanze in #865
- Trim MP3 encoder delay when decoding audio files (#1137) by @MarekSpodBiedry in #1165
- fix(ui): add Korean font fallback for UI text by @mjohnson7cd in #964
- UI: favorite themes and appearance shortcuts by @luniiya in #1070
- #1039: 8-bit HEVC pictures as u8, in-place motion compensation (−14…23 % per frame), big-picture analysis by @vangel76 in #1067
- Linux: VA-API EncSlice probe and bounded export GPU wait (#1058) by @vbasky in #1063
- timeline: cancel drag and restore playhead on Escape (#580) by @Auipp in #1052
- dialogs: drag them by the title bar (open centred, no longer anchored) by @liangforstudy in #1217
- fix: Close Gapをショートカットに割り当てられるようにする by @haranishi in #1168
- ui: reduce sequence copying and cache transcript redraw data by @OorjitSethi in #1193
- #1124: ⌘D / ⇧⌘D apply transitions to the selected clips or edit points by @n-delic in #1198
- Release workflow: pass the Azure signing secrets by @echelon in #1169
New Contributors
- @skylartaylor made their first contribution in #881
- @earlvanze made their first contribution in #952
- @itrycodinganditsbad made their first contribution in #1120
- @opentechnepal made their first contribution in #888
- @mktk1117 made their first contribution in #979
- @whatever-industries made their first contribution in #1047
- @jahvari made their first contribution in #989
- @seif9116 made their first contribution in #1140
- @KitsuneSemCalda made their first contribution in #513
- @FredApps made their first contribution in #885
- @japbcoelho made their first contribution in #1113
- @aw4e made their first contribution in #746
- @FacedFour1207 made their first contribution in #991
- @Auipp made their first contribution in #1052
- @OorjitSethi made their first contribution in #1193
- @n-delic made their first contribution in #1198
Full Changelog: v0.6.0...v0.7.2
Original source Similar to storytold with recent updates:
- Smokeball release notes147 release notes · Latest Oct 2, 2026
- Cosmolex release notes20 release notes · Latest Jul 30, 2025
- PracticePanther release notes36 release notes · Latest Aug 11, 2026
- Salesforce release notes78 release notes · Latest Oct 1, 2026
- Microsoft release notes965 release notes · Latest Oct 13, 2026
- Zoom release notes219 release notes · Latest Sep 24, 2026
- Oct 12, 2026
- Date parsed from source:Oct 12, 2026
- First seen by Releasebot:Oct 13, 2026
LightCraft v0.7.1
lightcraft releases a major update that expands photo editing with HDR tools, content-aware removal, soft proofing and watermark controls, while improving camera and RAW support, catalog management, performance and everyday workflow reliability.
What's Changed
- Add shared docking while preserving photo tools and catalog drops by @skylartaylor in #869
- Integration batch 26: 31 reviewed contributor PRs by @bflatastic in #975
- Brush mask: holding the brush still adds no coverage; flow builds up by passes (#518) by @bitshiftza in #767
- KEY-ESC: Esc leaves the crop tool before leaving Detail by @PiMinusMax in #772
- LR-CROP-FLIP: Flip H / Flip V show in the crop tool by @PiMinusMax in #773
- LR-IMP-CAMERA-COVERAGE: SRF and DSLR-A100 raws open again (#702) by @AlexChambers in #774
- LR-BEHAV-GPU: no indirect-call validation pipeline, which Intel Metal fails to compile (issue #250) by @radialmonster in #779
- System Info, All Metadata and What's New end with one Close button, like About (#782) by @bitshiftza in #785
- LR-EDIT-RESET: Reset Edits returns a raw to its import defaults, sharpening and colour NR included by @radialmonster in #792
- Fix #714: mouse wheel zooms the loupe around the pointer by @PierrunoYT in #799
- Fix reject flag spacing in the bottom toolbar by @shurkanTwo in #803
- Block background interaction while dialogs are open by @shurkanTwo in #809
- LR-VIEW-BEFOREAFTER: zoomed side by side / stacked views stay in their panes by @PiMinusMax in #817
- CR3: decode CRX quantisation step 44 (QP 168), Canon EOS R50 C-RAW by @radialmonster in #829
- LR-META-EXIF-FULL: All Metadata shows the raw image's Compression by @radialmonster in #831
- web: stop the release zip shipping Cargo build artifacts (#793) by @eliets2 in #848
- LR-CROP-STRAIGHTEN: the rotate pointer faces away from its side of the crop box by @john01px2022 in #855
- LR-PROF-CAMERACOLOR: near-black pixels no longer turn white in the camera look by @PiMinusMax in #858
- test(engine): cover mixed Windows path separators in folder synchronization by @THEtheChad in #873
- LR-HDR-EXPORT: HDR renders keep the camera tone curve in the midtones by @robmdunn in #877
- fix(ui): show completion feedback for library maintenance and Auto Sync by @Ni-zav in #883
- fix(query): prevent catalog pagination overflow on 32-bit web builds by @Ni-zav in #885
- Tests: hold the MCP export-cancel test's export after its first photo until cancelled (#674) by @ingolfteetz in #935
- Dropping photos with XMP sidecars no longer imports the sidecars as presets (#936) by @MarekSpodBiedry in #943
- Masking: Color Range "Pick" button samples the photo by @emmertex in #957
- LR-VIEW-BEFOREAFTER: click tools work in the Before view of side by side / top-bottom by @PiMinusMax in #746
- LR-VIEW-COMPARE: a filmstrip click shows the photo in Compare by @PiMinusMax in #747
- LR-EDIT-COLOR-WB-PICKER: the selector button does what W does by @PiMinusMax in #748
- raw: find the saturation plateau despite stray samples above it (CR2 white level) by @TicT4x in #753
- LR-IMP-FORMATS: EOS R5 Mark II crop-mode CR3s develop without a black band by @radialmonster in #754
- LR-IMP-CAMERA-COVERAGE: Nikon D4 image area and white level, measured against its camera JPEG by @Unemars in #759
- Return applies the Copy Settings and Paste Selected Settings dialogs (#735) by @bitshiftza in #760
- Integration batches 27–30: 80 reviewed contributor PRs by @bflatastic in #981
- Fix immediate slider value entry and Reset precedence by @sanyamsingh001 in #952
- fix(macos): validate signed app in final DMG (#863) by @xristosmoug in #959
- LRC-LIB-CATALOG-IMPORT: describe raws from their headers without reading pixel data (step 1 of #832) by @ingolfteetz in #961
- LR-IMP-PROFILES: .cube-only imports report their profiles and failures (#942) by @bflatastic in #970
- LR-EDIT-DETAIL-DENOISE: dismissing the model setup turns AI Denoise back off (#922) by @bflatastic in #971
- UI: star rating previews the hovered rating, Info tab and bottom bar (#647) by @MarekSpodBiedry in #665
- Headless sessions honour LIGHTCRAFT_SAM3_DIR for the SAM 3 model folder (#619) by @MarekSpodBiedry in #666
- Issue #99: lock tests: keep the child-process test from overlapping the others by @AlexChambers in #679
- Right-click ▸ Add to Album offers New Album…, also with no album yet (#676) by @bitshiftza in #685
- DNG bad-pixel opcodes: cap the pixels they repair by @haranishi in #686
- XMP merge: keep refusing repeated attributes, in linear time by @haranishi in #687
- LR-IMP-CAMERA-COVERAGE: Sony DSC-R1 reads its SR2SubIFD (black, white balance, crop): seed derived from the key by @radialmonster in #689
- LR-PREF-PERFORMANCE: cover every GPU kernel build with the crash marker, catch internal compile errors (#250) by @radialmonster in #694
- LR-EDIT-OPTICS-PROFILE: keep Sony aspect crops outside validated corrections by @QuirkyTurtle94 in #695
- In-window menus: a scrolled menu draws no scrollbar over its shortcut text (#691) by @bitshiftza in #696
- LR-IMP-FORMATS: decode Kodak DCS520C raw TIFF (two-component lossless JPEG with response curve) by @radialmonster in #700
- Read Lightroom spot removal (crs:RetouchAreas, RetouchInfo) from sidecars and presets by @aayusharora in #703
- spot.findBlemishes: heal small blemishes on detected faces (classical, no new model) by @aayusharora in #704
- Catalog lock: release the library lock explicitly on drop, not by closing the handle (#680) by @bitshiftza in #710
- GPU fallback reason per render; the export fallback test no longer reads process-wide state (#675) by @bitshiftza in #712
- docs: point to the two Olympus patents as a clean-room base for compressed ORF by @feffef in #716
- Hold Shift while dragging a crop handle to keep proportions by @itrycodinganditsbad in #720
- Linux/FreeBSD: file dialogs are children of the app window (Wayland portal parent) by @jazzautomations in #721
- Upper-case extensions: #705 is #342, fixed in 0.5.0; import/browse/sidecar coverage for .JPG, .Jpg, .NEF, .XMP by @bitshiftza in #723
- Importing a deleted photo's file again brings it back from Recently Deleted (#706) by @bitshiftza in #726
- Web: a failed render worker start no longer shifts the other workers' slots (#229) by @MarekSpodBiedry in #728
- Denoise: a running job's picture is Ready only when the job reports, not when its file appears (#719) by @bitshiftza in #729
- LR-EDIT-OPTICS-PROFILE: apply embedded Fujifilm RAF distortion and vignetting tables by @radialmonster in #734
- Linux: default to XWayland for file drag-and-drop on Wayland desktops by @dylanmtaylor in #738
- README: add a Simplified Chinese translation (zh-hans) by @lzjtugjc in #749
- LR-BEHAV-LOCALIZE: craft-fonts faces of other scripts are UI fallbacks (#736) by @radialmonster in #750
- LR-PREF-DISPLAY: macOS previews follow the screen's profile, so they match exports (#787) by @LloydNicholson in #791
- LR-EDIT-OPTICS-PROFILE: apply DNG WarpRectilinear2 lens corrections (Pixel DNGs, #635) by @radialmonster in #794
- Color Grading: Shift-drag saturation lock, range tabs, per-wheel eye (#737, #559) by @sajibsrs in #825
- fix(export): expose all nine watermark positions and adjustable inset by @Ni-zav in #833
- fix(previews): shard new smart previews while retaining legacy files by @Ni-zav in #834
- LR-EXP-WATERMARK: preview the watermark in the Export dialog (#827) by @john01px2022 in #843
- LR-EXP-WATERMARK: separate horizontal and vertical watermark insets (#827, stacked on #833) by @john01px2022 in #845
- LR-EXP-WATERMARK: rotate the watermark in quarter turns (#827, stacked on #845) by @john01px2022 in #847
- LR-PROF-CAMERACOLOR: read an untagged camera JPEG in the colour space the raw's EXIF states (#778) by @radialmonster in #854
- LR-BEHAV-UNDO: keep file history consistent after failed renames by @sanyamsingh001 in #874
- fix(sliders): nudge selected sliders with the wheel and arrow keys by @Ni-zav in #884
- Progress docs: gaps.md reviewed after 0.6.0 by @cookingwithsimon in #887
- README: point the font-standard note at craft-fonts (#826) by @vbasky in #890
- LR-VIEW-ZOOM: sharp 1:1 in Compare and Reference (zoom windows per pane) by @cookingwithsimon in #900
- Open Library recognises a Lightroom catalog and offers to import it (#891) by @bitshiftza in #907
- Drafts keep the wide planes across a noise-reduction change (CPU NR drag) by @emmertex in #923
- Export: Remove location info also covers Original and DNG formats by @emmertex in #925
- Content-aware Remove: inpaint crate (PatchMatch) and a Fill spot mode by @emmertex in #926
- Perf: parallel preview builds and faster hue/saturation tables by @emmertex in #927
- Soft proofing against printer ICC profiles: intent, Simulate Paper & Ink, device gamut warning by @emmertex in #928
- View: Lights Out (Shift+L), like Lightroom Classic by @emmertex in #945
- Library switching: New Library…, Open Recent Library, library name in the title by @emmertex in #946
- Library: create folders on disk and move photos between folders by @emmertex in #947
- Reverse geocoding: fill City / State / Country from GPS (offline GeoNames) by @emmertex in #948
- UI: favorite themes and appearance shortcuts by @luniiya in #950
- Fix #812: the window's renderer can't kill the start-up (DX12 shader errors) by @emmertex in #951
- LR-EXP-PSD: Edit in PhotoCraft (right-click Edit In, flat PSD hand-off) by @cookingwithsimon in #953
- masking: keep zoom and pan while masking; improve sky mask edges by @David-T-Campos in #547
- Remember the last crop aspect as the default by @danielspruce in #617
- LR-IMP-FORMATS: Sony ARW6 (Compressed RAW 2) decoder for the ILCE-7RM6 by @dev-null-undefined in #625
- LR-EDIT-LIGHT-HIGHLIGHTS: keep local contrast under Highlights and Shadows by @radialmonster in #645
- HDR: read crs:HDREditMode from XMP into hdr.enabled by @JordyUSA in #663
- HDR: PNG export as 16-bit Rec. 2020 PQ (cICP, cLLI) by @JordyUSA in #664
- LRC-LIB-CATALOG-IMPORT: find moved root folders relative to the catalog by @mrpdaemon in #667
- UI: Add system appearance and light themes by @luniiya in #683
- HDR: HDR button next to B&W in the Edit panel header (as Lightroom) by @JordyUSA in #688
- Settings ▸ Faces: Recognise faces stays off until a recognition model is chosen (#678) by @bitshiftza in #698
- AI Denoise: run tiles on another computer's graphics card (remote offload) by @akvaithi in #813
- Integration batch 31: translations, raw header previews, XMP import warnings, Apple Photos, HDR histogram, JPEG XL, Edit In for many photos by @bflatastic in #998
- Report unsupported XMP profiles & geometry during photo import by @bogusyogi in #434
- LR-EXP-PHOTOS: add exported files to Apple Photos (macOS, #236) by @AlexChambers in #643
- HDR: HDR histogram for HDR edits (fixed 5-stop scale, Lightroom layout) by @JordyUSA in #677
- Complete Simplified Chinese (zh-hans) catalog by @Twdhsi-666 in #725
- LR-IMP-PREVIEW-READ: a preview reads the raw's header, not the raw (56.5 MB → 5.9 MB, 10 s → 1 s over SMB) by @lzjtugjc in #755
- Updated Russian translation (again) by @wondarkus in #822
- fix(windows): preserve legacy MSI install folders via App Paths by @THEtheChad in #879
New Contributors
- @skylartaylor made their first contribution in #869
- @PiMinusMax made their first contribution in #772
- @PierrunoYT made their first contribution in #799
- @shurkanTwo made their first contribution in #803
- @eliets2 made their first contribution in #848
- @john01px2022 made their first contribution in #855
- @THEtheChad made their first contribution in #873
- @robmdunn made their first contribution in #877
- @Ni-zav made their first contribution in #883
- @ingolfteetz made their first contribution in #935
- @emmertex made their first contribution in #957
- @TicT4x made their first contribution in #753
- @Unemars made their first contribution in #759
- @xristosmoug made their first contribution in #959
- @haranishi made their first contribution in #686
- @aayusharora made their first contribution in #703
- @feffef made their first contribution in #716
- @itrycodinganditsbad made their first contribution in #720
- @jazzautomations made their first contribution in #721
- @LloydNicholson made their first contribution in #791
- @sajibsrs made their first contribution in #825
- @luniiya made their first contribution in #950
- @David-T-Campos made their first contribution in #547
- @danielspruce made their first contribution in #617
- @dev-null-undefined made their first contribution in #625
- @JordyUSA made their first contribution in #663
- @mrpdaemon made their first contribution in #667
- @Twdhsi-666 made their first contribution in #725
Full Changelog: v0.6.0...v0.7.1
Original source - Oct 12, 2026
- Date parsed from source:Oct 12, 2026
- First seen by Releasebot:Oct 13, 2026
VectorCraft v0.10.0
vectorcraft releases a major update with faster large-document editing, expanded graph design tools, improved typography and multilingual support, and more reliable PDF, AI, and EPS workflows. The update also refines selection, alignment, and interface controls.
What's Changed
- #1063: a fill or stroke chosen with characters selected colours just them by @bflatastic in #1075
- Fix font size and horizontal scale after text/group scaling by @lollinoo in #1045
- Type: Proportional Metrics — full-width glyphs on the font's proportional widths, palt (#966) by @imachus in #1067
- Object: Align, Move, Arrange and other commands that change nothing record no undo step by @dotCooCoo in #1060
- #1032: spot colours defined in Lab keep their Lab values by @bflatastic in #1076
- Build: generated sources are rewritten only when they change by @bobtherobot in #1051
- Gradient mesh: a fill colour recolours the point last clicked (#1050) by @MarekSpodBiedry in #1052
- fix(ui): keep All Tools drawer compact on wide screens by @Ni-zav in #1054
- fix(textwrap): reject malformed explicit object targets atomically by @Ni-zav in #1055
- fix(gradient): reject malformed freeform line index lists by @Ni-zav in #1056
- fix(corners): reject malformed explicit dialog targets by @Ni-zav in #1057
- fix(views): validate saved-view coordinates and rotation by @Ni-zav in #1058
- Tests: the command sweeps no longer skip junk scale, spacing and artboard values by @dotCooCoo in #1059
- EPS: arc and arcn with huge angles no longer hang the import by @dotCooCoo in #1062
- Align: a compound path or selected group that contains the key object stays in place by @dotCooCoo in #1074
- #1068: a .ai read as its PDF part keeps its artboard layout by @bflatastic in #1084
- fix(layers): validate explicit Layer Options targets by @Ni-zav in #1077
- fix(shaper): reject invalid explicit scribble targets by @Ni-zav in #1078
- fix(width): validate every explicit width-point removal index by @Ni-zav in #1079
- fix(ui): show Preferences checkbox outlines in every theme by @Ni-zav in #1080
- Adopt shared docking with panel menus and saved return locations by @skylartaylor in #1090
- #885: every checkbox keeps a visible box at rest by @bflatastic in #1112
- Width points: set and copy refuse a malformed index by @bflatastic in #1113
- #1102: an EPS keeps its page and stacked text strokes through its layers by @bflatastic in #1120
- #1085: the DMG's app passes codesign --strict by @bflatastic in #1121
- Drops: libraries, presets and plug-ins open on a drop, as File › Open opens them by @dotCooCoo in #1083
- Align: a key object needs two or more selected objects by @dotCooCoo in #1088
- Align: Align to Artboard uses the active artboard by @dotCooCoo in #1105
- Align, Reflect and Shear: object.align needs a direction; unknown choices are errors by @dotCooCoo in #1106
- MCP: object.setProps removes the objects it hides or locks from the selection by @dotCooCoo in #1107
- Part of #394: Align and Distribute move pattern tiles when Transform Pattern Tiles is on by @dotCooCoo in #1108
- Object: Lock and Hide › All Artwork Above deselect the objects they lock or hide by @dotCooCoo in #1109
- Swatches: swatch.library.save counts only the swatches the file holds by @dotCooCoo in #1110
- #1095: an artboard's name stays at its corner in a rotated view by @bflatastic in #1122
- #1111: Ctrl+Shift+L, C, R, J and F align paragraphs by @bflatastic in #1127
- Fix #867: macOS file dialogs are sheets, and no dialog runs inside the event handler by @Emlembow in #1099
- #893: Shape Builder merges leave no seams on grids of lines by @NoJuanNobody in #1081
- Type: Proportional Metrics in vertical type — upright glyphs on the font's proportional heights, vpal (#966) by @imachus in #1082
- Plug-ins: whole-number parameters keep their exact value and stay in range by @webdevtodayjason in #1091
- PDF/.ai import: glyphs spaced each their own way keep their place by @p0lyg0n in #1101
- Direct Selection: drag paths selected whole by an anchor; Alt-copy at any time, snapping by that anchor by @bobtherobot in #1104
- #1129: the toolbar's paint buttons fit its width by @bflatastic in #1134
- #1089: an image copied in a browser pastes as the picture, also from its markup by @bflatastic in #1135
- #788: file.place frames an SVG by its viewBox when crop is given by @bflatastic in #1145
- Part of #812: Ctrl/Cmd and Alt shape a star while it's dragged by @bflatastic in #1146
- #1018: Edit Toolbar opens a drawer beside the toolbar; tools drag in and out by @bflatastic in #1149
- Icons: the Selection arrow is black and Direct Selection's white in every theme by @bflatastic in #1150
- fix(fonts): preserve highlighted font across menu list refreshes by @Ni-zav in #1116
- Fix #662: the Windows installer offers a desktop shortcut by @mateususa in #1128
- #819: more noise removal never gives more paths by @mateususa in #1130
- Lint: clippy -D warnings passes for the wasm32 web build by @dotCooCoo in #1132
- Fix #1140: gradient stops blend colour and opacity apart on the canvas, as the exports do by @Biromedic in #1142
- Fix #1141: SVG import keeps a mask whose art is all hidden, so its object stays hidden by @Biromedic in #1143
- #1139: Shift-click selects several artboards, which move and delete together by @bflatastic in #1154
- Render: a shape far beyond any page is left undrawn, never crashing the app by @bflatastic in #1155
- #1144: Live Corners round corners between curved segments too by @bflatastic in #1159
- #1133: Zig Zag's dialog has sliders and radio buttons, as in Illustrator by @bflatastic in #1160
- #1152: Offset Path opens on the values it was last applied with by @bflatastic in #1166
- #1103: a marquee selects only the objects whose paths it touches by @bflatastic in #1167
- #1151: Preferences › Performance › Linux Display Server opens the window through XWayland, where file drops work by @bflatastic in #1170
- #1111: a selected gradient mesh shows its mesh lines and points by @bflatastic in #1171
- #1111: a blend's spine bends into a curve by @bflatastic in #1174
- #1158: Alt-click on a layer's eye or lock isolates that layer by @bflatastic in #1175
- #1163: Release splits a path of several subpaths into one path each by @bflatastic in #1176
- #1163: MCP render_preview takes an artboard index by @bflatastic in #1177
- MCP: drawing tools describe inherited paint and export text options by @KnottyDyes in #1148
- Reject malformed desktop automation root arguments before startup by @piero-83 in #1157
- Review: house header for the root-argument integration test (#1157) by @bflatastic in #1178
- PDF export: warn when raster effects render below the requested resolution by @KnottyDyes in #1147
- #1163: command_batch can be one undo step by @bflatastic in #1179
- #1163: file.list lists a folder for agents, held to the read root by @bflatastic in #1181
- Type: Thai falls back to a font made for Thai by @bflatastic in #1185
- Type: the caret steps over whole clusters (Thai marks, accents, emoji) by @bflatastic in #1186
- Docs: type parity has one status line again by @bflatastic in #1187
- Type: Thai, Lao, Khmer and Myanmar lines break between words by @bflatastic in #1188
- Font menu: a Thai script filter by @bflatastic in #1190
- Type: Noto Sans Thai from craft-fonts is the Thai fallback, on the web too by @bflatastic in #1191
- Type: the caret and double-click take Thai word by word by @bflatastic in #1195
- Release: embed the current craft-fonts (Thai, Arabic, Chinese) by @bflatastic in #1204
- #1197: Make Compound Path cuts holes where paths overlap by @bflatastic in #1213
- Test: the idle place test waits for the link scan in real time by @bflatastic in #1214
- #1194: Direct3D 12 shaders compile with FXC by @bflatastic in #1215
- #1180: Align aligns the selected anchor points by @bflatastic in #1216
- #955: a move grabbed by an anchor lands it on another anchor by @bflatastic in #1217
- .ai import: copied area type and type on a path keep their own place by @p0lyg0n in #1208
- EPS/.ai import: a font is found by its exact PostScript name before the name is split by @p0lyg0n in #1207
- Part of #1102: type from the text document keeps its line spacing across paragraphs by @DisasterAreaDesigns in #1206
- pt-BR: translate the remaining UI labels and engine messages by @WladmirJunior in #1205
- i18n: complete the Czech (cs) catalog: panels, dialogs, plurals and messages by @Losminek in #1189
- Type: Digits — Default, Arabic, Hindi and Farsi numeral systems (Character panel menu, Middle Eastern options) by @zakariayacine in #1201
- Linux: Automatic draws on the GPU the Wayland compositor draws with by @atoslins in #1200
- perf: large documents (#1172): big selections 100×+, live effects 18×, Pathfinder 11–20×, 41% less undo memory by @arhammusheer in #1173
- Docs: record the large-document performance work (#1173) by @bflatastic in #1240
- fix: 複合パスの外観と塗り規則を修正する #1197 by @haranishi in #1225
- Object: Lock, Transform Each, Perspective and other commands that change nothing record no undo step by @dotCooCoo in #1233
- Part of #394: art moved or duplicated with an artboard follows Transform Pattern Tiles by @dotCooCoo in #1219
- Shape Builder: a line's loose end past a crossing no longer runs out and back in most cases by @dotCooCoo in #1230
- Align: Align to Key Object makes the topmost selected object the key by @dotCooCoo in #1221
- MCP: select.key checks its id, and agents can read the key object by @dotCooCoo in #1222
- Palette: the entry that cancels the key object reads Cancel Key Object by @dotCooCoo in #1224
- Tests: the command sweeps and import fuzz tests fail when a command panics by @dotCooCoo in #1218
- Tests: the envelope export test ignores the PDF's XMP dates and file ID by @dotCooCoo in #1220
- fix: macOSの保存画面に形式選択を追加する #866 by @haranishi in #1235
- Direct Selection: a click on an already selected anchor selects it alone by @zakariayacine in #1237
- Hand and Zoom cursors drawn like the tool cursors (Windows showed the move arrows, no magnifier) by @zakariayacine in #1238
- i18n (cs): Pathfinder Add reads "Sjednotit", plus the remaining looked-up strings by @Losminek in #1226
- Fix Rectangular Grid click options dialog by @FredApps in #1169
- Graph designs and marker designs: Object › Graph › Design… and Marker… by @IHAGI-c in #1092
- Graph Data: Transpose and Switch x/y; | line breaks in labels; pie Legend, Position and Sort by @IHAGI-c in #1115
- Graph Type: Add Drop Shadow and Add Legend Across Top by @IHAGI-c in #1119
- Graph Type: widths past 100%, First Row and First Column in Front, Draw Filled Lines by @IHAGI-c in #1136
- Graphs keep their label formatting when drawn again by @IHAGI-c in #1137
- Graph Data: a worksheet window by @IHAGI-c in #1138
- Preserve SVG data attributes and validate export artboard ranges by @sanyamsingh001 in #989
- Correct Arabic shaping assertions and cover embedded PDF fonts by @sanyamsingh001 in #993
- Fix Pen endpoint picking and commit handle previews by @sanyamsingh001 in #821
- Preserve placed links in editable exports and honor AI artboard options by @sanyamsingh001 in #718
- feat(ui): add horizontal and vertical center align button by @Muratv07 in #1073
- Color params: one scale per CMYK colour, not per component by @japbcoelho in #1249
- MCP: lost replies report uncertainty instead of replaying edits by @KnottyDyes in #1246
- Trace: colour mode keeps close dark tones apart by @japbcoelho in #1247
- Docs: ROADMAP progress for 2026-10-12 by @bflatastic in #1310
- fix: 線の色追加時にゼロ幅を既定値へ戻す #1253 by @haranishi in #1256
- Direct Selection: Shift-click deselects one anchor of a path selected whole by @itrycodinganditsbad in #1263
- fix: Direct Selectionで線分だけを選択・削除する #1278 by @haranishi in #1300
- fix: ロック中と隔離の外側の図形から色を取得する #1251 by @haranishi in #1260
- fix: スポイトの通常カーソルを十字表示から修正する #1269 by @haranishi in #1288
- fix: 動かないアンカー整列でUndo履歴を増やさない #1180 by @haranishi in #1276
- fix: フォントのフルネームを正しい書体へ解決する #1258 by @haranishi in #1267
- fix: Curvature Toolの点表示を整理する #1236 by @haranishi in #1284
- Type: Proportional Metrics bring their kerning — apkn with palt, vkrn and vapk with vpal (#966) by @imachus in #1291
- perf: テクスチャ効果の距離判定を軽くする #1257 by @haranishi in #1265
- fix(packaging): RPMの必須依存を共有ライブラリ能力で宣言 (#1275) by @haranishi in #1290
- G2: add Artistic Film Grain live effect by @Tevinhead in #1282
- fix: Simplify後の選択を更新して点数を表示する #1272 by @haranishi in #1305
- Pen + Alt converts anchors of paths in a selected group (#1273) by @itrycodinganditsbad in #1306
- Part of #394: new and imported documents use the Gridline every and Subdivisions preferences by @dotCooCoo in #1314
- Transform: Transform Again repeats the options of the transform it repeats by @dotCooCoo in #1303
- Layers: Send to Current Layer refuses a hidden or locked current layer by @dotCooCoo in #1301
- Links: Find in Folder… looks for missing linked files in a folder and its subfolders by @dotCooCoo in #1287
- Fix Escape exiting Artboard editing by @LucaLorenz in #1296
- Fix Document Setup → Edit Artboards dialog handoff by @LucaLorenz in #1294
- Validate explicit targets in layer row commands (part of #785). by @FredApps in #1255
- i18n (cs): translate labels that bypass the catalog lookup (file filters, diagnostics, credits, gradients, print marks) by @Losminek in #1259
- i18n: add Hungarian (hu) UI translation by @Skaywalker in #1302
- Artboards: the Artboard tool starts on the active artboard by @dotCooCoo in #1309
- EPS: closepath no longer grows the path past its limit by @dotCooCoo in #1311
- Snap to Point: drag a selection by the anchor pressed near (#1274) by @itrycodinganditsbad in #1313
- Image Trace: an image over 64 megapixels is traced scaled down by @fabian-co in #1315
- Type: Change Case, Smart Punctuation and other commands that change nothing record no undo step by @dotCooCoo in #1316
- ci: upgrade actions to Node 24 to fix deprecation warnings by @dylanmtaylor in #1321
- fix(cad): set the closed bit on DXF SPLINE entities so closed curves import into CAM (#1299) by @rollroyces in #1320
- Docs: merge duplicated table rows, record the rest of 2026-10-12 by @bflatastic in #1323
- Select: Select All skips hidden isolated groups, and menu commands stay within what it selects by @dotCooCoo in #1325
- Plug-ins: whole-number fields keep values past 2^53 exactly as typed by @webdevtodayjason in #1327
- EPS: shading functions in shared arrays no longer hang the import by @dotCooCoo in #1330
- EPS: huge arcs, fine dashes and rectangle arrays in a loop no longer hang the import by @dotCooCoo in #1329
- Paint: fill, stroke, gradient and Appearance panel commands that change nothing record no undo step by @dotCooCoo in #1331
- EPS: loops under a long dash array no longer hang the import by @dotCooCoo in #1332
- Docs: ROADMAP 2026-10-12 adds #1325, #1327, #1329–#1332 by @bflatastic in #1333
- Transparency: opacity mask options that change nothing record no undo step by @dotCooCoo in #1336
- Path: Simplify and Add Anchor Points record no undo step when they change no path by @dotCooCoo in #1337
- perf: bound memory on large documents (#1244) by @arhammusheer in #1245
- EPS: the PostScript reader reads many tiling patterns, spot inks and shadings in linear time by @dotCooCoo in #1341
- Docs: ROADMAP 2026-10-12 adds #1245, #1336, #1337, #1341 by @bflatastic in #1343
- Part of #1286: constant alpha masks are drawn white by @bflatastic in #1359
- Adopt craft-print for desktop printing, preserving Windows 7 by @skylartaylor in #1324
- G16: Korean interface (ko) by @Johau91 in #1352
- PDF import: gradient-filled shapes open as one path, not a clipped rectangle (#1304) by @aguo890 in #1351
- PDF/.ai import: a .ai opens on its artboard with its bleed round it (#1266) by @aguo890 in #1349
- Part of #868: PDFs saved with the reference app's editing data open from it, as .ai files do by @dotCooCoo in #1345
- Layers: art moved into a hidden or locked layer, or hidden by a data set, is deselected by @dotCooCoo in #1355
- perf: deselect hidden and locked objects in linear time by @osaidahmed in #1353
- Part of #394: art moved whole with direct-selected anchors follows Transform Pattern Tiles by @dotCooCoo in #1354
- Part of #394: Appearance of Black › On Screen shows pure CMYK black as RGB black by @aguo890 in #1350
- fix(cad): DXFの制御点SPLINEの閉鎖を読み込みに反映する (#1299) by @haranishi in #1318
- fix(ui): 数値欄のフォーカス時にドラッグ選択を保つ (#1326) by @haranishi in #1339
- fix(pathfinder): 開いた切断線で図形を分割する (#1307) by @haranishi in #1335
- fix: Pathfinderの名前とSVG IDを保持する #1293 by @haranishi in #1308
- Align: Object › Align follows Align To, and the choice is kept across restarts by @dotCooCoo in #1347
- fix: 図形のクリックからアートボードを作成する #1227 by @haranishi in #1252
- feat: 定規の原点を変更・リセットする #1212 by @haranishi in #1250
- Live Corners: with Direct Selection, a click on a widget selects its corner by @zakariayacine in #1239
- Add a Polar Grid canvas-click dialog by @FredApps in #1192
- Part of #1264: an image on %_ lines of a .ai file's editing data is read as an image by @bflatastic in #1364
- PDF export: art beyond 1,000,000,000 pt is left out, so dev and test builds no longer abort by @dotCooCoo in #1360
- Part of #666: Affinity rectangles keep per-corner radii and straight corners by @callmeBalloch in #1369
- Toolbar: centre the tool buttons inside the panel's border by @AyberkA0 in #1363
- i18n(es): add 371 rows other catalogs already had by @diegozpy in #1371
- Part of #1358: the Image Trace section no longer widens the Properties panel by @bflatastic in #1374
New Contributors
- @lollinoo made their first contribution in #1045
- @MarekSpodBiedry made their first contribution in #1052
- @skylartaylor made their first contribution in #1090
- @Emlembow made their first contribution in #1099
- @NoJuanNobody made their first contribution in #1081
- @webdevtodayjason made their first contribution in #1091
- @Biromedic made their first contribution in #1142
- @KnottyDyes made their first contribution in #1148
- @piero-83 made their first contribution in #1157
- @WladmirJunior made their first contribution in #1205
- @Losminek made their first contribution in #1189
- @zakariayacine made their first contribution in #1201
- @atoslins made their first contribution in #1200
- @arhammusheer made their first contribution in #1173
- @FredApps made their first contribution in #1169
- @sanyamsingh001 made their first contribution in #989
- @Muratv07 made their first contribution in #1073
- @itrycodinganditsbad made their first contribution in #1263
- @Tevinhead made their first contribution in #1282
- @LucaLorenz made their first contribution in #1296
- @Skaywalker made their first contribution in #1302
- @rollroyces made their first contribution in #1320
- @Johau91 made their first contribution in #1352
- @aguo890 made their first contribution in #1351
- @osaidahmed made their first contribution in #1353
- @diegozpy made their first contribution in #1371
Full Changelog: v0.9.0...v0.10.0
Original source - Oct 12, 2026
- Date parsed from source:Oct 12, 2026
- First seen by Releasebot:Oct 13, 2026
DesignCraft v0.7.1
designcraft improves document placement, PDF printing on Windows, Portuguese hyphenation, asset handling, and interface behavior, while strengthening IDML processing and copy-and-repeat workflows.
What's Changed
- Adopt shared panel docking and preserve workspace commands by @skylartaylor in #409
- ci: refactor workflows to use storytold/craft-common-actions by @dylanmtaylor in #489
- Place: PDF pages and SVGs keep their exact size by @japbcoelho in #511
- Hyphenation: Portuguese text is hyphenated with hyph-utf8's Portuguese patterns by @japbcoelho in #512
- UI: Return and Escape in the font menu stay in the menu, never reach the dialog under it by @aiongg in #447
- M6: Adopt craft-print and support Windows PDF printing by @skylartaylor in #452
- Color parsing: one scale per colour, not per component by @japbcoelho in #510
- Place: an image placed into a frame leaves Auto-Fit off by @aiongg in #528
- Assets: one asset per image, and saves leave out unused ones by @aiongg in #420
- Words in capitals hyphenate like capitalized words by @moppeeer in #538
- IDML: part names match leniently, and missing parts are reported by @aiongg in #356
- MCP: never replay a request after a lost reply by @KnottyDyes in #514
- Parent-page items are composed for their page by index, not page name by @seanth in #523
- Text: a character fill must name a swatch in the document by @KnottyDyes in #403
- Object fills and strokes must name a swatch by @moppeeer in #520
- Duplicate, Step and Repeat and copy-moves report the copies' ids by @moppeeer in #521
- Release workflow: pass the Azure signing secrets by @echelon in #534
New Contributors
- @KnottyDyes made their first contribution in #514
- @seanth made their first contribution in #523
Full Changelog: v0.6.0...v0.7.1
Original source - Oct 11, 2026
- Date parsed from source:Oct 11, 2026
- First seen by Releasebot:Oct 13, 2026
PhotoCraft v0.7.0
photocraft releases a major update with new image-editing tools, richer layer and mask controls, improved selections and transforms, and broader file-format support. It also speeds up key workflows and polishes the interface for a smoother creative experience.
What's Changed
- docs: register the MCP server from an installed release by @sawizzle in #2185
- docs(adjust): align Levels and Curves comments with evaluation order by @coygeek in #2212
- Preserve unchanged XMP translations in File Info by @Benziza in #2152
- Smudge: use the Brush Settings spacing for retouch strokes (#2140) by @davidmann4 in #2171
- Fix layer mask toggle action labels by @optimalbytee in #2156
- Fix hyperlink in credits panel by @crqch in #2146
- Layers: mask thumbnails update after Invert and other whole-mask edits (#2117) by @davidmann4 in #2164
- Keep the selection when smart selection finds nothing by @vbasky in #2235
- fix(layer style): wrap Make/Reset Default buttons by @kmnkv1 in #2209
- i18n(ru): translate layer style effects by @kmnkv1 in #2210
- Layers panel: Opacity and Fill share one right-aligned column (#2085) by @davidmann4 in #2173
- Ignore hidden RGB when Magic Wand selects transparency by @harrisonoconnorhover in #2273
- Canvas: clip the Free Transform preview to the canvas (#2027) by @davidmann4 in #2201
- fix(ui): avoid drawing panel borders twice by @tropicaaal in #2226
- Layers panel: press-drag-release picks a fill or adjustment layer (#2071) by @davidmann4 in #2172
- fix(engine): select neighbouring layer after deletion by @kotulsky in #2189
- Preferences: the dialog grows with the window by @luniiya in #2155
- scorecard: Marquee modifiers and brush resize drag are done (TOOL-214-2, TOOL-213-10) by @Duke242 in #2261
- Confirm layer deletion only from the Layers trash button by @kotulsky in #2197
- Soft brushes paint soft strokes and thin lines stay even: a Gaussian-like tip and area coverage for tiny tips by @tanish2k09 in #2167
- TGA: save the document's alpha channel as 32-bit alpha (#2124) by @davidmann4 in #2157
- Preserve quoted multiline variable CSV records by @harrisonoconnorhover in #2242
- Workspace: wire open_documents_as_tabs preference (#204) by @Hathor875 in #2177
- Expose Clone Stamp opacity and flow and apply them to strokes by @Ni-zav in #2256
- Masks: target a new layer mask and keep separate colour pairs for mask and pixels (#2166) by @davidmann4 in #2200
- Default layered edits of flat images to PSD on Save by @harrisonoconnorhover in #2234
- Selection cursors: badges for cutting, copying and dragging the selected pixels by @texjer in #2250
- Tools: double-clicking a layer mask launches Select and Mask with preference (#204) by @Hathor875 in #2161
- Add pixel mask density and feather controls to Properties by @harrisonoconnorhover in #2240
- Cmd held is the Move tool with the painting tools (Cmd+Alt duplicates) by @texjer in #2248
- Hand tool: an open hand and a fist as the pointer on Windows, and the fist while panning everywhere (#2196) by @Sir-Starch in #2221
- Move tool on a locked layer: Photoshop's message by @texjer in #2249
- fix(ui): remove the gap beneath Spectrum document tabs by @Ni-zav in #2265
- Web: leave the JPEG XL DNG decoder out of the wasm (25.1 MB -> 24.3 MB) by @echelon in #2233
- fix(ui): mode buttons respect two-column toolbar by @tropicaaal in #2241
- Layer › Rasterize acts on every selected layer; the Layers menu offers "Rasterize Layers" (#2243) by @Sir-Starch in #2253
- Fix SVG selection and import detection by @alex-ctms in #2224
- Pen pressure curve: Preferences › Tools shapes how pen pressure reaches every brush by @tanish2k09 in #2195
- feat(ui): allow toolbar to scroll by @tropicaaal in #2238
- GPU startup: CPU mode on Linux falls back to Vulkan to present the window (#1337) by @MrCloudy2 in #2206
- Layers menu and layer commands follow the selection, not the active layer (#2244) by @Sir-Starch in #2254
- Window edges: easier to grab, theme-safe cursors, and no lost hover after a resize (#1581) by @MrCloudy2 in #2205
- fix(engine): reject invalid core-filter parameters by @0x6Ason in #2228
- Keep duplicated Smart Objects linked to shared contents by @harrisonoconnorhover in #2222
- fix(ui): complete system appearance selection and styling by @coygeek in #2168
- Add the Remove tool with non-local patch completion by @JohnnYoru in #2193
- Regenerate docs/scorecard.md after #2193 by @echelon in #2404
- fix(engine): Image › Adjustments on a smart object records a smart filter (FILE-215-4); strokes honour the document CMYK profile by @kubuntugamer in #2229
- Expand arithmetic expressions across numeric inputs by @TheSeanLavery in #2252
- automation: accept absolute paths beneath the automation roots (#2176) by @SBaksa in #2216
- Filters: preview at the scale OK applies (#2063) by @davidmann4 in #2207
- Load Thai fallback fonts for native UI text by @harrisonoconnorhover in #2280
- Content-Aware tools: Photoshop's behaviour, measured by @Unemars in #2202
- Apply Type formatting to selected text layers by @harrisonoconnorhover in #2266
- Distance fields on threads: bevel size changes 2-3x cheaper (#2119) by @Sir-Starch in #2162
- EXR: Cryptomatte layers list, decode and hash to the specification by @Elvis33LE in #2180
- Expose native shape stroke controls with staged previews by @optimalbytee in #2218
- Select and Mask: 4x faster CPU refinement with exact octagonal morphology by @excited-raccoon in #2154
- Addition : Brush popup better UI by @siraxe in #2217
- kys import: first launch asks before importing; edit.keyboardShortcuts importKys (#1987 review) by @texjer in #2251
- OpenRaster (.ora) open and save by @scottcampbelldata in #2257
- automation: test root look-alike siblings and sub/../.. climbs (#2216 follow-up) by @echelon in #2528
- Canvas: UI Scale must not magnify the image (#2121) by @maxm11 in #2333
- Free Transform: the Hand tool no longer steals a resize drag (#2302) by @maxm11 in #2327
- Clip warp tiles at the inverse horizon so steep Distort commits keep every pixel (#2271) by @MarekSpodBiedry in #2500
- GPU canvas: re-upload a layer or mask texture when its default pixel changes (#2422) by @MarekSpodBiedry in #2446
- fix(selection): constrain Polygonal Lasso segments with Shift (#2352) by @Ni-zav in #2396
- fix(properties): expose equal-gap horizontal and vertical distribution (#2349) by @Ni-zav in #2398
- Fix snapping when drawing a new crop inside the default frame by @harrisonoconnorhover in #2549
- Capture marquee selection modifiers at mouse press by @harrisonoconnorhover in #2558
- Marquee: keep one-pixel rows and columns on release (#2391) by @vangel76 in #2562
- Move tool: outline follows the moved layer (#2413) by @vangel76 in #2565
- Move tool: Ctrl/Cmd+arrow nudges the layer from any tool (#2474) by @davidmann4 in #2556
- Move tool: Auto-Select picks a type layer inside its text bounds (#2370) by @vangel76 in #2591
- Tools: a tool key brings back its group's last-used tool (#2608) by @vangel76 in #2625
- Zoom tool: double-click zooms to 100% (#2508) by @vangel76 in #2527
- Canvas: right-click outside the image opens the pasteboard colour menu (#2462) by @vangel76 in #2633
- Spot Healing: the drag trail shows the dabs the heal covers (#2364) by @vangel76 in #2642
- Preserve the Zoom drag anchor in rotated views by @harrisonoconnorhover in #2583
- Selection feather: the radius is the Gaussian's sigma, as in Photoshop by @MrCloudy2 in #2529
- Select › Modify › Smooth: a hard threshold, as in Photoshop, not soft edges by @MrCloudy2 in #2557
- Select › Modify › Border: Photoshop's soft band, 2r wide, not a hard r-pixel ring by @MrCloudy2 in #2564
- Keep surrounding spaces when renaming a layer (#2459) by @MarekSpodBiedry in #2472
- Layer commands accept an explicit layer with none selected; Deselect Layers is a no-op when nothing is selected (#2457) by @MarekSpodBiedry in #2481
- fix(engine): list running jobs before ended ones in jobs.list (#2395) by @KausBoss in #2411
- fix(psd): an unedited save writes Photoshop's Txt2 back unchanged (#2374) by @vivekprojects-GIT in #2427
- Remove tool: an empty layer is a no-op instead of running the fill (#2435) by @MarekSpodBiedry in #2447
- fix(vector): Stroke Path refuses pixel-locked and fully locked layers (#2388) by @KausBoss in #2408
- fix: Preserve CMYK solid and gradient fills through PSD round trips by @reneleonhardt in #2628
- fix(codecs): exports drop the source's EXIF thumbnail (#2147, #2373) by @vivekprojects-GIT in #2450
- fix(vector): Fill Path stays inside the active selection (#2387) by @KausBoss in #2410
- Let Edit > Fill and the fill keys fill an adjustment layer's mask (#2456) by @MarekSpodBiedry in #2471
- fix(document): restore layer comps when duplicating documents by @Ni-zav in #2429
- Float the layer mask, not the layer, when the mask is targeted (#2468) by @MarekSpodBiedry in #2486
- Quit and Close All: answering No closes that document (#2547) by @itrycodinganditsbad in #2610
- Save As to a flat format keeps the layered original (#2550, #2579) by @itrycodinganditsbad in #2611
- OpenEXR/HDR export: linearize grayscale documents too (#2386) by @itsF4LCON in #2448
- TGA: a 32-bit Targa opens with its alpha as "Alpha 1", as in Photoshop (#2225) by @MrCloudy2 in #2482
- Keep Duotone ink colours when converting to RGB, CMYK or Lab (#2383) by @itrycodinganditsbad in #2614
- Reject colliding data-set export filenames before writing by @harrisonoconnorhover in #2433
- Save and export dialogs remember where each document was last saved (#1826) by @bitshiftza in #2421
- Open file pickers for Replace Contents, Export Contents and Convert to Linked by @fabianghe in #2438
- Fix current .af artboard recognition and preserve editable boards by @callmeBalloch in #2355
- fix(blend): keep 32-bit Hue/Saturation/Color/Luminosity above 1 by @hideoneric in #1735
- Render: Tree and Picture Frame accept whole numbers sent as floats (#2501) by @davidmann4 in #2521
- Extended filters: an unknown option is a bad-params error (#2228 follow-up) by @xsvm in #2548
- Legacy Brightness/Contrast: brightness first, then contrast around 128, as in Photoshop by @MrCloudy2 in #2615
- Bevel contour: drop the glow-style Range stretch by @juswus2000 in #2498
- Blend modes: Fill below 100% works inside the blend for Photoshop's special eight by @MrCloudy2 in #2552
- Issue #2326: Hue/Saturation Colorize at 0% saturation gives grey, not a 25% tint by @LloydNicholson in #2343
- cms: accept ICC DeviceLinks whose output isn't a 3-channel PCS by @kavishkashehan726-sudo in #2348
- fix(ui): keep menus responsive on documents with thousands of layers by @m6502 in #2454
- Shift-click New Group groups the selected layers (#2561) by @itrycodinganditsbad in #2613
- Fix/2361 scrub layer labels s20261010 t083444 z og3kyw by @Ni-zav in #2397
- Filters: full-resolution preview for Add Noise, Wind, Extrude, Tree, the Filter Gallery and more (#2063) by @davidmann4 in #2494
- Handle allocation failures in large pixel operations by @Elvis33LE in #2530
- fix(layers): preserve Background behavior across merge, duplication and canvas resize by @Ni-zav in #2419
- Fixed a bug where if you select a mask and hit the delete key, it deletes the image by @Lyraedan in #2635
- fix(ui-egui): ui.key with ctrl does not trigger shortcuts off the Mac by @Erica4fr in #2430
- Warp Text: the dialog opens with the layer's warp and previews it live (#218) by @skraus2 in #2539
- Text fields: copy, cut and paste through the Mac menu's key equivalents by @Trade-Mottoes in #2568
- Filter Gallery: preview at the scale OK applies (#2502) by @davidmann4 in #2524
- Paste: a web Ctrl/Cmd+V key press and its paste event are one paste (#2638) by @vangel76 in #2643
- Opening card: a long file name no longer pushes Cancel out of the card (#2423) by @bitshiftza in #2444
- Windows: keep the custom title bar's window borderless (#2246) by @roaldosulejmani in #2401
- Image Size and Canvas Size open on Width, selected (#2329) by @alexanderalber in #2357
- Close a document tab with a middle click (#2570) by @bitshiftza in #2637
- Dock splitters push the neighbouring groups instead of stopping (#2573) by @itrycodinganditsbad in #2624
- Dropdowns: open lists start at their widest option's width (#2607) by @vangel76 in #2634
- DNG: lossy compression 34892 (baseline JPEG tiles) by @Elvis33LE in #2021
- Command palette: don't list menu separators (#2479) by @itrycodinganditsbad in #2632
- fix(ui): restore muted text color for disabled Layer Style effects by @Ni-zav in #2321
- Number fields: centre digits vertically by @rosematcha in #1322
- Menus: Reveal in Finder names the platform file manager off macOS (#217) by @skraus2 in #2586
- Enable menu Cut for selected type text by @harrisonoconnorhover in #1448
- Create new documents by double-clicking presets by @harrisonoconnorhover in #2290
- Re-render shapes when an artboard move grows the canvas (#2389) by @itrycodinganditsbad in #2623
- Curved shapes no longer report bounds 1 px too wide (#2537) by @itrycodinganditsbad in #2641
- Crop tool: W x H x Resolution mode resamples the crop to a size and resolution (#2443) by @davidmann4 in #2483
- EXR parts: import parts, channel groups and an AOV precomp as layers by @Elvis33LE in #2338
- fix(ui): toggle color swatches when selecting or deselecting a layer mask by @buivanvu94 in #2560
- Skip distant TSL-off stroke layers during composition by @Elvis33LE in #2473
- Ctrl+Tab and Ctrl+Shift+Tab switch to the next and previous document (#2340) by @alexanderalber in #2353
- Keep plug-in menu rows under Filter › Plug-ins in every language (#2540) by @bitshiftza in #2627
- Color panel: the field and hue strip fill the panel height by @Jeremy8776 in #2455
- Speed up Iris Blur without changing output by @optimalbytee in #2578
- fix(ui): unify Spectrum menu spacing and hover contrast by @Ni-zav in #2323
- Colour swatches open PhotoCraft's Color Picker: filter dialogs, Preferences, Note, Count, artboard (part of #2144) by @kayrockscreenprinting in #2571
- Dialogs: Tab walks the text fields only; New Document opens with its name selected by @texjer in #1285
- Search: an exact name match ranks first by @luniiya in #2160
- Channels: tint single colour channel views on the canvas with Show Channels in Color (#2385) by @mroxso in #2574
- Pixelate: CMYK Facet 13.7x faster, Lab halftone 5.0x faster by @excited-raccoon in #2588
- Tests: line-tables-only dev debuginfo, nextest GPU group, faster loop docs (#2204) by @davidmann4 in #2414
- Free Transform: refuse a locked layer up front, with Photoshop's message (#2585) by @vangel76 in #2609
- Crop tool: Photoshop's default mode turns the image behind an upright box; Use Classic Mode (P), Auto Center Preview (#1919) by @davidmann4 in #2545
- Free Transform: keep the layer's place in the stack (#2439) by @Geljic in #2480
- Quick Selection: 3.5x faster CPU strokes with hybrid graph cuts by @excited-raccoon in #2436
- Image warp: grab anywhere on the grid, Ctrl-click to cut, Warp in the transform menu by @Jeremy8776 in #2621
- Layers panel: a dragged layer copies onto its own row and into the empty space below the stack (#1721) by @switch87 in #2525
- Properties ▸ Layer Mask: add Photoshop's Refine row (#2425) by @bitshiftza in #2639
- Ruler units keep their own decimal places (#2434) by @bitshiftza in #2476
- fix(docs): Linux build prerequisites only name Debian packages by @Erica4fr in #2437
- i18n(es): translate the Add Noise and Reduce Noise dialog controls by @Erica4fr in #2470
- Type: wire Use Smart Quotes for typed text (#204) by @reynold-hu in #2522
- Progress docs standard: ROADMAP, target-app parity, gaps, per-dimension parity docs by @echelon in #2696
- Keep As Is when reusing variable definitions by @Benziza in #2655
- File > Scripts > Browse: filter the picker to script files (#2452) by @MarekSpodBiedry in #2499
- PSD export: pad regenerated fill blocks to 4 bytes, as Photoshop does by @Sir-Starch in #2759
- PSD: warn on an unreadable Lr16/Lr32 layer block and save one layer list (#2700) by @vangel76 in #2709
- Channels: Delete with one channel targeted clears only that channel (#2720) by @vangel76 in #2730
- Fix Windows-only path expectation in save dialog test (#2745) by @itrycodinganditsbad in #2782
- Channels: Delete with an alpha channel targeted fills that channel (#2734) by @vangel76 in #2741
- Lasso: Free Transform drags work with the Lasso tool selected (#2153) by @vangel76 in #2766
- Copy and paste a single channel from the Channels panel (#2307) by @fabianghe in #2695
- Move tool: the drag's box and snapping follow the Auto-Selected layer (#2666) by @vangel76 in #2675
- Channels: Cut with one channel targeted clears only that channel (#2698) by @vangel76 in #2712
- Move tool: ⌘-drag temporary Move gets the drag box and snapping (#2681) by @vangel76 in #2684
- Smart Objects: converting several layers keeps them at the contents top level (#2648) by @vangel76 in #2651
- feat(prefs): add intermediate UI scale options from 80% to 95% by @Ni-zav in #2678
- Smart Objects: stacked layers sit at the contents top level (#2657) by @vangel76 in #2676
- Selection: moving a selection outline snaps its bounds, not the pointer (#2736) by @vangel76 in #2740
- Batch: a failed step inside a called action fails the file and the script (#2779) by @vangel76 in #2783
- fix(ui): make painting symmetry available across all themes by @Ni-zav in #2704
- Guides: ⌘-drag over a guide moves it with the selection tools too (#2690) by @vangel76 in #2699
- Keep the blend-mode preview between list rows (#2553) by @itrycodinganditsbad in #2612
- Lasso: ⌘-drag outside the selection moves the layer (#2725) by @vangel76 in #2737
- Esc deselects when no active operation needs cancelling by @mroxso in #2765
- Actions: record File › Save and Save As steps and replay them (#2032) by @vangel76 in #2746
- Batch: skip recorded view steps in batch and droplets (#2752) by @vangel76 in #2761
- fix(navigator): zoom the document with the mouse wheel over the preview by @Ni-zav in #2724
- Home screen: remove individual Recent entries (#2691) by @itsF4LCON in #2731
- Move tool: ⌘-drag with a painting tool floats the selected pixels from the control channel too (#2768) by @vangel76 in #2776
- Actions: double-click an action to rename it (#2032) by @vangel76 in #2769
- Brush cursor: Normal Brush Tip ring on the tip's real 50% contour (#2744) by @vangel76 in #2747
- fix(ui): prevent Layers opacity controls from overflowing narrow docks by @Ni-zav in #2325
- Image Size: Resample off keeps the pixel readouts honest (#2393) by @vangel76 in #2533
- Paint a pen tap at its own pressure, not full or zero (#1798) by @itrycodinganditsbad in #2757
- i18n: wrap remaining hardcoded UI strings for translation by @seldoms in #2467
- fix(compose, gpu): round dithered gradient fills to the document dept… by @kavishkashehan726-sudo in #2781
- Pencil/Eraser: round Pencil cursor and Eraser Pencil mode (#2662) by @vangel76 in #2694
- Linux: no false missing-library warning when the linker cache can't be read (#1144) by @MarekSpodBiedry in #2503
- Speed up large group merges (#1561) by @Elvis33LE in #2664
- Interface: wire Dynamic Color Sliders for the colour tracks (#204) by @reynold-hu in #2531
- Eraser: Block mode (#2770) by @vangel76 in #2778
- Smart filter edits: re-render from cached stages, in a background job by @twentymls in #2739
- Brush: Wet Edges acts on the whole stroke, not each dab (#2088) by @vangel76 in #2721
- Spot Healing: Create Texture keeps the film grain (#2104) by @vangel76 in #2762
- wasm: gate native-only constants so wasm32 builds without dead-code warnings (#2808) by @vangel76 in #2813
- Marquee hinting follows a rotated view like the release does (#2512) by @switch87 in #2732
- Place: wire Resize Image During Place into the implicit fit (#204) by @reynold-hu in #2538
- Free Transform frames the whole type layer; Distort/Perspective greyed for type (#2630) by @itrycodinganditsbad in #2701
- Tests: save-dialog expectations build their paths with Path::join, so they pass on Windows (#2745) by @mroxso in #2853
- docs: correct Photomerge roadmap status by @Elvis33LE in #2831
- Crop/marquee readout and Properties W/H/X/Y in the ruler unit (cm, mm, in…) by @llduyll10 in #2334
- Warp Text: Style and orientation come before Bend and the distortions (#2689) by @vangel76 in #2819
- Layers: Layer via Copy duplicates every selected layer (#2777) by @vangel76 in #2796
- Fix brush picker closing immediately on trackpad taps by @zi-ger in #2772
- Web: File › Open opens every selected file (#2802) by @vangel76 in #2807
- Status bar: show document dimensions in the ruler unit by @arthurdeka in #2618
- Workspaces: preserve the embedding host menu and rail flags by @arthurdeka in #2620
- Canvas honours Pixel Aspect Ratio Correction (#2594) by @itrycodinganditsbad in #2718
- Control: timeout errors name the likely causes (#2489) by @ahmedhosnypro in #2497
- Variables: applied text keeps the type layer's style (#2742) by @itrycodinganditsbad in #2785
- feat(prefs): add search across preference sections and settings by @Ni-zav in #2679
- ui-egui tests: drop the shadowing joined closure (fixes clippy on main) by @echelon in #2924
- Filter Gallery: an unknown option is a bad-params error (#2548 follow-up) by @xsvm in #2599
- Type: tabs advance to tab stops; Tab key types a tab (#1881) by @itrycodinganditsbad in #2733
- Smart Objects: Copy/Paste with no selection keeps the smart object (#2428) by @vangel76 in #2653
- Pencil: 1 px lines step pixel by pixel, no doubled corners (#2139) by @vangel76 in #2806
- ui-egui tests: restore the joined helper (fixes main) by @echelon in #2947
- Dock: drag a tab to reorder it within its group (#2272) by @itrycodinganditsbad in #2774
- Edit: Copy/Paste with no selection keeps type, shape and group layers (#2670) by @vangel76 in #2686
- feat(ui): hold Alt+Space to zoom out, as in Photoshop by @FinnNk in #2877
- Themes: add Breeze Light and Breeze Dark (#2276) by @Sir-Starch in #2335
- Move tool: highlight the layer Auto-Select would pick on rollover (#2834) by @vangel76 in #2843
- Font menus: show an Arabic sample for families that cover Arabic by @diax7 in #2535
- Layer > New > Background from Layer; the Background stays at the bottom (#2626) by @itrycodinganditsbad in #2663
- Tools: Single Row Marquee and Single Column Marquee (#2837) by @vangel76 in #2848
- feat(ui): live font preview on hover by @TssHack in #2431
- Fix Linux appearance changes lost during startup by @Sir-Starch in #2833
- Linux: a late first appearance reply repaints the idle window (#2798) by @itrycodinganditsbad in #2941
- Layer > Rasterize > Layer Style bakes effects; Rasterize Layer converts vector masks (#2245) by @itrycodinganditsbad in #2669
- Navigator preview fills its group; no scroll fade over dock panels (#2726) by @itrycodinganditsbad in #2818
- Release prep 0.7.0: Linux riscv64 tarball + version bump by @echelon in #2965
New Contributors
- @sawizzle made their first contribution in #2185
- @Benziza made their first contribution in #2152
- @crqch made their first contribution in #2146
- @vbasky made their first contribution in #2235
- @kmnkv1 made their first contribution in #2209
- @tropicaaal made their first contribution in #2226
- @kotulsky made their first contribution in #2189
- @MrCloudy2 made their first contribution in #2206
- @JohnnYoru made their first contribution in #2193
- @scottcampbelldata made their first contribution in #2257
- @vangel76 made their first contribution in #2562
- @KausBoss made their first contribution in #2411
- @vivekprojects-GIT made their first contribution in #2427
- @reneleonhardt made their first contribution in #2628
- @itrycodinganditsbad made their first contribution in #2610
- @itsF4LCON made their first contribution in #2448
- @bitshiftza made their first contribution in #2421
- @fabianghe made their first contribution in #2438
- @callmeBalloch made their first contribution in #2355
- @juswus2000 made their first contribution in #2498
- @kavishkashehan726-sudo made their first contribution in #2348
- @m6502 made their first contribution in #2454
- @Lyraedan made their first contribution in #2635
- @Erica4fr made their first contribution in #2430
- @Trade-Mottoes made their first contribution in #2568
- @Geljic made their first contribution in #2480
- @seldoms made their first contribution in #2467
- @twentymls made their first contribution in #2739
- @zi-ger made their first contribution in #2772
- @arthurdeka made their first contribution in #2618
- @ahmedhosnypro made their first contribution in #2497
- @FinnNk made their first contribution in #2877
- @diax7 made their first contribution in #2535
- @TssHack made their first contribution in #2431
Full Changelog: v0.6.0...v0.7.0
Original source - Oct 11, 2026
- Date parsed from source:Oct 11, 2026
- First seen by Releasebot:Oct 13, 2026
WordCraft v0.5.0
wordcraft releases a major update with stronger Word and document-format compatibility, richer editing and layout tools, and new drawing, equation, table, and review features. It also adds language support, usability improvements, and a Linux riscv64 build.
What's Changed
- Typing parity with Word: lists, AutoFormat and AutoCorrect as you type by @echelon in #204
- Desktop: keep the off-screen check until the monitor size is known (#23) by @MarekSpodBiedry in #76
- DOCX: keep a line break written directly in a paragraph (#96) by @MarekSpodBiedry in #101
- Page break (Ctrl+Enter) survives ODT/TXT/Markdown/HTML export and no longer glues words (#84) by @MarekSpodBiedry in #86
- HTML import: tables without borders stay borderless in .docx (#99) by @MarekSpodBiedry in #102
- Control server closes on non-JSON input; hyperlinks follow only http/https/mailto (#34) by @dkhlapov in #72
- Tests: don't read the sample document aloud on every run by @goldsbd in #75
- Import: HTML without keeps its body; RTF pictures inside \shppict are kept by @goldsbd in #154
- M6: TOC follow-ups from #52 review, and a whole TOC heading in LibreOffice by @goldsbd in #74
- Dark page: View › Switch Modes shows the page dark with inverted colours by @gledguri in #194
- Reject unknown WordCraft CLI options before side effects by @cyfung1031 in #166
- Issue #126: Web hosting guide no longer lists the unsupported ?cpu renderer flag by @LloydNicholson in #177
- PDF: draw fonts krilla can't subset as outlines instead of failing by @naxvog in #132
- Lists: honour a list's own level definitions (w:lvlOverride/w:lvl) by @naxvog in #134
- Add Brazilian Portuguese (pt-br) interface translation by @edurbs in #128
- Desktop: send the window title only when it changes, so an idle app stops redrawing (#117) by @g1obalworlds in #180
- Zoom the page with Ctrl+scroll and pinch (#139) by @Geljic in #179
- Find/Replace skips text deleted under Track Changes (#89); a failed command keeps undo history by @goldsbd in #153
- Find and Replace: Replace All now respects Track Changes (#88) by @MarekSpodBiedry in #92
- #147: wire Picture Format UI for inserted pictures by @gittonyp in #150
- DOCX: keep a .docm's macros and signatures on save; right content types for .docm/.dotx/.dotm by @goldsbd in #172
- M2: styles.apply (Apply Styles) command; parity 355/405 by @StrajnarFilip in #114
- Tables: draw style borders when w:tblBorders is empty (#143) by @edurbs in #148
- Lists: a numbered list after a bulleted list keeps its numbering in ODT, RTF and Markdown (#83) by @MarekSpodBiedry in #87
- Control port: require a per-window key (split from #54) by @lpgn in #124
- DOCX: a style's East Asian / complex-script font no longer replaces the Latin font (#93) by @LloydNicholson in #111
- Issue #174: Footnotes and endnotes from Word files show their number by @LloydNicholson in #103
- PDF: put the shown text of fields and note numbers in the text layer by @naxvog in #133
- LaTeX (.tex) import and export (#7) by @DWAA1660 in #11
- Add Spanish interface language, and make ribbon overflow visible by @GeronimoCastano in #129
- Layout: place floating pictures and shapes the way Word does by @naxvog in #136
- Tables: Word 2013 table edge, and floating tables (w:tblpPr) by @naxvog in #137
- Character border (Home > Font > Character Border) by @999sian in #60
- Align WordCraft page rasters to physical texels by @cyfung1031 in #165
- Add Ukrainian (uk) interface translation by @dmatviichuk in #91
- Layout: picture line heights, body top below the header, table row heights by @naxvog in #138
- Render: draw on-screen text like macOS, on whole pixels by @ssamstudio in #110
- Layout: shrink spaces in justified lines like Word 2013+ (compatibility mode 15) by @ssamstudio in #109
- HTML import: pictures referenced by a relative path are embedded (#98) by @LloydNicholson in #113
- UI: keytips, mini-toolbar, ribbon overflow, macOS typography by @chiranjeevi-max in #43
- Desktop and web: ask to save changes before New, Open or Close; AutoSave only files you saved by @goldsbd in #151
- Envelopes, Labels, Finish & Merge: ask to save changes first (depends on #151) by @goldsbd in #171
- Hidden text: no line breaks, hyphens, wrap areas or bookmark text from text that isn't shown (builds on #152) by @goldsbd in #173
- Zotero integration: cite while you write, with a Zotero tab by @gledguri in #189
- Read Aloud: player with speed control, sentence skipping, skips citations by @gledguri in #190
- Import Word 97-2003 .doc files (#28) by @edurbs in #145
- Text boxes and floating objects: editing, drag/resize, wrapping, overflow, footnotes by @WeebLabs in #46
- Issue #175: Tables: cell text takes its table style's formatting; derived table styles keep their base by @LloydNicholson in #104
- Equations: Word (OMML) import, layout and save, plus an equation editor like Word's by @gledguri in #191
- Track changes: keep other authors' deletions, credit paragraph splits, exact edit snapshots (split from #54) by @lpgn in #125
- Right-to-left and Persian text support (bidi, shaping, RTL paragraphs, DOCX) by @saeedemperor in #207
- macOS: open documents from Finder, the Dock and open -a (#27) by @LloydNicholson in #223
- Use the browser clock for comment and tracked-change dates on the web by @itrycodinganditsbad in #214
- Shift+F3 runs Change Case again, not Find Previous (#186) by @vangel76 in #221
- web: print straight to the system print dialog, not just export by @Dejan-Port in #209
- Headless: name the author of tracked changes, and list review.trackChanges' value param by @vangel76 in #224
- Cross-references point at real bookmarks, and Update Field refreshes them by @vangel76 in #227
- Tests: shapes and pictures can be clicked, resized, dragged and nudged (#142, #82) by @vangel76 in #228
- DOCX: absolutely positioned VML text boxes float instead of pushing the body down (#149) by @vangel76 in #242
- Add a System interface theme that follows the OS light/dark appearance (#115) by @vangel76 in #249
- Reject All removes paragraph breaks inserted with Track Changes on by @vangel76 in #244
- Web: use the browser clock everywhere on wasm (follow-up to #214) by @dkhlapov in #230
- On macOS, the window buttons sit centred in the title bar and the File back button no longer crowds them by @vangel76 in #255
- File ▸ Home and File ▸ New are no longer the same page (#141) by @vangel76 in #254
- Zoomed out, pages sit side by side in rows, like Print Layout in Word by @vangel76 in #251
- Windows installer: show a finish page after installing (#198) by @vangel76 in #257
- Font picker: build only the visible rows, cache font fallbacks (#121, #59) by @dkhlapov in #233
- Contributors: add dkhlapov by @dkhlapov in #238
- Font list offers every installed weight (Light, Medium, SemiBold, Black…), as Word does by @vangel76 in #239
- Chinese interface shows every character instead of boxes on Windows by @vangel76 in #248
- Table Layout › Text Direction turns the cell's text (#226) by @vangel76 in #245
- File dialogs (Open, Save As, Export) no longer freeze the window on Linux (#94) by @vangel76 in #246
- Select Recipients lets you type a list or pick a CSV, instead of a parameters error by @vangel76 in #247
- Mailings: Start Mail Merge and Rules open menus, and Match Fields and Check for Errors show what they found by @vangel76 in #259
- Touchpad scrolling follows your fingers and coasts after a flick; the mouse wheel scrolls further (#122) by @vangel76 in #252
- View tab: Zoom In/Out buttons that step from the shown zoom (#67) by @dkhlapov in #232
- View › Gridlines shows the page grid; Table Layout › View Gridlines outlines table cells (#69) by @vangel76 in #243
- Create and modify your own table styles, and they stay in the .docx (#146) by @vangel76 in #256
- Advanced Find: every match, Reading Highlight, search within a selection by @dkhlapov in #234
- Paste Special: paste as formatted text, RTF, HTML or unformatted text by @dkhlapov in #235
- Style Inspector: pane, styles.inspect query and per-level clearing by @dkhlapov in #236
- Column Selection: Alt+drag or Ctrl+Shift+F8 selects a block of text by @dkhlapov in #237
- i18n: add Serbian, both scripts (sr, sr-latn) by @Dejan-Port in #250
- Tests: layout and PDF tests no longer depend on the fonts installed on the machine; PDF text of field results keeps ligature letters by @vangel76 in #261
- File › Info keeps the Title, Author and other properties you type, and browser saves update the revision and modified stamps (#260, #262) by @vangel76 in #268
- Show/Hide ¶: paragraph mark no longer overlaps text in mixed-direction paragraphs by @vangel76 in #278
- Progress docs: re-measure against Word 16.113.4 (alpha, ~60% ready for real work) to the craftrules standard by @echelon in #277
- i18n: translate the remaining untranslated interface strings; test the font fallback cache with legacy names by @echelon in #276
- Desktop: File › Print opens the document in the system PDF viewer for printing by @vangel76 in #286
- Tables: autofit by content, and floating tables inside cells by @naxvog in #291
- Pictures: draw WMF and EMF pictures instead of a grey box by @naxvog in #293
- Tests: the floating header text box test passes on FreeBSD (no font-dependent numbers) by @vangel76 in #284
- Gridlines: the document's own grid spacing, and table gridlines on by default (follow-up to #243) by @dkhlapov in #283
- Edit comments right in their balloons, and drag page margins on the ruler by @vangel76 in #289
- Charts and SmartArt: draw them instead of dropping them by @naxvog in #292
- Table sizing: Height/Width boxes, AutoFit to contents and a Table Properties dialog by @vangel76 in #287
- Clipboard pane: the last 24 things you copied or cut, ready to paste again by @vangel76 in #264
- Table styles: format every region with a live preview, delete your own styles, and see new ones first (#146) by @vangel76 in #263
- Manage your styles: list, preview, delete and show or hide them in the gallery (#266) by @vangel76 in #270
- Paste pictures from the clipboard: screenshots, Copy Image and copied picture files (#45) by @vangel76 in #272
- Paragraph dialog gets an Asian Typography tab; layout honours kinsoku and mid-word Latin wrapping (#269) by @vangel76 in #271
- Group and ungroup pictures, shapes and text boxes (Layout › Arrange › Group) by @vangel76 in #267
- Shape Effects: shadow, glow and soft edges for shapes by @vangel76 in #280
- UI: draw icons instead of symbols the interface fonts lack (✕ ✎ 💬 ➕ 📂 ⋯ ➢) by @dkhlapov in #305
- AutoSave switch is greyed out, with the reason, when AutoSave can't save by @vangel76 in #302
- UI: hover and pressed feedback for the drawn icon buttons (follow-up to #305) by @dkhlapov in #314
- Re-land #264, #263, #270, #271, #267, #280 (their squash merges came out empty) by @echelon in #323
- Open and save password-protected Word documents (#55) by @vangel76 in #281
- Windows: smooth again on older graphics without a DirectX 12 driver by @vangel76 in #325
- System interface theme follows OS changes again, and Dark page no longer darkens the interface by @vangel76 in #317
- Long display equations wrap across lines like Word by @vangel76 in #329
- Tests: equation-wrap test passes without a math font (FreeBSD CI red) by @echelon in #348
- Rotate and flip pictures, shapes and text boxes freely by @vangel76 in #340
- Define New Multilevel List and Track Changes Options dialogs by @vangel76 in #342
- Equation gallery: group multi-letter operands in two templates (Yields, n×n Matrix) by @dkhlapov in #347
- Import: hostile Markdown and HTML no longer take quadratic time by @g1obalworlds in #355
- Long footnotes continue onto the next page by @vangel76 in #357
- Charts, SmartArt and OLE objects are no longer lost when you save a .docx by @vangel76 in #333
- Columns, Symbol and Field dialogs by @vangel76 in #335
- Tabs and Borders and Shading dialogs by @vangel76 in #327
- Bump quick-xml to 0.41: the namespace-declaration DoS was reachable (RUSTSEC-2026-0195) by @pkibiego in #363
- Draw tables and split or merge cells with a pen and eraser by @vangel76 in #308
- Draw tab: draw with pen, pencil and highlighter, erase ink, and hide ink by @vangel76 in #315
- i18n: send interface text that skipped translation through the catalog by @dkhlapov in #313
- Add Estonian interface translation by @henno in #294
- Type in the font box to find a font by @vangel76 in #367
- Rotated or flipped OLE objects keep their turn when saved to .docx by @vangel76 in #370
- Layout: a drop cap in a font over 1000 pt no longer panics by @g1obalworlds in #389
- Layout and render: extreme page numbers and wave borders no longer overflow or run away by @g1obalworlds in #393
- Tables: Delete Columns never leaves a table with no rows by @g1obalworlds in #397
- Track Changes: formatting revisions (w:rPrChange/w:pPrChange) (#41) by @vangel76 in #399
- Bump version to 0.5.0; add Linux riscv64 release build by @echelon in #394
New Contributors
- @gledguri made their first contribution in #194
- @cyfung1031 made their first contribution in #166
- @LloydNicholson made their first contribution in #177
- @naxvog made their first contribution in #132
- @edurbs made their first contribution in #128
- @g1obalworlds made their first contribution in #180
- @Geljic made their first contribution in #179
- @gittonyp made their first contribution in #150
- @StrajnarFilip made their first contribution in #114
- @lpgn made their first contribution in #124
- @GeronimoCastano made their first contribution in #129
- @999sian made their first contribution in #60
- @dmatviichuk made their first contribution in #91
- @ssamstudio made their first contribution in #110
- @chiranjeevi-max made their first contribution in #43
- @WeebLabs made their first contribution in #46
- @saeedemperor made their first contribution in #207
- @itrycodinganditsbad made their first contribution in #214
- @vangel76 made their first contribution in #221
- @Dejan-Port made their first contribution in #209
- @pkibiego made their first contribution in #363
- @henno made their first contribution in #294
Full Changelog: v0.4.0...v0.5.0
Original source - Oct 11, 2026
- Date parsed from source:Oct 11, 2026
- First seen by Releasebot:Oct 13, 2026
PdfCraft v0.6.0
pdfcraft releases version 0.6.0 with expanded PDF editing, signing, redaction, OCR, and file-combination tools, plus improvements to rendering and document handling. The update also adds Polish and Arabic interface languages, easier signature adjustments, and a Linux riscv64 build.
What's Changed
- M3: tiles skip paths that can't paint them (item 5 of #623) by @cyfung1031 in #670
- M3: harden render and CLI failure surfaces by @cyfung1031 in #669
- Print: list driverless CUPS destinations, not only permanent queues by @edurbs in #658
- Wayland: IME keeps working after a seat loses a capability (winit#4747) by @cyfung1031 in #672
- Windows: the Korean IME composition caret sits after the syllable (winit#4746) by @cyfung1031 in #673
- Windows: a window closed maximized reopens without a white flash (winit#4587) by @cyfung1031 in #674
- X11: the input method follows the text field that has focus (winit#4727) by @cyfung1031 in #675
- macOS: IME text committed after the marked text is cleared isn't lost (winit#4650) by @cyfung1031 in #676
- macOS: an unfinished composition doesn't come back in the next text field (winit#4745) by @cyfung1031 in #677
- macOS: emoji from the emoji picker reach text fields (winit#4749) by @cyfung1031 in #678
- macOS: Space in Apple Korean with no syllable in progress types one space (winit#4478) by @cyfung1031 in #679
- macOS: the first Apple Korean key in a fresh PdfCraft composes (winit#4744) by @cyfung1031 in #680
- M3: document why fixed-zoom sizes differ from Acrobat (no runtime change) by @cyfung1031 in #736
- Desktop: log renderer details for display-scaling diagnosis by @cyfung1031 in #726
- M7: normalize PDF font descriptor flags to u32 by @cyfung1031 in #700
- About dialog test: wait for each control to stop moving before clicking it (#671) by @DWAA1660 in #703
- M3: cover suspended raster resource ownership by @cyfung1031 in #733
- M4: audit that undo and redo never replay field scripts by @cyfung1031 in #713
- M2: pin output across worker counts by @cyfung1031 in #705
- M2: cover inherited form resource contexts by @cyfung1031 in #707
- M6: reject out-of-domain field flags by @cyfung1031 in #701
- M5: unify annotation flag parsing by @cyfung1031 in #698
- M3: make multi-document raster allowance test deterministic by @cyfung1031 in #723
- Sign: long digital ID names stay inside the picker by @mmmaarian03-crypto in #743
- Issue #727: tell the user when GitHub rate-limits update checks by @ShauryaSwarup in #731
- M2: decouple content tokenization from slices by @cyfung1031 in #706
- M2: key soft-mask cache by inherited resource context by @cyfung1031 in #716
- create: lift TIFF decoding buffer limit to allow print-sized images (#665) by @Hathor875 in #681
- Windows: declare Per-Monitor V2 DPI awareness in the executable manifest by @cyfung1031 in #725
- CI: require Windows executable resources in Windows builds by @cyfung1031 in #724
- Close the command palette on outside click by @oussama-dalhi in #696
- M2: cover form recursion cycles by @cyfung1031 in #709
- M3: test stitched render partitions against whole-page output by @cyfung1031 in #697
- M2: cover tiling pattern recursion cycles and finite nesting by @cyfung1031 in #710
- M5: preserve strokes with malformed interior colors by @cyfung1031 in #708
- Sign: decide Windows store keys in code every platform builds (follow-up to #646) by @jcl-bit in #690
- Issue #666: images made into a PDF keep their ICC profile by @LloydNicholson in #729
- M14: side panels keep their width after a resize by @Toddpe in #704
- Sign: smart cards and tokens in the Windows store ask for their PIN (#694) by @mmmaarian03-crypto in #742
- M2: pages with /UserUnit are shown at their size in points, as in Acrobat by @cyfung1031 in #722
- M2: text turned at any angle reads as lines along its own baseline by @cyfung1031 in #735
- M2: cancel obsolete in-flight requests by @cyfung1031 in #702
- PDF/A: no sRGB output intent for CMYK documents, and pdfa_verify checks the intent's colour space (#667) by @DWAA1660 in #732
- Windows: single instance, launches started together share one window (#282, #317) by @benimaru327 in #715
- M8: redaction code sets (U.S. FOIA, Privacy Act) as overlay text by @bartalos86 in #741
- M14: View menu, tooltips and Keyboard shortcuts show Ctrl, not ⌘, off macOS by @Toddpe in #695
- M14: Arabic interface language by @abdelhaqelamraoui in #692
- M4: keep the render pool across metadata edits by @cyfung1031 in #750
- M9: the signer's certificate must allow document signing (key usage, EKU, critical extensions) by @bartalos86 in #749
- M9: sign and timestamp encrypted documents by @silverhadch in #753
- Extract pages: a File name field names the extracted files (#737) by @DWAA1660 in #751
- M4: bookmarks from tagged headings (organize.bookmarks-from-structure) by @bartalos86 in #754
- M8: redact lists of words or phrases (protect.redact-word-lists) by @bartalos86 in #757
- M3: make render watchdog regressions deterministic by @cyfung1031 in #699
- Progress docs: re-measure against Acrobat Pro 26.002, adopt the progress-docs standard by @echelon in #873
- Measure: snap to the implicit closing edge of filled paths (#803) by @MarekSpodBiedry in #862
- fix(organize): reject rotation angles that are not multiples of 90 (#801) by @muraa-p in #833
- Autosave: snapshot a new unsaved document before its first edit (#815) by @MarekSpodBiedry in #850
- OCR: Recognize text in multiple files refuses paths outside the root by @mlkonrad in #795
- fix(text): match phrases across repeated whitespace (#814) by @muraa-p in #831
- fix(edit): keep a comment whose appearance is missing when flattening (#805) by @muraa-p in #838
- fix(comments): keep a reply to a reply in the comment listing (#806) by @muraa-p in #839
- Issue #774: keep the catalog out of object streams in encrypted files (Acrobat) by @ch0kemeister in #836
- fix(edit): refuse a header start number that would wrap the next page (#804) by @muraa-p in #834
- OCR: a scanned euro sign reads as €, not E by @mlkonrad in #796
- fix(comments): include replies to replies in the comment summary (#820) by @muraa-p in #840
- fix(xfdf): drop the replaced note's popup when re-importing a comment (#807) by @MarekSpodBiedry in #860
- fix(view): check Shift-Command-G before Command-G for find navigation (#810) by @Hathor875 in #835
- fix(editing): recognize paragraph drafts as unsaved work (#811) by @Hathor875 in #843
- fix(automation): retain batch results with identical filenames by @Ni-zav in #877
- M13: preserve desktop Action Wizard batch results by @Tevinhead in #886
- Fit to width fits the shown page in single-page view (#808) by @MarekSpodBiedry in #859
- fix(links): find URLs when lowercasing changes the text length (#816) by @muraa-p in #830
- organize: deleting the opening page drops the catalog OpenAction (#821) by @MarekSpodBiedry in #855
- fix(text): Turkish dotted and dotless i match in case-insensitive search by @snipeTR in #892
- XFDF comment exchange keeps polygon and polyline vertices (#809) by @DWAA1660 in #848
- XFDF keeps a callout's leader, text-box inset, intent and arrowhead (#819) by @MarekSpodBiedry in #854
- Web: warn before reloading a document with unsaved changes (#812) by @MarekSpodBiedry in #856
- Issue #813: a cancelled recovery password no longer attaches to the next unlocked document by @ch0kemeister in #858
- Viewer: touchpad scrolling tracks the finger 1:1 (#759) by @justinjohn0306 in #868
- Keep every part when bookmark titles repeat in doc_split (#800) by @MarekSpodBiedry in #863
- Windows: add reproducible security diagnostics for #747 by @cyfung1031 in #769
- Security notice wraps beside its buttons instead of running under them (#785) by @DWAA1660 in #832
- M10.2: scan JPEG metadata beyond frame headers by @CQMHV in #764
- Issue #878: Combine stores an image once when its colour space is an indirect name by @mlkonrad in #883
- organize: drop named destinations and their links when a page is deleted (#817) by @MarekSpodBiedry in #851
- JavaScript: limit util.printf widths and output, and array arguments by @haranishi in #770
- Linux: "Use system setting" asks the desktop, not winit by @gyurix in #881
- Extract/Combine: a page repeated in one selection gets its own annotations (#818) by @MarekSpodBiedry in #852
- Fill & Sign tools pick up placed signatures to move and resize them by @LloydNicholson in #822
- Web: opt-in embedding bridge for host pages (?host=parent) by @CyberFox-81 in #842
- Print: a scaled annotation appearance no longer prints larger than its rectangle (#802) by @MarekSpodBiedry in #861
- Single instance: enable tab handoff in Windows portable mode (#889) by @A-viral-dev in #891
- Issue #390: build the DMG with hdiutil create so the app passes codesign --strict by @ch0kemeister in #823
- M4: make page-label generation lazy across large documents by @cyfung1031 in #845
- lopdf: bound compressed-object lookups and object-stream members by @haranishi in #771
- hayro-syntax: cap the nesting of direct arrays and dictionaries by @haranishi in #772
- M11: Reduce file size shrinks office scans, and never saves a bigger copy (refs #490) by @taylorandrew07-lab in #849
- M11: Reduce file size and Optimize PDF drop images nothing draws, such as a deleted image by @taylorandrew07-lab in #894
- M9: name the Windows store certificates that can't sign (#179) by @EpsilonLLC in #761
- M12: XFA rows in areas get their instances by @silverhadch in #853
- Exported images keep their transparency, JPEG cut-outs included (#645) by @DWAA1660 in #763
- Fill colour for rectangle, oval and polygon comments (#686) by @DWAA1660 in #793
- M14: localize displayed shortcut key names (#496) by @Tevinhead in #884
- M3, #740: column select (Alt/Option-drag, or Edit ▸ Column select) by @mlkonrad in #765
- Combine files: a thumbnail grid, card sizes and card actions (1 of 3, refs #611) by @taylorandrew07-lab in #777
- Combine files: expand a file into its pages (2 of 3, refs #611) by @taylorandrew07-lab in #788
- Combine files: move and remove single pages before combining (3 of 3, closes #611) by @taylorandrew07-lab in #790
- M14: Add Polish interface language by @80aa08 in #782
- Issue #870: keys leave the document under a dialog alone by @jay-tau in #898
- fix(redact): Turkish, German, French and Italian month names in the Dates pattern by @snipeTR in #900
- fix(redact): the Email pattern finds internationalized addresses by @snipeTR in #901
- fix(create): read UTF-16, byte-order-marked and Windows code page text files by @snipeTR in #903
- fix(crypt): R2–R4 passwords with non-ASCII characters open (PDFDocEncoding) by @snipeTR in #905
- M14: interface size preference; Auto follows GNOME text scaling by @mitul72 in #902
- M7: keep embedded CMap ranges compact instead of truncating expansion by @cyfung1031 in #837
- M4: traverse large bookmark trees lazily without dropping later items by @cyfung1031 in #876
- M14: give Windows PDF files a dedicated document icon by @joeabouserhal in #890
- Edit PDF: select and move multiple objects together (#844) by @Tevinhead in #907
- Edit text: white or pale text is edited on a dark box instead of vanishing on white (#913) by @DWAA1660 in #921
- Fill & Sign: Add text keeps what was typed on click-away, and its box grows by @dsskaggs-ai in #918
- Select tool picks up a signature placed over a form field by @LloydNicholson in #917
- Drawn signatures and drawings resize from their handles by @LloydNicholson in #920
- Bump to 0.6.0; add a Linux riscv64 release build by @echelon in #945
New Contributors
- @mmmaarian03-crypto made their first contribution in #743
- @Hathor875 made their first contribution in #681
- @oussama-dalhi made their first contribution in #696
- @Toddpe made their first contribution in #704
- @benimaru327 made their first contribution in #715
- @abdelhaqelamraoui made their first contribution in #692
- @silverhadch made their first contribution in #753
- @muraa-p made their first contribution in #833
- @ch0kemeister made their first contribution in #836
- @Ni-zav made their first contribution in #877
- @snipeTR made their first contribution in #892
- @gyurix made their first contribution in #881
- @CyberFox-81 made their first contribution in #842
- @A-viral-dev made their first contribution in #891
- @taylorandrew07-lab made their first contribution in #849
- @80aa08 made their first contribution in #782
- @jay-tau made their first contribution in #898
- @mitul72 made their first contribution in #902
- @joeabouserhal made their first contribution in #890
- @dsskaggs-ai made their first contribution in #918
Full Changelog: v0.5.0...v0.6.0
Original source - Oct 11, 2026
- Date parsed from source:Oct 11, 2026
- First seen by Releasebot:Oct 13, 2026
FilmCraft v0.6.0
filmcraft releases a broad video-editing update with GPU rendering, AV1 and ProRes exports, optical-flow motion interpolation, richer timeline and caption tools, expanded format support, and fixes across editing, audio, playback, and project workflows.
What's Changed
- CLI: a closed stderr no longer panics with exit 101 (#537) by @MarekSpodBiedry in #567
- CLI export: forward a lone --start or --end so the engine reports the missing bound (#538) by @MarekSpodBiedry in #568
- Roll: reversed clips take the cut from the opposite source end (#526) by @MarekSpodBiedry in #558
- fix(edit): reversed trims use the media handle their playback direction consumes (#527) by @MarekSpodBiedry in #559
- Trim: extend each selected edit point to the playhead by its own distance (#528) by @MarekSpodBiedry in #560
- Linked slip: clamp to one shared delta so picture and sound stay aligned (#529) by @MarekSpodBiedry in #561
- Frame-held Regular In trim stops at the previous clip instead of overlapping it (#530) by @MarekSpodBiedry in #562
- Export settings: accept camelCase for nested snake_case fields (#531) by @MarekSpodBiedry in #563
- Queue move: saturate a huge relative offset instead of overflowing (#532) by @MarekSpodBiedry in #564
- Forced relink and Replace Footage keep the new file's properties (#534) by @MarekSpodBiedry in #565
- Project Manager: keep every parent of a nested subclip when collecting (#535) by @MarekSpodBiedry in #566
- Parametric Equalizer: use the full EQ so master gain, bands 1/2/4/5 and pass filters reach the audio (#540) by @MarekSpodBiedry in #570
- Audio Gain: measure the peak of the audio stream each clip plays (#541) by @MarekSpodBiedry in #571
- masks.addVertex: clamp oversized index on animated paths, reject empty paths instead of panicking (#543) by @MarekSpodBiedry in #572
- MCC export: end each ancillary packet with its checksum byte so FFmpeg reads the captions (#544) by @MarekSpodBiedry in #573
- Text panel: word navigation ignores a selection the transcript no longer has (#546) by @MarekSpodBiedry in #574
- Slide: keep reversed neighbours' source ranges correct (#548) by @MarekSpodBiedry in #575
- #323: AAF files open in readers that load the meta-dictionary by @txiki739 in #419
- Keep selected audio streams distinct in AAF/OMF exports by @sanyamsingh001 in #467
- interchange: fix file:// URLs for Windows verbatim paths (FCP7 XML media offline in Premiere) by @digitaldecaycreations-lgtm in #497
- Export sequence markers to a spreadsheet-safe CSV by @vbasky in #454
- #447: HybridDecoder fallback replay goes on past samples the software decoder rejects by @MrCloudy2 in #453
- fix(export): Selection as Project exports a selected bin's contents (#536) by @maxm11 in #557
- Issue #545: captions.list with a track that names no caption track is an error by @LloydNicholson in #556
- MCP render_frame: max_side 0 means no limit (#459) by @MarekSpodBiedry in #464
- Keep frame navigation precise and time arithmetic bounded by @sanyamsingh001 in #494
- #219: right-clicking a cut opens the edit point menu by @MrCloudy2 in #257
- Audio plays while scrubbing (#211) by @carlitosteso3 in #275
- Audio of video clips: volume in Effect Controls + draggable volume line (#223) by @ossini in #472
- Preview transition placement while dragging onto timeline clips (#482) by @DWAA1660 in #487
- timeline, monitors: drag the current-time timecode to scrub, click to type a time by @ReReddo in #576
- #484: Enable flips each selected clip on its own by @liangforstudy in #511
- Fill graphic shapes and text with a linear gradient by @vbasky in #514
- ui: add an eyedropper to colour parameters (Ultra Key, Color Key...) by @Guilhermeb-Ferrarezi in #518
- graphics: shape commands document seconds / track / time, and placement errors name the command that asked by @maccagnit in #521
- Project files: each sequence reopens with its playhead where it was left by @liangforstudy in #506
- Implement scrollable areas for media dialog by @chuygarcia92 in #516
- i18n: the tl! source scan in tests passes on CRLF checkouts by @ReReddo in #488
- Text panel: tab widths follow the drawn label (Japanese tabs overlapped) by @haranishi in #450
- i18n: Japanese for the whole interface by @haranishi in #449
- Fix Light theme inconsistencies by @adurr21 in #555
- #474: VA-API decoders share one display (no 0.3 s open / 70 ms close per decoder on NVIDIA) by @MrCloudy2 in #475
- M-HW: NVENC takes the export's RGBA and converts it on the GPU (#30) by @MasakatsuFunaki in #486
- Issue #552: MP4 and Matroska colour from the bitstream when the container has none by @LloydNicholson in #446
- #346: the from-source Flatpak includes the CLI and MCP server by @txiki739 in #420
- chore: bump github actions to fix Node 20 deprecation warnings by @dylanmtaylor in #501
- docs: register the MCP server from an installed release by @sawizzle in #504
- Windows: skip AV1 oracle tests when ffmpeg lacks libsvtav1/libdav1d by @Tom1tk in #427
- CLI render: report the real reason for an invalid scale instead of no sequence (#539) by @MarekSpodBiedry in #569
- appearance: View > Appearance names the middle theme "Dark", as Settings does by @ReReddo in #489
- i18n: add Ukrainian (uk) interface translation by @dmatviichuk in #407
- #288: MP4 / MOV pictures are cropped as the file says (H.264 / HEVC cropping, clean aperture) by @MrCloudy2 in #492
- Issue #551: Anamorphic media: honour pixel aspect ratio in placement, monitors and New Sequence From Clip by @LloydNicholson in #445
- Linux: NVDEC hardware decoding for H.264 and HEVC by @SilentYeti in #549
- Add Simplified Chinese (zh) translation by @hadmark in #550
- Standardise system appearance modes and FilmCraft theme previews by @luniiya in #505
- FCP7 XML: keep the source channel of split mono audio tracks (#463) by @MarekSpodBiedry in #465
- fix(mcp): media_import schema mirrors file.import (#499) by @mjohnson7cd in #509
- Start scalar graph drags at the pointer press position by @sanyamsingh001 in #470
- Essential Graphics: Make a property drag one undo step by @gyroninja in #522
- clip.link: pair video clips with overlapping audio clips (#507) by @Hathor875 in #515
- effects.setParam: choices by name, a keyframe option, and the keyframe count in the result by @maccagnit in #520
- #430, #224: select, edit, delete and resize transitions by @swillunderscore in #503
- project: share sequences across edit snapshots by @David-T-Campos in #434
- [feat] files dropped onto the Timeline are placed there, not just imported. Supports preview too by @mitchmckinstry in #517
- #262: file dialogs list extensions in any capitalisation on Linux by @txiki739 in #390
- cli: make --help print usage successfully by @jnohclee-rgb in #357
- WINCI: Repair HEVC timing and CRLF translation validation by @cshapiro in #442
- Playback: fall back to a working output device when the ALSA default cannot be opened by @ahmedhosnypro in #254
- linux: install a dev desktop entry so the taskbar shows the app icon by @ahmedhosnypro in #246
- Text to Speech narrations: panel, natural voices (Kokoro-82M in pure Rust), click-to-edit by @mutombopr in #278
- GPU export rendering (on by default) and Vignette, Video Limiter, Lumetri Color on the GPU compositor by @mutombopr in #421
- Progress docs per the craftrules standard; re-measure against Premiere Pro 26.5.2 by @echelon in #700
- Hardening: an AAF weak-reference collection with a zero key size can't exhaust memory by @haranishi in #584
- CFB: bound the DIFAT and FAT chain walks by the file's own size by @haranishi in #585
- fix(i18n): prefer Japanese system glyphs over Chinese fallback (#547) by @Ni-zav in #589
- Keyboard slip: clamp linked clips by one shared delta (#529) by @MarekSpodBiedry in #594
- Reject unknown mcp options instead of silently ignoring them (#476) by @MarekSpodBiedry in #595
- Audio Clip Mixer: click the dB readout to type a volume (#481) by @MarekSpodBiedry in #596
- #402: WebM transparency (VP9 alpha in BlockAdditions) by @liangforstudy in #597
- Trim Monitor: Make trim drags no longer deadlock by @gyroninja in #599
- Export: CRF (constant quality) for H.264 by @JordyUSA in #600
- Export: never crash on WAV/AIFF over 4 GiB; stream PCM to disk by @JordyUSA in #606
- project panel: drag in empty space to marquee-select, in List, Icon and Freeform views by @ReReddo in #607
- timeline, project panel: paste images and copied files from the system clipboard by @ReReddo in #615
- Let a bin be cleared from its context menu, the trash button, the panel menu and Delete (#587) by @MarekSpodBiedry in #622
- Space out browser downloads so image-sequence exports are not dropped (#378) by @MarekSpodBiedry in #624
- ui: reject software rasterizers for GPU compositing and say so by @4papuce in #633
- MP4: read the start timecode from a Sony rtmd track when there is no tmcd by @maxm11 in #644
- perf(export): index the bin tree once in closure() (#536 follow-up) by @maxm11 in #646
- #456: Select All in the Project panel takes only the shown bin by @vangel76 in #652
- #412: select a single keyframe in Effect Controls by @vangel76 in #656
- #480: exports no longer stop for good when a clip's decoding uses rayon (rotated iPhone HEVC clips) by @MrCloudy2 in #662
- #461: interchange import links media through the streaming reader by @vangel76 in #664
- #333: Fade In and Fade Out presets add up on one clip by @vangel76 in #665
- #457: Settings > Appearance > UI Scale by @vangel76 in #672
- platform: look up kVTCompressionPropertyKey_ConstantBitRate at run time by @abdelkabirouadoukou in #673
- Pass Hard Limiter look-ahead into the DSP limiter by @vbasky in #674
- Apply Ultra Key Setting as a parameter preset by @vbasky in #675
- Add file.import replace mode for empty-project round-trips by @vbasky in #676
- Apply Transform shutter angle when the override is on by @vbasky in #679
- #239: Position keyframes get the value and velocity graphs by @vangel76 in #684
- Preserve individual linked-clip selections when deleting media by @vbasky in #685
- Keep Link Media actions accessible for large lists and long paths by @vbasky in #686
- fix(monitor): make Button Editor customize transport controls by @Ni-zav in #688
- feat(timeline): rename video and audio tracks from their headers by @Ni-zav in #689
- #680: Shift+Delete ripple deletes with the Timeline focused by @vangel76 in #690
- #279: WAV opens in place and reads only the samples asked for by @vangel76 in #691
- #659: macOS app may use the microphone for voice-over by @vangel76 in #692
- #67: media files share a bounded pool of open descriptors by @vangel76 in #693
- #614: Head, Head and Tail and Continuous video thumbnails in the Timeline by @vangel76 in #698
- timeline, text editing, program monitor: clicking empty space deselects by @ReReddo in #699
- #313: J/K/L shuttle the Source monitor both ways at up to 8x by @vangel76 in #701
- #411: importing a folder keeps its structure as bins by @vangel76 in #702
- timeline: lines between the tracks, a short playhead head by @ReReddo in #703
- fix(captions): reject overflowing TTML times and round extreme clocks safely by @Ni-zav in #705
- fix(captions): preserve literal angle brackets in EBU STL export by @Ni-zav in #706
- Captions: render the track font and add a font picker by @impostazioni in #708
- settings: the hex colour field takes typing by @ReReddo in #722
- Captions: delete caption tracks from the timeline and Delete Tracks dialog by @impostazioni in #723
- fix(tts-text): preserve amounts and numeric units in narration by @Ni-zav in #725
- fix(edl): retain named audio crossfades when importing EDL by @Ni-zav in #726
- #709: --gpu-rendering takes a space-separated value by @vangel76 in #730
- #714: an MP4 without an edit list starts at its first picture by @vangel76 in #732
- #721: 5.1 AAC imports decode in WAV/SMPTE channel order by @vangel76 in #733
- graphics: shape handles change the shape's Size, Shift keeps the ratio by @ReReddo in #737
- Fix silent WAV sample-rate substitution by @vbasky in #658
- fix(settings): mark inactive Timeline focus preference as unwired by @Ni-zav in #727
- #710: --version works after global options by @vangel76 in #735
- #591: named clips that cannot stand in for a selection say why by @vangel76 in #651
- #642: open Help/About links in the system browser on the desktop by @vangel76 in #657
- #653: a dragged trim edge stops at the end of the media by @vangel76 in #663
- #284: reset buttons keep keyframes; a reset button on every property by @vangel76 in #671
- effect controls: row lines, a draggable divider, scrolling anywhere, larger keyframes by @ReReddo in #681
- HW5: AV1 sequence headers compare by picture format, so SVT-AV1 files stay on hardware by @mutombopr in #738
- #712: keyboard Slide keeps linked picture and sound aligned at a neighbour limit by @vangel76 in #740
- #695: Timeline markers can be picked and cleared by @vangel76 in #741
- appearance: the Highlight Color drives the playhead, timecodes and focus by @ReReddo in #743
- #715: a Matroska remux that keeps its timestamps starts at its first picture by @vangel76 in #745
- #719: positive Roundness rounds the Lumetri vignette by @vangel76 in #747
- #456: a new bin asks for its name by @vangel76 in #749
- #620: Project Notes panel, saved in the project by @vangel76 in #750
- #456: a bin can be dragged into another bin and back out by @vangel76 in #751
- #227: Lumetri presets can be dragged onto a Timeline clip by @vangel76 in #753
- #483: media dropped past the last track goes on a new track by @vangel76 in #754
- #227: transitions travel with the clips they sit on when moved by @vangel76 in #755
- Project panel: double-click anywhere empty in Icon view opens Import by @JordyUSA in #636
- #374: trim preview keeps the waveform in place instead of squeezing it by @JordyUSA in #627
- Treat media extensions as case-insensitive on import by @vbasky in #677
- #342: ProRes 4444 and 4444 XQ export, with alpha by @vangel76 in #682
- #648, #668: select a gap in the Timeline and close it with Delete (Ripple Delete) by @ossini in #704
- i18n: add German (de) interface translation by @keller-lukas in #630
- feat: Add Russian (ru) localization by @ivandrozdov1505-coder in #610
- #374: a clip's fades follow its edges on a regular trim by @vangel76 in #756
- #228: Export Frame reports a frame still loading instead of saving it blank by @vangel76 in #757
- #266: quitting with unsaved changes asks to save first by @vangel76 in #758
- #284: panel menu Maximize Frame can be restored; an empty dock reopens panels by @vangel76 in #759
- GPU export: a frame planned as one CPU image skips the renderer pool (Auto was slower than Off) by @maccagnit in #760
- GPU export: a CLI built on its own exports on the CPU instead of failing by @maccagnit in #761
- #626: undecodable video shows the MEDIA UNREADABLE slate, not black by @vangel76 in #762
- #313: the Source monitor remembers its clips; Close and Close All by @vangel76 in #763
- program monitor: drag a rectangle's corners round with on-canvas corner handles by @ReReddo in #765
- #313: double-clicking a Timeline clip opens it in the Source monitor by @vangel76 in #767
- codecs: an open GOP's leading pictures decode from the GOP before, not as black frames by @alex-brazh in #772
- Media: Automatically refresh growing files works (and catches re-renders) by @KattKnight in #625
- HW6: AV1 export format, enabled where a hardware encoder registers one by @mutombopr in #739
- text: the CJK system-font search no longer keeps every probed font file in memory (#769) by @MarekSpodBiedry in #777
- Timeline: draw each audio track's own waveform, not track 1's (#770) by @MarekSpodBiedry in #778
- Linux: H.265 export through NVENC by @SilentYeti in #783
- #781: cargo xtask parity measures menu coverage by @vangel76 in #782
- #424: Render In to Out renders only the frames between In and Out by @vangel76 in #784
- #647: decode E-AC-3 (Dolby Digital Plus) audio by @vangel76 in #788
- #779: export JPEG, Targa and DPX image sequences by @vangel76 in #791
- #780: Optical Flow time interpolation synthesises motion-compensated frames by @vangel76 in #789
- Timeline: Option-drag copies clips instead of moving them by @impostazioni in #794
- #577: Effect Controls shows a selected transition's own timeline by @vangel76 in #795
- fix(menus): show configured label colors in Edit menu by @Ni-zav in #802
- fix(playback): keep audio during forward shuttle speeds (#771) by @Ni-zav in #803
- #498: French (fr) interface translation by @vangel76 in #804
- #800: MP2 audio in MP4 and MOV decodes instead of playing silent by @vangel76 in #808
- #805: Morph Cut morphs along optical flow instead of cross-dissolving by @vangel76 in #811
- #806: export OpenEXR image sequences by @vangel76 in #812
- Clear leftover item selection when making a new bin by @vbasky in #815
- monitors: the wheel zooms about the pointer, the middle button pans by @ReReddo in #824
- #813: masks round their corners (rounded rectangle masks) by @vangel76 in #818
- #821: import Targa and DPX stills and image sequences by @vangel76 in #826
- #814: AAC Audio export (audio-only .m4a, or ADTS .aac) by @vangel76 in #825
- Release prep: 0.6.0 and a Linux riscv64 release build by @echelon in #830
New Contributors
- @digitaldecaycreations-lgtm made their first contribution in #497
- @vbasky made their first contribution in #454
- @maxm11 made their first contribution in #557
- @LloydNicholson made their first contribution in #556
- @ossini made their first contribution in #472
- @ReReddo made their first contribution in #576
- @liangforstudy made their first contribution in #511
- @Guilhermeb-Ferrarezi made their first contribution in #518
- @maccagnit made their first contribution in #521
- @chuygarcia92 made their first contribution in #516
- @haranishi made their first contribution in #450
- @adurr21 made their first contribution in #555
- @MasakatsuFunaki made their first contribution in #486
- @dylanmtaylor made their first contribution in #501
- @sawizzle made their first contribution in #504
- @dmatviichuk made their first contribution in #407
- @SilentYeti made their first contribution in #549
- @hadmark made their first contribution in #550
- @luniiya made their first contribution in #505
- @gyroninja made their first contribution in #522
- @Hathor875 made their first contribution in #515
- @David-T-Campos made their first contribution in #434
- @mitchmckinstry made their first contribution in #517
- @jnohclee-rgb made their first contribution in #357
- @ahmedhosnypro made their first contribution in #254
- @mutombopr made their first contribution in #278
- @Ni-zav made their first contribution in #589
- @4papuce made their first contribution in #633
- @vangel76 made their first contribution in #652
- @abdelkabirouadoukou made their first contribution in #673
- @impostazioni made their first contribution in #708
- @keller-lukas made their first contribution in #630
- @ivandrozdov1505-coder made their first contribution in #610
- @alex-brazh made their first contribution in #772
- @KattKnight made their first contribution in #625
Full Changelog: v0.5.0...v0.6.0
Original source - Oct 11, 2026
- Date parsed from source:Oct 11, 2026
- First seen by Releasebot:Oct 13, 2026
LightCraft v0.6.0
lightcraft releases version 0.6.0 with HDR editing and export, expanded camera and RAW format support, and major improvements to keywording, color management, and photo editing. The update also adds French and Ukrainian translations and brings performance and reliability fixes.
What's Changed
- Integrate 59 community PRs (batches 21–23) by @echelon in #657
- LR-IMP-CAMERA-COVERAGE: Sony ILCE-7CR samples in the corpus by @AlexChambers in #524
- LR-PROF-CAMERACOLOR: bundled Sony ILCE-7CR camera profile by @AlexChambers in #526
- LR-PRE-AMOUNT: presets with the Grain group apply at any amount by @AlexChambers in #530
- LR-PROF-CAMERACOLOR: calibrate rejected every ILCE-7RM4 file (camera JPEG proxy a pixel short) by @rock-meister in #531
- LRC-DEV-PROCESS: process versions, so a look change can ship without changing existing edits (#146) by @AlexChambers in #533
- LRC-LIB-SMARTCOLL: grouped rule menu, 17 new fields, validation, smart-album references, date and album pickers by @nledford in #536
- LRC-LIB-CATALOG-IMPORT: read Lightroom's Custom white balance by its as-shot shift on relative-WB raws (#510) by @bitshiftza in #540
- i18n: add French translation catalog and menu options by @enzoflayac in #541
- LR-IMP-CAMERA-COVERAGE: Sony black levels: SR2 layouts and lossless M/S pedestal by @AlexChambers in #542
- #538: breadcrumbs open their folder as spelled; fix browse test on Windows by @HarrisXiu in #549
- LR-CROP-STRAIGHTEN: rotation pointer, angle readout and an Angle field in the crop tool (#534) by @nledford in #550
- LR-BEHAV-BG-TASKS: demo scenes: a rayon worker renders a scene alone, never in parallel (deadlock) by @AlexChambers in #557
- LR-BEHAV-TEXTFIELD: a shared text field with Cut / Copy / Paste, Esc and Return that work by @nledford in #561
- Use the system clock in the CLI and headless MCP sessions (#554) by @MarekSpodBiedry in #562
- Export a contact sheet of photos to a paginated PDF by @vbasky in #563
- Add Ukrainian interface translation by @dmatviichuk in #564
- LR-PROF-CAMERACOLOR: Sony ARWs shot with DRO no longer start with the camera JPEG's lifted shadows (#244) by @AlexChambers in #568
- Cmd+= / Cmd+- / Cmd+0 zoom the photo, not egui's interface scale (#566) by @bitshiftza in #570
- LR-EDIT-OPTICS-PROFILE: Reload from Disk reads a file's lens data and turns the correction on for untouched photos by @radialmonster in #571
- Keep the current-view selection after permanent photo deletion by @midasdf in #572
- docs: explain Codex MCP setup and external libraries by @pikkemaat in #574
- LR-IMP-CAMERA-COVERAGE: Sony ARW white balance and black level from one SR2SubIFD decryptor by @AlexChambers in #575
- LRC-LIB-KEYWORDS: a Keyword List to create, edit and reorganize keywords (stacked on #561) by @nledford in #578
- LR-IMP-CAMERA-COVERAGE: Sony 16:9 crop on pre-crop-tag bodies by @AlexChambers in #580
- LR-IMP-PROFILES: XMP channel curves only with the master and all three channel curves by @Exalted5373 in #581
- LR-PROF-CAMERACOLOR: a partial camera look instead of the dark neutral fallback when the full look misses the gates by @radialmonster in #583
- Nix: bump craft-fonts pin to fix nix build / nix run by @GarrettGR in #584
- LRC-LIB-KEYWORDS: a selection-aware Keywording box (stacked on #578) by @nledford in #585
- LR-IMP-FORMATS: treat DNG samples piled up below the stated white level as clipped (#548) by @radialmonster in #586
- LRC-LIB-KEYWORDS: Edit Keyword Set (stacked on #585) by @nledford in #588
- LRC-LIB-KEYWORDS: import and export keyword lists by @nledford in #592
- LRC-LIB-LIBFOLDERS: folder colour labels (folder records, catalog format v4) by @nledford in #597
- LR-IMP-FORMATS: read the two-field 12-bit ORF layout of old Olympus compacts by @radialmonster in #600
- raw: name Nikon High Efficiency NEFs instead of blaming a missing table (#193) by @DWAA1660 in #603
- LRC-LIB-LIBFOLDERS: Synchronize Folder (stacked on #597) by @nledford in #604
- LR-IMP-ADD-DIALOG: initialize layouts before import timing and tag clicks by @sanyamsingh001 in #608
- LR-IMP-FORMATS: HEIC decodes like libheif; release builds include it by @Exalted5373 in #609
- LR-PREF-DISPLAY: monitor ICC profiles (display colour management) by @kelanna in #612
- LR-IMP-CAMERA-COVERAGE: CR2 black level from the masked columns only by @Exalted5373 in #615
- LR-PROF-CAMERACOLOR: Olympus ORF starting look fitted to its own JPEG by @Exalted5373 in #616
- chore: bump github actions to fix Node 20 deprecation warnings by @dylanmtaylor in #621
- docs: register the MCP server from an installed release by @sawizzle in #623
- LR-EDIT-AUTO: Lightroom-like Auto, calibrated on Lightroom's Auto results by @AlexChambers in #628
- LR-IMP-FORMATS: decode Nikon "lossy after split" NEF by @radialmonster in #633
- Add OmaStore manifest by @KitsuneSemCalda in #636
- LR-IMP-FORMATS: Sony DSC-R1 .SR2 decodes (big-endian 16-bit words in a little-endian TIFF) by @radialmonster in #640
- HDR editing and HDR export: gain map JPEG, PQ AVIF, float TIFF by @akvaithi in #646
- LR-IMP-FORMATS: decode the padded 12.8 bpp Olympus ORF layout (E-300, E-500, E-330; E-M5 II and PEN-F high res) by @radialmonster in #651
- LR-EDIT-DETAIL-DENOISE: fix shared-memory races in GPU denoising by @QuirkyTurtle94 in #500
- LR-LIB-CAPTURETIME: reject impossible anchor dates before shifting photos by @sanyamsingh001 in #502
- LR-BEHAV-BG-TASKS: render export batches side by side (issue #496) by @HarrisXiu in #504
- LR-LIB-FOLDER: delete populated album folders with one-step undo by @QuirkyTurtle94 in #505
- LR-IMP-FORMATS: name GoPro GPR (VC-5 DNG) in the unsupported-raw error instead of 'TIFF compression 9' by @radialmonster in #508
- LR-LIB-RATING: fix relative ratings and grid bracket shortcuts by @sanyamsingh001 in #509
- Fix DNG 1.7 row/column-interleaved rasters (JPEG XL DNGs decoded as a purple 2×2 grid) by @AER00 in #513
- Issue #399: Windows MSI: choose the install folder, finish dialog with Launch LightCraft by @HarrisXiu in #520
- Hide the mask overlay when applying local adjustments by @QuirkyTurtle94 in #522
- Fix brush subtraction and new brush mask creation by @QuirkyTurtle94 in #527
- LR-PROF-CAMERACOLOR: fit the camera look without clipped sensor pixels by @radialmonster in #528
- Integrate #607 follow-up, #655, #656 by @echelon in #659
- LR-EDIT-LIGHT-HIGHLIGHTS: clipped highlights stay neutral when darkened (#523) by @AlexChambers in #607
- LR-VIEW-ZOOM: zoom windows cover a canvas wider than 2048 px (issue #652) by @HarrisXiu in #655
- LR-BEHAV-GPU: no render is inside the GPU driver when the app quits (issue #620) by @HarrisXiu in #656
- Integrate #573, #498, #602, #601, #560, #555, #480, #590 by @echelon in #692
- LR-EDIT-OPTICS-PROFILE: apply embedded A7R IVA distortion corrections by @QuirkyTurtle94 in #498
- LR-IMP-FORMATS: decode Hasselblad lossless JPEG with selection value 8 (FFF, H3D/H4D/CFV-50c 3FR) by @radialmonster in #555
- M11.4: raws from 52 camera models start from matrices fitted to measured spectral sensitivities by @rossaai in #560
- LR-CLOUD-SMARTPREVIEW: smart previews record the camera-look fit version and are rebuilt when it is older by @radialmonster in #590
- Issue #345: activity stack — one progress indicator for long-running tasks by @cajax in #601
- Fix TIFF detection for camera-authored files (#281) by @peiyan0 in #480
- Progress docs: full parity re-measure (alpha, ~55% ready) and the standard doc set by @echelon in #788
- Release prep: 0.6.0 and Linux riscv64 release build by @echelon in #844
New Contributors
- @AlexChambers made their first contribution in #524
- @bitshiftza made their first contribution in #540
- @enzoflayac made their first contribution in #541
- @vbasky made their first contribution in #563
- @dmatviichuk made their first contribution in #564
- @pikkemaat made their first contribution in #574
- @GarrettGR made their first contribution in #584
- @kelanna made their first contribution in #612
- @dylanmtaylor made their first contribution in #621
- @sawizzle made their first contribution in #623
- @KitsuneSemCalda made their first contribution in #636
- @akvaithi made their first contribution in #646
- @AER00 made their first contribution in #513
- @rossaai made their first contribution in #560
- @cajax made their first contribution in #601
Full Changelog: v0.5.0...v0.6.0
Original source - Oct 11, 2026
- Date parsed from source:Oct 11, 2026
- First seen by Releasebot:Oct 13, 2026
DeckCraft v0.5.0
deckcraft releases version 0.5.0 with improved morph transitions, animated GIF playback, hyperlink styling, and an Animation Painter for copying sequences between shapes. The update also adds a scalable Linux app icon and a riscv64 Linux release build.
What's Changed
- Issue #23: README lists the ALSA headers a Linux build needs by @LloydNicholson in #24
- Morph test: sort the ids before dedup so it really checks uniqueness by @alexanderalber in #25
- App icon: scalable SVG for Linux desktops (#12) by @alexanderalber in #29
- Slide show: transitions show the old slide instead of the new one twice (#33) by @alexanderalber in #46
- Issue #44: MCP: the export tool lists PDF and its layout options by @LloydNicholson in #65
- Issue #63: Text: hyperlinks are drawn in the theme's hyperlink colour, underlined by @LloydNicholson in #37
- chore: bump github actions to fix Node 20 deprecation warnings by @dylanmtaylor in #52
- Add OmaStore manifest by @KitsuneSemCalda in #57
- Issue #61: Shapes: flipped shapes keep their text readable by @LloydNicholson in #35
- Morph: a changed geometry morphs its outline (a circle turns into a star) by @alexanderalber in #27
- Colour menus: clicking the hex field no longer closes the menu (#32) by @alexanderalber in #47
- Home: the title bar's Home button opens the start screen (#17) by @alexanderalber in #49
- feat(pictures): animated GIFs play, with pause (media.gifPlay) by @DimaSmaha in #39
- Links: Insert Hyperlink with a bare caret inserts the address; the show follows links (#31) by @alexanderalber in #45
- Animation Painter: copy and apply animation sequences between shapes by @Johannesgauss in #54
- Issue #62: Fields: date fields show today's date in their own format by @LloydNicholson in #36
- Progress docs: re-measure against PowerPoint 16.113 (craftrules standard) by @echelon in #89
- Release prep: 0.5.0 and Linux riscv64 release build by @echelon in #102
New Contributors
- @LloydNicholson made their first contribution in #24
- @dylanmtaylor made their first contribution in #52
- @KitsuneSemCalda made their first contribution in #57
- @DimaSmaha made their first contribution in #39
- @Johannesgauss made their first contribution in #54
Full Changelog: v0.4.0...v0.5.0
Original source - Oct 11, 2026
- Date parsed from source:Oct 11, 2026
- First seen by Releasebot:Oct 13, 2026
VectorCraft v0.9.0
vectorcraft releases a major update with new live Revolve and raster effects, data-merge variables, expanded graphing and brush tools, and improved text, guides, and file imports. The release also brings broad workflow fixes, interface enhancements, and a Linux riscv64 build.
What's Changed
- Fix #861: open .ai files whose non-native art has ASCII85 lines starting with %_ by @rschuerer in #854
- PDF import: clip art reaching past the page to the crop box by @fastmikey99 in #675
- Use File Open path for native SVG drops by @David-T-Campos in #774
- Fonts: missing fonts are listed when a document opens, with Find Fonts and a folder search by @dotCooCoo in #792
- Fix/package transitive placed links by @shmuelbiller1 in #777
- Add Stylize > Glowing Edges raster effect by @vbasky in #765
- Part of #637: area type, threaded type and type on a path from the text document by @bflatastic in #753
- Fix #828: Offset Path's Joins and Zig Zag's Points are dropdowns by @bflatastic in #859
- Fix #830: the control channel's app.quit says when it asks first by @bflatastic in #860
- Fix #755: blurred type no longer shifts as the view moves by @bflatastic in #863
- Part of #758: .ai import doesn't weigh text objects when the layers can't be used by @bflatastic in #869
- Fix #806: Windows doesn't load Vulkan drivers unless asked by @bflatastic in #870
- Fix #824: the Artboard tool names its artboard once by @bflatastic in #871
- Fix #839: Save for Web accepts a typed width or height by @bflatastic in #872
- Fix #826: rulers cover their length in a rotated view by @bflatastic in #873
- Fix #862: the gradient stop popover opens beside the art by @bflatastic in #874
- Fix #835: a recent colour recolours the selected gradient stop by @bflatastic in #875
- Fix #789: every align button aligns to the Align To choice by @bflatastic in #876
- Fix #775: the Properties panel's Paragraph section justifies and hyphenates by @bflatastic in #877
- Fix #833: isolation mode locks and dims the art around the group by @bflatastic in #878
- Fix #831: color books (.acb) open as swatch libraries by @bflatastic in #879
- Part of #861: a file the user can't open is reported in a dialog by @bflatastic in #881
- Part of #785: run and command_batch steps can use earlier results by @bflatastic in #882
- Part of #812: ruler guides pull drawn points with Smart Guides on by @bflatastic in #883
- Fix #827: shadows and glows keep their blend modes in PDF by @bflatastic in #884
- Part of #812: Smart Guides label an object's centre and anchors on hover by @bflatastic in #887
- Docs: ROADMAP for the 2026-10-10 fixes; Other Library lists color books by @bflatastic in #889
- Fix #798: the Curvature tool edits any selected path by @bflatastic in #891
- Fix #787: raster exports keep translucent edges over opaque art opaque by @bflatastic in #892
- Fix #890: artboard art includes art flush with its right or bottom edge by @bflatastic in #894
- Fix #867: macOS file dialogs no longer run inside the window's event handler by @bflatastic in #895
- Fix #888: wheel notches zoom in a glide with Zoom with Mouse Wheel by @bflatastic in #896
- Fix #886: Smart Guides keep working on a Shift-constrained anchor drag by @bflatastic in #897
- Part of #852: Brush Options for Calligraphic and Bristle brushes, pen pressure by @bflatastic in #906
- Credit vbasky by real and display name by @vbasky in #899
- Fix #903: Reselect repeats a Same command after Deselect by @bflatastic in #912
- Fix #901: Shift-click a target circle in the Layers panel to add or remove it by @bflatastic in #913
- Part of #812: polygon properties, Flare Tool Options, more tool double-clicks by @bflatastic in #914
- Fix #900: spinner fields read as one box in three parts by @bflatastic in #916
- Fix #909: a Width tool profile's preview fits the Profile menu by @bflatastic in #917
- docs: register the MCP server from an installed release by @sawizzle in #856
- Part of #394: Show Font Names in English labels the font menus by @Messhias in #910
- Part of #394: Display Print Size at 100% Zoom drives Actual Size by @Messhias in #915
- Fix #832: --automation-read-root and --automation-write-root confine the MCP server's files by @bflatastic in #919
- Part of #885: the Transform effect's dialog takes Transform Each's controls by @bflatastic in #920
- Colour graph series through Group Selection by @vbasky in #799
- Fix artwork movement when editing artboard X/Y coordinates by @callmeBalloch in #923
- Part of gap 2: Effect › Pixelate (Color Halftone, Crystallize, Mezzotint, Pointillize) by @bflatastic in #930
- Fix #925: linked files changed in another app update when the window comes back by @bflatastic in #931
- Fix #924: the Tabs panel's Leader and Align On keep what is typed by @bflatastic in #932
- Fix #921: the Properties panel's Gradient section with Type and Draw by @bflatastic in #933
- EPS import: bound the stitched-gradient builder by @haranishi in #929
- Fix #918: PSD and PSB files open and place as their merged image by @bflatastic in #935
- Part of #927: Direct Selection marquees take the type they touch by @bflatastic in #936
- Fix #811: unnamed glyphs of an installed font stay in their type by @bflatastic in #939
- Part of gap 2: Effect › Video (De-Interlace, NTSC Colors) by @bflatastic in #942
- Fix #926: the Libraries panel's search, groups and library export/import by @bflatastic in #943
- Fix #938: Live Corner widgets on every selected path by @bflatastic in #944
- Docs: README status for 2026-10-10 by @bflatastic in #945
- Graph Type: Override Calculated Values uses the exact value-axis range by @IHAGI-c in #940
- Graph Type: Edge-to-Edge Lines for line graphs; radar follows Mark and Connect Data Points by @IHAGI-c in #941
- Part of gap 5: Scatter, Art and Pattern Brush Options by @bflatastic in #948
- Part of #861: draw non-native art in .ai editing data from its PDF by @rschuerer in #946
- Graph Data: blank cells are left out, not drawn as zero; quoted numbers are labels by @IHAGI-c in #947
- Fix #949: artboard names fit their artboard when zoomed out by @bflatastic in #952
- i18n: wrap hardcoded UI strings for Chinese localization by @seldoms in #950
- Fix contributor links by @crqch in #953
- Part of gap 2: Effect › Texture (Craquelure, Grain, Mosaic Tiles, Patchwork, Stained Glass, Texturizer) by @bflatastic in #960
- Graph Type: combine graph types, one type per series by @IHAGI-c in #959
- Links: Update Links applies while a document is open (from #956) by @bflatastic in #967
- #962: Inner Glow's Source is a Center/Edge dropdown by @bflatastic in #970
- #968: centre the macOS window buttons on the app bar by @bflatastic in #972
- Compact app bar: 32 pt bar, PhotoCraft search icon, no app menu + System title bar option by @rafi612 in #969
- German interface language (de) by @dwetscher in #934
- Graph Type: value axis on the left, right or both sides; separate scales by @IHAGI-c in #971
- Graph Type: tick mark length and count per axis, category tick marks, axis label prefix and suffix by @IHAGI-c in #974
- Part of gap 2: Effect › Distort (Diffuse Glow, Glass, Ocean Ripple) by @bflatastic in #981
- Variables (data merge): text/visibility variables, datasets, panel by @fahrim in #761
- #964: start again when the first frame never reaches the screen by @bflatastic in #982
- Add live Revolve effect with artboard rotation and lighting gizmos by @alpha-rock in #846
- Progress docs: re-measure against Illustrator 2026, adopt the craftrules standard by @echelon in #994
- Part of gap 2: Effect › Brush Strokes (Accented Edges, Angled Strokes, Crosshatch, Dark Strokes, Ink Outlines, Spatter, Sprayed Strokes, Sumi-e) by @bflatastic in #1017
- fix(paint): preserve fill and stroke defaults when edits fail by @Ni-zav in #984
- fix(place): reject malformed rectangle and position parameters by @Ni-zav in #985
- fix(cut): reject malformed rectangle cut bounds by @Ni-zav in #986
- fix(stroke): reject invalid dash entries and keep defaults atomic by @Ni-zav in #987
- fix(assets): reject invalid object IDs before collecting export assets by @Ni-zav in #996
- fix(selection): reject malformed anchor references without changing selection by @Ni-zav in #997
- Fix/noissue path anchor validation s20261010 t1654 z 8d74ec by @Ni-zav in #998
- fix(distort): reject malformed warp geometry and explicit targets by @Ni-zav in #999
- fix(crop): reject malformed crop rectangles without shifting coordinates by @Ni-zav in #988
- fix(dialogs): preserve integer counts in command parameter fields by @Ni-zav in #1012
- fix(widgets): apply Shift and Ctrl modifiers to numeric stepper buttons by @Ni-zav in #1013
- #983: supersample Art Optimized edges in exports by @bflatastic in #1037
- #1001: named text styles take leading, kerning, mojikumi and other attributes left out at their defaults by @bflatastic in #1038
- #1002: new art is refused when no layer is shown and unlocked by @bflatastic in #1039
- #1003: MCP add_text colours type made on or in a path by @bflatastic in #1040
- #1004: a connected app's screenshot renders the artboard asked for by @bflatastic in #1041
- #1005: vectorcraft-cli run ends quietly when its reader closes early by @bflatastic in #1042
- #1006: Select > All on Active Artboard selects on the active artboard by @bflatastic in #1043
- #1007: Reverse Gradient mirrors off-centre midpoints by @bflatastic in #1044
- #1008: a polar grid with no radial dividers draws none by @bflatastic in #1046
- #1009: Use Precise Cursors makes the Pen's join pointer a crosshair by @bflatastic in #1047
- #1010: SVGs with one absolute and one unitless root side import unstretched by @bflatastic in #1048
- #1011: DXF US survey inches, yards and miles import at their size by @bflatastic in #1049
- Links: wake for the first look at a link placed while the app is idle by @KattKnight in #1031
- PDF import: a font the file doesn't embed keeps the style its name says by @redrun6767 in #1023
- Guides: Shift selects ruler guides and art together by @redrun6767 in #1022
- #1026: open filled paths hit by their fill, rotate cursor direction, flip icons, live Color Picker, Scale options in Properties by @mateususa in #1036
- #1028: Offset Path finishes where the sweep looped forever by @LloydNicholson in #1035
- UI: floating panel sets and a multi-column dock by @redrun6767 in #1020
- Guides: ruler guides as layer objects by @redrun6767 in #1021
- #1025: .ai editing data keeps sublayers with global colours and pattern fills by @bflatastic in #1069
- #1027: PostScript-form .ai files open through their layers by @bflatastic in #1070
- Release prep: 0.9.0 and a Linux riscv64 release build by @echelon in #1071
New Contributors
- @David-T-Campos made their first contribution in #774
- @shmuelbiller1 made their first contribution in #777
- @vbasky made their first contribution in #765
- @sawizzle made their first contribution in #856
- @IHAGI-c made their first contribution in #940
- @seldoms made their first contribution in #950
- @crqch made their first contribution in #953
- @rafi612 made their first contribution in #969
- @dwetscher made their first contribution in #934
- @alpha-rock made their first contribution in #846
- @KattKnight made their first contribution in #1031
- @redrun6767 made their first contribution in #1023
- @LloydNicholson made their first contribution in #1035
Full Changelog: v0.8.0...v0.9.0
Original source
Curated by the Releasebot team
Releasebot is an aggregator of official release notes from hundreds of software vendors and thousands of sources.
Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.