{"success":true,"release_info":{"apps":{"artcraft-launcher":{"name":"ArtCraft Launcher","repo":"storytold/craft-launcher","latest_release":{"tag":"v0.4.1","version":"0.4.1","name":"ArtCraft Launcher v0.4.1","published_at":"2026-10-13T18:31:57Z","html_url":"https://github.com/storytold/craft-launcher/releases/tag/v0.4.1","prerelease":false,"notes_markdown":"## What's Changed\n* Add FigCraft; release 0.4.1 by @echelon in https://github.com/storytold/craft-launcher/pull/313\n\n\n**Full Changelog**: https://github.com/storytold/craft-launcher/compare/v0.4.0...v0.4.1","assets":[{"name":"artcraft-launcher-0.4.1-freebsd-x86_64.tar.gz","size_bytes":12096286,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-freebsd-x86_64.tar.gz","sha256":"fee841396351a1d26a8614b235f76511a5706ce6a071c794072afc757aeac1af","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"artcraft-launcher-0.4.1-linux-aarch64.AppImage","size_bytes":11680264,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-linux-aarch64.AppImage","sha256":"3b6c43202d7388a75435c63a3932a8aac6c24f5b15fb1b1865c81818847afd0f","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"artcraft-launcher-0.4.1-linux-aarch64.AppImage.zsync","size_bytes":40191,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-linux-aarch64.AppImage.zsync","sha256":"600842b019b81c76b0e8331d9fade6222aafe4e0381c36cd6702faf6a9819dcd","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"artcraft-launcher-0.4.1-linux-aarch64.deb","size_bytes":12174966,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-linux-aarch64.deb","sha256":"fcdbfe3ded74ff359305410ec53a3e7f219aaabd3405d852237ba5fba060a8ea","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"artcraft-launcher-0.4.1-linux-aarch64.flatpak","size_bytes":7807416,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-linux-aarch64.flatpak","sha256":"5a6c7a0c0ca92a1511f35de3a1c9f1377b5b55e7382cf2d1331885b25b7be835","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"artcraft-launcher-0.4.1-linux-aarch64.rpm","size_bytes":12064960,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-linux-aarch64.rpm","sha256":"cff3dddaaab51920e2f33f778b4d4ae87d2b5b61c4bee3876cf487bda7eb6710","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"artcraft-launcher-0.4.1-linux-aarch64.tar.gz","size_bytes":11682558,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-linux-aarch64.tar.gz","sha256":"db4882a55c4d543645153f283724aa0e6232f412bfabd5258ecb017630f4a104","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"artcraft-launcher-0.4.1-linux-riscv64.deb","size_bytes":12595682,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-linux-riscv64.deb","sha256":"1a0c17ac47e199870088d8a79249dd6b3026c1a860df2d29229954e848728635","platform":null},{"name":"artcraft-launcher-0.4.1-linux-riscv64.rpm","size_bytes":12567150,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-linux-riscv64.rpm","sha256":"bdf2ecb45d97da3382cc80e086ef4f76dfc313c4661d90d102c4c1261d0047fc","platform":null},{"name":"artcraft-launcher-0.4.1-linux-riscv64.tar.gz","size_bytes":12329260,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-linux-riscv64.tar.gz","sha256":"8bde10b417c084a56930ff45773e7b2a92ce28c1d4f5f8f20050d849e55eb2c4","platform":null},{"name":"artcraft-launcher-0.4.1-linux-x86_64.AppImage","size_bytes":12356088,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-linux-x86_64.AppImage","sha256":"18ee584f651c6ab00f591f98118e78631638e0ea20f84b239b6c39b42a4f5426","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"artcraft-launcher-0.4.1-linux-x86_64.AppImage.zsync","size_bytes":42499,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-linux-x86_64.AppImage.zsync","sha256":"df62d636da26aee70621fcb206c9bffcbbcafc959fcd2ca98835a7b4a910ff50","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"artcraft-launcher-0.4.1-linux-x86_64.deb","size_bytes":12679400,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-linux-x86_64.deb","sha256":"18e50d2a0f06c25f420526a41c4c68f98706bf251deda6a42e69e9e764260907","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"artcraft-launcher-0.4.1-linux-x86_64.flatpak","size_bytes":8706104,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-linux-x86_64.flatpak","sha256":"a875182aa8742a86612f4eaed2968f166e38253d0ed24e1acad5e8d701a44753","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"artcraft-launcher-0.4.1-linux-x86_64.rpm","size_bytes":12607988,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-linux-x86_64.rpm","sha256":"2c8d0cbbe0e7613a1f1759ef381513c7c2041642dc1708b07628f7850d6d98e8","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"artcraft-launcher-0.4.1-linux-x86_64.tar.gz","size_bytes":12402613,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-linux-x86_64.tar.gz","sha256":"2a2ee51d69bdb8174a2a48f30297fdbfa460b6e8737c3566a1b6ec46f831fa40","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"artcraft-launcher-0.4.1-macos-universal.dmg","size_bytes":19443078,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-macos-universal.dmg","sha256":"baff6237e544a22a0045faa4a095aeee0a7d2d4f14d389704ce41d3ae75c1267","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"artcraft-launcher-0.4.1-windows-arm64-portable.zip","size_bytes":9353408,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-windows-arm64-portable.zip","sha256":"b6a7febb77134bfb102e070ced962326525a141be1fb0334ab284e64d331b22d","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"artcraft-launcher-0.4.1-windows-arm64.msi","size_bytes":8491008,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-windows-arm64.msi","sha256":"fad98097aa30e42ea2987e2294363c26b4fdace25d01b7aa861f33035f34a39f","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"artcraft-launcher-0.4.1-windows-x64-portable.zip","size_bytes":9978625,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-windows-x64-portable.zip","sha256":"4db149b2132dde68ed087922ef483b3e38d57cf17606632d748ce560de1fd069","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"artcraft-launcher-0.4.1-windows-x64.msi","size_bytes":9154560,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-windows-x64.msi","sha256":"8d6c55481c9c065c41789c10ebf3a80dc329c11f47c38725c418b41732555f03","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"artcraft-launcher-0.4.1-windows-x86-portable.zip","size_bytes":9303638,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-windows-x86-portable.zip","sha256":"2875b11effe89617e9757fbcd18a42c4b96c0758a706c97aa6d74d961b3f6fcb","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"artcraft-launcher-0.4.1-windows-x86.msi","size_bytes":8699904,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-0.4.1-windows-x86.msi","sha256":"626f2966cd8621b037f14ef546b2d8c9d6c197195b2c20af99cfdde58f17f41c","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"artcraft-launcher-web-0.4.1.zip","size_bytes":4250028,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/artcraft-launcher-web-0.4.1.zip","sha256":"5768d88f6077375b926723cdf7ee56717997b57e99c2e419cbe89b527b497a27","platform":{"os":"web","arch":null,"package_type":"web_zip"}},{"name":"SHA256SUMS.txt","size_bytes":2650,"download_url":"https://github.com/storytold/craft-launcher/releases/download/v0.4.1/SHA256SUMS.txt","sha256":"abdef0c0ee85be6f2fe9a2c05fad5c18ff481c75e7e22bcf5efa490d227c71b8","platform":null}]},"app_last_fetched":"2026-10-13T23:55:22.858365821Z"},"cadcraft":{"name":"CADCraft","repo":"storytold/cadcraft","latest_release":{"tag":"v0.6.2","version":"0.6.2","name":"CADCraft v0.6.2","published_at":"2026-10-12T16:40:01Z","html_url":"https://github.com/storytold/cadcraft/releases/tag/v0.6.2","prerelease":false,"notes_markdown":"## What's Changed\n* AUDIT and RECOVER: find and fix database errors, open damaged drawings repaired (part of #406) by @vangel76 in https://github.com/storytold/cadcraft/pull/411\n* Plot styles: colour-dependent tables (monochrome, grayscale) apply to PDF plots and layouts (part of #410) by @vangel76 in https://github.com/storytold/cadcraft/pull/412\n* MTEXT: Height, Justify, Line spacing, Rotation, Style, Width, Columns (part of #408) by @vangel76 in https://github.com/storytold/cadcraft/pull/415\n* SPLINE: Knots, start/end Tangency, toLerance and Object (part of #408) by @vangel76 in https://github.com/storytold/cadcraft/pull/413\n* MLEADER: spline and no-leader types, block content (fixes #408) by @vangel76 in https://github.com/storytold/cadcraft/pull/419\n* Groups: GROUP, UNGROUP and GROUPEDIT; erased members leave their groups (part of #417) by @vangel76 in https://github.com/storytold/cadcraft/pull/422\n* Plot styles: named styles (STB), PLOTSTYLE, STYLESMANAGER, table files and the Plot Style Manager (part of #410) by @vangel76 in https://github.com/storytold/cadcraft/pull/418\n* Add shared workspace docking to CADCraft by @skylartaylor in https://github.com/storytold/cadcraft/pull/456\n* IMPORT, EXPORT, Plot Preview and Batch Publish; ATTACH, SHARE, 3DORBIT say not available yet (part of #9) by @vangel76 in https://github.com/storytold/cadcraft/pull/186\n* Print opens a Plot dialog (#160) by @vangel76 in https://github.com/storytold/cadcraft/pull/200\n* Transparent 'ZOOM/'PAN run nested and resume the interrupted command (fixes #220) by @vangel76 in https://github.com/storytold/cadcraft/pull/221\n* Select objects: W, C, F, WP and CP selection modes (fixes #224) by @vangel76 in https://github.com/storytold/cadcraft/pull/226\n* Scripts and the command line read a trailing or double space as Enter (fixes #227) by @vangel76 in https://github.com/storytold/cadcraft/pull/229\n* Right-to-left drawing text: bidi and Arabic-script shaping (Persian, Arabic, Urdu) by @vangel76 in https://github.com/storytold/cadcraft/pull/315\n* fonts: embed craft-fonts when built with CRAFT_FONTS_DIR by @vangel76 in https://github.com/storytold/cadcraft/pull/321\n* Autosave (SAVETIME, SAVEFILEPATH) and Drawing Recovery after a crash (fixes #406) by @vangel76 in https://github.com/storytold/cadcraft/pull/416\n* Groups: PICKSTYLE group selection, Ctrl+Shift+A and -GROUP options (fixes #417) by @vangel76 in https://github.com/storytold/cadcraft/pull/424\n* DXF/DWG at a chosen version 2000–2018 and binary DXF (part of #421) by @vangel76 in https://github.com/storytold/cadcraft/pull/426\n* TOLERANCE: GD&T feature control frames (fixes #420) by @vangel76 in https://github.com/storytold/cadcraft/pull/427\n* SAVEAS version and binary DXF, default save version (fixes #421) by @vangel76 in https://github.com/storytold/cadcraft/pull/431\n* SELECTSIMILAR and object isolation: ISOLATEOBJECTS, HIDEOBJECTS, UNISOLATEOBJECTS (part of #428) by @vangel76 in https://github.com/storytold/cadcraft/pull/434\n* Grips: hot-grip options (Base point/Copy/Undo/Reference/eXit) and multiple hot grips (part of #425) by @vangel76 in https://github.com/storytold/cadcraft/pull/435\n* Select objects: BOX, AUto, SIngle, Multiple, Group and Undo keywords (fixes #428) by @vangel76 in https://github.com/storytold/cadcraft/pull/438\n* Grips: multifunctional grip menus for polylines, lines and arcs (fixes #425) by @vangel76 in https://github.com/storytold/cadcraft/pull/440\n* BATTMAN: edit, remove and reorder attribute definitions; references follow (part of #433) by @vangel76 in https://github.com/storytold/cadcraft/pull/444\n* Temporary tracking point TT and tracking TK at every point prompt (part of #441) by @vangel76 in https://github.com/storytold/cadcraft/pull/445\n* Draw order: DRAWORDER Above/Under objects, TEXTTOFRONT, HATCHTOBACK, SORTENTSTABLE read (part of #439) by @vangel76 in https://github.com/storytold/cadcraft/pull/446\n* DATAEXTRACTION and EATTEXT: block and attribute data to rows, CSV and a table (fixes #433) by @vangel76 in https://github.com/storytold/cadcraft/pull/447\n* MATCHPROP: source/destination picker and Settings (part of #439) by @vangel76 in https://github.com/storytold/cadcraft/pull/449\n* PolarSnap, relative polar angles, Extension on ellipse and spline ends, tracking options in Drafting Settings (fixes #441) by @vangel76 in https://github.com/storytold/cadcraft/pull/450\n* OVERKILL: tolerance, ignored properties, overlapping and end-to-end lines and arcs, polyline segments (fixes #439) by @vangel76 in https://github.com/storytold/cadcraft/pull/452\n* Hatch: associative hatches follow their boundary objects; DXF 97/330 source objects (part of #451) by @vangel76 in https://github.com/storytold/cadcraft/pull/454\n* Associative arrays: ASsociative, Levels and polar ROWs (part of #448) by @vangel76 in https://github.com/storytold/cadcraft/pull/455\n* Hatch: HPGAPTOL, pattern origin, separate hatches, island style; HATCHEDIT options and -HATCHEDIT (fixes #451) by @vangel76 in https://github.com/storytold/cadcraft/pull/457\n* Viewports: polygonal, object and clipped viewports, VPCLIP, MVIEW ON/OFF/Lock/Restore (part of #453) by @vangel76 in https://github.com/storytold/cadcraft/pull/458\n* ARRAYEDIT and ARRAYCLOSE for associative arrays (fixes #448) by @vangel76 in https://github.com/storytold/cadcraft/pull/460\n* Status bar: viewport scale list and lock toggle (fixes #453) by @vangel76 in https://github.com/storytold/cadcraft/pull/462\n* UNDO Mark/Back, BEgin/End, Auto and Control; MREDO; UNDOCTL (part of #461) by @vangel76 in https://github.com/storytold/cadcraft/pull/464\n* DXF: native MULTILEADER read and write instead of LEADER + MTEXT (fixes #459) by @vangel76 in https://github.com/storytold/cadcraft/pull/465\n* SETVAR/GETVAR: header variables the commands keep, TRANSPARENCYDISPLAY, dimension variables in SETVAR ? (fixes #461) by @vangel76 in https://github.com/storytold/cadcraft/pull/467\n* EXTEND, JOIN and LENGTHEN on elliptical arcs and splines (part of #466) by @vangel76 in https://github.com/storytold/cadcraft/pull/469\n* FILLET with elliptical arcs and splines (part of #466) by @vangel76 in https://github.com/storytold/cadcraft/pull/470\n* Annotative scaling: scale list, CANNOSCALE, OBJECTSCALE, ANNOALLVISIBLE (part of #468) by @vangel76 in https://github.com/storytold/cadcraft/pull/486\n* Annotative scaling: DXF and status bar annotation scale list (fixes #468) by @vangel76 in https://github.com/storytold/cadcraft/pull/506\n* FILLET and CHAMFER with polyline segments (fixes #466) by @vangel76 in https://github.com/storytold/cadcraft/pull/502\n* Named views (VIEW), Zoom Realtime and Dynamic, ZOOMFACTOR (part of #463) by @vangel76 in https://github.com/storytold/cadcraft/pull/503\n* Tiled model viewports: VPORTS, saved viewport configurations, DXF VPORT table (part of #463) by @vangel76 in https://github.com/storytold/cadcraft/pull/504\n* DXF: reopen-and-save keeps one *D block per dimension and stable handles (fixes #495) by @vangel76 in https://github.com/storytold/cadcraft/pull/508\n* Web: opt-in embedding bridge for host pages (?host=parent) by @CyberFox-81 in https://github.com/storytold/cadcraft/pull/509\n* DXF: read pre-2007 files in their $DWGCODEPAGE (CJK, Cyrillic, Central European…) (fixes #505) by @vangel76 in https://github.com/storytold/cadcraft/pull/511\n* Dimension styles: fit, text movement, suppressed halves, fixed extension lines, linetypes and lineweights and more DIM variables (part of #507) by @vangel76 in https://github.com/storytold/cadcraft/pull/514\n* Shortcut menus: command menu while a command runs, selection menu with object edits (part of #512) by @vangel76 in https://github.com/storytold/cadcraft/pull/515\n* MLINE: multiline entity, MLSTYLE and MLEDIT (part of #510) by @vangel76 in https://github.com/storytold/cadcraft/pull/517\n* ci: refactor workflows to use storytold/craft-common-actions by @dylanmtaylor in https://github.com/storytold/cadcraft/pull/605\n* Shortcut menus: command line, drawing and layout tabs, Layers and Properties palettes (fixes #512) by @vangel76 in https://github.com/storytold/cadcraft/pull/518\n* Dimension text: degrees/minutes/seconds angles round at the displayed precision by @webdevtodayjason in https://github.com/storytold/cadcraft/pull/520\n* HELIX: helix entity drawn as a spline (part of #510) by @vangel76 in https://github.com/storytold/cadcraft/pull/521\n* Dimension edits: DIMEDIT Oblique/New/Rotate/Home, DIMJOGGED, DIMJOGLINE, DIMBREAK, DIMINSPECT (part of #507) by @vangel76 in https://github.com/storytold/cadcraft/pull/522\n* Dynamic Input options menu (DYNPROMPT), second-value lock; INS on ATTDEF/MLEADER, GCEN on closed splines (part of #519) by @vangel76 in https://github.com/storytold/cadcraft/pull/523\n* QDIM: Staggered, Baseline, Ordinate, Radius, Diameter, datumPoint and Edit (fixes #507) by @vangel76 in https://github.com/storytold/cadcraft/pull/524\n* Grip dimensional input: length, angle and radius fields while stretching a grip, DYNDIVIS/DYNDIGRIP (part of #519, stacked on #440) by @vangel76 in https://github.com/storytold/cadcraft/pull/527\n* Xrefs: XATTACH, -XREF, XBIND, XOPEN; load at open, save only the reference (part of #525) by @vangel76 in https://github.com/storytold/cadcraft/pull/530\n* Xrefs: External References palette and XREF (fixes #525) by @vangel76 in https://github.com/storytold/cadcraft/pull/533\n* REGION: region entity, UNION/SUBTRACT/INTERSECT, MASSPROP (fixes #510) by @vangel76 in https://github.com/storytold/cadcraft/pull/526\n* OPTIONS: preferences dialog, JSON form and a user profile that survives restarts (fixes #23) by @vangel76 in https://github.com/storytold/cadcraft/pull/531\n* Add Brazilian Portuguese (pt-BR) interface language by @WladmirJunior in https://github.com/storytold/cadcraft/pull/539\n* DXF: keep what we don't model on save — unknown entities and objects, foreign xdata, extension dictionaries, reactors, colour books (fixes #528) by @vangel76 in https://github.com/storytold/cadcraft/pull/545\n* feat(text): MTEXT paragraph formatting (indents, tabs, lists) and columns by @vangel76 in https://github.com/storytold/cadcraft/pull/547\n* Tables: cell styles, formulas, TABLEDIT and TABLEEXPORT (part of #534) by @vangel76 in https://github.com/storytold/cadcraft/pull/548\n* Tables: table breaking and CSV data links (fixes #534) by @vangel76 in https://github.com/storytold/cadcraft/pull/553\n* Constraints: DOF report, G2 Smooth, ellipse/spline/block geometry (part of #546) by @vangel76 in https://github.com/storytold/cadcraft/pull/550\n* Constraints: CONSTRAINTINFER while drawing and editing, DOF status on the canvas (fixes #546) by @vangel76 in https://github.com/storytold/cadcraft/pull/555\n* Fix constraint_infer test after associative-array default (#455) by @echelon in https://github.com/storytold/cadcraft/pull/621\n* Support files: user .lin linetypes and .pat hatch patterns (part of #552) by @vangel76 in https://github.com/storytold/cadcraft/pull/557\n* Support files: DWT templates for NEW/QNEW, SAVEAS .dwt, user alias files (fixes #552) by @vangel76 in https://github.com/storytold/cadcraft/pull/562\n* feat(modify): PEDIT Edit vertex Break/Straighten/Tangent/Regen, SPLINEDIT fit data and vertex options, closed-spline fit tolerance (part of #554) by @vangel76 in https://github.com/storytold/cadcraft/pull/558\n* feat(drafting): isometric snap/grid, ISODRAFT, ISOPLANE, ELLIPSE Isocircle by @vangel76 in https://github.com/storytold/cadcraft/pull/561\n* feat(inquiry): COUNT across layouts and nested blocks, COUNTLIST, COUNTTABLE (part of #563) by @vangel76 in https://github.com/storytold/cadcraft/pull/565\n* Plot styles: apply line end, join and fill styles (part of #564) by @vangel76 in https://github.com/storytold/cadcraft/pull/566\n* DXF: keep full-circle, spline and clockwise ellipse hatch edges (fixes #492, #493, #494) by @tsangiotis in https://github.com/storytold/cadcraft/pull/549\n* PDF export: layers as PDF layers (OCG), several sheets per file, hyperlinks (part of #560) by @vangel76 in https://github.com/storytold/cadcraft/pull/567\n* PDF export: real text in embedded TrueType subsets (part of #560) by @vangel76 in https://github.com/storytold/cadcraft/pull/571\n* CLI: cadcraft-cli exits quietly when stdout is closed early by @switch87 in https://github.com/storytold/cadcraft/pull/568\n* feat(ui): QuickCalc palette; CAL points, vector functions, unit conversion (part of #563) by @vangel76 in https://github.com/storytold/cadcraft/pull/569\n* Plotters: device configurations with paper sizes and printable areas (fixes #564) by @vangel76 in https://github.com/storytold/cadcraft/pull/570\n* feat(file): COMPARE drawings with overlay and change areas (fixes #563) by @vangel76 in https://github.com/storytold/cadcraft/pull/572\n* Windows: use FXC by default for DirectX 12 startup by @PedroGuille in https://github.com/storytold/cadcraft/pull/613\n* Fix Measure Distance snapping through layout viewports by @PedroGuille in https://github.com/storytold/cadcraft/pull/616\n* Fix OFFSET distance clicks and source picking by @PedroGuille in https://github.com/storytold/cadcraft/pull/618\n* SETVAR accepts point objects for SNAPBASE, LIMMIN, LIMMAX and INSBASE (#485) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/575\n* SETVAR keeps text variables such as CLAYER as text, so a layer named 10 can be selected (#484) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/576\n* Dimension Space asks for the base, the dimensions and the spacing instead of failing (#483) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/577\n* dimstyle.rename and delete: cover dimensions inside block definitions (#482) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/578\n* Properties: changing a block's scale moves and resizes its attributes (#481) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/579\n* Properties: reject a malformed lineweight instead of setting 0.25 mm (#480) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/580\n* Align Text > Angle asks for the angle instead of failing with a missing-parameter error (#478) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/582\n* properties.set rejects a linetype that is not loaded (#476) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/584\n* INSERT with explode records one undo step (#475) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/585\n* layer.delete: clear the deleted layer from viewport freeze and colour overrides (#474) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/586\n* Properties: turn a block reference's attribute text with its Rotation edit (#473) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/587\n* Text style rename: update text inside block definitions (#472) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/588\n* OFFSET: full ellipse copy goes to the side of the picked point (#501) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/591\n* Parameters Manager: keep a pending expression when the window loses focus (#498) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/594\n* Command line keyboard input works while the command line is hidden (#497) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/595\n* Plot: apply an explicit scale to non-fitted layout plots (#490) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/598\n* Include multileader text in its bounds so zoom, window selection and viewports keep the whole text (#488) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/600\n* AREA: refuse an open elliptical arc instead of measuring the whole ellipse (#487) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/601\n* STYLE typed with no arguments opens the Text Style dialog instead of an error (#535) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/590\n* Web: ?cpu selects the CPU canvas instead of installing the GPU canvas (#500) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/592\n* Page Setup: report unsupported layout plot areas as not available yet (#491) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/597\n* Select: pick pattern hatches on their visible strokes (#489) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/599\n* feat(modify): SPLINEDIT Join, Edit vertex Add and Elevate order by @vangel76 in https://github.com/storytold/cadcraft/pull/559\n* Persist SNAPUNIT and GRIDUNIT in DXF (fix #607) by @PedroGuille in https://github.com/storytold/cadcraft/pull/614\n* Add German (de) interface language by @arekown in https://github.com/storytold/cadcraft/pull/573\n* Spanish translation  by @PedroGuille in https://github.com/storytold/cadcraft/pull/610\n* Add PTYPE as an alias of the Point Style command (#622) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/645\n* Keep inter-word spaces in stroke-font MTEXT (#628) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/644\n* Make right palette collapse arrow interactive (fix #617) by @rangoDJ in https://github.com/storytold/cadcraft/pull/640\n* Tool Sets: the gear on a category header opens that category's options by @switch87 in https://github.com/storytold/cadcraft/pull/620\n* fix(io): write DXF CLASS instance counts and preserve current leader style by @The-Great-Nothing in https://github.com/storytold/cadcraft/pull/635\n* Linux: Theme > System follows the desktop's light/dark setting by @itrycodinganditsbad in https://github.com/storytold/cadcraft/pull/641\n* File-format follow-ups: version-gated MULTILEADER and DIMSTYLE groups, kept $DWGCODEPAGE, PURGE multiline styles by @vangel76 in https://github.com/storytold/cadcraft/pull/632\n* Hatches: draw the pattern definition stored in the file; scale library patterns in metric drawings by @aldozar in https://github.com/storytold/cadcraft/pull/643\n* Render: level of detail and view clipping for pattern hatches on screen (fixes #544) by @STE1200 in https://github.com/storytold/cadcraft/pull/638\n* Fix fatal wgpu buffer overflow; draw MOVE/COPY/ROTATE/SCALE previews and the selection highlight on the GPU by @aldozar in https://github.com/storytold/cadcraft/pull/642\n* Drafting/plot/UI follow-ups: PolarSnap over isometric snap, MVIEW Restore, plot margins, PNG/SVG pens, PE_URL links, OPTIONS settings (part of #626) by @vangel76 in https://github.com/storytold/cadcraft/pull/633\n* feat: SVG import — read SVG and SVGZ into native entities by @switch87 in https://github.com/storytold/cadcraft/pull/636\n* docs: refresh gaps.md and parity docs for landed features by @vangel76 in https://github.com/storytold/cadcraft/pull/625\n* i18n: add Czech (cs) interface language by @Losminek in https://github.com/storytold/cadcraft/pull/639\n* i18n: add Russian, Spanish, French, Portuguese and German interfaces by @pechnikov2026-star in https://github.com/storytold/cadcraft/pull/624\n* Add raw-HID SpaceMouse 2D navigation by @PedroGuille in https://github.com/storytold/cadcraft/pull/650\n* Add regression tests for Plot Preview toolbar button (fixes #442) by @rangoDJ in https://github.com/storytold/cadcraft/pull/653\n* Fix filled text zoom freezes with cached glyph meshes by @PedroGuille in https://github.com/storytold/cadcraft/pull/651\n* GPU errors and device loss: keep running, autosave at once, tell the user by @aldozar in https://github.com/storytold/cadcraft/pull/652\n* Show block insertion XYZ in Properties Inspector by @markmonkey in https://github.com/storytold/cadcraft/pull/682\n* DXF: write kept application data groups as read, not as handle lists by @CaseyKleinman in https://github.com/storytold/cadcraft/pull/681\n* BRICK: draw each vertical joint once by @aldozar in https://github.com/storytold/cadcraft/pull/664\n* AUNITS: degrees/minutes/seconds angles round at the displayed precision by @webdevtodayjason in https://github.com/storytold/cadcraft/pull/672\n* File tabs: cut long drawing names short with an ellipsis by @aldozar in https://github.com/storytold/cadcraft/pull/657\n* Prioritize command aliases in autocomplete and display shortcut match by @rangoDJ in https://github.com/storytold/cadcraft/pull/656\n* control server: bound request lines and concurrent connections by @SteamSmith in https://github.com/storytold/cadcraft/pull/678\n* Zoom the canvas by each mouse-wheel notch in the frame it arrives by @SBaksa in https://github.com/storytold/cadcraft/pull/692\n* Cache active viewport highlights per zoom band so zoom and pan stay smooth (#687) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/695\n* Deduplicate identical boundary loops to prevent empty hatch fills by @rangoDJ in https://github.com/storytold/cadcraft/pull/671\n* i18n(es): add 219 missing rows, fix mistranslations and terms by @diegozpy in https://github.com/storytold/cadcraft/pull/680\n* SCRIPT command: run .scr files from the command line, menus and JSON (gaps.md E2) by @Lion-1209 in https://github.com/storytold/cadcraft/pull/693\n* Build the screen's model-space display list on all cores; read-write locks for glyph caches by @aldozar in https://github.com/storytold/cadcraft/pull/654\n* MIRROR and PASTE previews on the GPU; GPU previews in layouts too by @aldozar in https://github.com/storytold/cadcraft/pull/655\n* Plot dialog: device, plot style table, Window <, and a preview of its settings by @aldozar in https://github.com/storytold/cadcraft/pull/673\n* Hatch: pick the pattern from swatches instead of typing its name (fixes #669) by @aldozar in https://github.com/storytold/cadcraft/pull/679\n* Add Chinese language support to preferences by @mayloglog in https://github.com/storytold/cadcraft/pull/684\n* Performance: reuse nearby snap geometry for tracking acquisition by @cyfung1031 in https://github.com/storytold/cadcraft/pull/698\n* Release workflow: pass the Azure signing secrets by @echelon in https://github.com/storytold/cadcraft/pull/647\n\n## New Contributors\n* @skylartaylor made their first contribution in https://github.com/storytold/cadcraft/pull/456\n* @CyberFox-81 made their first contribution in https://github.com/storytold/cadcraft/pull/509\n* @webdevtodayjason made their first contribution in https://github.com/storytold/cadcraft/pull/520\n* @WladmirJunior made their first contribution in https://github.com/storytold/cadcraft/pull/539\n* @tsangiotis made their first contribution in https://github.com/storytold/cadcraft/pull/549\n* @switch87 made their first contribution in https://github.com/storytold/cadcraft/pull/568\n* @PedroGuille made their first contribution in https://github.com/storytold/cadcraft/pull/613\n* @arekown made their first contribution in https://github.com/storytold/cadcraft/pull/573\n* @rangoDJ made their first contribution in https://github.com/storytold/cadcraft/pull/640\n* @The-Great-Nothing made their first contribution in https://github.com/storytold/cadcraft/pull/635\n* @itrycodinganditsbad made their first contribution in https://github.com/storytold/cadcraft/pull/641\n* @aldozar made their first contribution in https://github.com/storytold/cadcraft/pull/643\n* @Losminek made their first contribution in https://github.com/storytold/cadcraft/pull/639\n* @pechnikov2026-star made their first contribution in https://github.com/storytold/cadcraft/pull/624\n* @markmonkey made their first contribution in https://github.com/storytold/cadcraft/pull/682\n* @CaseyKleinman made their first contribution in https://github.com/storytold/cadcraft/pull/681\n* @SteamSmith made their first contribution in https://github.com/storytold/cadcraft/pull/678\n* @diegozpy made their first contribution in https://github.com/storytold/cadcraft/pull/680\n* @Lion-1209 made their first contribution in https://github.com/storytold/cadcraft/pull/693\n* @mayloglog made their first contribution in https://github.com/storytold/cadcraft/pull/684\n\n**Full Changelog**: https://github.com/storytold/cadcraft/compare/v0.5.0...v0.6.2","assets":[{"name":"cadcraft-0.6.2-freebsd-x86_64.tar.gz","size_bytes":60976794,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-freebsd-x86_64.tar.gz","sha256":"c99638e837b890b3de64375d8a3213fcb4ec1b33f3c8fac2fe15408aef52ce64","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"cadcraft-0.6.2-linux-aarch64.AppImage","size_bytes":53910024,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-linux-aarch64.AppImage","sha256":"0a00a4270f8d012de3b2adbf072cc040d7dc472417df065bf156884e5e638998","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"cadcraft-0.6.2-linux-aarch64.AppImage.zsync","size_bytes":184513,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-linux-aarch64.AppImage.zsync","sha256":"3658a3710634b0ec66476a70957d883a9d424614e4ca22c4927f4e5a1552a55b","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"cadcraft-0.6.2-linux-aarch64.deb","size_bytes":57819606,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-linux-aarch64.deb","sha256":"d89512f708ee46d5d415e08d43dbffc205489ce9d368a97338ef98e5378ff9e6","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"cadcraft-0.6.2-linux-aarch64.flatpak","size_bytes":40206736,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-linux-aarch64.flatpak","sha256":"4d056df19e6a411177a9bb63ccae235f56752112a234760bbddefd22c5d3596b","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"cadcraft-0.6.2-linux-aarch64.rpm","size_bytes":57374263,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-linux-aarch64.rpm","sha256":"92320801853dc8439e6bdf4e958dca6dad3c9857581d93621aab0e31233ff003","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"cadcraft-0.6.2-linux-aarch64.tar.gz","size_bytes":56446023,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-linux-aarch64.tar.gz","sha256":"0700b0f032517177d9dee6891d892ee0137a8ffe12b0051d5da0bddb6a9fe332","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"cadcraft-0.6.2-linux-riscv64.deb","size_bytes":58530008,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-linux-riscv64.deb","sha256":"9151220ba0e770de03826c61e97439f026f657bee29f21874edac51a1bf84713","platform":null},{"name":"cadcraft-0.6.2-linux-riscv64.rpm","size_bytes":58310539,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-linux-riscv64.rpm","sha256":"13dc7fd10a168aa1fb78f775fce990b4f067dfc6dd2ee03e37c06b3c0cb4ab04","platform":null},{"name":"cadcraft-0.6.2-linux-riscv64.tar.gz","size_bytes":57797143,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-linux-riscv64.tar.gz","sha256":"dcbc71614e33ea282f627dcf195d49c94434fd93155279bb3606df44b7d8d127","platform":null},{"name":"cadcraft-0.6.2-linux-x86_64.AppImage","size_bytes":55974392,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-linux-x86_64.AppImage","sha256":"32daada11b9b6e512e72aa071cebf3caf17f741b85f094749bff39ad36036ad1","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"cadcraft-0.6.2-linux-x86_64.AppImage.zsync","size_bytes":191567,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-linux-x86_64.AppImage.zsync","sha256":"725ecfa70de963670ee732d2e6f9bdd936954a6198370ee84f847f072202e053","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"cadcraft-0.6.2-linux-x86_64.deb","size_bytes":59492580,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-linux-x86_64.deb","sha256":"cac8361d04e4a7ebf0ab98649738920848e0ac9e91cf4112f2a36321d46ca02c","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"cadcraft-0.6.2-linux-x86_64.flatpak","size_bytes":42753312,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-linux-x86_64.flatpak","sha256":"f0ab90aeaef39d1c70be12afca23f75791a6bbb34e2ada59ee88608d2e64b227","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"cadcraft-0.6.2-linux-x86_64.rpm","size_bytes":59138661,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-linux-x86_64.rpm","sha256":"8eda04bd76c7df92b49e5512e9e1eda1175c51b0df35fd734ab28e9127ea8ef6","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"cadcraft-0.6.2-linux-x86_64.tar.gz","size_bytes":58712855,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-linux-x86_64.tar.gz","sha256":"4a3ec7c5350e7212bdb4f735af6c6cf319ee177c11529ec547c77c92642ad49d","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"cadcraft-0.6.2-macos-universal.dmg","size_bytes":64609958,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-macos-universal.dmg","sha256":"f8255281d824a1a8b0f051f7d11e41a786ab081d8873f517ae64bbb7e1a14c8c","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"cadcraft-0.6.2-windows-arm64-portable.zip","size_bytes":55808505,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-windows-arm64-portable.zip","sha256":"e23e77202e260abfaffd49ebe79bfea02ba88ee3150ab9b3b18de6df71e65613","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"cadcraft-0.6.2-windows-arm64.msi","size_bytes":44953600,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-windows-arm64.msi","sha256":"c9d5fd11c06425b086be401622af04f25e20427a1eff50ecc79b5d8d1547fd33","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"cadcraft-0.6.2-windows-x64-portable.zip","size_bytes":58045447,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-windows-x64-portable.zip","sha256":"624f01d53407ed9078328a1ad10bbbde7656a83567e8a757654fbcba2cd97b9b","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"cadcraft-0.6.2-windows-x64.msi","size_bytes":47316992,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-windows-x64.msi","sha256":"6fc023040b4c12be4e016508569ed176e015b76d19ff65235ca9d524c64fbbb1","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"cadcraft-0.6.2-windows-x86-portable.zip","size_bytes":56463164,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-windows-x86-portable.zip","sha256":"eb926bf956643fa135ec88105a7855d392409fc16f4dcc6f62d42bbe8f1725f8","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"cadcraft-0.6.2-windows-x86.msi","size_bytes":46772224,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-0.6.2-windows-x86.msi","sha256":"38a6fad91369a01fabaa9d851a3159c76ec0319818322d76a3750bf6675ec5f3","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"cadcraft-cli-0.6.2-macos-universal.zip","size_bytes":49703179,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-cli-0.6.2-macos-universal.zip","sha256":"2ffe9b0a0169810e3177e4f1119807e04fb4ea96efe5e3e1599cea52b25c87a1","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"cadcraft-web-0.6.2.zip","size_bytes":7840826,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/cadcraft-web-0.6.2.zip","sha256":"9d27c10b3c9101df894e44867bba46c644f23f7b4e05bd2c743762fb49509e7b","platform":{"os":"web","arch":null,"package_type":"web_zip"}},{"name":"SHA256SUMS.txt","size_bytes":2539,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.6.2/SHA256SUMS.txt","sha256":"2737617b163ecbef496410dbb83cd089ba4e4159d146ba5315f5ed1d9625643e","platform":null}]},"app_last_fetched":"2026-10-13T23:55:20.652223335Z"},"deckcraft":{"name":"DeckCraft","repo":"storytold/deckcraft","latest_release":{"tag":"v0.6.1","version":"0.6.1","name":"DeckCraft v0.6.1","published_at":"2026-10-12T18:22:34Z","html_url":"https://github.com/storytold/deckcraft/releases/tag/v0.6.1","prerelease":false,"notes_markdown":"## What's Changed\n* ci: refactor workflows to use storytold/craft-common-actions by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/152\n* Release workflow: pass the Azure signing secrets by @echelon in https://github.com/storytold/deckcraft/pull/181\n\n\n**Full Changelog**: https://github.com/storytold/deckcraft/compare/v0.5.0...v0.6.1","assets":[{"name":"deckcraft-0.6.1-freebsd-x86_64.tar.gz","size_bytes":74637490,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-freebsd-x86_64.tar.gz","sha256":"c556868fd7c344a5b01468cb640662b1b374debfcc2a70f1e4fdf21aa885bb29","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"deckcraft-0.6.1-linux-aarch64.AppImage","size_bytes":68831752,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-linux-aarch64.AppImage","sha256":"72523202a8dc07577af0b417973e3ed47723b999dfe8e94437a66cb7e7573619","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"deckcraft-0.6.1-linux-aarch64.AppImage.zsync","size_bytes":235517,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-linux-aarch64.AppImage.zsync","sha256":"2a9e55d067a63034e3b2771974c5575688ee4d375a5c0184abc3bb3ae6f60ebd","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"deckcraft-0.6.1-linux-aarch64.deb","size_bytes":74232500,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-linux-aarch64.deb","sha256":"2821cb9093156610b9fd8137dde94e382f7ad9d43e2c6d972b0f9fb69d7af689","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"deckcraft-0.6.1-linux-aarch64.flatpak","size_bytes":50536288,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-linux-aarch64.flatpak","sha256":"eba7a46558eb4c67db41a1dfc1af36def333b73ed012aabf422a03a6d9544a46","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"deckcraft-0.6.1-linux-aarch64.rpm","size_bytes":73851386,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-linux-aarch64.rpm","sha256":"0f22888f793bf65d81a842eccb75a1502e7d9f3fc2788ef33a519087b8bce543","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"deckcraft-0.6.1-linux-aarch64.tar.gz","size_bytes":72715367,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-linux-aarch64.tar.gz","sha256":"686b51d14dee18d505fcfc1ce5dd42b93de42350735d55311793a63f44f1b145","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"deckcraft-0.6.1-linux-riscv64.deb","size_bytes":75074730,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-linux-riscv64.deb","sha256":"d7e912e1788afddf4253b6d3d616ebb9c8268798e82abc0ed8fb74c6dc898153","platform":null},{"name":"deckcraft-0.6.1-linux-riscv64.rpm","size_bytes":74877702,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-linux-riscv64.rpm","sha256":"6e6ea46711724c1cf3b849146a1755a7805f753acf98aa9697c93ad7f3b8b1ba","platform":null},{"name":"deckcraft-0.6.1-linux-riscv64.tar.gz","size_bytes":74165181,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-linux-riscv64.tar.gz","sha256":"fbb424dbd5094ca8fc642690b290a2c43e475cb85d4c18d5fda79605d693f10e","platform":null},{"name":"deckcraft-0.6.1-linux-x86_64.AppImage","size_bytes":70765048,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-linux-x86_64.AppImage","sha256":"821650d3f87a7212306f33b8b7b05cf19d13390a31359ef3b74a3c33cf18ed21","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"deckcraft-0.6.1-linux-x86_64.AppImage.zsync","size_bytes":242123,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-linux-x86_64.AppImage.zsync","sha256":"a50ec791b4ab9d8132985f9708b78c96055e87e2a788a6a61092d068b5421f5e","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"deckcraft-0.6.1-linux-x86_64.deb","size_bytes":75792270,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-linux-x86_64.deb","sha256":"08addbc73ea5b7f7662ce552288eb953f7c813036d6b603fea3589e8a0c4eedb","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"deckcraft-0.6.1-linux-x86_64.flatpak","size_bytes":52712520,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-linux-x86_64.flatpak","sha256":"82e41c844851f549c3956232e400feb36a516af2c97a2d2df02a6de3fab177e8","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"deckcraft-0.6.1-linux-x86_64.rpm","size_bytes":75463410,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-linux-x86_64.rpm","sha256":"e9c255d5b2f6c660701f4502dedaa1cf26e9e3233b26953cb0bffbb8f7e9b355","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"deckcraft-0.6.1-linux-x86_64.tar.gz","size_bytes":74777164,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-linux-x86_64.tar.gz","sha256":"1215e64f11aa68529be3efe2078f51c39a7669de1d63cce1b558ac1193f17569","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"deckcraft-0.6.1-macos-universal.dmg","size_bytes":79650652,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-macos-universal.dmg","sha256":"7f9dcb6dc235cc605dfff31a68c4c75fd2ace8a5117cd3b4ef31deaee941619a","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"deckcraft-0.6.1-windows-arm64-portable.zip","size_bytes":71868426,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-windows-arm64-portable.zip","sha256":"03a7755795cfe30f37e09c865c8a5176cf2c42b42f13922fca7b2e5a2df097f4","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"deckcraft-0.6.1-windows-arm64.msi","size_bytes":56430592,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-windows-arm64.msi","sha256":"9f51abf964c734184ea1c7d03572833ad7c130cf4299541cb8e35ccde8f93ef6","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"deckcraft-0.6.1-windows-x64-portable.zip","size_bytes":74050218,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-windows-x64-portable.zip","sha256":"339ea7b9a4901fd0bc6fe1b96fedbc34e72a3c0d0897c44ad1750262d63db84f","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"deckcraft-0.6.1-windows-x64.msi","size_bytes":58703872,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-windows-x64.msi","sha256":"a6ae56e5474cdd6293141d28cd84e564624901a36f8dbecf643703baa5661942","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"deckcraft-0.6.1-windows-x86-portable.zip","size_bytes":72683208,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-windows-x86-portable.zip","sha256":"520a339251c8cb1f72f37e96e2bce0f24c09742182830a3c52d15120abb6d39a","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"deckcraft-0.6.1-windows-x86.msi","size_bytes":58138624,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-0.6.1-windows-x86.msi","sha256":"e8ea6f3745cbbdf12995bec2e39cb3d814a32a51f5950fe8108fadb990c1f376","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"deckcraft-cli-0.6.1-macos-universal.zip","size_bytes":66681282,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-cli-0.6.1-macos-universal.zip","sha256":"38d95bb1b7a9c126366b4c18205136742525f3114223dde945e5f114b8077c28","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"deckcraft-web-0.6.1.zip","size_bytes":8949762,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/deckcraft-web-0.6.1.zip","sha256":"dd76659f643fa98ff79c86bf439bcaeeaaf6bd3a4037a1dc6628c97366862ba1","platform":{"os":"web","arch":null,"package_type":"web_zip"}},{"name":"SHA256SUMS.txt","size_bytes":2564,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.6.1/SHA256SUMS.txt","sha256":"18f4a535c96f21277dd4235aaceb267bc382faddf6959e1159c6dd227b2b4343","platform":null}]},"app_last_fetched":"2026-10-13T23:55:18.394248834Z"},"designcraft":{"name":"DesignCraft","repo":"storytold/designcraft","latest_release":{"tag":"v0.7.1","version":"0.7.1","name":"DesignCraft v0.7.1","published_at":"2026-10-12T21:22:52Z","html_url":"https://github.com/storytold/designcraft/releases/tag/v0.7.1","prerelease":false,"notes_markdown":"## What's Changed\n* Adopt shared panel docking and preserve workspace commands by @skylartaylor in https://github.com/storytold/designcraft/pull/409\n* ci: refactor workflows to use storytold/craft-common-actions by @dylanmtaylor in https://github.com/storytold/designcraft/pull/489\n* Place: PDF pages and SVGs keep their exact size by @japbcoelho in https://github.com/storytold/designcraft/pull/511\n* Hyphenation: Portuguese text is hyphenated with hyph-utf8's Portuguese patterns by @japbcoelho in https://github.com/storytold/designcraft/pull/512\n* UI: Return and Escape in the font menu stay in the menu, never reach the dialog under it by @aiongg in https://github.com/storytold/designcraft/pull/447\n* M6: Adopt craft-print and support Windows PDF printing by @skylartaylor in https://github.com/storytold/designcraft/pull/452\n* Color parsing: one scale per colour, not per component by @japbcoelho in https://github.com/storytold/designcraft/pull/510\n* Place: an image placed into a frame leaves Auto-Fit off by @aiongg in https://github.com/storytold/designcraft/pull/528\n* Assets: one asset per image, and saves leave out unused ones by @aiongg in https://github.com/storytold/designcraft/pull/420\n* Words in capitals hyphenate like capitalized words by @moppeeer in https://github.com/storytold/designcraft/pull/538\n* IDML: part names match leniently, and missing parts are reported by @aiongg in https://github.com/storytold/designcraft/pull/356\n* MCP: never replay a request after a lost reply by @KnottyDyes in https://github.com/storytold/designcraft/pull/514\n* Parent-page items are composed for their page by index, not page name by @seanth in https://github.com/storytold/designcraft/pull/523\n* Text: a character fill must name a swatch in the document by @KnottyDyes in https://github.com/storytold/designcraft/pull/403\n* Object fills and strokes must name a swatch by @moppeeer in https://github.com/storytold/designcraft/pull/520\n* Duplicate, Step and Repeat and copy-moves report the copies' ids by @moppeeer in https://github.com/storytold/designcraft/pull/521\n* Release workflow: pass the Azure signing secrets by @echelon in https://github.com/storytold/designcraft/pull/534\n\n## New Contributors\n* @KnottyDyes made their first contribution in https://github.com/storytold/designcraft/pull/514\n* @seanth made their first contribution in https://github.com/storytold/designcraft/pull/523\n\n**Full Changelog**: https://github.com/storytold/designcraft/compare/v0.6.0...v0.7.1","assets":[{"name":"designcraft-0.7.1-freebsd-x86_64.tar.gz","size_bytes":70648467,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-freebsd-x86_64.tar.gz","sha256":"76501354e668ecdc9d0c1465c5905fc2ff23dd9e5c4bd5ab8662b2c522bd21fd","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"designcraft-0.7.1-linux-aarch64.AppImage","size_bytes":63896072,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-linux-aarch64.AppImage","sha256":"6aa239aef20a856ed81f16b976e5c3a22076ff6407ede4a0dae35fb616e3b6ce","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"designcraft-0.7.1-linux-aarch64.AppImage.zsync","size_bytes":218651,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-linux-aarch64.AppImage.zsync","sha256":"0438ceaa1006d50289acfaaee5fe5e003cd5aac6d6e96e8b0f2ecaa4aec742e1","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"designcraft-0.7.1-linux-aarch64.deb","size_bytes":69295154,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-linux-aarch64.deb","sha256":"dd9956d42b23c7cd16ecc0c26bc608b2d3c7b60ff55e1a7b2b13b5ae66ffa404","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"designcraft-0.7.1-linux-aarch64.flatpak","size_bytes":46611856,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-linux-aarch64.flatpak","sha256":"87054122a6abe1e911f722ad7d7f21ac2aedc6a72237c1d1f18c45019fbbb388","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"designcraft-0.7.1-linux-aarch64.rpm","size_bytes":68869307,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-linux-aarch64.rpm","sha256":"78f4e7f02546f4886a3298f8e12a723dbf436db2fad354a096f2e93482c560b5","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"designcraft-0.7.1-linux-aarch64.tar.gz","size_bytes":67633889,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-linux-aarch64.tar.gz","sha256":"665c2736ad0841b8a917b4f5b761a1ad104a7196fcaf5d2d5608df0dd876d820","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"designcraft-0.7.1-linux-riscv64.deb","size_bytes":70441620,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-linux-riscv64.deb","sha256":"a5eb2e39c4a140e3b0daecee61d546134371b933d5c407c5fc5ec842c6fc67a0","platform":null},{"name":"designcraft-0.7.1-linux-riscv64.rpm","size_bytes":70262675,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-linux-riscv64.rpm","sha256":"3d359e63b1c08e6dc09a0b0c31781bfecdbb2ca8f124f6d610c9ca476995b1c7","platform":null},{"name":"designcraft-0.7.1-linux-riscv64.tar.gz","size_bytes":69568564,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-linux-riscv64.tar.gz","sha256":"01b10d5a51caba17402dacbe371500fd6c3ef313e35a8a70f58475d452a25f00","platform":null},{"name":"designcraft-0.7.1-linux-x86_64.AppImage","size_bytes":66845176,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-linux-x86_64.AppImage","sha256":"4fbb5d2d2c2f1d67fb7e131e54a8545310c489258ca5a2d5509a7a2c5d3fa59b","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"designcraft-0.7.1-linux-x86_64.AppImage.zsync","size_bytes":228729,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-linux-x86_64.AppImage.zsync","sha256":"3eeacfd65d9d8fd7ce43a4a014a036e36798f07353975d0aad47890c57547814","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"designcraft-0.7.1-linux-x86_64.deb","size_bytes":71773670,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-linux-x86_64.deb","sha256":"75e27e5aa70919d43fa8730c508ca6edf7c93102b91bd411ddf99ae311ef332b","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"designcraft-0.7.1-linux-x86_64.flatpak","size_bytes":49714048,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-linux-x86_64.flatpak","sha256":"a756d37b93c5634a5da958ba589cf3a35ef8172e5894ef52d3a430b182293d1c","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"designcraft-0.7.1-linux-x86_64.rpm","size_bytes":71422595,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-linux-x86_64.rpm","sha256":"36e0d6b66bb3c0ef2dc14f83c7dad0ba5651fa64f4b8fe84942de8e5e03a3aca","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"designcraft-0.7.1-linux-x86_64.tar.gz","size_bytes":70749054,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-linux-x86_64.tar.gz","sha256":"05a2b2531f6f26746b4a743081fd00f9ea77822fa178663802a0eaeced6c1437","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"designcraft-0.7.1-macos-universal.dmg","size_bytes":77568597,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-macos-universal.dmg","sha256":"c8520b8fa702e19436c06269792e68a3ca09a629c6d5cb59193355ef3e89ec52","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"designcraft-0.7.1-windows-arm64-portable.zip","size_bytes":66674554,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-windows-arm64-portable.zip","sha256":"ae6d0a1d0ebed74ea74f4a20d8137b2749f5a0635c5766a97908ca081cd6820d","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"designcraft-0.7.1-windows-arm64.msi","size_bytes":52256768,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-windows-arm64.msi","sha256":"a6da74d2eb7f2dbc5a2dc6059b473a9e14f9075cacf3a9b03a359e343bfa8ba5","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"designcraft-0.7.1-windows-x64-portable.zip","size_bytes":70038257,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-windows-x64-portable.zip","sha256":"b3db17ac0fc6e1db54d60c5491b5c1d6874459e2867495eaa74b5a8c56e59077","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"designcraft-0.7.1-windows-x64.msi","size_bytes":55574528,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-windows-x64.msi","sha256":"650c6f70ef965f1d922d6c233fc768dfac214054a833a516c2b25741c4b1c758","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"designcraft-0.7.1-windows-x86-portable.zip","size_bytes":67653518,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-windows-x86-portable.zip","sha256":"9219ee03756be3a1f25576cdf213934f8e65c4f9bea343f2ea87864b99960fc8","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"designcraft-0.7.1-windows-x86.msi","size_bytes":54587392,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-0.7.1-windows-x86.msi","sha256":"605a9d5960ff8433ce0cb6137b5c93ecf33b902ca56ff472df6e52bb2fffd8a9","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"designcraft-cli-0.7.1-macos-universal.zip","size_bytes":61306951,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-cli-0.7.1-macos-universal.zip","sha256":"bd7208a3947b185d1d889ebc1885650b13085e9df2b974e135bfca2a7175e704","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"designcraft-web-0.7.1.zip","size_bytes":15098404,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/designcraft-web-0.7.1.zip","sha256":"863b32bcdbcbb481cd07151e728578331e86b013e7a0643e2f46e754cbc8c58f","platform":{"os":"web","arch":null,"package_type":"web_zip"}},{"name":"SHA256SUMS.txt","size_bytes":2614,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.7.1/SHA256SUMS.txt","sha256":"47ac748b37adcea15eac929c0355fdd9842865e7a520d6a7c8d7d69933d6cd2d","platform":null}]},"app_last_fetched":"2026-10-13T23:55:16.146206065Z"},"effectcraft":{"name":"EffectCraft","repo":"storytold/effectcraft","latest_release":{"tag":"v0.9.2","version":"0.9.2","name":"EffectCraft v0.9.2","published_at":"2026-10-12T21:22:55Z","html_url":"https://github.com/storytold/effectcraft/releases/tag/v0.9.2","prerelease":false,"notes_markdown":"## What's Changed\n* Share docking transactions and preserve viewer lifecycle by @skylartaylor in https://github.com/storytold/effectcraft/pull/689\n* ci: refactor workflows to use storytold/craft-common-actions by @dylanmtaylor in https://github.com/storytold/effectcraft/pull/801\n* #678: dropped Photoshop files show the Import Photoshop File dialog by @vangel76 in https://github.com/storytold/effectcraft/pull/734\n* #729: import STL 3D models (binary and ASCII) by @vangel76 in https://github.com/storytold/effectcraft/pull/735\n* #730: Composition ▸ Copy Frame to Clipboard by @vangel76 in https://github.com/storytold/effectcraft/pull/737\n* #738: Edit ▸ Paste pastes SVG markup as a shape layer by @vangel76 in https://github.com/storytold/effectcraft/pull/739\n* #303: Mesh Warp's grid can be dragged in the Composition viewer by @vangel76 in https://github.com/storytold/effectcraft/pull/740\n* Graph Editor: Shift constrains Bezier handle drags to one axis (#723) by @MarekSpodBiedry in https://github.com/storytold/effectcraft/pull/743\n* #732: toolbar Fill/Stroke Options change the selected shape layers' kind by @vangel76 in https://github.com/storytold/effectcraft/pull/744\n* #474: decoding a multi-layer EXR no longer holds the file's samples twice by @vangel76 in https://github.com/storytold/effectcraft/pull/746\n* #750: float footage follows Working Gamma and is encoded once by @vangel76 in https://github.com/storytold/effectcraft/pull/752\n* #741: font menu filters to variable fonts by @vangel76 in https://github.com/storytold/effectcraft/pull/761\n* #758: layers, property groups and properties are callable by @vangel76 in https://github.com/storytold/effectcraft/pull/763\n* #757: Transitions animation presets in Effects & Presets by @vangel76 in https://github.com/storytold/effectcraft/pull/764\n* #759: #include / //@include / #includepath in scripts by @vangel76 in https://github.com/storytold/effectcraft/pull/771\n* #776: Project panel arrow-key navigation and accessible names by @vangel76 in https://github.com/storytold/effectcraft/pull/780\n* #773: run repeating app.scheduleTask tasks until cancelTask by @vangel76 in https://github.com/storytold/effectcraft/pull/781\n* Text: the variable-font test picks an axis that moves the advance by @FeiLiuEM in https://github.com/storytold/effectcraft/pull/399\n* Shapes: edit gradient color and opacity stops (#612) by @tylerjenningsw in https://github.com/storytold/effectcraft/pull/694\n* Pixel Motion Blur: synthesize from motion vectors, honour Vector Detail (#535) by @vbasky in https://github.com/storytold/effectcraft/pull/695\n* #596: GPU Information names the adapter, or why the GPU compositor is off by @didpublishing in https://github.com/storytold/effectcraft/pull/699\n* Match After Effects non-legacy Brightness & Contrast by @vbasky in https://github.com/storytold/effectcraft/pull/702\n* Tests: six engine tests no longer assume the working directory's drive on Windows by @didpublishing in https://github.com/storytold/effectcraft/pull/703\n* Settings: allow custom UI scale percentages (#682) by @tylerjenningsw in https://github.com/storytold/effectcraft/pull/705\n* fix(viewer): create a composition when dropping footage onto an empty viewer by @Ni-zav in https://github.com/storytold/effectcraft/pull/709\n* fix(effects): add XYZ rotation to CC Cylinder on CPU and GPU by @Ni-zav in https://github.com/storytold/effectcraft/pull/711\n* fix(gpu): cap GPU readback staging buffers to prevent memory exhaustion by @mjohnson7cd in https://github.com/storytold/effectcraft/pull/713\n* CI: FreeBSD and Windows ARM64 nightly and on release, not per PR by @echelon in https://github.com/storytold/effectcraft/pull/716\n* Contributors: add vangel76 (Valentin Klein) by @vangel76 in https://github.com/storytold/effectcraft/pull/728\n* #710: Timeline ruler labels frames when Time Display is Frames by @vangel76 in https://github.com/storytold/effectcraft/pull/731\n* #473: Cryptomatte Selection keeps quoted names with commas whole by @vangel76 in https://github.com/storytold/effectcraft/pull/733\n* Tests: an imported animated GIF plays its frames (#651) by @vbasky in https://github.com/storytold/effectcraft/pull/677\n* #736: import FBX 3D models (binary and ASCII) by @vangel76 in https://github.com/storytold/effectcraft/pull/742\n* #315: Front / Bevel / Side / Back Color for extruded shapes and text by @vangel76 in https://github.com/storytold/effectcraft/pull/754\n* #745: import Targa (.tga) and Radiance HDR (.hdr) stills and sequences by @vangel76 in https://github.com/storytold/effectcraft/pull/755\n* #756: import DPX and Cineon stills and sequences by @vangel76 in https://github.com/storytold/effectcraft/pull/765\n* #767: import MXF (OP1a / OP-Atom) footage by @vangel76 in https://github.com/storytold/effectcraft/pull/769\n* #760: $.evalFile and a minimal BridgeTalk host identification by @vangel76 in https://github.com/storytold/effectcraft/pull/772\n* #770: Proportional Scrubbing of Timeline values (Ctrl+Alt / Cmd+Opt) by @vangel76 in https://github.com/storytold/effectcraft/pull/774\n* #766: ScriptUI mouse events reach script listeners by @vangel76 in https://github.com/storytold/effectcraft/pull/775\n* #372: uncompressed QuickTime (raw RGB / ARGB) output module format by @vangel76 in https://github.com/storytold/effectcraft/pull/778\n* Layer panel: zoom and pan; View zoom acts on the focused viewer; Roto Brush hint (#753) by @redonion23 in https://github.com/storytold/effectcraft/pull/824\n* UI: wrap the Footage panel's empty hint in a narrow panel by @pravdomil in https://github.com/storytold/effectcraft/pull/825\n* UI: favorite themes and appearance shortcuts by @luniiya in https://github.com/storytold/effectcraft/pull/826\n* Window: remember the window's size and position between launches by @pravdomil in https://github.com/storytold/effectcraft/pull/829\n* pt-BR: translate the panels below the menu bar by @WladmirJunior in https://github.com/storytold/effectcraft/pull/830\n* Shortcuts: Cmd+Left / Cmd+Right Arrow step a frame by @pravdomil in https://github.com/storytold/effectcraft/pull/835\n* fix(script): preserve raw bytes in BINARY File reads, writes, and copies by @Ni-zav in https://github.com/storytold/effectcraft/pull/842\n* fix(script): keep Undo command ID 16 stable for scripts by @Ni-zav in https://github.com/storytold/effectcraft/pull/843\n* fix(script): preserve atomic undo groups beyond the history limit by @Ni-zav in https://github.com/storytold/effectcraft/pull/844\n* feat(script): delete keyframe ranges in one undoable command by @Ni-zav in https://github.com/storytold/effectcraft/pull/845\n* fix(script): persist layer comments and unnamed marker parameters by @Ni-zav in https://github.com/storytold/effectcraft/pull/846\n* fix(script): expose AVLayer transform property shortcuts by @Ni-zav in https://github.com/storytold/effectcraft/pull/847\n* fix(script): respect ImportOptions.importAs for layered PSD files by @Ni-zav in https://github.com/storytold/effectcraft/pull/850\n* fix(script): preserve item and layer wrapper identity by @Ni-zav in https://github.com/storytold/effectcraft/pull/851\n* fix(script): expose After Effects text Path Options matchNames by @Ni-zav in https://github.com/storytold/effectcraft/pull/852\n* UI: leave no gap between the rows of a menu by @pravdomil in https://github.com/storytold/effectcraft/pull/854\n* Timeline: U and UU reveal Time Remap by @pravdomil in https://github.com/storytold/effectcraft/pull/857\n* #762: import animated WebP as footage with its frames by @vangel76 in https://github.com/storytold/effectcraft/pull/768\n* Translate the 95 panel rows Ukrainian was missing by @MishynMykhailo in https://github.com/storytold/effectcraft/pull/782\n* #329: scrubbing a long movie: superseded viewer frames call off their decodes by @vangel76 in https://github.com/storytold/effectcraft/pull/784\n* #779: fuzz File > Open; refuse deeply nested XML projects by @vangel76 in https://github.com/storytold/effectcraft/pull/785\n* #486: move a panel into its own native window (multiple monitors) by @vangel76 in https://github.com/storytold/effectcraft/pull/787\n* #788: hold opened projects and size commands to the 30,000 px limits by @vangel76 in https://github.com/storytold/effectcraft/pull/789\n* #595: RAM preview prefetches nearest the playhead and keeps the frames just ahead by @vangel76 in https://github.com/storytold/effectcraft/pull/793\n* #794: open movies in place instead of reading them whole by @vangel76 in https://github.com/storytold/effectcraft/pull/796\n* Keep footage dropped on the timeline at its full length (#795) by @MarekSpodBiedry in https://github.com/storytold/effectcraft/pull/798\n* Automation: a layer or comp id sent as a string resolves as an id (#749) by @MarekSpodBiedry in https://github.com/storytold/effectcraft/pull/799\n* #786: fuzz expressions; fix the overflows, hangs and panic it found by @vangel76 in https://github.com/storytold/effectcraft/pull/806\n* Performance: reduce UI stalls while dragging layers by @cdinhoo in https://github.com/storytold/effectcraft/pull/807\n* Import: stills and movies respect their orientation by @pravdomil in https://github.com/storytold/effectcraft/pull/827\n* fix(script): implement ExtendScript String.substr compatibility by @Ni-zav in https://github.com/storytold/effectcraft/pull/849\n* Fix full-screen shortcut shown on Windows by @nanox333 in https://github.com/storytold/effectcraft/pull/934\n* Open Essential Graphics from blank Timeline context menu by @nanox333 in https://github.com/storytold/effectcraft/pull/936\n* Timeline: trim all selected layers together by @Themolx in https://github.com/storytold/effectcraft/pull/950\n* Effects: Fractal and Turbulent Noise stay inside the layer's alpha (#939) by @HEOJUNFO in https://github.com/storytold/effectcraft/pull/951\n* Fix: rename expression control by @Ni-zav in https://github.com/storytold/effectcraft/pull/953\n* engine: build well-formed file:// URLs for Edit Original, Reveal and File.execute by @SteamSmith in https://github.com/storytold/effectcraft/pull/954\n* SVG: percentages inside a nested <svg> resolve against its own viewport by @webdevtodayjason in https://github.com/storytold/effectcraft/pull/969\n* Fix #958: add vector conversion to layer context menus by @nanox333 in https://github.com/storytold/effectcraft/pull/979\n* Fix #978: widen Project Settings dialog by @nanox333 in https://github.com/storytold/effectcraft/pull/980\n* Control: ui.click / ui.drag hold their modifiers for the whole gesture by @echelon in https://github.com/storytold/effectcraft/pull/130\n* Viewer: each composition keeps its Resolution in the project, as in After Effects (#417) by @bflatastic in https://github.com/storytold/effectcraft/pull/462\n* Effects: text and shape layers run their stack over the whole layer region (#659, #658) by @vbasky in https://github.com/storytold/effectcraft/pull/686\n* Window menu: show check marks next to visible panels [skip ci] by @pravdomil in https://github.com/storytold/effectcraft/pull/861\n* Shapes: drag gradient start and end points in the Composition viewer (#612) by @tylerjenningsw in https://github.com/storytold/effectcraft/pull/862\n* Save the active comp and open comp tabs in project files (#748) by @itrycodinganditsbad in https://github.com/storytold/effectcraft/pull/863\n* UI: draw the ▸ menu-path separator instead of a missing-glyph box by @pravdomil in https://github.com/storytold/effectcraft/pull/865\n* Timeline: UU reveals modified options and layer styles, without false positives by @pravdomil in https://github.com/storytold/effectcraft/pull/867\n* #866: Layer ▸ New ▸ Text starts typing into Source Text by @vangel76 in https://github.com/storytold/effectcraft/pull/868\n* Track Matte: picking a mode without a matte layer takes the layer above (#864) by @vangel76 in https://github.com/storytold/effectcraft/pull/869\n* i18n: add Russian, French and German menu catalogs by @pechnikov2026-star in https://github.com/storytold/effectcraft/pull/873\n* #874: scan Flatpak host, XDG and fontconfig font folders on Linux by @vangel76 in https://github.com/storytold/effectcraft/pull/876\n* #875: layout views draw camera and light wireframes by @vangel76 in https://github.com/storytold/effectcraft/pull/877\n* #880: motion paths with overflowing or NaN arc length evaluate without panicking by @vangel76 in https://github.com/storytold/effectcraft/pull/883\n* #881: Tab in the Project panel's rename field commits and keeps the keyboard by @vangel76 in https://github.com/storytold/effectcraft/pull/884\n* #886: say why footage the decoders can't read shows no picture by @vangel76 in https://github.com/storytold/effectcraft/pull/887\n* #882: pixel-exact Composition viewer at 100 % and above by @vangel76 in https://github.com/storytold/effectcraft/pull/888\n* #890: Timeline time field round-trips its timecode at 29.97/59.94 fps by @vangel76 in https://github.com/storytold/effectcraft/pull/891\n* Text: stop capturing keyboard input after clicking away (#831) by @tylerjenningsw in https://github.com/storytold/effectcraft/pull/892\n* #878: context menus act on the whole selection by @vangel76 in https://github.com/storytold/effectcraft/pull/893\n* Scripting: text range selectors resolve by match name and limit the animator (#837) by @MarekSpodBiedry in https://github.com/storytold/effectcraft/pull/895\n* #670: each pane of a 2- or 4-view layout chooses its own view by @vangel76 in https://github.com/storytold/effectcraft/pull/899\n* #903: downmix 5.1 and other multichannel audio to stereo by @vangel76 in https://github.com/storytold/effectcraft/pull/904\n* Shape layers: always rasterise at the on-screen scale (#751) by @itrycodinganditsbad in https://github.com/storytold/effectcraft/pull/906\n* Shapes: the toolbar's gradient swatches open the Gradient Editor (#612) by @tylerjenningsw in https://github.com/storytold/effectcraft/pull/907\n* UI: draw concave icons as convex pieces (fixes Selection arrow, Speaker, Sparkle glyphs) by @pravdomil in https://github.com/storytold/effectcraft/pull/913\n* Viewer: Fit up to 100% follows the panel size by @pravdomil in https://github.com/storytold/effectcraft/pull/916\n* UI: keyboard shortcuts for dialog answers by @pravdomil in https://github.com/storytold/effectcraft/pull/919\n* Timeline: Alt-click an A/V feature switches the other layers by @pravdomil in https://github.com/storytold/effectcraft/pull/921\n* UI: dialogs open with their first text field focused and selected by @pravdomil in https://github.com/storytold/effectcraft/pull/922\n* Desktop: write log records to standard error and a rotating log file by @itrycodinganditsbad in https://github.com/storytold/effectcraft/pull/923\n* Resume an open mask path when the Pen clicks its last vertex (#912) by @MarekSpodBiedry in https://github.com/storytold/effectcraft/pull/924\n* Interpret Footage: apply the Loop (times) value sent as a float (#909) by @MarekSpodBiedry in https://github.com/storytold/effectcraft/pull/925\n* Cap text animator range selector Start, End and Offset (#908) by @MarekSpodBiedry in https://github.com/storytold/effectcraft/pull/926\n* fix: View > Go to Time accepts the dialog's float frame [skip ci] by @pravdomil in https://github.com/storytold/effectcraft/pull/927\n* Release workflow: pass the Azure signing secrets by @echelon in https://github.com/storytold/effectcraft/pull/928\n* #637: double-clicking a layer's bar acts like its name; text layers edit their text by @aniliashenko in https://github.com/storytold/effectcraft/pull/930\n* Composition Settings: save and delete your own presets by @aniliashenko in https://github.com/storytold/effectcraft/pull/935\n* Keep GPU Information dialog layout steady by @nanox333 in https://github.com/storytold/effectcraft/pull/937\n* Scale the timeline waveform by the layer's Audio Levels (#974) by @MarekSpodBiedry in https://github.com/storytold/effectcraft/pull/983\n* Show the Continuously Rasterize switch on vector footage layers (#957) by @MarekSpodBiedry in https://github.com/storytold/effectcraft/pull/984\n* i18n: add Czech (cs) interface language by @Losminek in https://github.com/storytold/effectcraft/pull/987\n\n## New Contributors\n* @skylartaylor made their first contribution in https://github.com/storytold/effectcraft/pull/689\n* @vangel76 made their first contribution in https://github.com/storytold/effectcraft/pull/734\n* @didpublishing made their first contribution in https://github.com/storytold/effectcraft/pull/699\n* @redonion23 made their first contribution in https://github.com/storytold/effectcraft/pull/824\n* @pravdomil made their first contribution in https://github.com/storytold/effectcraft/pull/825\n* @WladmirJunior made their first contribution in https://github.com/storytold/effectcraft/pull/830\n* @MishynMykhailo made their first contribution in https://github.com/storytold/effectcraft/pull/782\n* @nanox333 made their first contribution in https://github.com/storytold/effectcraft/pull/934\n* @Themolx made their first contribution in https://github.com/storytold/effectcraft/pull/950\n* @SteamSmith made their first contribution in https://github.com/storytold/effectcraft/pull/954\n* @webdevtodayjason made their first contribution in https://github.com/storytold/effectcraft/pull/969\n* @pechnikov2026-star made their first contribution in https://github.com/storytold/effectcraft/pull/873\n* @aniliashenko made their first contribution in https://github.com/storytold/effectcraft/pull/930\n* @Losminek made their first contribution in https://github.com/storytold/effectcraft/pull/987\n\n**Full Changelog**: https://github.com/storytold/effectcraft/compare/v0.8.0...v0.9.2","assets":[{"name":"effectcraft-0.9.2-freebsd-x86_64.tar.gz","size_bytes":62357707,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-freebsd-x86_64.tar.gz","sha256":"23f51d762803689e40cbf16f4c372de9090174c6071e2dca3aacff84c7041219","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"effectcraft-0.9.2-linux-aarch64.AppImage","size_bytes":54159880,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-linux-aarch64.AppImage","sha256":"130631b777434f0d84beb88b2d7a89909a450a70bb54ed98becb406d08d2d1ba","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"effectcraft-0.9.2-linux-aarch64.AppImage.zsync","size_bytes":185373,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-linux-aarch64.AppImage.zsync","sha256":"87ba1ecc3efe70fffe97c38f4a63f253bc86190c48380937a1e7a0ba9f0062b2","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"effectcraft-0.9.2-linux-aarch64.deb","size_bytes":61251252,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-linux-aarch64.deb","sha256":"bf62dc3dd0b9c839b7312c90896b852903be3fff0a531742ea311277b3daf4bf","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"effectcraft-0.9.2-linux-aarch64.flatpak","size_bytes":35854096,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-linux-aarch64.flatpak","sha256":"0bd76ca66a336eed62137e6fb048666ed7103da03eca16a50cc30032141d7726","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"effectcraft-0.9.2-linux-aarch64.rpm","size_bytes":60638130,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-linux-aarch64.rpm","sha256":"001eab953b23e28688adc23b099f6ac40c27ce6a54dd4b70e068800904b96c54","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"effectcraft-0.9.2-linux-aarch64.tar.gz","size_bytes":58478914,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-linux-aarch64.tar.gz","sha256":"3efab284d4f06380a0f36d9e8d21cafc9a05e505607cdacb8beb6d37b932d160","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"effectcraft-0.9.2-linux-riscv64.deb","size_bytes":62413720,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-linux-riscv64.deb","sha256":"1f9fcf5e7bb088272f9fe1f7cd23e11ff0b3dbbe465d4fbf4b069e0f1231c70b","platform":null},{"name":"effectcraft-0.9.2-linux-riscv64.rpm","size_bytes":62285488,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-linux-riscv64.rpm","sha256":"593ef7c253561739b9d88c79df87b6f29d9f97f162e1b72aed61cdb68e78fd72","platform":null},{"name":"effectcraft-0.9.2-linux-riscv64.tar.gz","size_bytes":61118703,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-linux-riscv64.tar.gz","sha256":"014d116158291b6f746a058d249b21537970b491d31f11baa21281d250825307","platform":null},{"name":"effectcraft-0.9.2-linux-x86_64.AppImage","size_bytes":58034680,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-linux-x86_64.AppImage","sha256":"f5ef1c2ad32051ea6c13b13c170a73bd6f2d0a839a4ff71895b16a90d3a3ae37","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"effectcraft-0.9.2-linux-x86_64.AppImage.zsync","size_bytes":198615,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-linux-x86_64.AppImage.zsync","sha256":"9abb13282348435a8e5b2293e59af818b711d93d3d92d4cd5262dc36ab3a6b15","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"effectcraft-0.9.2-linux-x86_64.deb","size_bytes":64139272,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-linux-x86_64.deb","sha256":"f24f4083a6ced1e51c43a7aa80b8eed09a83bc9ecb7133e60ea0a7da6c74cc51","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"effectcraft-0.9.2-linux-x86_64.flatpak","size_bytes":40651208,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-linux-x86_64.flatpak","sha256":"108397c948c48ecfee5a404c866a375196ced4078a06f7f31d55354e224c7701","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"effectcraft-0.9.2-linux-x86_64.rpm","size_bytes":63739883,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-linux-x86_64.rpm","sha256":"75335edee5ac140b4b10de342acb09f07c083c25a6b63d68af47a763323f6213","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"effectcraft-0.9.2-linux-x86_64.tar.gz","size_bytes":62661586,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-linux-x86_64.tar.gz","sha256":"916d35d7dc0fd5650b57f576e6556256d05dedf93e83a9740c1892319bb4ac1c","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"effectcraft-0.9.2-macos-universal.dmg","size_bytes":63303395,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-macos-universal.dmg","sha256":"abc02b0b7afda63802dbd4af8ded9c0c35f18af7b09e88002adcc986f676f6fe","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"effectcraft-0.9.2-windows-arm64-portable.zip","size_bytes":60874629,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-windows-arm64-portable.zip","sha256":"2dede4e9aac41d989544e0f1e61c9c61c29dd65d15282ae18d5de5b56da5486c","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"effectcraft-0.9.2-windows-arm64.msi","size_bytes":44408832,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-windows-arm64.msi","sha256":"c6fd41cbddd9b0492cc228d116408d030c4184253bbd3ca528fd06164a4a7bca","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"effectcraft-0.9.2-windows-x64-portable.zip","size_bytes":65738563,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-windows-x64-portable.zip","sha256":"1f6fbb3a348f1b12b15faa3bc2c78a079414f07454cc1402208793486e79bee4","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"effectcraft-0.9.2-windows-x64.msi","size_bytes":49852416,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-windows-x64.msi","sha256":"32b1b4d78d158227c51389bcd382fc1a80293a87f4207b0d4c4d47172fcf0521","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"effectcraft-0.9.2-windows-x86-portable.zip","size_bytes":62512392,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-windows-x86-portable.zip","sha256":"59777f4a6e8f4d3a70ff9d7edc7f09f79376f9ae96dae747578470ecc0ef0dd4","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"effectcraft-0.9.2-windows-x86.msi","size_bytes":48566272,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-0.9.2-windows-x86.msi","sha256":"8d031b59c029a02e5b117dcdb3eec438f5128c9ac0bccbcee5cc3ff7b18f88b0","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"effectcraft-cli-0.9.2-macos-universal.zip","size_bytes":59035495,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-cli-0.9.2-macos-universal.zip","sha256":"957c39106f18d6bf4fc0a8b2ab8a084e334b183992390347a09dc04869dfd505","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"effectcraft-web-0.9.2.zip","size_bytes":18801063,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/effectcraft-web-0.9.2.zip","sha256":"09e4a278652fb389725f991c12ea4fb667599c19d0b2b3d2fded31d662bc1ad9","platform":{"os":"web","arch":null,"package_type":"web_zip"}},{"name":"SHA256SUMS.txt","size_bytes":2614,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.9.2/SHA256SUMS.txt","sha256":"24237aa784a4971015a6418b7e3c509eb611a5ff9b1cd4f43634d13f2dc0e1ad","platform":null}]},"app_last_fetched":"2026-10-13T23:55:15.050701276Z"},"filmcraft":{"name":"FilmCraft","repo":"storytold/filmcraft","latest_release":{"tag":"v0.7.2","version":"0.7.2","name":"FilmCraft v0.7.2","published_at":"2026-10-12T21:22:57Z","html_url":"https://github.com/storytold/filmcraft/releases/tag/v0.7.2","prerelease":false,"notes_markdown":"## What's Changed\n* Share docking transactions and preserve FilmCraft panel behavior by @skylartaylor in https://github.com/storytold/filmcraft/pull/881\n* ci: refactor workflows to use storytold/craft-common-actions by @dylanmtaylor in https://github.com/storytold/filmcraft/pull/1051\n* #853: Shift constrains pen mask segments to 45° steps by @vangel76 in https://github.com/storytold/filmcraft/pull/862\n* Reveal in Finder for Project clips with a local path by @vbasky in https://github.com/storytold/filmcraft/pull/889\n* fix(media): RF64 trailing metadata stays outside audio duration by @mjohnson7cd in https://github.com/storytold/filmcraft/pull/944\n* Keep nested sequence markers in OTIO export by @vbasky in https://github.com/storytold/filmcraft/pull/947\n* Export: correct loudness lost to peak limiting by @earlvanze in https://github.com/storytold/filmcraft/pull/952\n* Keep New Sequence open when frame size is rejected by @vbasky in https://github.com/storytold/filmcraft/pull/974\n* #980: VP9 decode loop-filters a frame as a superblock-row wavefront by @vangel76 in https://github.com/storytold/filmcraft/pull/995\n* #790: Matroska AAC / MP3 / AC-3 trims the exact CodecDelay by @vangel76 in https://github.com/storytold/filmcraft/pull/792\n* #923: reordered Matroska video without DefaultDuration keeps its frame rate by @JordyUSA in https://github.com/storytold/filmcraft/pull/986\n* timeline: box selection updates live while dragging by @ReReddo in https://github.com/storytold/filmcraft/pull/1028\n* Engine: list edge, params and reverse in the sequence.applyAudioTransition schema (#1100) by @MarekSpodBiedry in https://github.com/storytold/filmcraft/pull/1107\n* Timeline: keep continuous thumbnails fixed while the view zooms (#1094) by @MarekSpodBiedry in https://github.com/storytold/filmcraft/pull/1108\n* fix(effects): keep a setParam keyframe outside the clip at its time (#1055) by @itrycodinganditsbad in https://github.com/storytold/filmcraft/pull/1120\n* dock: the mouse wheel over a tab strip switches tabs by @ReReddo in https://github.com/storytold/filmcraft/pull/1032\n* Roll linked audio with the picture cut by @vbasky in https://github.com/storytold/filmcraft/pull/870\n* #243: text fields keep unmodified keys so IMEs can compose by @opentechnepal in https://github.com/storytold/filmcraft/pull/888\n* One undo for a Scale (and similar) mouse drag by @vbasky in https://github.com/storytold/filmcraft/pull/892\n* Essential Graphics: an Install refused shows why on the status bar (#611) by @vbasky in https://github.com/storytold/filmcraft/pull/949\n* fix(render): update Noise grain on every frame using exact timestamps by @Ni-zav in https://github.com/storytold/filmcraft/pull/956\n* Timeline: a drag with Track Select Forward/Backward moves what it selects by @mktk1117 in https://github.com/storytold/filmcraft/pull/979\n* fix: 値グラフからキーフレームの補間を選択 #962 by @haranishi in https://github.com/storytold/filmcraft/pull/1138\n* tools: press and drag a grouped tool to open its flyout by @ReReddo in https://github.com/storytold/filmcraft/pull/1030\n* meters: adapt to the panel's size; react while scrubbing by @ReReddo in https://github.com/storytold/filmcraft/pull/1031\n* fix(render): 5.1 sources on a stereo track fold down instead of losing C and surrounds by @ossini in https://github.com/storytold/filmcraft/pull/1036\n* Timeline: a press on the ruler moves the playhead at once (#1090) by @MarekSpodBiedry in https://github.com/storytold/filmcraft/pull/1109\n* fix(cli): fail export/render that drew offline media unless --allow-offline (#1054) by @itrycodinganditsbad in https://github.com/storytold/filmcraft/pull/1121\n* fix: パネルのフォーカス枠の欠けを修正 #1075 by @haranishi in https://github.com/storytold/filmcraft/pull/1144\n* macOS: app menu follows the interface language (#1145) by @keller-lukas in https://github.com/storytold/filmcraft/pull/1151\n* Keep recovery snapshots when session metadata is unreadable by @vbasky in https://github.com/storytold/filmcraft/pull/932\n* monitors: about 10% of zoom per wheel notch, exactly reversible by @ReReddo in https://github.com/storytold/filmcraft/pull/1026\n* Underline vertical graphic text by @vbasky in https://github.com/storytold/filmcraft/pull/1044\n* Underline follows baseline shift on whole-style text by @vbasky in https://github.com/storytold/filmcraft/pull/1045\n* Fix #1072: Text panel 'Import captions file…' button label invisible in light mode by @mjohnson7cd in https://github.com/storytold/filmcraft/pull/1084\n* #1091: Home / End and other jumps scroll the Timeline to the playhead by @vangel76 in https://github.com/storytold/filmcraft/pull/1097\n* fix: 再生停止後も音量メーターを更新 #1062 by @haranishi in https://github.com/storytold/filmcraft/pull/1133\n* Hot-text number fields select the whole value when clicked (#1126) by @MarekSpodBiedry in https://github.com/storytold/filmcraft/pull/1166\n* #867: Indonesian (id) interface translation by @vangel76 in https://github.com/storytold/filmcraft/pull/878\n* #847: AV1 decode runs deblocking, CDEF and loop restoration in parallel row bands by @vangel76 in https://github.com/storytold/filmcraft/pull/886\n* Refuse trim and timing edits on a locked track by @vbasky in https://github.com/storytold/filmcraft/pull/934\n* Match Frame on a reversed clip uses moving source time by @vbasky in https://github.com/storytold/filmcraft/pull/973\n* Fix Extract hard cutoffs and clipped caption font targets by @whatever-industries in https://github.com/storytold/filmcraft/pull/1047\n* Clear used media as offline instead of stripping the timeline by @vbasky in https://github.com/storytold/filmcraft/pull/1050\n* #820: fall back to DX12, then a software adapter, when the graphics start fails by @vangel76 in https://github.com/storytold/filmcraft/pull/827\n* #844: on-monitor corner-roundness handle for masks by @vangel76 in https://github.com/storytold/filmcraft/pull/851\n* #965: HDR and wide-gamut media play on the GPU path by @JordyUSA in https://github.com/storytold/filmcraft/pull/1017\n* OS drops on an empty Timeline create a sequence by @vbasky in https://github.com/storytold/filmcraft/pull/833\n* #841: import packed 10/12-bit and Y'CbCr DPX stills by @vangel76 in https://github.com/storytold/filmcraft/pull/842\n* #840: restart an audio stream the device drops instead of playing silent by @vangel76 in https://github.com/storytold/filmcraft/pull/849\n* Reject negative times on timeline.place and markers.add by @vbasky in https://github.com/storytold/filmcraft/pull/869\n* LongGOP seek / time-to-first-frame, not the H.264 throughput gap by @vbasky in https://github.com/storytold/filmcraft/pull/876\n* Import every MPEG audio stream, not only the first PID by @vbasky in https://github.com/storytold/filmcraft/pull/891\n* MCP invalid --bridge exits 2 like other usage errors by @vbasky in https://github.com/storytold/filmcraft/pull/975\n* #924: decoded H.264 / HEVC frames keep the signalled colour primaries by @JordyUSA in https://github.com/storytold/filmcraft/pull/988\n* WIN: stabilize Windows verification prerequisites by @jahvari in https://github.com/storytold/filmcraft/pull/989\n* Reject non-finite numbers and empty LUT input ranges in .cube import (#998) by @MarekSpodBiedry in https://github.com/storytold/filmcraft/pull/1012\n* #1018: Scene Edit Detection in the timeline clip's right-click menu by @ossini in https://github.com/storytold/filmcraft/pull/1048\n* fix: サブクリップ配置で親の音声を保持 #913 by @haranishi in https://github.com/storytold/filmcraft/pull/1099\n* Escape cancels a drag in progress: drag-and-drop, value drags, color pickers and dialogs by @ReReddo in https://github.com/storytold/filmcraft/pull/608\n* Export FCP7 XML markers on source media by @vbasky in https://github.com/storytold/filmcraft/pull/946\n* #395: Arabic and Hebrew in the interface: fallback fonts, captions in reading order by @seif9116 in https://github.com/storytold/filmcraft/pull/1140\n* Timeline: dragging a clip above the top track or below the last one adds a new track (#1104) by @MarekSpodBiedry in https://github.com/storytold/filmcraft/pull/1167\n* fix(tts-text): preserve magnitude, fractions and leading zeros in narration by @Ni-zav in https://github.com/storytold/filmcraft/pull/954\n* Move fade-out with a non-ripple Speed/Duration change by @vbasky in https://github.com/storytold/filmcraft/pull/969\n* Refuse timeline.move when the source track is locked by @vbasky in https://github.com/storytold/filmcraft/pull/970\n* Clamp Automate Cross Dissolve to the placed overlap by @vbasky in https://github.com/storytold/filmcraft/pull/976\n* #922: eight-channel AAC reports and returns eight channels by @JordyUSA in https://github.com/storytold/filmcraft/pull/984\n* Lumetri panel: truncate a long clip name in the header so the control rows stay in view (#997) by @MarekSpodBiedry in https://github.com/storytold/filmcraft/pull/1013\n* settings: label colour presets (built-ins, import, export, delete) by @ReReddo in https://github.com/storytold/filmcraft/pull/1035\n* fix(audio): シャトル再生で音程維持設定を反映 (#959) by @haranishi in https://github.com/storytold/filmcraft/pull/1146\n* #831: cargo xtask parity measures effects and transitions (--area) by @vangel76 in https://github.com/storytold/filmcraft/pull/836\n* #480: exports no longer stop for good when a clip's decoding uses rayon (rotated iPhone HEVC clips) by @MrCloudy2 in https://github.com/storytold/filmcraft/pull/846\n* Opening Demo Project does not keep the previous save path by @vbasky in https://github.com/storytold/filmcraft/pull/933\n* Import FCPXML one-frame markers as points by @vbasky in https://github.com/storytold/filmcraft/pull/945\n* One undo for a multi-point Trim by Frames by @vbasky in https://github.com/storytold/filmcraft/pull/971\n* Add OmaStore manifest by @KitsuneSemCalda in https://github.com/storytold/filmcraft/pull/513\n* Paste cut clips even when old OS clipboard files linger by @vbasky in https://github.com/storytold/filmcraft/pull/839\n* #835: workflow acceptance tests through the MCP server, checked by ffprobe by @vangel76 in https://github.com/storytold/filmcraft/pull/843\n* #854: GIF frame delays add up to the sequence duration by @vangel76 in https://github.com/storytold/filmcraft/pull/872\n* monitors: show the unreadable slate for persistently failing (damaged) media by @FredApps in https://github.com/storytold/filmcraft/pull/885\n* Clear Close Sequence also clears File Close (Cmd+W) by @vbasky in https://github.com/storytold/filmcraft/pull/832\n* fix(export): estimate TIFF sequence size using the actual channel count by @Ni-zav in https://github.com/storytold/filmcraft/pull/957\n* #928: the schema reports Restore open sequences as wired by @JordyUSA in https://github.com/storytold/filmcraft/pull/992\n* Count VideoToolbox sessions, frames and declined requests in perf.stats (#981) by @MarekSpodBiedry in https://github.com/storytold/filmcraft/pull/1014\n* Keep the voice-over start point when recording past the end of the timeline (#960) by @MarekSpodBiedry in https://github.com/storytold/filmcraft/pull/1015\n* timeline: drag the outer track edges to resize by @ReReddo in https://github.com/storytold/filmcraft/pull/1027\n* docs: German in the localization parity table (follow-up to #630) by @keller-lukas in https://github.com/storytold/filmcraft/pull/1073\n* #371: split stereo halves from FCP7 XML play on their own side by @carlitosteso3 in https://github.com/storytold/filmcraft/pull/1085\n* fix: ハイフン区切り数字の先頭ゼロを保持 #910 by @haranishi in https://github.com/storytold/filmcraft/pull/1105\n* Text editing on the Program monitor: double-click and Ctrl/Cmd+A select all the text (#1102) by @MarekSpodBiedry in https://github.com/storytold/filmcraft/pull/1106\n* Export: unknown keys in `settings` are an error, not ignored by @japbcoelho in https://github.com/storytold/filmcraft/pull/1113\n* fix(captions): apply body and div timing to TTML paragraphs (#895) by @itrycodinganditsbad in https://github.com/storytold/filmcraft/pull/1119\n* fix(playback): rest Program marked playback on the Out frame by @Ni-zav in https://github.com/storytold/filmcraft/pull/955\n* Export: FLAC (clean-room encoder; .flac files and FLAC audio in MP4/MOV) by @JordyUSA in https://github.com/storytold/filmcraft/pull/613\n* #598: import AVI files (clean-room AVI / OpenDML demuxer) by @JordyUSA in https://github.com/storytold/filmcraft/pull/650\n* program monitor, effect controls: on-screen transform handles for Motion and Transform by @ReReddo in https://github.com/storytold/filmcraft/pull/667\n* #809: own MPEG audio Layer I / II decoder plays MP2 at ffmpeg's default bit rates by @vangel76 in https://github.com/storytold/filmcraft/pull/819\n* #1039: faster HEVC motion compensation and deblocking, bit-exact (−10…28% cycles per frame) by @vangel76 in https://github.com/storytold/filmcraft/pull/1053\n* #432: VP8 video decodes (clean-room pure-Rust VP8 decoder), so VP8 WebM no longer shows black by @MrCloudy2 in https://github.com/storytold/filmcraft/pull/1064\n* Type text committed by an input method into text layers on the monitor (#1083) by @MarekSpodBiedry in https://github.com/storytold/filmcraft/pull/1110\n* monitors: a zoom bar for the time ruler, larger transport buttons by @ReReddo in https://github.com/storytold/filmcraft/pull/1025\n* #859: complete the Brazilian Portuguese (pt-br) interface translation by @vangel76 in https://github.com/storytold/filmcraft/pull/866\n* Project panel: dragging one of several selected items places them all, back to back, in one undo step by @aw4e in https://github.com/storytold/filmcraft/pull/746\n* number fields: type a calculation and get its result by @ReReddo in https://github.com/storytold/filmcraft/pull/845\n* i18n: complete and polish the Japanese catalog by @FacedFour1207 in https://github.com/storytold/filmcraft/pull/991\n* fix: マーカーの色変更と範囲帯の右クリックを修正 (#1143) by @haranishi in https://github.com/storytold/filmcraft/pull/1161\n* #786: right-click Label menus show the label colours by @vangel76 in https://github.com/storytold/filmcraft/pull/873\n* #1092: Project panel Shift-click selects the range from the anchor by @vangel76 in https://github.com/storytold/filmcraft/pull/1095\n* Show audio effects in Effect Controls on linked A/V clips by @vbasky in https://github.com/storytold/filmcraft/pull/834\n* #857: reject unknown marker colour names instead of storing Green by @vangel76 in https://github.com/storytold/filmcraft/pull/864\n* Linked Rate Stretch keeps one speed when a neighbour limits a partner by @vbasky in https://github.com/storytold/filmcraft/pull/972\n* Source marks honour frame, seconds and timecode by @vbasky in https://github.com/storytold/filmcraft/pull/1043\n* #850: launch files open whatever the extension's case, with absolute paths by @vangel76 in https://github.com/storytold/filmcraft/pull/858\n* #260: file dialogs on Linux no longer stop the app (GNOME \"not responding\") by @MrCloudy2 in https://github.com/storytold/filmcraft/pull/604\n* export: type the file name and pick the location in Quick Export by @ReReddo in https://github.com/storytold/filmcraft/pull/1033\n* fix(menus): native menu follows command enablement (#902) by @itrycodinganditsbad in https://github.com/storytold/filmcraft/pull/1129\n* #402: animated GIF and APNG import as clips, with transparency by @liangforstudy in https://github.com/storytold/filmcraft/pull/931\n* #1065: CinemaDNG / DNG import with a clean-room decoder by @vangel76 in https://github.com/storytold/filmcraft/pull/1068\n* #874: compressed (RLE / ZIPS / ZIP) OpenEXR export by @vangel76 in https://github.com/storytold/filmcraft/pull/879\n* fix(timeline): snap sub-frame timeline.place to the frame grid; inspect counts export's frames (#1101) by @itrycodinganditsbad in https://github.com/storytold/filmcraft/pull/1139\n* fix: エフェクトコントロールの矩形選択とShiftスナップを修正 (#967) by @haranishi in https://github.com/storytold/filmcraft/pull/1159\n* #828: import OpenEXR stills and image sequences by @vangel76 in https://github.com/storytold/filmcraft/pull/837\n* Median Radius is not capped at four working pixels by @vbasky in https://github.com/storytold/filmcraft/pull/1046\n* M7: optimize audio DSP and isolate the unchanged mixer throughput gate by @earlvanze in https://github.com/storytold/filmcraft/pull/865\n* Trim MP3 encoder delay when decoding audio files (#1137) by @MarekSpodBiedry in https://github.com/storytold/filmcraft/pull/1165\n* fix(ui): add Korean font fallback for UI text by @mjohnson7cd in https://github.com/storytold/filmcraft/pull/964\n* UI: favorite themes and appearance shortcuts by @luniiya in https://github.com/storytold/filmcraft/pull/1070\n* #1039: 8-bit HEVC pictures as u8, in-place motion compensation (−14…23 % per frame), big-picture analysis by @vangel76 in https://github.com/storytold/filmcraft/pull/1067\n* Linux: VA-API EncSlice probe and bounded export GPU wait (#1058) by @vbasky in https://github.com/storytold/filmcraft/pull/1063\n* timeline: cancel drag and restore playhead on Escape (#580) by @Auipp in https://github.com/storytold/filmcraft/pull/1052\n* dialogs: drag them by the title bar (open centred, no longer anchored) by @liangforstudy in https://github.com/storytold/filmcraft/pull/1217\n* fix: Close Gapをショートカットに割り当てられるようにする by @haranishi in https://github.com/storytold/filmcraft/pull/1168\n* ui: reduce sequence copying and cache transcript redraw data by @OorjitSethi in https://github.com/storytold/filmcraft/pull/1193\n* #1124: ⌘D / ⇧⌘D apply transitions to the selected clips or edit points by @n-delic in https://github.com/storytold/filmcraft/pull/1198\n* Release workflow: pass the Azure signing secrets by @echelon in https://github.com/storytold/filmcraft/pull/1169\n\n## New Contributors\n* @skylartaylor made their first contribution in https://github.com/storytold/filmcraft/pull/881\n* @earlvanze made their first contribution in https://github.com/storytold/filmcraft/pull/952\n* @itrycodinganditsbad made their first contribution in https://github.com/storytold/filmcraft/pull/1120\n* @opentechnepal made their first contribution in https://github.com/storytold/filmcraft/pull/888\n* @mktk1117 made their first contribution in https://github.com/storytold/filmcraft/pull/979\n* @whatever-industries made their first contribution in https://github.com/storytold/filmcraft/pull/1047\n* @jahvari made their first contribution in https://github.com/storytold/filmcraft/pull/989\n* @seif9116 made their first contribution in https://github.com/storytold/filmcraft/pull/1140\n* @KitsuneSemCalda made their first contribution in https://github.com/storytold/filmcraft/pull/513\n* @FredApps made their first contribution in https://github.com/storytold/filmcraft/pull/885\n* @japbcoelho made their first contribution in https://github.com/storytold/filmcraft/pull/1113\n* @aw4e made their first contribution in https://github.com/storytold/filmcraft/pull/746\n* @FacedFour1207 made their first contribution in https://github.com/storytold/filmcraft/pull/991\n* @Auipp made their first contribution in https://github.com/storytold/filmcraft/pull/1052\n* @OorjitSethi made their first contribution in https://github.com/storytold/filmcraft/pull/1193\n* @n-delic made their first contribution in https://github.com/storytold/filmcraft/pull/1198\n\n**Full Changelog**: https://github.com/storytold/filmcraft/compare/v0.6.0...v0.7.2","assets":[{"name":"filmcraft-0.7.2-freebsd-x86_64.tar.gz","size_bytes":68770255,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-freebsd-x86_64.tar.gz","sha256":"80d1bb648bdb11e83cb0a658346fa2996abb629ccc7adf72295679a1e12267dc","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"filmcraft-0.7.2-linux-aarch64.AppImage","size_bytes":63113736,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-linux-aarch64.AppImage","sha256":"d2767bb36ae350465ad07317f927029b5a89fbb140499da649363be0c66dc849","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"filmcraft-0.7.2-linux-aarch64.AppImage.zsync","size_bytes":215973,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-linux-aarch64.AppImage.zsync","sha256":"e93aebc12cc0d67ede5095c04dbb71e0573427a62927b9639ad920c89a6c3c07","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"filmcraft-0.7.2-linux-aarch64.deb","size_bytes":68391946,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-linux-aarch64.deb","sha256":"f90bd61a9ac6e28fdb95b0c2bd956a5029a42ba3181bd1493dc79a8f8b6bb715","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"filmcraft-0.7.2-linux-aarch64.flatpak","size_bytes":47438832,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-linux-aarch64.flatpak","sha256":"99fa041337c493c07b38adc25facea4348e7cea75d11599ebc97bf978a4f0010","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"filmcraft-0.7.2-linux-aarch64.rpm","size_bytes":67835053,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-linux-aarch64.rpm","sha256":"ff1aef31eddad4e420e2e355b2a6e2fa9b0240a58e166dbf0d260a835613992e","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"filmcraft-0.7.2-linux-aarch64.tar.gz","size_bytes":66526008,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-linux-aarch64.tar.gz","sha256":"4af56f649a6fb19dcae386abd59921ec6c9190b725014517075fa4d81123c68a","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"filmcraft-0.7.2-linux-riscv64.deb","size_bytes":68947612,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-linux-riscv64.deb","sha256":"e0b2608705ace3f7a8b2a7d8be57e67b6e3ae94becfd6d32258a9d48ecc6dd3a","platform":null},{"name":"filmcraft-0.7.2-linux-riscv64.rpm","size_bytes":68715620,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-linux-riscv64.rpm","sha256":"fa3d2dc104d1258908c900352bd5955f3cea56d51133db0be8fd78c2a9a87c53","platform":null},{"name":"filmcraft-0.7.2-linux-riscv64.tar.gz","size_bytes":68080483,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-linux-riscv64.tar.gz","sha256":"37ece35bbb02aeaa8eadb3e3cc4414380ab8bd860c63503bd9d0f7ec389d1640","platform":null},{"name":"filmcraft-0.7.2-linux-x86_64.AppImage","size_bytes":65686008,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-linux-x86_64.AppImage","sha256":"abf920d98d015860e1f5badc6cf0507d8f8116f5c328f7f7f2425f068ab3aee8","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"filmcraft-0.7.2-linux-x86_64.AppImage.zsync","size_bytes":224763,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-linux-x86_64.AppImage.zsync","sha256":"7ffecfec0c483c644c3e586c9c5e848a83a20f19daecc2ad452e501f50df524e","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"filmcraft-0.7.2-linux-x86_64.deb","size_bytes":70378198,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-linux-x86_64.deb","sha256":"1652a4c7e501b66c3a599f898bbe479349e1282e4b9edb50ec5c0291dfc744f7","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"filmcraft-0.7.2-linux-x86_64.flatpak","size_bytes":50690488,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-linux-x86_64.flatpak","sha256":"06e740c482f351d44385cf60d89430748764a43f75a42d960b73fa060bec11d5","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"filmcraft-0.7.2-linux-x86_64.rpm","size_bytes":69969443,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-linux-x86_64.rpm","sha256":"75078cb75e4424ca44c043fffe9df9581461ab7ed4699bfd7303c50856e21b46","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"filmcraft-0.7.2-linux-x86_64.tar.gz","size_bytes":69427996,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-linux-x86_64.tar.gz","sha256":"4171c4bf5f57fd29475655f8a6df4719feda8c8f3ed95b2475d8dc112ad3be86","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"filmcraft-0.7.2-macos-universal.dmg","size_bytes":73270207,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-macos-universal.dmg","sha256":"df8f6ec7f7c7d227549c20579c65b9f6b2635ccd994410bb70c8d0369a6b9fb7","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"filmcraft-0.7.2-windows-arm64-portable.zip","size_bytes":67158281,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-windows-arm64-portable.zip","sha256":"82e6f95fec0cdc44b06f41b98a6bb1e9b538ee4f8c3cd412f89ddfdd464b93c2","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"filmcraft-0.7.2-windows-arm64.msi","size_bytes":53481472,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-windows-arm64.msi","sha256":"fca996dfdb313829d405fd9de958f794ff07ea4448ace427d86b4a3a4b910f50","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"filmcraft-0.7.2-windows-x64-portable.zip","size_bytes":70339046,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-windows-x64-portable.zip","sha256":"8e22fabdf2f802573d3af4ad9993c05212dead5e933efda0fa290e825313cde7","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"filmcraft-0.7.2-windows-x64.msi","size_bytes":57008128,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-windows-x64.msi","sha256":"368abb98aa43878c32c8fd3223e0825419c605462c704b30034df8f6317c2a85","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"filmcraft-0.7.2-windows-x86-portable.zip","size_bytes":69339458,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-windows-x86-portable.zip","sha256":"7c04c5b42e9533e24e604c2fe970d8f098f23611a64e73e54bf7e7b7f90b3bf4","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"filmcraft-0.7.2-windows-x86.msi","size_bytes":57061376,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-0.7.2-windows-x86.msi","sha256":"5dc5b87663f110660918b359f23b73d27ee64309c0da0ab893254acf3a13c118","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"filmcraft-cli-0.7.2-macos-universal.zip","size_bytes":60624666,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-cli-0.7.2-macos-universal.zip","sha256":"1edb5ba5391bd7439ebd0cda059f81d1a6e0327be59aeb91a5a532b1ee1a287e","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"filmcraft-web-0.7.2.zip","size_bytes":13166192,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/filmcraft-web-0.7.2.zip","sha256":"48d4f48728fa6b5c028612a4b7f59a5832ff38d430c6a7bd417a2c77d75ae4f9","platform":{"os":"web","arch":null,"package_type":"web_zip"}},{"name":"SHA256SUMS.txt","size_bytes":2564,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.7.2/SHA256SUMS.txt","sha256":"325ea1443145ba3559d1a1abb2441c1b31f969a8bd8bb36760002bcfa8ff7887","platform":null}]},"app_last_fetched":"2026-10-13T23:55:11.727905938Z"},"gridcraft":{"name":"GridCraft","repo":"storytold/gridcraft","latest_release":{"tag":"v0.6.1","version":"0.6.1","name":"GridCraft v0.6.1","published_at":"2026-10-12T17:07:30Z","html_url":"https://github.com/storytold/gridcraft/releases/tag/v0.6.1","prerelease":false,"notes_markdown":"## What's Changed\n* selection.move: clamp extreme dr/dc to the sheet edge instead of overflowing by @webdevtodayjason in https://github.com/storytold/gridcraft/pull/232\n* CHOOSE: pick element by element when the index is an array by @nihilist-narwhal in https://github.com/storytold/gridcraft/pull/252\n* Add MacJedi42 to the contributor names by @MacJedi42 in https://github.com/storytold/gridcraft/pull/253\n* Sort and Remove Duplicates: compare text the way Excel does by @nihilist-narwhal in https://github.com/storytold/gridcraft/pull/255\n* XLSX: write one cfvo per icon in icon-set rules (#235) by @alexanderalber in https://github.com/storytold/gridcraft/pull/262\n* XLSX: write `@` as `_xlfn.SINGLE` in a dynamic-array formula (#64) by @alexanderalber in https://github.com/storytold/gridcraft/pull/267\n* Fix Paste button deadlock in ribbon by @ttrudging in https://github.com/storytold/gridcraft/pull/272\n* Add vangel76 to the contributor names by @vangel76 in https://github.com/storytold/gridcraft/pull/274\n* UI: skip system fonts egui can't parse instead of panicking at startup (#226) by @vangel76 in https://github.com/storytold/gridcraft/pull/277\n* UI: Name Box Enter goes to the typed cell, not the one below (#247) by @vangel76 in https://github.com/storytold/gridcraft/pull/282\n* macOS: use the correctly padded Dock icon by @Zarvinx in https://github.com/storytold/gridcraft/pull/222\n* fix: Save toolbar button and saveChanges dialog discard an in-progress cell edit by @Dejan-Port in https://github.com/storytold/gridcraft/pull/223\n* XLSX: bump quick-xml 0.38 -> 0.41 (RUSTSEC-2026-0195 namespace-declaration DoS) by @pkibiego in https://github.com/storytold/gridcraft/pull/231\n* Accuracy: round an exact tie at the 16th significant digit toward zero by @MacJedi42 in https://github.com/storytold/gridcraft/pull/248\n* Criteria: text patterns don't match blank cells by @nihilist-narwhal in https://github.com/storytold/gridcraft/pull/250\n* ci: refactor workflows to use storytold/craft-common-actions by @dylanmtaylor in https://github.com/storytold/gridcraft/pull/336\n* Do not draw the selection over the frozen pane when it lies only in the scrolling pane (#198) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/217\n* Resize charts from the corner handle and the Size fields, keep typed chart and table names (#190) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/218\n* Delete selected charts with the keyboard by @Zarvinx in https://github.com/storytold/gridcraft/pull/219\n* i18n: Spanish interface translation (the Español option only localized formulas) by @diegozpy in https://github.com/storytold/gridcraft/pull/242\n* Conditional formatting: apply every matching rule; Cell Value rules as in Excel by @nihilist-narwhal in https://github.com/storytold/gridcraft/pull/251\n* AutoFilter: a selected header row filters the data below it; search box in the filter menu (#201) by @alexanderalber in https://github.com/storytold/gridcraft/pull/263\n* Add German (de) interface language by @arekown in https://github.com/storytold/gridcraft/pull/271\n* Functions: ODDFPRICE, ODDFYIELD, ODDLPRICE, ODDLYIELD (#275) by @vangel76 in https://github.com/storytold/gridcraft/pull/276\n* Fill handle: Ctrl+drag swaps copying and extending a series (#264) by @vangel76 in https://github.com/storytold/gridcraft/pull/278\n* Functions: PERCENTOF and EUROCONVERT (#279) by @vangel76 in https://github.com/storytold/gridcraft/pull/280\n* Clipboard: pasted currency cells keep the number from the clipboard HTML (#257) by @vangel76 in https://github.com/storytold/gridcraft/pull/285\n* Functions: BAHTTEXT (#291) by @vangel76 in https://github.com/storytold/gridcraft/pull/292\n* Name Manager: New… and Edit… open the name dialog and return to the manager (#238) by @vangel76 in https://github.com/storytold/gridcraft/pull/293\n* View: Interface size preference scales the whole window (#230) by @vangel76 in https://github.com/storytold/gridcraft/pull/294\n* View: Formula Bar and Zoom 100% as engine commands (#289) by @vangel76 in https://github.com/storytold/gridcraft/pull/295\n* Functions: TRIMRANGE (#296) by @vangel76 in https://github.com/storytold/gridcraft/pull/297\n* Keep formula helpers inside the worksheet when scrolling (#200) by @webdevtodayjason in https://github.com/storytold/gridcraft/pull/228\n* Typed dates before 1900 stay text; typed times past 24 hours keep their hours by @nihilist-narwhal in https://github.com/storytold/gridcraft/pull/254\n* macOS: centre the window buttons in the title bar (#170) by @vangel76 in https://github.com/storytold/gridcraft/pull/323\n* Issue #347: Protect Sheet and Unprotect Sheet mask the password by @LloydNicholson in https://github.com/storytold/gridcraft/pull/351\n* Charts: Recommended Charts opens a dialog of chart types with previews (#215) by @vangel76 in https://github.com/storytold/gridcraft/pull/301\n* XLSX: write threaded comments and persons parts, read note visibility (#300) by @vangel76 in https://github.com/storytold/gridcraft/pull/302\n* Charts: Select Data edits the category axis labels; blank corner makes column 1 the categories (#287) by @vangel76 in https://github.com/storytold/gridcraft/pull/303\n* Checkboxes: ribbon button, Excel's value and Delete rules, XLSX cell controls (#196) by @vangel76 in https://github.com/storytold/gridcraft/pull/305\n* PivotTables: calculated fields (pivot.calculatedField) (#304) by @vangel76 in https://github.com/storytold/gridcraft/pull/306\n* Review: Allow Edit Ranges with Excel-compatible password hashes (#307) by @vangel76 in https://github.com/storytold/gridcraft/pull/308\n* Grid: freeze panes by dragging the freeze handles (#195) by @vangel76 in https://github.com/storytold/gridcraft/pull/309\n* Grid: mirror right-to-left sheets (#146) by @vangel76 in https://github.com/storytold/gridcraft/pull/310\n* Charts: PivotCharts (insert.pivotChart) (#311) by @vangel76 in https://github.com/storytold/gridcraft/pull/313\n* Windows: never load Vulkan by default; OpenGL fallback when DirectX 12 can't start (#120) by @vangel76 in https://github.com/storytold/gridcraft/pull/315\n* macOS: end the process in on_exit so quitting doesn't crash (#117) by @vangel76 in https://github.com/storytold/gridcraft/pull/316\n* Functions: FORECAST.ETS, .CONFINT, .SEASONALITY and .STAT (#314) by @vangel76 in https://github.com/storytold/gridcraft/pull/317\n* UI: title-bar light/dark switch, File › Display theme, system appearance on first run (#194, #239) by @vangel76 in https://github.com/storytold/gridcraft/pull/318\n* Keyboard: Excel shortcut audit, add the missing ones (#110) by @vangel76 in https://github.com/storytold/gridcraft/pull/319\n* Data: Analysis ToolPak with 13 tools and the Data Analysis dialog (#312) by @vangel76 in https://github.com/storytold/gridcraft/pull/320\n* Packaging: offer GridCraft for .xlsb and .ods files (#92) by @vangel76 in https://github.com/storytold/gridcraft/pull/321\n* Data: Solver with Simplex LP, integer branch and bound and a nonlinear method (#326) by @vangel76 in https://github.com/storytold/gridcraft/pull/327\n* UI: File tab Backstage view (#174) by @vangel76 in https://github.com/storytold/gridcraft/pull/331\n* i18n: Czech interface language (cs) by @Losminek in https://github.com/storytold/gridcraft/pull/335\n* Issue #341: resizing Ctrl-selected rows or columns resizes all of them by @LloydNicholson in https://github.com/storytold/gridcraft/pull/350\n* Get rid of double range copy for aggregation operations over ranges by @Fly-Style in https://github.com/storytold/gridcraft/pull/352\n* Issue #348: copying multiple selections works when the areas line up, and explains when it can't by @LloydNicholson in https://github.com/storytold/gridcraft/pull/353\n* Journal: sheet protection passwords aren't recorded in plain text by @LloydNicholson in https://github.com/storytold/gridcraft/pull/355\n* Fix horizontal worksheet tab scrolling by @ttrudging in https://github.com/storytold/gridcraft/pull/268\n* Cell: cell.set without an input is an error by @mikl0s in https://github.com/storytold/gridcraft/pull/207\n* Fix Rust 1.95 Clippy warnings by @Zarvinx in https://github.com/storytold/gridcraft/pull/212\n* Read the browser clock for NOW(), TODAY() and year-less dates on wasm (#202) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/216\n* Review: Previous/Next Comment, Show Comments, Show All Notes, Convert to Comments (#281) by @vangel76 in https://github.com/storytold/gridcraft/pull/286\n* Clipboard: Insert Copied Cells and Insert Cut Cells (#21) by @vangel76 in https://github.com/storytold/gridcraft/pull/288\n* UI fonts: symbol fallback faces so interface symbols aren't boxes (#197) by @vangel76 in https://github.com/storytold/gridcraft/pull/298\n* M2: fix cell vertical alignment positioning and add keytips (#241) by @AlissonFA in https://github.com/storytold/gridcraft/pull/261\n* Leave the active cell unshaded inside a selected range by @arcanii in https://github.com/storytold/gridcraft/pull/265\n* Glide the selection outline to a new selection; View ▸ Animations turns it off by @arcanii in https://github.com/storytold/gridcraft/pull/266\n* View: Page Layout view with rulers and in-place headers and footers (#329) by @vangel76 in https://github.com/storytold/gridcraft/pull/334\n* Data: Forecast Sheet (data.forecastSheet) (#322) by @vangel76 in https://github.com/storytold/gridcraft/pull/325\n* XLSX/IO: read legacy .xls (BIFF8) workbooks (#121) by @vangel76 in https://github.com/storytold/gridcraft/pull/332\n* XLSX: keep unmodelled parts on save (#330) by @vangel76 in https://github.com/storytold/gridcraft/pull/333\n* Cell references: an invalid reference is an error instead of the active cell by @mikl0s in https://github.com/storytold/gridcraft/pull/206\n* fix(ribbon): Watch Window layout in Formulas ribbon (#342) by @ege-arhan in https://github.com/storytold/gridcraft/pull/360\n* Edit date cells as dates, not serial numbers (#362) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/364\n* Ctrl+click on an already selected header or cell deselects it (#359) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/365\n* Reorder selected columns by dragging headers by @Zarvinx in https://github.com/storytold/gridcraft/pull/211\n* Feature/table slicers by @zaidshurbaji in https://github.com/storytold/gridcraft/pull/193\n* web: print straight to the system print dialog, not just export by @Dejan-Port in https://github.com/storytold/gridcraft/pull/209\n* Linux: the display theme asks the desktop, not winit by @gyurix in https://github.com/storytold/gridcraft/pull/203\n* Preserve VBA macros + Excel-style macros UX (issue #6) by @justinjohn0306 in https://github.com/storytold/gridcraft/pull/19\n* Fix: list and render installed system fonts (#4) by @justinjohn0306 in https://github.com/storytold/gridcraft/pull/9\n* Grid: merged ranges draw their right and bottom borders (#376) by @vangel76 in https://github.com/storytold/gridcraft/pull/380\n* Grid: render Shrink to fit (#375) by @vangel76 in https://github.com/storytold/gridcraft/pull/381\n* Windows: compile DirectX 12 shaders with FXC, no DXC runtime needed (#339, #354) by @vangel76 in https://github.com/storytold/gridcraft/pull/382\n* View: restore and save the scroll position (topLeftCell) (#378) by @vangel76 in https://github.com/storytold/gridcraft/pull/383\n* Review: Protect Workbook dialog with an Excel-compatible password (#345) by @vangel76 in https://github.com/storytold/gridcraft/pull/384\n* Review: Protect Sheet passwords use Excel-compatible hashes, kept in XLSX (#346) by @vangel76 in https://github.com/storytold/gridcraft/pull/387\n* Keyboard: Shift+Space and Ctrl+Space select without starting an edit (#338) by @vangel76 in https://github.com/storytold/gridcraft/pull/395\n* Data validation: relative formulas, checked with the value being entered by @nihilist-narwhal in https://github.com/storytold/gridcraft/pull/397\n* Defined names: relative references follow the cell that uses the name by @nihilist-narwhal in https://github.com/storytold/gridcraft/pull/398\n* XLSX: write the _xlfn. prefix for GROUPBY, PIVOTBY, ENCODEURL and the REGEX functions by @nihilist-narwhal in https://github.com/storytold/gridcraft/pull/399\n* INDEX: arrays of row and column numbers pick a value each by @nihilist-narwhal in https://github.com/storytold/gridcraft/pull/400\n* Web: native Save and Save As file picker with download fallback by @GhostMitra in https://github.com/storytold/gridcraft/pull/391\n* XLOOKUP: return a reference when the result range is one by @nihilist-narwhal in https://github.com/storytold/gridcraft/pull/396\n* Web & UI: resolve system theme preference and default web to system theme by @GhostMitra in https://github.com/storytold/gridcraft/pull/390\n* Web: add favicon to web app index and disable dev incremental compilation by @GhostMitra in https://github.com/storytold/gridcraft/pull/392\n* File: desktop Print opens the system PDF viewer, Save As offers PDF/CSV/HTML (#370, #343) by @vangel76 in https://github.com/storytold/gridcraft/pull/394\n* Draw the outline band for grouped rows and columns (#373) by @itrycodinganditsbad in https://github.com/storytold/gridcraft/pull/388\n* Drawing: text box formatting — run size/bold/font/outline, alignment, anchor, no outline (#377) by @vangel76 in https://github.com/storytold/gridcraft/pull/401\n* UI fonts: formula bar falls back to the cell font, so Hebrew isn't boxes (#349) by @vangel76 in https://github.com/storytold/gridcraft/pull/402\n* Headers and footers: first-page and even-page variants, Insert › Header & Footer edits in place (#344) by @vangel76 in https://github.com/storytold/gridcraft/pull/404\n* Scatter charts of two unlabelled columns plot the first as X for one series (#428) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/438\n* Rotated text follows the cell's alignment by @itrycodinganditsbad in https://github.com/storytold/gridcraft/pull/439\n* Refuse formulas with the wrong argument count on entry (#363) by @shrshk in https://github.com/storytold/gridcraft/pull/409\n* Keytips: table-driven sequential access-key system (issues #33, #49) by @jsymes21-byte in https://github.com/storytold/gridcraft/pull/411\n* Keytips: full Excel sequential Alt table — 364 sequences, badges on every control, generated tests (fixes #33, #49) by @jsymes21-byte in https://github.com/storytold/gridcraft/pull/412\n* i18n: add French (fr) interface by @pechnikov2026-star in https://github.com/storytold/gridcraft/pull/413\n* CI: run cargo xtask ci on pull requests and pushes to main by @neilcawse in https://github.com/storytold/gridcraft/pull/415\n* CLI: check subcommand - cached-value calc oracle and XLSX round-trip fidelity on any corpus by @neilcawse in https://github.com/storytold/gridcraft/pull/416\n* Numfmt: fraction literals and zero fractions, `?` pads thousands separator, TEXT booleans through text section by @neilcawse in https://github.com/storytold/gridcraft/pull/418\n* Functions: MODE/VALUE/SUMPRODUCT text args, ADDRESS [Book]Sheet, Excel-style lookup bisection, SUBTOTAL skips filtered rows by @neilcawse in https://github.com/storytold/gridcraft/pull/419\n* Formulas: trim-reference operators (A1:.E10, A1.:E10, A1.:.E10); read unbracketed [[#This Row],Col] by @neilcawse in https://github.com/storytold/gridcraft/pull/420\n* Calc: iterative calculation for circular references (Maximum Iterations, Maximum Change) by @neilcawse in https://github.com/storytold/gridcraft/pull/421\n* File formats: CSV/TSV export writes displayed values; templates and .xlsm saved with their own content types by @neilcawse in https://github.com/storytold/gridcraft/pull/422\n* XLSX: strip _xlpm. from LET/LAMBDA parameters on read, keep line breaks in table columns, allow leading backslash in table names by @neilcawse in https://github.com/storytold/gridcraft/pull/423\n* Charts: read, write and draw trendlines by @neilcawse in https://github.com/storytold/gridcraft/pull/424\n* Engine: command-sequence fuzz harness (undo/redo, XLSX round-trip, full-recalc invariants) and the bugs it found by @neilcawse in https://github.com/storytold/gridcraft/pull/425\n* CSV: saving keeps the separator the file was opened with (#426) by @vedran-dobos in https://github.com/storytold/gridcraft/pull/427\n* Fix AutoFit width for table and AutoFilter dropdowns by @derechopiano in https://github.com/storytold/gridcraft/pull/433\n* Open password-encrypted workbooks (Agile and Standard encryption) (#11) by @LloydNicholson in https://github.com/storytold/gridcraft/pull/436\n* Print: select printers and submit jobs through craft-print by @skylartaylor in https://github.com/storytold/gridcraft/pull/459\n* Release workflow: pass the Azure signing secrets by @echelon in https://github.com/storytold/gridcraft/pull/440\n\n## New Contributors\n* @webdevtodayjason made their first contribution in https://github.com/storytold/gridcraft/pull/232\n* @MacJedi42 made their first contribution in https://github.com/storytold/gridcraft/pull/253\n* @alexanderalber made their first contribution in https://github.com/storytold/gridcraft/pull/262\n* @ttrudging made their first contribution in https://github.com/storytold/gridcraft/pull/272\n* @vangel76 made their first contribution in https://github.com/storytold/gridcraft/pull/274\n* @Zarvinx made their first contribution in https://github.com/storytold/gridcraft/pull/222\n* @Dejan-Port made their first contribution in https://github.com/storytold/gridcraft/pull/223\n* @pkibiego made their first contribution in https://github.com/storytold/gridcraft/pull/231\n* @diegozpy made their first contribution in https://github.com/storytold/gridcraft/pull/242\n* @arekown made their first contribution in https://github.com/storytold/gridcraft/pull/271\n* @Losminek made their first contribution in https://github.com/storytold/gridcraft/pull/335\n* @Fly-Style made their first contribution in https://github.com/storytold/gridcraft/pull/352\n* @mikl0s made their first contribution in https://github.com/storytold/gridcraft/pull/207\n* @AlissonFA made their first contribution in https://github.com/storytold/gridcraft/pull/261\n* @arcanii made their first contribution in https://github.com/storytold/gridcraft/pull/265\n* @ege-arhan made their first contribution in https://github.com/storytold/gridcraft/pull/360\n* @zaidshurbaji made their first contribution in https://github.com/storytold/gridcraft/pull/193\n* @gyurix made their first contribution in https://github.com/storytold/gridcraft/pull/203\n* @GhostMitra made their first contribution in https://github.com/storytold/gridcraft/pull/391\n* @shrshk made their first contribution in https://github.com/storytold/gridcraft/pull/409\n* @jsymes21-byte made their first contribution in https://github.com/storytold/gridcraft/pull/411\n* @pechnikov2026-star made their first contribution in https://github.com/storytold/gridcraft/pull/413\n* @neilcawse made their first contribution in https://github.com/storytold/gridcraft/pull/415\n* @vedran-dobos made their first contribution in https://github.com/storytold/gridcraft/pull/427\n* @derechopiano made their first contribution in https://github.com/storytold/gridcraft/pull/433\n* @skylartaylor made their first contribution in https://github.com/storytold/gridcraft/pull/459\n\n**Full Changelog**: https://github.com/storytold/gridcraft/compare/v0.5.0...v0.6.1","assets":[{"name":"gridcraft-0.6.1-freebsd-x86_64.tar.gz","size_bytes":19233125,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-freebsd-x86_64.tar.gz","sha256":"44f285143bb11eb637f655739ed7b8e67c5e04e9631c2894989aeab2e2b974be","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"gridcraft-0.6.1-linux-aarch64.AppImage","size_bytes":17209864,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-linux-aarch64.AppImage","sha256":"9669cf7e0dd66b0aa4ef3569f1f37a2f683f8889df3af79adc4f697c5a5a3f77","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"gridcraft-0.6.1-linux-aarch64.AppImage.zsync","size_bytes":59075,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-linux-aarch64.AppImage.zsync","sha256":"ab16a6bb70d14c5be524e38e1eba4ff9c64c2a6a07b751170989dd0b3afbcc75","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"gridcraft-0.6.1-linux-aarch64.deb","size_bytes":18828768,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-linux-aarch64.deb","sha256":"8e5b8fea1f69fca37ec0dd33d9924e32439e860464487c9bcd14be855a182a0b","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"gridcraft-0.6.1-linux-aarch64.flatpak","size_bytes":11454544,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-linux-aarch64.flatpak","sha256":"ff948566c69b4c1bbc55e8e0260250039606a235c0b25019db34a4e4193d952c","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"gridcraft-0.6.1-linux-aarch64.rpm","size_bytes":18634156,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-linux-aarch64.rpm","sha256":"c1bdfc1512dfba08f3be4bb9aa14ed33de14c345e4f862fc60cb5bed22b285a3","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"gridcraft-0.6.1-linux-aarch64.tar.gz","size_bytes":17963823,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-linux-aarch64.tar.gz","sha256":"ec8e2c43653d24382f59cb167643b487b2d5063cb21efa0ad1ef25ebe24a500a","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"gridcraft-0.6.1-linux-riscv64.deb","size_bytes":19178920,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-linux-riscv64.deb","sha256":"301b2d09d645a7c6c451a377d389fb1aee40831ca8611adc5060724970c92fe3","platform":null},{"name":"gridcraft-0.6.1-linux-riscv64.rpm","size_bytes":19144668,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-linux-riscv64.rpm","sha256":"4784650cf684805510147529eb297781aeaccda2e76d4b3af709b4014a5761af","platform":null},{"name":"gridcraft-0.6.1-linux-riscv64.tar.gz","size_bytes":18757761,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-linux-riscv64.tar.gz","sha256":"5c9f96c4955f750b7d84bc1bf1de0f278c1988abdb1c0a8a91602a4af63a46e6","platform":null},{"name":"gridcraft-0.6.1-linux-x86_64.AppImage","size_bytes":18655736,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-linux-x86_64.AppImage","sha256":"9db72f49a856f439a5c89b3eb4fd3ed51c4a7a996ebe6692e58d1e8f5da3c954","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"gridcraft-0.6.1-linux-x86_64.AppImage.zsync","size_bytes":64015,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-linux-x86_64.AppImage.zsync","sha256":"66c2d1fda622cb3cb7f6b1f9d098fa66f1afc8fd89a45f97c2b8564bad953ae4","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"gridcraft-0.6.1-linux-x86_64.deb","size_bytes":19962882,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-linux-x86_64.deb","sha256":"002e695c88a676d1f4a156433b6a842a08705047a3b7f74ef553048d44f43620","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"gridcraft-0.6.1-linux-x86_64.flatpak","size_bytes":13205360,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-linux-x86_64.flatpak","sha256":"cef385ccfb4ce5bb3f5a9fde487bb521eed70de0e9825a21394bbb6ae1abf688","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"gridcraft-0.6.1-linux-x86_64.rpm","size_bytes":19826965,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-linux-x86_64.rpm","sha256":"b4e9f740b11f94baa13c67f9e7acaa16bfe3c06fd8d93e576bfd9c79fc34b640","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"gridcraft-0.6.1-linux-x86_64.tar.gz","size_bytes":19463556,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-linux-x86_64.tar.gz","sha256":"61163b62d9faf814b864e1b255d15dc310a71a72ca03d8791fa8024420162745","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"gridcraft-0.6.1-macos-universal.dmg","size_bytes":24108030,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-macos-universal.dmg","sha256":"65b374d3098e7c6a76de93babccfe561201a02629433a392463c9eb298a3ba4f","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"gridcraft-0.6.1-windows-arm64-portable.zip","size_bytes":16832902,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-windows-arm64-portable.zip","sha256":"484b879e301a24ddbbfb3a3555883cfbffad3852d7bd953a866002588abd2431","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"gridcraft-0.6.1-windows-arm64.msi","size_bytes":12361728,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-windows-arm64.msi","sha256":"fd8c1e99ed34e45d1a1721e9ab5bda708cbc348290d51bbd582244814b1a1c89","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"gridcraft-0.6.1-windows-x64-portable.zip","size_bytes":18213819,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-windows-x64-portable.zip","sha256":"595604b4be6f395c02bc15f99e3e6e2babde964cb9ae17aad7824981bcc14ce0","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"gridcraft-0.6.1-windows-x64.msi","size_bytes":13819904,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-windows-x64.msi","sha256":"984e9a85942ce55953ce2b875c4e93ddd70d47fb4bf5f07c74d1d9f9b98e56c9","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"gridcraft-0.6.1-windows-x86-portable.zip","size_bytes":16804877,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-windows-x86-portable.zip","sha256":"377114e3e936770184885fb37bbded4d3766f8abc637c841ab9bacdf7ffbcd0c","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"gridcraft-0.6.1-windows-x86.msi","size_bytes":13115392,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-0.6.1-windows-x86.msi","sha256":"e692a3b69adc5e1b0d468f40f8f7fc71625391ecbb09862328a5a053f8edb3ca","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"gridcraft-cli-0.6.1-macos-universal.zip","size_bytes":10773074,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-cli-0.6.1-macos-universal.zip","sha256":"9995ed7f132a596a456591faef825e304e69596488422d777275e03af38d5fca","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"gridcraft-web-0.6.1.zip","size_bytes":6961445,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/gridcraft-web-0.6.1.zip","sha256":"86048ba175689ff852c141d6115e5491f0856f891300c3e1f91274b9c2709a42","platform":{"os":"web","arch":null,"package_type":"web_zip"}},{"name":"SHA256SUMS.txt","size_bytes":2564,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.6.1/SHA256SUMS.txt","sha256":"e68d775c88907f8fb7528b2dd68cfd68010d17a400140734ee4052751df88793","platform":null}]},"app_last_fetched":"2026-10-13T23:55:19.528958145Z"},"lightcraft":{"name":"LightCraft","repo":"storytold/lightcraft","latest_release":{"tag":"v0.7.1","version":"0.7.1","name":"LightCraft v0.7.1","published_at":"2026-10-12T21:22:50Z","html_url":"https://github.com/storytold/lightcraft/releases/tag/v0.7.1","prerelease":false,"notes_markdown":"## What's Changed\n* Add shared docking while preserving photo tools and catalog drops by @skylartaylor in https://github.com/storytold/lightcraft/pull/869\n* Integration batch 26: 31 reviewed contributor PRs by @bflatastic in https://github.com/storytold/lightcraft/pull/975\n* Brush mask: holding the brush still adds no coverage; flow builds up by passes (#518) by @bitshiftza in https://github.com/storytold/lightcraft/pull/767\n* KEY-ESC: Esc leaves the crop tool before leaving Detail by @PiMinusMax in https://github.com/storytold/lightcraft/pull/772\n* LR-CROP-FLIP: Flip H / Flip V show in the crop tool by @PiMinusMax in https://github.com/storytold/lightcraft/pull/773\n* LR-IMP-CAMERA-COVERAGE: SRF and DSLR-A100 raws open again (#702) by @AlexChambers in https://github.com/storytold/lightcraft/pull/774\n* LR-BEHAV-GPU: no indirect-call validation pipeline, which Intel Metal fails to compile (issue #250) by @radialmonster in https://github.com/storytold/lightcraft/pull/779\n* System Info, All Metadata and What's New end with one Close button, like About (#782) by @bitshiftza in https://github.com/storytold/lightcraft/pull/785\n* LR-EDIT-RESET: Reset Edits returns a raw to its import defaults, sharpening and colour NR included by @radialmonster in https://github.com/storytold/lightcraft/pull/792\n* Fix #714: mouse wheel zooms the loupe around the pointer by @PierrunoYT in https://github.com/storytold/lightcraft/pull/799\n* Fix reject flag spacing in the bottom toolbar by @shurkanTwo in https://github.com/storytold/lightcraft/pull/803\n* Block background interaction while dialogs are open by @shurkanTwo in https://github.com/storytold/lightcraft/pull/809\n* LR-VIEW-BEFOREAFTER: zoomed side by side / stacked views stay in their panes by @PiMinusMax in https://github.com/storytold/lightcraft/pull/817\n* CR3: decode CRX quantisation step 44 (QP 168), Canon EOS R50 C-RAW by @radialmonster in https://github.com/storytold/lightcraft/pull/829\n* LR-META-EXIF-FULL: All Metadata shows the raw image's Compression by @radialmonster in https://github.com/storytold/lightcraft/pull/831\n* web: stop the release zip shipping Cargo build artifacts (#793) by @eliets2 in https://github.com/storytold/lightcraft/pull/848\n* LR-CROP-STRAIGHTEN: the rotate pointer faces away from its side of the crop box by @john01px2022 in https://github.com/storytold/lightcraft/pull/855\n* LR-PROF-CAMERACOLOR: near-black pixels no longer turn white in the camera look by @PiMinusMax in https://github.com/storytold/lightcraft/pull/858\n* test(engine): cover mixed Windows path separators in folder synchronization by @THEtheChad in https://github.com/storytold/lightcraft/pull/873\n* LR-HDR-EXPORT: HDR renders keep the camera tone curve in the midtones by @robmdunn in https://github.com/storytold/lightcraft/pull/877\n* fix(ui): show completion feedback for library maintenance and Auto Sync by @Ni-zav in https://github.com/storytold/lightcraft/pull/883\n* fix(query): prevent catalog pagination overflow on 32-bit web builds by @Ni-zav in https://github.com/storytold/lightcraft/pull/885\n* Tests: hold the MCP export-cancel test's export after its first photo until cancelled (#674) by @ingolfteetz in https://github.com/storytold/lightcraft/pull/935\n* Dropping photos with XMP sidecars no longer imports the sidecars as presets (#936) by @MarekSpodBiedry in https://github.com/storytold/lightcraft/pull/943\n* Masking: Color Range \"Pick\" button samples the photo by @emmertex in https://github.com/storytold/lightcraft/pull/957\n* LR-VIEW-BEFOREAFTER: click tools work in the Before view of side by side / top-bottom by @PiMinusMax in https://github.com/storytold/lightcraft/pull/746\n* LR-VIEW-COMPARE: a filmstrip click shows the photo in Compare by @PiMinusMax in https://github.com/storytold/lightcraft/pull/747\n* LR-EDIT-COLOR-WB-PICKER: the selector button does what W does by @PiMinusMax in https://github.com/storytold/lightcraft/pull/748\n* raw: find the saturation plateau despite stray samples above it (CR2 white level) by @TicT4x in https://github.com/storytold/lightcraft/pull/753\n* LR-IMP-FORMATS: EOS R5 Mark II crop-mode CR3s develop without a black band by @radialmonster in https://github.com/storytold/lightcraft/pull/754\n* LR-IMP-CAMERA-COVERAGE: Nikon D4 image area and white level, measured against its camera JPEG by @Unemars in https://github.com/storytold/lightcraft/pull/759\n* Return applies the Copy Settings and Paste Selected Settings dialogs (#735) by @bitshiftza in https://github.com/storytold/lightcraft/pull/760\n* Integration batches 27–30: 80 reviewed contributor PRs by @bflatastic in https://github.com/storytold/lightcraft/pull/981\n* Fix immediate slider value entry and Reset precedence by @sanyamsingh001 in https://github.com/storytold/lightcraft/pull/952\n* fix(macos): validate signed app in final DMG (#863) by @xristosmoug in https://github.com/storytold/lightcraft/pull/959\n* LRC-LIB-CATALOG-IMPORT: describe raws from their headers without reading pixel data (step 1 of #832) by @ingolfteetz in https://github.com/storytold/lightcraft/pull/961\n* LR-IMP-PROFILES: .cube-only imports report their profiles and failures (#942) by @bflatastic in https://github.com/storytold/lightcraft/pull/970\n* LR-EDIT-DETAIL-DENOISE: dismissing the model setup turns AI Denoise back off (#922) by @bflatastic in https://github.com/storytold/lightcraft/pull/971\n* UI: star rating previews the hovered rating, Info tab and bottom bar (#647) by @MarekSpodBiedry in https://github.com/storytold/lightcraft/pull/665\n* Headless sessions honour LIGHTCRAFT_SAM3_DIR for the SAM 3 model folder (#619) by @MarekSpodBiedry in https://github.com/storytold/lightcraft/pull/666\n* Issue #99: lock tests: keep the child-process test from overlapping the others by @AlexChambers in https://github.com/storytold/lightcraft/pull/679\n* Right-click ▸ Add to Album offers New Album…, also with no album yet (#676) by @bitshiftza in https://github.com/storytold/lightcraft/pull/685\n* DNG bad-pixel opcodes: cap the pixels they repair by @haranishi in https://github.com/storytold/lightcraft/pull/686\n* XMP merge: keep refusing repeated attributes, in linear time by @haranishi in https://github.com/storytold/lightcraft/pull/687\n* LR-IMP-CAMERA-COVERAGE: Sony DSC-R1 reads its SR2SubIFD (black, white balance, crop): seed derived from the key by @radialmonster in https://github.com/storytold/lightcraft/pull/689\n* LR-PREF-PERFORMANCE: cover every GPU kernel build with the crash marker, catch internal compile errors (#250) by @radialmonster in https://github.com/storytold/lightcraft/pull/694\n* LR-EDIT-OPTICS-PROFILE: keep Sony aspect crops outside validated corrections by @QuirkyTurtle94 in https://github.com/storytold/lightcraft/pull/695\n* In-window menus: a scrolled menu draws no scrollbar over its shortcut text (#691) by @bitshiftza in https://github.com/storytold/lightcraft/pull/696\n* LR-IMP-FORMATS: decode Kodak DCS520C raw TIFF (two-component lossless JPEG with response curve) by @radialmonster in https://github.com/storytold/lightcraft/pull/700\n* Read Lightroom spot removal (crs:RetouchAreas, RetouchInfo) from sidecars and presets by @aayusharora in https://github.com/storytold/lightcraft/pull/703\n* spot.findBlemishes: heal small blemishes on detected faces (classical, no new model) by @aayusharora in https://github.com/storytold/lightcraft/pull/704\n* Catalog lock: release the library lock explicitly on drop, not by closing the handle (#680) by @bitshiftza in https://github.com/storytold/lightcraft/pull/710\n* GPU fallback reason per render; the export fallback test no longer reads process-wide state (#675) by @bitshiftza in https://github.com/storytold/lightcraft/pull/712\n* docs: point to the two Olympus patents as a clean-room base for compressed ORF by @feffef in https://github.com/storytold/lightcraft/pull/716\n* Hold Shift while dragging a crop handle to keep proportions by @itrycodinganditsbad in https://github.com/storytold/lightcraft/pull/720\n* Linux/FreeBSD: file dialogs are children of the app window (Wayland portal parent) by @jazzautomations in https://github.com/storytold/lightcraft/pull/721\n* Upper-case extensions: #705 is #342, fixed in 0.5.0; import/browse/sidecar coverage for .JPG, .Jpg, .NEF, .XMP by @bitshiftza in https://github.com/storytold/lightcraft/pull/723\n* Importing a deleted photo's file again brings it back from Recently Deleted (#706) by @bitshiftza in https://github.com/storytold/lightcraft/pull/726\n* Web: a failed render worker start no longer shifts the other workers' slots (#229) by @MarekSpodBiedry in https://github.com/storytold/lightcraft/pull/728\n* Denoise: a running job's picture is Ready only when the job reports, not when its file appears (#719) by @bitshiftza in https://github.com/storytold/lightcraft/pull/729\n* LR-EDIT-OPTICS-PROFILE: apply embedded Fujifilm RAF distortion and vignetting tables by @radialmonster in https://github.com/storytold/lightcraft/pull/734\n* Linux: default to XWayland for file drag-and-drop on Wayland desktops by @dylanmtaylor in https://github.com/storytold/lightcraft/pull/738\n* README: add a Simplified Chinese translation (zh-hans) by @lzjtugjc in https://github.com/storytold/lightcraft/pull/749\n* LR-BEHAV-LOCALIZE: craft-fonts faces of other scripts are UI fallbacks (#736) by @radialmonster in https://github.com/storytold/lightcraft/pull/750\n* LR-PREF-DISPLAY: macOS previews follow the screen's profile, so they match exports (#787) by @LloydNicholson in https://github.com/storytold/lightcraft/pull/791\n* LR-EDIT-OPTICS-PROFILE: apply DNG WarpRectilinear2 lens corrections (Pixel DNGs, #635) by @radialmonster in https://github.com/storytold/lightcraft/pull/794\n* Color Grading: Shift-drag saturation lock, range tabs, per-wheel eye (#737, #559) by @sajibsrs in https://github.com/storytold/lightcraft/pull/825\n* fix(export): expose all nine watermark positions and adjustable inset by @Ni-zav in https://github.com/storytold/lightcraft/pull/833\n* fix(previews): shard new smart previews while retaining legacy files by @Ni-zav in https://github.com/storytold/lightcraft/pull/834\n* LR-EXP-WATERMARK: preview the watermark in the Export dialog (#827) by @john01px2022 in https://github.com/storytold/lightcraft/pull/843\n* LR-EXP-WATERMARK: separate horizontal and vertical watermark insets (#827, stacked on #833) by @john01px2022 in https://github.com/storytold/lightcraft/pull/845\n* LR-EXP-WATERMARK: rotate the watermark in quarter turns (#827, stacked on #845) by @john01px2022 in https://github.com/storytold/lightcraft/pull/847\n* LR-PROF-CAMERACOLOR: read an untagged camera JPEG in the colour space the raw's EXIF states (#778) by @radialmonster in https://github.com/storytold/lightcraft/pull/854\n* LR-BEHAV-UNDO: keep file history consistent after failed renames by @sanyamsingh001 in https://github.com/storytold/lightcraft/pull/874\n* fix(sliders): nudge selected sliders with the wheel and arrow keys by @Ni-zav in https://github.com/storytold/lightcraft/pull/884\n* Progress docs: gaps.md reviewed after 0.6.0 by @cookingwithsimon in https://github.com/storytold/lightcraft/pull/887\n* README: point the font-standard note at craft-fonts (#826) by @vbasky in https://github.com/storytold/lightcraft/pull/890\n* LR-VIEW-ZOOM: sharp 1:1 in Compare and Reference (zoom windows per pane) by @cookingwithsimon in https://github.com/storytold/lightcraft/pull/900\n* Open Library recognises a Lightroom catalog and offers to import it (#891) by @bitshiftza in https://github.com/storytold/lightcraft/pull/907\n* Drafts keep the wide planes across a noise-reduction change (CPU NR drag) by @emmertex in https://github.com/storytold/lightcraft/pull/923\n* Export: Remove location info also covers Original and DNG formats by @emmertex in https://github.com/storytold/lightcraft/pull/925\n* Content-aware Remove: inpaint crate (PatchMatch) and a Fill spot mode by @emmertex in https://github.com/storytold/lightcraft/pull/926\n* Perf: parallel preview builds and faster hue/saturation tables by @emmertex in https://github.com/storytold/lightcraft/pull/927\n* Soft proofing against printer ICC profiles: intent, Simulate Paper & Ink, device gamut warning by @emmertex in https://github.com/storytold/lightcraft/pull/928\n* View: Lights Out (Shift+L), like Lightroom Classic by @emmertex in https://github.com/storytold/lightcraft/pull/945\n* Library switching: New Library…, Open Recent Library, library name in the title by @emmertex in https://github.com/storytold/lightcraft/pull/946\n* Library: create folders on disk and move photos between folders by @emmertex in https://github.com/storytold/lightcraft/pull/947\n* Reverse geocoding: fill City / State / Country from GPS (offline GeoNames) by @emmertex in https://github.com/storytold/lightcraft/pull/948\n* UI: favorite themes and appearance shortcuts by @luniiya in https://github.com/storytold/lightcraft/pull/950\n* Fix #812: the window's renderer can't kill the start-up (DX12 shader errors) by @emmertex in https://github.com/storytold/lightcraft/pull/951\n* LR-EXP-PSD: Edit in PhotoCraft (right-click Edit In, flat PSD hand-off) by @cookingwithsimon in https://github.com/storytold/lightcraft/pull/953\n* masking: keep zoom and pan while masking; improve sky mask edges by @David-T-Campos in https://github.com/storytold/lightcraft/pull/547\n* Remember the last crop aspect as the default by @danielspruce in https://github.com/storytold/lightcraft/pull/617\n* LR-IMP-FORMATS: Sony ARW6 (Compressed RAW 2) decoder for the ILCE-7RM6 by @dev-null-undefined in https://github.com/storytold/lightcraft/pull/625\n* LR-EDIT-LIGHT-HIGHLIGHTS: keep local contrast under Highlights and Shadows by @radialmonster in https://github.com/storytold/lightcraft/pull/645\n* HDR: read crs:HDREditMode from XMP into hdr.enabled by @JordyUSA in https://github.com/storytold/lightcraft/pull/663\n* HDR: PNG export as 16-bit Rec. 2020 PQ (cICP, cLLI) by @JordyUSA in https://github.com/storytold/lightcraft/pull/664\n* LRC-LIB-CATALOG-IMPORT: find moved root folders relative to the catalog by @mrpdaemon in https://github.com/storytold/lightcraft/pull/667\n* UI: Add system appearance and light themes by @luniiya in https://github.com/storytold/lightcraft/pull/683\n* HDR: HDR button next to B&W in the Edit panel header (as Lightroom) by @JordyUSA in https://github.com/storytold/lightcraft/pull/688\n* Settings ▸ Faces: Recognise faces stays off until a recognition model is chosen (#678) by @bitshiftza in https://github.com/storytold/lightcraft/pull/698\n* AI Denoise: run tiles on another computer's graphics card (remote offload) by @akvaithi in https://github.com/storytold/lightcraft/pull/813\n* Integration batch 31: translations, raw header previews, XMP import warnings, Apple Photos, HDR histogram, JPEG XL, Edit In for many photos by @bflatastic in https://github.com/storytold/lightcraft/pull/998\n* Report unsupported XMP profiles & geometry during photo import by @bogusyogi in https://github.com/storytold/lightcraft/pull/434\n* LR-EXP-PHOTOS: add exported files to Apple Photos (macOS, #236) by @AlexChambers in https://github.com/storytold/lightcraft/pull/643\n* HDR: HDR histogram for HDR edits (fixed 5-stop scale, Lightroom layout) by @JordyUSA in https://github.com/storytold/lightcraft/pull/677\n* Complete Simplified Chinese (zh-hans) catalog by @Twdhsi-666 in https://github.com/storytold/lightcraft/pull/725\n* 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 https://github.com/storytold/lightcraft/pull/755\n* Updated Russian translation (again) by @wondarkus in https://github.com/storytold/lightcraft/pull/822\n* fix(windows): preserve legacy MSI install folders via App Paths by @THEtheChad in https://github.com/storytold/lightcraft/pull/879\n\n## New Contributors\n* @skylartaylor made their first contribution in https://github.com/storytold/lightcraft/pull/869\n* @PiMinusMax made their first contribution in https://github.com/storytold/lightcraft/pull/772\n* @PierrunoYT made their first contribution in https://github.com/storytold/lightcraft/pull/799\n* @shurkanTwo made their first contribution in https://github.com/storytold/lightcraft/pull/803\n* @eliets2 made their first contribution in https://github.com/storytold/lightcraft/pull/848\n* @john01px2022 made their first contribution in https://github.com/storytold/lightcraft/pull/855\n* @THEtheChad made their first contribution in https://github.com/storytold/lightcraft/pull/873\n* @robmdunn made their first contribution in https://github.com/storytold/lightcraft/pull/877\n* @Ni-zav made their first contribution in https://github.com/storytold/lightcraft/pull/883\n* @ingolfteetz made their first contribution in https://github.com/storytold/lightcraft/pull/935\n* @emmertex made their first contribution in https://github.com/storytold/lightcraft/pull/957\n* @TicT4x made their first contribution in https://github.com/storytold/lightcraft/pull/753\n* @Unemars made their first contribution in https://github.com/storytold/lightcraft/pull/759\n* @xristosmoug made their first contribution in https://github.com/storytold/lightcraft/pull/959\n* @haranishi made their first contribution in https://github.com/storytold/lightcraft/pull/686\n* @aayusharora made their first contribution in https://github.com/storytold/lightcraft/pull/703\n* @feffef made their first contribution in https://github.com/storytold/lightcraft/pull/716\n* @itrycodinganditsbad made their first contribution in https://github.com/storytold/lightcraft/pull/720\n* @jazzautomations made their first contribution in https://github.com/storytold/lightcraft/pull/721\n* @LloydNicholson made their first contribution in https://github.com/storytold/lightcraft/pull/791\n* @sajibsrs made their first contribution in https://github.com/storytold/lightcraft/pull/825\n* @luniiya made their first contribution in https://github.com/storytold/lightcraft/pull/950\n* @David-T-Campos made their first contribution in https://github.com/storytold/lightcraft/pull/547\n* @danielspruce made their first contribution in https://github.com/storytold/lightcraft/pull/617\n* @dev-null-undefined made their first contribution in https://github.com/storytold/lightcraft/pull/625\n* @JordyUSA made their first contribution in https://github.com/storytold/lightcraft/pull/663\n* @mrpdaemon made their first contribution in https://github.com/storytold/lightcraft/pull/667\n* @Twdhsi-666 made their first contribution in https://github.com/storytold/lightcraft/pull/725\n\n**Full Changelog**: https://github.com/storytold/lightcraft/compare/v0.6.0...v0.7.1","assets":[{"name":"lightcraft-0.7.1-freebsd-x86_64.tar.gz","size_bytes":103341105,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-0.7.1-freebsd-x86_64.tar.gz","sha256":"0904ad8ba35b1a449254aa24c2c65ef9fcbdba3ee3d4d378339770a2ce23e50c","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"lightcraft-0.7.1-linux-aarch64.AppImage","size_bytes":94657032,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-0.7.1-linux-aarch64.AppImage","sha256":"789419fd038ae857a0b5caa1968cc7247ae479c3819deabedaa42c11ab91733e","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"lightcraft-0.7.1-linux-aarch64.AppImage.zsync","size_bytes":323789,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-0.7.1-linux-aarch64.AppImage.zsync","sha256":"f267c065bc13c3db422485098766588c072e5cd40f387f8e6df7cf82621763f6","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"lightcraft-0.7.1-linux-aarch64.deb","size_bytes":101854030,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-0.7.1-linux-aarch64.deb","sha256":"5f6daf4b5c485bbfc49138802f0e781e05f5d08c9e6460127a9ef475b9920647","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"lightcraft-0.7.1-linux-aarch64.flatpak","size_bytes":72121928,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-0.7.1-linux-aarch64.flatpak","sha256":"921da676269b6b740722b80bb360b81abb0006e71fbb669ffb71042be2e030f1","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"lightcraft-0.7.1-linux-aarch64.rpm","size_bytes":101158896,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-0.7.1-linux-aarch64.rpm","sha256":"64076f0ca39ce4c5c9bc8957f03ac8c4ee0f311a87ebe444a1628b8347f798c1","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"lightcraft-0.7.1-linux-aarch64.tar.gz","size_bytes":99517877,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-0.7.1-linux-aarch64.tar.gz","sha256":"26de6212cd6a13d5d2ca758e0cf6b12b1bbf00b94834520992cee516481174a2","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"lightcraft-0.7.1-linux-riscv64.tar.gz","size_bytes":101258043,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-0.7.1-linux-riscv64.tar.gz","sha256":"04dafe211d9f55785fb95b3495de3900c50725d6a1f859d673080a4d26112f1e","platform":null},{"name":"lightcraft-0.7.1-linux-x86_64.AppImage","size_bytes":98630136,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-0.7.1-linux-x86_64.AppImage","sha256":"78078794a6bd8f1026036f2503a1cf716ad2c3b57e1ca8b2bdc46472099c1e48","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"lightcraft-0.7.1-linux-x86_64.AppImage.zsync","size_bytes":337367,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-0.7.1-linux-x86_64.AppImage.zsync","sha256":"8ccf5233a6b118c6ce4c1dcf8cf93522ded69e2fc02e835d7e8f93f051ec9baa","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"lightcraft-0.7.1-linux-x86_64.deb","size_bytes":105295820,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-0.7.1-linux-x86_64.deb","sha256":"b00b8ace27222ef4eb566aa276100e81e9241ee81e78b6ccb133d0edf8fa863e","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"lightcraft-0.7.1-linux-x86_64.flatpak","size_bytes":76361760,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-0.7.1-linux-x86_64.flatpak","sha256":"c1ce75a772e29ed7b16864053bde6683a076fbaf54560fb343d77220eaadd284","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"lightcraft-0.7.1-linux-x86_64.rpm","size_bytes":104687810,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-0.7.1-linux-x86_64.rpm","sha256":"dced13fbe81bb9b016413879ad5cccf2295352d2b2149487053ebfac6925b099","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"lightcraft-0.7.1-linux-x86_64.tar.gz","size_bytes":103819908,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-0.7.1-linux-x86_64.tar.gz","sha256":"842881f5ad16502df11eeef4c28e5dcf2c5d66b7d4d838af7179a3fd2e0cb6c0","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"lightcraft-0.7.1-macos-universal.dmg","size_bytes":107601789,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-0.7.1-macos-universal.dmg","sha256":"9c7aaf1ab532ee81819fded3ec451af5a2bad3b7c1b5c9d48e36b82239331457","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"lightcraft-0.7.1-windows-arm64-portable.zip","size_bytes":99932378,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-0.7.1-windows-arm64-portable.zip","sha256":"636e911dc4278cfd984495e6dd2f186d815169674ae55e1feaf310d662c42117","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"lightcraft-0.7.1-windows-arm64.msi","size_bytes":82755584,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-0.7.1-windows-arm64.msi","sha256":"968d715e08e956148e38ce3ee9cf010a7d5e069936a6153a6637063cc893c4eb","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"lightcraft-0.7.1-windows-x64-portable.zip","size_bytes":104014882,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-0.7.1-windows-x64-portable.zip","sha256":"07916edd78bd847c411e755faebe0cd199edcf49efb67357083dd2e36f7dbbda","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"lightcraft-0.7.1-windows-x64.msi","size_bytes":86724608,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-0.7.1-windows-x64.msi","sha256":"73de928a80e534557c7ce594620166b09a4eeaf6966f7a2735fced4b0909cb15","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"lightcraft-0.7.1-windows-x86-portable.zip","size_bytes":100653744,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-0.7.1-windows-x86-portable.zip","sha256":"0339fb7e5d6c99767e3693a55946fa959c5c07bb1ed69fb757ebbe20105fb955","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"lightcraft-0.7.1-windows-x86.msi","size_bytes":85438464,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-0.7.1-windows-x86.msi","sha256":"7e1f84ecb99316cdd0cbcda34ac60f97e594d95ef30a6cb69cc271748693262b","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"lightcraft-cli-0.7.1-macos-universal.zip","size_bytes":102338124,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-cli-0.7.1-macos-universal.zip","sha256":"0b87e0d29bd828de9eab31a527d18f4702fdfd2db53fb594849c12d07e865758","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"lightcraft-web-0.7.1.zip","size_bytes":66402662,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/lightcraft-web-0.7.1.zip","sha256":"cc1c33a23e82d5e7e9e34f75b46fa5de333fcfd3b852f57d9a051fe2e3f22fa9","platform":{"os":"web","arch":null,"package_type":"web_zip"}},{"name":"SHA256SUMS.txt","size_bytes":2387,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.7.1/SHA256SUMS.txt","sha256":"16f2ab0fd582766936946da2be560f1ae8eb17e7467e272fccdc12734738435c","platform":null}]},"app_last_fetched":"2026-10-13T23:55:12.825175847Z"},"pdfcraft":{"name":"PdfCraft","repo":"storytold/pdfcraft","latest_release":{"tag":"v0.7.1","version":"0.7.1","name":"PdfCraft v0.7.1","published_at":"2026-10-12T15:55:32Z","html_url":"https://github.com/storytold/pdfcraft/releases/tag/v0.7.1","prerelease":false,"notes_markdown":"## What's Changed\n* Adopt shared panel docking with document-aware visibility by @skylartaylor in https://github.com/storytold/pdfcraft/pull/966\n* Print: Windows lists its printers and spools jobs by @Mawfyy in https://github.com/storytold/pdfcraft/pull/847\n* M10: Windows printing prints at actual size, off the UI thread (follow-up to #847) by @echelon in https://github.com/storytold/pdfcraft/pull/1007\n* ci: refactor workflows to use storytold/craft-common-actions by @dylanmtaylor in https://github.com/storytold/pdfcraft/pull/1073\n* Text extraction: word gaps follow position on the line, not drawing order (#1062) by @pauliusiv123-rgb in https://github.com/storytold/pdfcraft/pull/1074\n* M7: watermark offset from the page centre (edit.watermark-appearance) by @Byxis in https://github.com/storytold/pdfcraft/pull/1076\n* M12: XFA script time limits start when the engine is ready by @arcanii in https://github.com/storytold/pdfcraft/pull/1081\n* Linux: draw on the GPU the Wayland compositor draws with by @atoslins in https://github.com/storytold/pdfcraft/pull/1088\n* doc_create from text refuses characters Helvetica can't draw (#959) by @sibrash4 in https://github.com/storytold/pdfcraft/pull/1030\n* Linux: StartupWMClass is the window's app id by @atoslins in https://github.com/storytold/pdfcraft/pull/1087\n* M4, #569: Combine files takes images and text files by @mlkonrad in https://github.com/storytold/pdfcraft/pull/1032\n* Return renderer initialization errors to the OpenGL startup fallback by @huferyliu in https://github.com/storytold/pdfcraft/pull/1042\n* Forms: encode appearances with the existing simple font by @piero-83 in https://github.com/storytold/pdfcraft/pull/1044\n* Forms: keep the accepted value when Tab wraps to the same field by @piero-83 in https://github.com/storytold/pdfcraft/pull/1045\n* CLI: reject malformed --root options before dispatch by @piero-83 in https://github.com/storytold/pdfcraft/pull/1048\n* Edit images: moving or resizing a clipped image moves its own clip too (#1022) by @MarekSpodBiedry in https://github.com/storytold/pdfcraft/pull/1049\n* M2: stream page content past the 256 MiB cap (item 1 of storytold/pdfcraft#623) by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/797\n* XFA: single-block forms paginate, open in their saved state, and show their signatures by @EULArule in https://github.com/storytold/pdfcraft/pull/1098\n* UI: a tool chosen with no document open asks for a file and runs on it by @michelleDeko in https://github.com/storytold/pdfcraft/pull/1100\n* M14: Enumerate form fields once on open by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/1011\n* Top bar: the Save button names its shortcut instead of \"(M4)\" (#962) by @DWAA1660 in https://github.com/storytold/pdfcraft/pull/1013\n* M14: correct Taiwan Traditional Chinese accessibility and form terms by @MaxTheHaters in https://github.com/storytold/pdfcraft/pull/1023\n* M10: Enhance camera image finds the document's edges; rotate, crop or organize after Enhance page (part 3 of #1008) by @magdale76 in https://github.com/storytold/pdfcraft/pull/1027\n* M9: stream structure-tree checks without a total-element cutoff by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/926\n* fix(macos): close the empty main window with Command-W by @Ni-zav in https://github.com/storytold/pdfcraft/pull/930\n* fix(xfdf): combine imported annotation flags with bitwise OR by @Ni-zav in https://github.com/storytold/pdfcraft/pull/931\n* feat(macos): declare document icon file for PDFs in Info.plist by @Totopo27 in https://github.com/storytold/pdfcraft/pull/933\n* macOS: the tab strip is the 28 pt band the traffic lights are centred in (#789) by @ch0kemeister in https://github.com/storytold/pdfcraft/pull/1055\n* Issues #444, #186: a mouse wheel scroll speed preference, faster by default on Windows and Linux by @AutoHenry in https://github.com/storytold/pdfcraft/pull/514\n* fix(ui): bookmark, comment and command filters match Turkish İ/ı in any case by @snipeTR in https://github.com/storytold/pdfcraft/pull/937\n* fix(annot): create mailto links for bare email addresses by @Ni-zav in https://github.com/storytold/pdfcraft/pull/941\n* Fix/noissue hyphenated print label ranges s20261010 t220019 z f82d4 by @Ni-zav in https://github.com/storytold/pdfcraft/pull/942\n* macOS: \"Reopen the files that were open\" starts from the system reopen-windows setting (#871) by @ch0kemeister in https://github.com/storytold/pdfcraft/pull/1053\n* Keep Border and Fill color palettes independent in field Properties by @sanyamsingh001 in https://github.com/storytold/pdfcraft/pull/1054\n* M2, #1060: axial and radial shadings draw as native gradients (InDesign fades 10× faster) by @mlkonrad in https://github.com/storytold/pdfcraft/pull/1061\n* UI: theme picker with light and dark theme cards by @luniiya in https://github.com/storytold/pdfcraft/pull/1082\n* Docs: sync the progress docs with issues closed on 2026-10-10 by @Ridzzz0Alam in https://github.com/storytold/pdfcraft/pull/1064\n* Fix plural forms for recent document page counts by @neronek22 in https://github.com/storytold/pdfcraft/pull/1065\n* Read mode: the rail's Bookmarks and other pane buttons open their panels (#932) by @DWAA1660 in https://github.com/storytold/pdfcraft/pull/947\n* Issue #948: the root-confinement test tries the symbolic-link escape only when the link was made by @pauliusiv123-rgb in https://github.com/storytold/pdfcraft/pull/949\n* fix(measure): include closing edges of every filled PDF subpath by @Ni-zav in https://github.com/storytold/pdfcraft/pull/952\n* demo-pdf: two fixes so xtask demo-pdf and xtask screenshots work on Windows by @pechnikov2026-star in https://github.com/storytold/pdfcraft/pull/954\n* M7: shard Japanese Type 3 fallback fonts across large edits by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/958\n* Typed signatures draw Cyrillic and Greek letters (#846) by @DWAA1660 in https://github.com/storytold/pdfcraft/pull/963\n* M7: shard Arabic generated glyph fonts instead of rejecting large text by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/967\n* M9: sign with CAC/PIV smart cards through the macOS Keychain by @sfv9 in https://github.com/storytold/pdfcraft/pull/968\n* M10: stream Create Multiple sources without a fixed file-count cutoff by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/978\n* M11: strip redundant ASCII stream wrappers during optimization by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/989\n* text_find stops reading pages once its limit is reached (#971) by @DWAA1660 in https://github.com/storytold/pdfcraft/pull/990\n* M14: a chosen interface size is absolute, as in PhotoCraft by @mitul72 in https://github.com/storytold/pdfcraft/pull/1005\n* docs(ocr): add model download step to build instructions by @mjohnson7cd in https://github.com/storytold/pdfcraft/pull/1006\n* M2: keep non-interpolated minified images sharp by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/635\n* docs: register the MCP server from an installed release by @sawizzle in https://github.com/storytold/pdfcraft/pull/643\n* M12: add deterministic snap property tests to the measure crate by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/714\n* Windows: Save asks where to keep an Outlook attachment instead of writing its temporary copy by @art804 in https://github.com/storytold/pdfcraft/pull/601\n* Chinese UI: draw with an installed Chinese face when the build has none (#826) by @YingQiu0871 in https://github.com/storytold/pdfcraft/pull/925\n* fix(ui): preserve scroll position when collapsing or resizing sidebars (#1056) by @omarelders in https://github.com/storytold/pdfcraft/pull/1069\n* render: don't let a hostile page-tree /Count abort inspection by @pechnikov2026-star in https://github.com/storytold/pdfcraft/pull/956\n* xfa, xfdf: refuse XML nested past 1024 levels instead of aborting the process by @pkibiego in https://github.com/storytold/pdfcraft/pull/987\n* M2: overlapping text runs stay whole; placement in arrange, bounded checks by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/748\n* pt-BR: lowercase month names in the date picker by @WladmirJunior in https://github.com/storytold/pdfcraft/pull/1089\n* M9: visible digital signatures can show a drawn, typed or image graphic (#193) by @kestrel99 in https://github.com/storytold/pdfcraft/pull/934\n* Issue #568: honour the document's copy permission (Table 22, bit 5) by @jay-tau in https://github.com/storytold/pdfcraft/pull/914\n* Viewer: Continuous scrolling is an independent checkbox over the base layout (#752) by @justinjohn0306 in https://github.com/storytold/pdfcraft/pull/896\n* M4: open Organize Pages as a selectable thumbnail overview by @lukashold in https://github.com/storytold/pdfcraft/pull/1004\n* Add an opt-in low-disk Cargo profile by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/951\n* Select tool: trigger multi-click text selection on pointer press (#1024) by @krinry in https://github.com/storytold/pdfcraft/pull/1040\n* M14: scan PdfCraft page-content markers once per document refresh by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/1016\n* Open dialog: allow selecting several files at once by @LucasT-dev in https://github.com/storytold/pdfcraft/pull/1086\n* Issue #431: reload a document when its file changes on disk by @pauliusiv123-rgb in https://github.com/storytold/pdfcraft/pull/459\n* fix(annot): validate finite link areas before add or edit by @Ni-zav in https://github.com/storytold/pdfcraft/pull/940\n* Add faux-redaction audit (paint-order and colour-aware, fail-closed) by @ejbarraza in https://github.com/storytold/pdfcraft/pull/110\n* fix(ui): prevent translated tool labels from overflowing and align German terminology by @Ni-zav in https://github.com/storytold/pdfcraft/pull/939\n* chore: bump github actions to fix Node 20 deprecation warnings by @dylanmtaylor in https://github.com/storytold/pdfcraft/pull/641\n* On-page text boxes keep a dark caret on their white backgrounds in the dark theme (#655) by @MarekSpodBiedry in https://github.com/storytold/pdfcraft/pull/734\n* Render visible pages before thumbnails and text extraction by @gyurix in https://github.com/storytold/pdfcraft/pull/950\n* Print: start PowerShell on Windows by its full path by @jcl-bit in https://github.com/storytold/pdfcraft/pull/1106\n* Comments: line breaks saved as CR show in comment text by @nicholasyoannou in https://github.com/storytold/pdfcraft/pull/1113\n* Cap unbounded editing and text caches; index form fields once by @chiranjeevi-max in https://github.com/storytold/pdfcraft/pull/1115\n* Fix text selection cursor on all tools toggle(View More - View Less Button) by @oussama-dalhi in https://github.com/storytold/pdfcraft/pull/1121\n* Print: architectural paper presets and PDF scale controls (#599 follow-up) by @durtyrobbin in https://github.com/storytold/pdfcraft/pull/1123\n* M10: Enhance camera image cleans the photo up and chooses its look (part 4 of #1008, closes #1034) by @magdale76 in https://github.com/storytold/pdfcraft/pull/1038\n* Security: fix 10 verified audit findings in redaction, signature validation, and untrusted-input handling by @JeremyYao in https://github.com/storytold/pdfcraft/pull/1099\n* feat: Scale down large signature images instead of rejecting (#1075) by @mjohnson7cd in https://github.com/storytold/pdfcraft/pull/1124\n* Forms: keep tiles and render unbaked field values during page re-render by @Piohrun in https://github.com/storytold/pdfcraft/pull/636\n* Issue #995 & #1077: unlock a restricted document with its permissions password by @Ridzzz0Alam in https://github.com/storytold/pdfcraft/pull/1127\n* Tests: consolidate safe ui-egui integration targets by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/992\n* fix(theme): complete Linux System appearance tracking by @coygeek in https://github.com/storytold/pdfcraft/pull/1017\n* Issue #432: global Units preference (mm, cm, in, pt), defaulting to the system region by @bulgariamitko in https://github.com/storytold/pdfcraft/pull/463\n* Give dialogs roomier text fields and padding by @bartalos86 in https://github.com/storytold/pdfcraft/pull/487\n* i18n: let the layers below hand their sentences over, so they can be translated by @feraremag2680 in https://github.com/storytold/pdfcraft/pull/478\n* Improve PDF Navigation with Cursor-Anchored Zoom and Mouse Panning by @mhadidi06 in https://github.com/storytold/pdfcraft/pull/504\n* M14: complete the Czech (cs) interface catalog by @Losminek in https://github.com/storytold/pdfcraft/pull/1066\n* M14: Italian catalog review: meaning, agreement, consistency (47 entries) by @magdale76 in https://github.com/storytold/pdfcraft/pull/1025\n* M14: Slovenian (Slovenščina) interface language by @spacekomet in https://github.com/storytold/pdfcraft/pull/1091\n* Add Greek (el) interface localization by @Camthalion77 in https://github.com/storytold/pdfcraft/pull/994\n* M14: Kazakh interface language by @pechnikov2026-star in https://github.com/storytold/pdfcraft/pull/955\n* feat(i18n): add complete Turkish interface language support by @yeniufuklar-com in https://github.com/storytold/pdfcraft/pull/1057\n* Content edits on heavy documents: narrow refresh, cached appearances, per-page invalidation by @MaksPV in https://github.com/storytold/pdfcraft/pull/1122\n* M7: Hebrew in Edit text (reading order, writing order, Hebrew glyphs) by @tzagim in https://github.com/storytold/pdfcraft/pull/521\n* Heavy pages: cull off-tile images, cache decodes, preview backdrops, calmer queues by @MaksPV in https://github.com/storytold/pdfcraft/pull/1117\n* M14: text the fonts can't draw is kept and reported, never written as ? silently by @kekeandzeyu in https://github.com/storytold/pdfcraft/pull/1112\n* M7: support shaped Thai text in Add Text and UI fallback fonts by @PuemMTH in https://github.com/storytold/pdfcraft/pull/767\n* M7: preserve overlapping text when dragging paragraphs (#594) by @FredApps in https://github.com/storytold/pdfcraft/pull/1052\n* Bound materialized text search matches (#971) by @rp6186030 in https://github.com/storytold/pdfcraft/pull/1164\n* XFA: import and export data files, and pictures for image fields by @ysrdevs in https://github.com/storytold/pdfcraft/pull/1175\n* docs(contributors): add Ufuk Efe to people.toml by @yeniufuklar-com in https://github.com/storytold/pdfcraft/pull/1177\n* Issue #1185: Protect refuses passwords that encryption would make empty or equal by @jay-tau in https://github.com/storytold/pdfcraft/pull/1186\n* M14: keep structural page order through inspection by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/1182\n* Raise workspace rust-version to 1.95 to match the UI crate (#1169) by @MarekSpodBiedry in https://github.com/storytold/pdfcraft/pull/1188\n* M5: preserve comment identities during partial XFDF and FDF imports by @MMexicann in https://github.com/storytold/pdfcraft/pull/1144\n* Test PDF viewer trackpad pinch zoom by @earlvanze in https://github.com/storytold/pdfcraft/pull/1148\n* M4: replace selected pages from organize toolbar and context menus (#786) by @Hathor875 in https://github.com/storytold/pdfcraft/pull/1149\n* UI: checkboxes and radio buttons are outlined, and checkboxes are square by @Toddpe in https://github.com/storytold/pdfcraft/pull/1173\n* M14: \"Edit with PdfCraft\" on the File Explorer menu of PDF files (#682) by @jcl-bit in https://github.com/storytold/pdfcraft/pull/1180\n* M2: bound the total size of page-label prefixes by @ymote in https://github.com/storytold/pdfcraft/pull/1146\n* Windows printing: two-sided binds on the chosen edge; note drivers that ignore Two-sided by @bulgariamitko in https://github.com/storytold/pdfcraft/pull/1154\n* Issue #1028: OCR can read pictures on pages that already have text by @rp6186030 in https://github.com/storytold/pdfcraft/pull/1184\n* M14: choose Tools panel side in Preferences by @earlvanze in https://github.com/storytold/pdfcraft/pull/1130\n* Show annotation actions beside selected text by @earlvanze in https://github.com/storytold/pdfcraft/pull/1133\n* i18n(es): add 84 missing rows, consistent tú register by @diegozpy in https://github.com/storytold/pdfcraft/pull/1134\n* Linux: prefer server DPI over panel physical DPI in vendored winit by @gyurix in https://github.com/storytold/pdfcraft/pull/1150\n* M2: keep doubled short text runs from interleaving by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/1198\n* docs: sync Earl Co contributor name from GitHub by @earlvanze in https://github.com/storytold/pdfcraft/pull/1199\n* Accessibility: identify structure objects in checker findings by @earlvanze in https://github.com/storytold/pdfcraft/pull/1207\n* Accessibility: edit structure tag properties through tools by @earlvanze in https://github.com/storytold/pdfcraft/pull/1210\n* Accessibility: export before-and-after review record by @earlvanze in https://github.com/storytold/pdfcraft/pull/1204\n* M10.5: Adopt craft-print spooler with Windows printing fixes by @skylartaylor in https://github.com/storytold/pdfcraft/pull/1015\n* Preserve source fonts in text editing and resize clipped artwork by @komo1iddin in https://github.com/storytold/pdfcraft/pull/1116\n* Polish chrome hover, press, and selection by @bartalos86 in https://github.com/storytold/pdfcraft/pull/457\n* Edit text: support Devanagari system font fallback and Indic pre-base matra reordering by @krinry in https://github.com/storytold/pdfcraft/pull/1033\n* Fix Word invoice layout and pagination (#773) by @lollinoo in https://github.com/storytold/pdfcraft/pull/1126\n* M5.7: Fill & Sign Scan tab for photographed signatures (#1110) by @Bjorneseth in https://github.com/storytold/pdfcraft/pull/1111\n* M4: rename colliding form field names when combining (organize.field-name-conflicts) by @edurbs in https://github.com/storytold/pdfcraft/pull/1155\n* M10: Create separate PDFs from multiple files by @earlvanze in https://github.com/storytold/pdfcraft/pull/1183\n* Comments panel: show Persian and Arabic comments in reading order (#1079) by @itrycodinganditsbad in https://github.com/storytold/pdfcraft/pull/1138\n* M10: Presentation (.pptx) export (#1137) by @Hathor875 in https://github.com/storytold/pdfcraft/pull/1162\n* Add editable page-range selection to Organize Pages (#1092) by @DWAA1660 in https://github.com/storytold/pdfcraft/pull/1174\n* M14: edits let go of the previous working file before writing the next (gap 13) by @rp6186030 in https://github.com/storytold/pdfcraft/pull/1279\n* Accessibility: show figure findings on the page by @earlvanze in https://github.com/storytold/pdfcraft/pull/1280\n* Fix viewport jitter when annotating with search active (#1254) by @omarelders in https://github.com/storytold/pdfcraft/pull/1283\n* Automation tests: isolate workdirs by call site by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/1223\n* M0: validate the committed parity manifest in xtask tests by @srt8hellcat2-ui in https://github.com/storytold/pdfcraft/pull/1214\n* M7: report unsupported document link actions accurately by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/1242\n* M5: Insert text snaps its caret to the text (#345) by @diegozpy in https://github.com/storytold/pdfcraft/pull/1249\n* Accessibility: compare checker results after each recheck by @earlvanze in https://github.com/storytold/pdfcraft/pull/1250\n* M5: quick-bar colour recolours the selected comment (#1191) by @rp6186030 in https://github.com/storytold/pdfcraft/pull/1255\n* Redaction: add case-sensitive and whole-word search options by @earlvanze in https://github.com/storytold/pdfcraft/pull/1258\n* control: close the connection on malformed input before auth by @SteamSmith in https://github.com/storytold/pdfcraft/pull/1259\n* M10.5: load driver options for CUPS printer instances by @srt8hellcat2-ui in https://github.com/storytold/pdfcraft/pull/1226\n* Units: read the Windows measurement system from the registry, not reg.exe by @jcl-bit in https://github.com/storytold/pdfcraft/pull/1227\n* Accessibility: reorder sibling structure tags through an undoable tool by @earlvanze in https://github.com/storytold/pdfcraft/pull/1229\n* Accessibility: export before-and-after review as HTML by @earlvanze in https://github.com/storytold/pdfcraft/pull/1234\n* Refine Greek localization and May abbreviation by @Camthalion77 in https://github.com/storytold/pdfcraft/pull/1262\n* Resize exclusive image crops across nested states and content streams by @komo1iddin in https://github.com/storytold/pdfcraft/pull/1269\n* honour the /Lab colour space /WhitePoint (#1203) by @Hathor875 in https://github.com/storytold/pdfcraft/pull/1237\n* Accessibility: persist human review decisions for an exact PDF revision by @earlvanze in https://github.com/storytold/pdfcraft/pull/1239\n* Accessibility: add visual tag properties panel by @earlvanze in https://github.com/storytold/pdfcraft/pull/1216\n* M10: print from the web build through the browser's print dialog (gap 4) by @rp6186030 in https://github.com/storytold/pdfcraft/pull/1243\n* M7: open local GoToR PDF links natively by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/1265\n* M3: follow Windows' Animation effects setting; add an Animation effects preference by @JeremyYao in https://github.com/storytold/pdfcraft/pull/1235\n* Reading colours: replace document colours for reading comfort (#897) by @edurbs in https://github.com/storytold/pdfcraft/pull/1270\n* Accessibility: keep manual review visible in checker summaries by @earlvanze in https://github.com/storytold/pdfcraft/pull/1224\n* Tests: normalize generated streams in Arabic output golden by @earlvanze in https://github.com/storytold/pdfcraft/pull/1275\n* Comments: \"Other colour…\" picker and recent custom colours under the swatches (#1193) by @ngrafton2006 in https://github.com/storytold/pdfcraft/pull/1261\n* M3: add PDF tab context menu (fixes #1233) by @srt8hellcat2-ui in https://github.com/storytold/pdfcraft/pull/1266\n* M14: tune Windows low-DPI JetBrains Mono hinting by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/1264\n* Text extraction: honour /ActualText, so Thai from Chrome PDFs is searchable by @git-monchiant in https://github.com/storytold/pdfcraft/pull/1217\n* feat(edit): remove all links command and context menu (#539) by @Hathor875 in https://github.com/storytold/pdfcraft/pull/1213\n* M12: say when a form's scripts were turned off by @arcanii in https://github.com/storytold/pdfcraft/pull/1251\n* XFA: one script thread per event, and the live form kept up to date in place by @ysrdevs in https://github.com/storytold/pdfcraft/pull/1355\n* xtask: stop headless Chrome leaving macOS code-sign clones (#1196) by @MarekSpodBiedry in https://github.com/storytold/pdfcraft/pull/1292\n* Issue #1296: hayro-syntax applies SASLprep to AES-256 passwords (PdfCraft patch 16) by @jay-tau in https://github.com/storytold/pdfcraft/pull/1345\n* M3: match Greek final sigma in case-insensitive search by @nevicia2010-hub in https://github.com/storytold/pdfcraft/pull/1349\n* Clean form tag references by @not-a-feature in https://github.com/storytold/pdfcraft/pull/1351\n* M12: accept literal digits in date formats (dd.mm.26) by @aparcar in https://github.com/storytold/pdfcraft/pull/1352\n* CI: keep craft-fonts enabled across Linux Rust gates by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/1284\n* CI: run dependency layering once per workflow by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/1286\n* CI: keep line tables instead of full workspace debug info by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/1298\n* test(cli): reject unknown MCP options by @mhmdeve in https://github.com/storytold/pdfcraft/pull/1342\n* Refine search match selection and text failure jitter handling by @omarelders in https://github.com/storytold/pdfcraft/pull/1291\n* Fill & Sign: choose text and date font size by @earlvanze in https://github.com/storytold/pdfcraft/pull/1285\n* fix(xfdf): text data from a one-field form keeps its commas (#1321) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1371\n* CLI: audit rejects unknown options before reading the file (fixes #1332) by @umesh429 in https://github.com/storytold/pdfcraft/pull/1372\n* fix(preflight): find colour operators after any PDF whitespace (#1334) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1373\n* fix(sign): a signature field with a null /V can be signed by name (#1328) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1374\n* fix(redact): removing comments keeps non-comment annotations (#1325) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1375\n* fix(print): refuse huge posters at the sheet limit instead of overflowing (#1335) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1376\n* M7: preserve Arabic text order in copy, search and editing by @YouseifUS in https://github.com/storytold/pdfcraft/pull/1369\n* M2: snap shrunk interpolated images to whole pixels so scans stay sharp by @philip-tam in https://github.com/storytold/pdfcraft/pull/1377\n* M14: Preserve recovery snapshots without readable metadata by @LabDennis in https://github.com/storytold/pdfcraft/pull/1378\n* fix(fonts): a composite /W run past the last CID stops there (#1313) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1389\n* fix(ui): the Fields panel lists a field on a missing page as unplaced (#1307) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1390\n* fix(automation): content_update refuses text styling on an image (#1331) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1391\n* fix(forms): a whole look keeps the rest of an indirect /MK (#1322) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1392\n* fix(forms): a literal Off value reads as Off outside buttons (#1320) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1393\n* fix(fonts): a /Differences code past 255 no longer encodes as its last byte (#1314) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1394\n* Issue #1368: keep text a dragged paragraph passed over by @Ridzzz0Alam in https://github.com/storytold/pdfcraft/pull/1381\n* M7: Preserve explicit page ranges across dialog redraws (#1304) by @LabDennis in https://github.com/storytold/pdfcraft/pull/1382\n* M3: select an image on the page and copy it by @FrancescoClemeno in https://github.com/storytold/pdfcraft/pull/1363\n* fix(cli): edit refuses move/insert destinations past the end (#1330) by @umesh429 in https://github.com/storytold/pdfcraft/pull/1400\n* fix(sign): refuse to sign a field whose /V is not a signature (#1328) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1402\n* fix(forms): keep a whitespace-only value in a text field without a format (#1323) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1403\n* fix(content): skip an inline image with an unreadable key to its EI (#1318) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1404\n* fix(automation): doc_save reports a required full rewrite as not incremental (#1329) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1405\n* fix(audit): an identity cm between re and fill no longer hides a cover (#1333) by @umesh429 in https://github.com/storytold/pdfcraft/pull/1410\n* fix(ui): Current page prints the viewed page, not a page labelled with its number (#1308) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1411\n* fix(render): draw Turkish Ğ İ Ş ğ ş in non-embedded fonts by @TheLastRoadRunner in https://github.com/storytold/pdfcraft/pull/1409\n* M10: edit OCR text on scanned pages so the change shows by @TanguAchilis in https://github.com/storytold/pdfcraft/pull/1397\n* Edit text: support per-font visual-order Indic text and nukta reordering by @krinry in https://github.com/storytold/pdfcraft/pull/1380\n* M12: preview text structure proposals for auto-tagging by @earlvanze in https://github.com/storytold/pdfcraft/pull/1383\n* M10: Test current-page print previews and saved output by @LabDennis in https://github.com/storytold/pdfcraft/pull/1415\n* fix(content): count an unreadable inline image with no EI as skipped (#1318) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1418\n* feat(ui): add command palette arrow-key navigation by @Morpheus004 in https://github.com/storytold/pdfcraft/pull/1419\n* M4: Fix Combine duplicate warnings and cache their computation by @LabDennis in https://github.com/storytold/pdfcraft/pull/1420\n* feat(preflight): verify image resolution and bleed without rewriting the file by @Baltsar in https://github.com/storytold/pdfcraft/pull/1408\n* M14: add Lithuanian interface and date localization by @tdslot in https://github.com/storytold/pdfcraft/pull/1401\n* M1: write a valid xref when an incremental save has no objects (#1339) by @bartalos86 in https://github.com/storytold/pdfcraft/pull/1424\n* Release workflow: pass the Azure signing secrets by @echelon in https://github.com/storytold/pdfcraft/pull/1194\n\n## New Contributors\n* @dylanmtaylor made their first contribution in https://github.com/storytold/pdfcraft/pull/1073\n* @arcanii made their first contribution in https://github.com/storytold/pdfcraft/pull/1081\n* @atoslins made their first contribution in https://github.com/storytold/pdfcraft/pull/1088\n* @sibrash4 made their first contribution in https://github.com/storytold/pdfcraft/pull/1030\n* @huferyliu made their first contribution in https://github.com/storytold/pdfcraft/pull/1042\n* @piero-83 made their first contribution in https://github.com/storytold/pdfcraft/pull/1044\n* @EULArule made their first contribution in https://github.com/storytold/pdfcraft/pull/1098\n* @michelleDeko made their first contribution in https://github.com/storytold/pdfcraft/pull/1100\n* @MaxTheHaters made their first contribution in https://github.com/storytold/pdfcraft/pull/1023\n* @magdale76 made their first contribution in https://github.com/storytold/pdfcraft/pull/1027\n* @Totopo27 made their first contribution in https://github.com/storytold/pdfcraft/pull/933\n* @luniiya made their first contribution in https://github.com/storytold/pdfcraft/pull/1082\n* @Ridzzz0Alam made their first contribution in https://github.com/storytold/pdfcraft/pull/1064\n* @neronek22 made their first contribution in https://github.com/storytold/pdfcraft/pull/1065\n* @pechnikov2026-star made their first contribution in https://github.com/storytold/pdfcraft/pull/954\n* @sfv9 made their first contribution in https://github.com/storytold/pdfcraft/pull/968\n* @mjohnson7cd made their first contribution in https://github.com/storytold/pdfcraft/pull/1006\n* @sawizzle made their first contribution in https://github.com/storytold/pdfcraft/pull/643\n* @art804 made their first contribution in https://github.com/storytold/pdfcraft/pull/601\n* @YingQiu0871 made their first contribution in https://github.com/storytold/pdfcraft/pull/925\n* @omarelders made their first contribution in https://github.com/storytold/pdfcraft/pull/1069\n* @pkibiego made their first contribution in https://github.com/storytold/pdfcraft/pull/987\n* @WladmirJunior made their first contribution in https://github.com/storytold/pdfcraft/pull/1089\n* @kestrel99 made their first contribution in https://github.com/storytold/pdfcraft/pull/934\n* @lukashold made their first contribution in https://github.com/storytold/pdfcraft/pull/1004\n* @krinry made their first contribution in https://github.com/storytold/pdfcraft/pull/1040\n* @LucasT-dev made their first contribution in https://github.com/storytold/pdfcraft/pull/1086\n* @ejbarraza made their first contribution in https://github.com/storytold/pdfcraft/pull/110\n* @nicholasyoannou made their first contribution in https://github.com/storytold/pdfcraft/pull/1113\n* @durtyrobbin made their first contribution in https://github.com/storytold/pdfcraft/pull/1123\n* @JeremyYao made their first contribution in https://github.com/storytold/pdfcraft/pull/1099\n* @Piohrun made their first contribution in https://github.com/storytold/pdfcraft/pull/636\n* @coygeek made their first contribution in https://github.com/storytold/pdfcraft/pull/1017\n* @mhadidi06 made their first contribution in https://github.com/storytold/pdfcraft/pull/504\n* @Losminek made their first contribution in https://github.com/storytold/pdfcraft/pull/1066\n* @spacekomet made their first contribution in https://github.com/storytold/pdfcraft/pull/1091\n* @Camthalion77 made their first contribution in https://github.com/storytold/pdfcraft/pull/994\n* @yeniufuklar-com made their first contribution in https://github.com/storytold/pdfcraft/pull/1057\n* @tzagim made their first contribution in https://github.com/storytold/pdfcraft/pull/521\n* @kekeandzeyu made their first contribution in https://github.com/storytold/pdfcraft/pull/1112\n* @PuemMTH made their first contribution in https://github.com/storytold/pdfcraft/pull/767\n* @FredApps made their first contribution in https://github.com/storytold/pdfcraft/pull/1052\n* @rp6186030 made their first contribution in https://github.com/storytold/pdfcraft/pull/1164\n* @MMexicann made their first contribution in https://github.com/storytold/pdfcraft/pull/1144\n* @earlvanze made their first contribution in https://github.com/storytold/pdfcraft/pull/1148\n* @ymote made their first contribution in https://github.com/storytold/pdfcraft/pull/1146\n* @diegozpy made their first contribution in https://github.com/storytold/pdfcraft/pull/1134\n* @komo1iddin made their first contribution in https://github.com/storytold/pdfcraft/pull/1116\n* @lollinoo made their first contribution in https://github.com/storytold/pdfcraft/pull/1126\n* @Bjorneseth made their first contribution in https://github.com/storytold/pdfcraft/pull/1111\n* @itrycodinganditsbad made their first contribution in https://github.com/storytold/pdfcraft/pull/1138\n* @srt8hellcat2-ui made their first contribution in https://github.com/storytold/pdfcraft/pull/1214\n* @SteamSmith made their first contribution in https://github.com/storytold/pdfcraft/pull/1259\n* @ngrafton2006 made their first contribution in https://github.com/storytold/pdfcraft/pull/1261\n* @git-monchiant made their first contribution in https://github.com/storytold/pdfcraft/pull/1217\n* @nevicia2010-hub made their first contribution in https://github.com/storytold/pdfcraft/pull/1349\n* @not-a-feature made their first contribution in https://github.com/storytold/pdfcraft/pull/1351\n* @aparcar made their first contribution in https://github.com/storytold/pdfcraft/pull/1352\n* @mhmdeve made their first contribution in https://github.com/storytold/pdfcraft/pull/1342\n* @marcoarnulfo made their first contribution in https://github.com/storytold/pdfcraft/pull/1371\n* @umesh429 made their first contribution in https://github.com/storytold/pdfcraft/pull/1372\n* @YouseifUS made their first contribution in https://github.com/storytold/pdfcraft/pull/1369\n* @philip-tam made their first contribution in https://github.com/storytold/pdfcraft/pull/1377\n* @LabDennis made their first contribution in https://github.com/storytold/pdfcraft/pull/1378\n* @FrancescoClemeno made their first contribution in https://github.com/storytold/pdfcraft/pull/1363\n* @TheLastRoadRunner made their first contribution in https://github.com/storytold/pdfcraft/pull/1409\n* @TanguAchilis made their first contribution in https://github.com/storytold/pdfcraft/pull/1397\n* @Morpheus004 made their first contribution in https://github.com/storytold/pdfcraft/pull/1419\n* @Baltsar made their first contribution in https://github.com/storytold/pdfcraft/pull/1408\n* @tdslot made their first contribution in https://github.com/storytold/pdfcraft/pull/1401\n\n**Full Changelog**: https://github.com/storytold/pdfcraft/compare/v0.6.0...v0.7.1","assets":[{"name":"pdfcraft-0.7.1-freebsd-x86_64.tar.gz","size_bytes":84024033,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-freebsd-x86_64.tar.gz","sha256":"a707eeebf9436a75ddf6033b3143dabdb56ab1145880142ab7b7eabe35586ea0","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"pdfcraft-0.7.1-linux-aarch64.AppImage","size_bytes":77339144,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-linux-aarch64.AppImage","sha256":"3d36374bc10f541a92142ba3d884a827bbdd8ac88932ce20c26ccc52b1727f84","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"pdfcraft-0.7.1-linux-aarch64.AppImage.zsync","size_bytes":264593,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-linux-aarch64.AppImage.zsync","sha256":"683fda13198775509fd560797a2fb670db510d07357ee288afc9b8da67607298","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"pdfcraft-0.7.1-linux-aarch64.deb","size_bytes":82905950,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-linux-aarch64.deb","sha256":"3e21d9857221ef933ba6de2f9679e1ffb8ee3cebb8ccccc6db8eb8f7f72c2891","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"pdfcraft-0.7.1-linux-aarch64.flatpak","size_bytes":60421664,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-linux-aarch64.flatpak","sha256":"fd8a078702d724c202c0fe96a9ea39fdc81ea735a4a5c61e58a0313159fbd4c5","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"pdfcraft-0.7.1-linux-aarch64.rpm","size_bytes":82362812,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-linux-aarch64.rpm","sha256":"58bb2766f5d0105ea7622715f33c485c8b41d4fd46db4baca39b0cc8853abf30","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"pdfcraft-0.7.1-linux-aarch64.tar.gz","size_bytes":81042712,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-linux-aarch64.tar.gz","sha256":"77baad6346e6d0087872fcb6f6f64e6bdb7f8401658ac96119d462aa1d7ae4e0","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"pdfcraft-0.7.1-linux-riscv64.deb","size_bytes":83201432,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-linux-riscv64.deb","sha256":"6d0240e6df34ebc214fb670826144b87e8fcb4d9828619c310a10c854e681a71","platform":null},{"name":"pdfcraft-0.7.1-linux-riscv64.rpm","size_bytes":82946218,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-linux-riscv64.rpm","sha256":"198de249315ae62b8e66fc5ae29580f66d7031cced301f8d8b3fa3e1d45ad016","platform":null},{"name":"pdfcraft-0.7.1-linux-riscv64.tar.gz","size_bytes":82291815,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-linux-riscv64.tar.gz","sha256":"cc299ca538504d48c942ce34553e904fe008a1f352c6c4103a51eb240a4d5ce4","platform":null},{"name":"pdfcraft-0.7.1-linux-x86_64.AppImage","size_bytes":80689656,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-linux-x86_64.AppImage","sha256":"ae5c879bb326d0e91a241e9f9c6c17608ef766c005c66c2d7280270107bf635a","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"pdfcraft-0.7.1-linux-x86_64.AppImage.zsync","size_bytes":276043,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-linux-x86_64.AppImage.zsync","sha256":"e0da9e93f166bd2a83dd60e66da8ae62e6b91177910ad89f10b2fd3b1ac5969c","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"pdfcraft-0.7.1-linux-x86_64.deb","size_bytes":85684742,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-linux-x86_64.deb","sha256":"91d54edfddbb04237beea42396478f0bd30941a0c59dcac18617ea1ed311123b","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"pdfcraft-0.7.1-linux-x86_64.flatpak","size_bytes":64176344,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-linux-x86_64.flatpak","sha256":"dbb2c8d06e9b1fd0b772626da6c0ddd413c137fb2341d9a5bd21ac66fcdec709","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"pdfcraft-0.7.1-linux-x86_64.rpm","size_bytes":85260589,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-linux-x86_64.rpm","sha256":"4b6543e061b737bbe82b2942c1984a52a9815b5ca911242580d492d4827c1a27","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"pdfcraft-0.7.1-linux-x86_64.tar.gz","size_bytes":84607597,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-linux-x86_64.tar.gz","sha256":"bc7d651511273720f6a5ccbe0dd5b2c4ddccb6c576a0aff619f39d2c5667a315","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"pdfcraft-0.7.1-macos-universal.dmg","size_bytes":93706058,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-macos-universal.dmg","sha256":"cafa51b2bbd2fa7fd532cb38cafec54e988dd37c81bc47c26e5f08e472dc92bf","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"pdfcraft-0.7.1-windows-arm64-portable.zip","size_bytes":81003867,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-windows-arm64-portable.zip","sha256":"f0d6f39ae6a18038306b5a7af3c21e5c815b3551b2a6801ad0ca10634cba9a78","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"pdfcraft-0.7.1-windows-arm64.msi","size_bytes":66670592,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-windows-arm64.msi","sha256":"a896c293b560f0c5bb740fbae06d013e0ad341cba2f95a106b976a9dfd557969","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"pdfcraft-0.7.1-windows-x64-portable.zip","size_bytes":84587128,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-windows-x64-portable.zip","sha256":"6632068a4f7fdf1fb6a3b9d431e6d088bb7cbbeb066e47f815a1e498b45d7ecf","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"pdfcraft-0.7.1-windows-x64.msi","size_bytes":70696960,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-windows-x64.msi","sha256":"07f6d8838db6e9d55242d480ab4d782c76d130df5c1730385b5ee7cd9c81dafc","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"pdfcraft-0.7.1-windows-x86-portable.zip","size_bytes":80890921,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-windows-x86-portable.zip","sha256":"00de2b5783a62439842e24af8e1b826aaf00e092c8f27982c8728e0978b47615","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"pdfcraft-0.7.1-windows-x86.msi","size_bytes":68751360,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-0.7.1-windows-x86.msi","sha256":"ead5d5c1abca2f3175694185e9388d67ca9cff244c4889d09e6b17801b434b43","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"pdfcraft-cli-0.7.1-linux-aarch64.tar.gz","size_bytes":28764620,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-cli-0.7.1-linux-aarch64.tar.gz","sha256":"642e693303c85d60375df9812c4c8fa905b6e312dcc1f64dd8dd867a7959257e","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"pdfcraft-cli-0.7.1-linux-x86_64.tar.gz","size_bytes":30240879,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-cli-0.7.1-linux-x86_64.tar.gz","sha256":"1916000d20b1a5252f631e148ffcfed8e5c178e9b5c0cf67da864d2cc33ca00b","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"pdfcraft-cli-0.7.1-macos-universal.zip","size_bytes":60613222,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-cli-0.7.1-macos-universal.zip","sha256":"6631b868e65aa9eceabf416096a26681f80ca66a7eae53cca82d3239a847aa63","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"pdfcraft-web-0.7.1.zip","size_bytes":14047380,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/pdfcraft-web-0.7.1.zip","sha256":"2e58067125b2c14d92d50888a6a03351302065ff4b99c0914892a078f05dfd66","platform":{"os":"web","arch":null,"package_type":"web_zip"}},{"name":"SHA256SUMS.txt","size_bytes":2750,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.7.1/SHA256SUMS.txt","sha256":"84a023e04e3985a4a1c406330dfbb42a863f3894588d4c21d1ab55a25332f4b8","platform":null}]},"app_last_fetched":"2026-10-13T23:55:13.950355967Z"},"photocraft":{"name":"PhotoCraft","repo":"storytold/photocraft","latest_release":{"tag":"v0.8.2","version":"0.8.2","name":"PhotoCraft v0.8.2","published_at":"2026-10-12T21:22:47Z","html_url":"https://github.com/storytold/photocraft/releases/tag/v0.8.2","prerelease":false,"notes_markdown":"## What's Changed\n* Adopt shared docking while preserving panel controls and workspaces by @skylartaylor in https://github.com/storytold/photocraft/pull/3097\n* GPU composite: reuse unchanged lower-stack chunks for property edits by @Elvis33LE in https://github.com/storytold/photocraft/pull/1169\n* Design: bounded GPU stack prefix reuse for property edits by @Elvis33LE in https://github.com/storytold/photocraft/pull/1164\n* feat(ui): allow disabling Studio canvas background dots by @Ni-zav in https://github.com/storytold/photocraft/pull/2317\n* File Info shows Camera Data from EXIF/XMP (#2424) by @itrycodinganditsbad in https://github.com/storytold/photocraft/pull/2692\n* fix(canvas): update Move transform-control cursors on first hover by @Ni-zav in https://github.com/storytold/photocraft/pull/2887\n* 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 https://github.com/storytold/photocraft/pull/2131\n* fix(brush): interpolate pen pressure across Shift-click connecting strokes by @Ni-zav in https://github.com/storytold/photocraft/pull/2890\n* fix(transform): commit Free Transform on an outside click by @Ni-zav in https://github.com/storytold/photocraft/pull/2909\n* app.save: encode on the save worker, not the UI thread (#2488) by @ahmedhosnypro in https://github.com/storytold/photocraft/pull/2517\n* fix(shortcuts): reject malformed bindings and correctly display Plus by @Ni-zav in https://github.com/storytold/photocraft/pull/3006\n* Favorite themes from the appearance button's right-click menu by @luniiya in https://github.com/storytold/photocraft/pull/2445\n* Render Video: animated GIFs keep their transparency (#3061) by @fabianghe in https://github.com/storytold/photocraft/pull/3162\n* fix(type): exclude text inside hidden groups from automatic hit testing by @Ni-zav in https://github.com/storytold/photocraft/pull/3173\n* Enhanced Controls: wire Zoom with Trackpad Pinch (#204) by @reynold-hu in https://github.com/storytold/photocraft/pull/2577\n* Units & Rulers: wire the Type units preference (#204) by @reynold-hu in https://github.com/storytold/photocraft/pull/2587\n* fix(type): use the correct line at soft-wrap caret boundaries by @Ni-zav in https://github.com/storytold/photocraft/pull/3174\n* fix(masks): preserve off-canvas alpha in From Transparency by @Ni-zav in https://github.com/storytold/photocraft/pull/3177\n* Rulers: keep tick marks and labels out of the origin corner by @arthurdeka in https://github.com/storytold/photocraft/pull/2617\n* fix(psd): Improve interoperability and decoding by @reneleonhardt in https://github.com/storytold/photocraft/pull/1955\n* fix(layers): remap linked-layer groups when copying between documents by @Ni-zav in https://github.com/storytold/photocraft/pull/3178\n* Brush HUD: wire Vary Round Brush Hardness and Brush Preview Color (#204) by @reynold-hu in https://github.com/storytold/photocraft/pull/2640\n* fix(history): preserve an empty layer selection across undo and redo by @Ni-zav in https://github.com/storytold/photocraft/pull/3179\n* Auto-Align Layers: register focus and exposure brackets by intensity when there is nothing to match by @ragtux in https://github.com/storytold/photocraft/pull/2065\n* Double-clicking a mask thumbnail in the Layers panel now opens that mask's settings by @Lyraedan in https://github.com/storytold/photocraft/pull/2654\n* fix(layers): select Shift ranges in visible panel row order (#3041) by @Ni-zav in https://github.com/storytold/photocraft/pull/3180\n* Auto-Blend Stack Images: fuse the merged layer per pyramid level by region energy, with halo control by @ragtux in https://github.com/storytold/photocraft/pull/2044\n* fix(io): preserve group fill opacity in OpenRaster exports by @Ni-zav in https://github.com/storytold/photocraft/pull/3181\n* Control channel: input methods reject bad params instead of using defaults (#2449) by @itrycodinganditsbad in https://github.com/storytold/photocraft/pull/2656\n* fix(vector): pivot explicit path transforms on target layer (#3062) by @Ni-zav in https://github.com/storytold/photocraft/pull/3183\n* General: wire Beep When Done for finished background jobs (#204) by @reynold-hu in https://github.com/storytold/photocraft/pull/2658\n* fix(vector): preserve scaled live-line thickness during endpoint edits by @Ni-zav in https://github.com/storytold/photocraft/pull/3184\n* fix(actions): avoid replaying Browse script edits twice by @Ni-zav in https://github.com/storytold/photocraft/pull/3190\n* i18n test: scan past small test modules; translate what it was missing by @herzer in https://github.com/storytold/photocraft/pull/2660\n* fix(masks): bake feathered coverage when applying a layer mask by @Ni-zav in https://github.com/storytold/photocraft/pull/3191\n* Type: wire Font Preview Size for the font menu samples (#204) by @reynold-hu in https://github.com/storytold/photocraft/pull/2668\n* fix(video): retain original footage for Restore Frame and Show Altered Video by @Ni-zav in https://github.com/storytold/photocraft/pull/3192\n* Improve zoomed Liquify preview detail by @Elvis33LE in https://github.com/storytold/photocraft/pull/2715\n* fix(compose): preserve Dissolve coverage for adjustments, styles and clipping by @Ni-zav in https://github.com/storytold/photocraft/pull/3195\n* Color Replacement tool on the toolbar (#1045) by @itrycodinganditsbad in https://github.com/storytold/photocraft/pull/2719\n* fix(shapes): preserve transformed outline on unchanged live geometry edits by @Ni-zav in https://github.com/storytold/photocraft/pull/3197\n* Crop tool: New / Delete Crop Preset saves and removes user presets (#1919) by @davidmann4 in https://github.com/storytold/photocraft/pull/2723\n* Test Move layer edges across bit depths and view modes by @Skyfuller1303 in https://github.com/storytold/photocraft/pull/2738\n* fix(type): preserve formatting for trailing empty paragraphs by @Ni-zav in https://github.com/storytold/photocraft/pull/3198\n* Keep custom crop ratio fields editable by @imSlicedBread in https://github.com/storytold/photocraft/pull/3209\n* raw: fit non-DNG colour to the camera's embedded JPEG by @switch87 in https://github.com/storytold/photocraft/pull/2135\n* Add Anchor Point and Delete Anchor Point tools (#1044) by @itrycodinganditsbad in https://github.com/storytold/photocraft/pull/2756\n* fix(crop): stabilize resizing and apply ratio changes immediately by @TheTeslak in https://github.com/storytold/photocraft/pull/3206\n* Layers panel: load a fallback font for layer names in other scripts (#2275) by @itrycodinganditsbad in https://github.com/storytold/photocraft/pull/2758\n* Type: ⇧⌘> / ⇧⌘< change the type size (and work on Nordic/German layouts) by @Simonfalentinolesen in https://github.com/storytold/photocraft/pull/2402\n* CLI: batch plays an action from an Actions set with the whole set loaded (#2786) by @vangel76 in https://github.com/storytold/photocraft/pull/2792\n* Droplets: carry the actions their Play Action steps call (#2794) by @vangel76 in https://github.com/storytold/photocraft/pull/2800\n* Spot Healing: Content-Aware dab no longer scans every patch in full (#2771) by @vangel76 in https://github.com/storytold/photocraft/pull/2805\n* Layers: double-click a shape layer's thumbnail to pick its fill colour (#2812) by @vangel76 in https://github.com/storytold/photocraft/pull/2820\n* TGA: targa options asks for 24 or 32 bits/pixel, same as in Photoshop by @Matty-PW in https://github.com/storytold/photocraft/pull/2760\n* Tools: remember tool options between launches (#2814) by @vangel76 in https://github.com/storytold/photocraft/pull/2822\n* Options bar: Reset Tool and Reset All Tools (#2825) by @vangel76 in https://github.com/storytold/photocraft/pull/2830\n* Free Transform: right-click menu with the transform modes, rotate and flip (#2832) by @vangel76 in https://github.com/storytold/photocraft/pull/2840\n* Channels: Edit › Transform works on a targeted alpha channel (#2835) by @vangel76 in https://github.com/storytold/photocraft/pull/2845\n* Free Transform: themed rotate cursor and live angle/size/offset readout (#1767) by @itrycodinganditsbad in https://github.com/storytold/photocraft/pull/2809\n* Move tool: drag a marquee from an empty spot to select the layers it touches (#2844) by @vangel76 in https://github.com/storytold/photocraft/pull/2852\n* View: Pattern Preview tiles the document around the canvas (#1067) by @davidmann4 in https://github.com/storytold/photocraft/pull/2803\n* Tools: Freeform Pen and Curvature Pen (#1054) by @vangel76 in https://github.com/storytold/photocraft/pull/2856\n* Tools: Horizontal and Vertical Type Mask (#1055) by @vangel76 in https://github.com/storytold/photocraft/pull/2861\n* Speed up large feathered mask refreshes by @Elvis33LE in https://github.com/storytold/photocraft/pull/2417\n* Tools: Artboard tool (#2858) by @vangel76 in https://github.com/storytold/photocraft/pull/2862\n* Tools: Perspective Crop (#1043) by @vangel76 in https://github.com/storytold/photocraft/pull/2864\n* Actions: toggle, reorder and delete single steps (#2855) by @vangel76 in https://github.com/storytold/photocraft/pull/2866\n* Text fields: drag-selecting in a single-line field follows the pointer's x (#1946) by @davidmann4 in https://github.com/storytold/photocraft/pull/2821\n* perf: repeated Select Subject answers from the last mask (#2865) by @vangel76 in https://github.com/storytold/photocraft/pull/2870\n* Dropdowns: press, drag onto an option and release to choose it (#2735) by @LloydNicholson in https://github.com/storytold/photocraft/pull/2854\n* perf: Select › Modify › Feather/Smooth on 24 MP within budget (#2873) by @vangel76 in https://github.com/storytold/photocraft/pull/2882\n* Refine gradient stop controls in Properties and Gradient Editor by @Skyfuller1303 in https://github.com/storytold/photocraft/pull/2859\n* perf: duplicating a layer recomposites only where the copy draws (#2883) by @vangel76 in https://github.com/storytold/photocraft/pull/2884\n* Status bar: buttons sit inside the bar with centred labels (#2823) by @davidmann4 in https://github.com/storytold/photocraft/pull/2876\n* perf: keep resident GPU tiles and convert 32-bit tiles directly for brush dabs on large documents (#2900) by @vangel76 in https://github.com/storytold/photocraft/pull/2902\n* Themes: Photoshop's light-gray and light Pro brightness levels (#2661) by @ngrafton2006 in https://github.com/storytold/photocraft/pull/2892\n* scorecard: twenty rows describe work that is already in the tree by @Erica4fr in https://github.com/storytold/photocraft/pull/2894\n* perf: marquee selections on large documents are built row by row (#2888) by @vangel76 in https://github.com/storytold/photocraft/pull/2907\n* Tools: Frame tool (#2914) by @vangel76 in https://github.com/storytold/photocraft/pull/2915\n* Add Photoshop-style guide layout dialog and live preview by @Skyfuller1303 in https://github.com/storytold/photocraft/pull/2930\n* perf: pasting a layer recomposites only where it draws (#2901) by @vangel76 in https://github.com/storytold/photocraft/pull/2917\n* Image Size: Photoshop's resampling, measured by @Unemars in https://github.com/storytold/photocraft/pull/2451\n* Toolbar: Pro themes draw tool glyphs at two thirds of the button (#2665) by @ngrafton2006 in https://github.com/storytold/photocraft/pull/2932\n* MCP bridge: reconnect before idle sockets die, retry reads, actionable timeouts (#2487) by @ahmedhosnypro in https://github.com/storytold/photocraft/pull/2507\n* Dropdowns: type a letter to jump to an item, Enter to choose (#1481) by @davidmann4 in https://github.com/storytold/photocraft/pull/2948\n* Layers: right-click an effect row for the layer style menu (#2846) by @davidmann4 in https://github.com/storytold/photocraft/pull/2950\n* Smart Objects: linked smart objects follow their files while open by @KattKnight in https://github.com/storytold/photocraft/pull/2510\n* Place: wire Always Create Smart Objects When Placing (#204) by @reynold-hu in https://github.com/storytold/photocraft/pull/2543\n* Preferences: wire Tools › Show Transformation Values (#204) by @timothydaly1 in https://github.com/storytold/photocraft/pull/2953\n* Channels: keep RGB off while an alpha or mask is shown, and select from that channel. by @Desayuno64 in https://github.com/storytold/photocraft/pull/2555\n* Tools: wire Enable Flick Panning for the Hand tool (#204) by @davidmann4 in https://github.com/storytold/photocraft/pull/2964\n* app.open: open directory .pcraft through the automation read root (#2490) by @ahmedhosnypro in https://github.com/storytold/photocraft/pull/2581\n* Layers: Pattern Fill dialog for new and edited pattern fill layers (#2908) by @davidmann4 in https://github.com/storytold/photocraft/pull/2979\n* Layer Style: contour picker and Contour Editor (#2912) by @vangel76 in https://github.com/storytold/photocraft/pull/2949\n* Type: wire Show Font Names in English (#204) by @davidmann4 in https://github.com/storytold/photocraft/pull/2981\n* Text fields: right-click edit menu (#2921) by @vangel76 in https://github.com/storytold/photocraft/pull/2952\n* control: allow requests that operate an open Camera Raw dialog by @harrisonoconnorhover in https://github.com/storytold/photocraft/pull/2988\n* Pixel grid: fade the line colour across mid-tones instead of flipping at one luma by @Jeremy8776 in https://github.com/storytold/photocraft/pull/2990\n* Tests: the marquee ellipse check walks several dash periods of the curve by @ahmedhosnypro in https://github.com/storytold/photocraft/pull/3018\n* Fix Shape Stroke controls, popup interactions and paint colours by @optimalbytee in https://github.com/storytold/photocraft/pull/3019\n* Fix canvas context menus closing immediately on trackpad taps by @zi-ger in https://github.com/storytold/photocraft/pull/3029\n* 8-bit documents: soft, low-flow brush strokes are dithered instead of banded by @tanish2k09 in https://github.com/storytold/photocraft/pull/3237\n* fix(ui): reduced suffix spacing width in the value field to prevent overflow (#3040) by @peppepol in https://github.com/storytold/photocraft/pull/3084\n* Rulers: remember View › Rulers for new documents; guides as f64 (#2918) by @vangel76 in https://github.com/storytold/photocraft/pull/2954\n* Mirror the shell for right-to-left UI languages (DIST-220-4) by @MathMattTech in https://github.com/storytold/photocraft/pull/3114\n* Type: Edit › Paste, Copy and Select › All work on the text being typed (#2893) by @vangel76 in https://github.com/storytold/photocraft/pull/2960\n* New Document: presets follow Units & Rulers › Preset Resolutions (#204) by @paulo-vc in https://github.com/storytold/photocraft/pull/3126\n* Dialogs: the live dialog stays in front of older ones (stuck stacked profile prompts) by @kayrockscreenprinting in https://github.com/storytold/photocraft/pull/3140\n* Window menu: list the open documents, the active one checked (#2991) by @brennanMKE in https://github.com/storytold/photocraft/pull/3147\n* fix(ui): respect explicit dropdown defaults in schema dialogs (#3056) by @buivanvu94 in https://github.com/storytold/photocraft/pull/3149\n* PSD: don't inflate an over-budget ZIP merged image at parse time (#2926) by @vangel76 in https://github.com/storytold/photocraft/pull/2967\n* i18n(es): native-style review of the Spanish catalog (Dodge/Burn swap, Photoshop terminology, formal register) by @diegozpy in https://github.com/storytold/photocraft/pull/3154\n* Type tool: right-click menu while editing text (#2968) by @vangel76 in https://github.com/storytold/photocraft/pull/2969\n* Preserve HDR range in float adjustments and stack statistics by @grlessa in https://github.com/storytold/photocraft/pull/2592\n* Speed up large Content-Aware Scale operations by @Elvis33LE in https://github.com/storytold/photocraft/pull/2596\n* fix(zoom): Alt-click with the Zoom tool on desktops that take Alt+cli… by @kavishkashehan726-sudo in https://github.com/storytold/photocraft/pull/3164\n* Select and Mask: live preview in Photoshop's view modes (#1754) by @vangel76 in https://github.com/storytold/photocraft/pull/2970\n* Five exact-output speedups: dense Extrude 160s to 0.39s by @excited-raccoon in https://github.com/storytold/photocraft/pull/2685\n* fix(ui): respect native desktop scale under Auto UI scaling (#1278) by @dylanmtaylor in https://github.com/storytold/photocraft/pull/3165\n* fix: macOS Monterey crash on Intel Iris Pro (disable wgpu indirect validation) by @mjohnson7cd in https://github.com/storytold/photocraft/pull/3171\n* fix(engine): allow targeting layer mask and vector mask via channel.target (#2458) by @buivanvu94 in https://github.com/storytold/photocraft/pull/2705\n* Tools: Convert Point tool in the Pen flyout (#3204) by @Sir-Starch in https://github.com/storytold/photocraft/pull/3211\n* fix(ui): unchanged Custom Proof Setup replaces active document proof profile (#3055) by @buivanvu94 in https://github.com/storytold/photocraft/pull/3213\n* PSD: cap the layer tree in psd_to_document; layered TIFF checks group depth (#2940) by @vangel76 in https://github.com/storytold/photocraft/pull/2975\n* Type menu: Anti-Alias › None first and checked; checks follow the edited layer (#2983) by @vangel76 in https://github.com/storytold/photocraft/pull/2984\n* fix(ui): Global Light opens with stale values and overwrites document setting (#3054) by @buivanvu94 in https://github.com/storytold/photocraft/pull/3217\n* Color Sampler tool (#1046) by @roaldosulejmani in https://github.com/storytold/photocraft/pull/2753\n* Clip the checker under rounded colour swatches to their corners (#3208) by @myangaa1 in https://github.com/storytold/photocraft/pull/3363\n* ci: refactor workflows to use storytold/craft-common-actions by @dylanmtaylor in https://github.com/storytold/photocraft/pull/3432\n* Speed up Tilt-Shift with existing per-level halo trimming by @optimalbytee in https://github.com/storytold/photocraft/pull/2880\n* Select and Mask: Refine Edge Brush (#2972) by @vangel76 in https://github.com/storytold/photocraft/pull/2989\n* Layers: Combine Shapes merges the selected shape layers (#2400) by @davidmann4 in https://github.com/storytold/photocraft/pull/2906\n* Move dock tabs between groups individually by @imSlicedBread in https://github.com/storytold/photocraft/pull/3239\n* Add built-in rainbow gradient presets by @Myosh1 in https://github.com/storytold/photocraft/pull/2916\n* Native brush outline and crosshair cursors on macOS, X11 and Wayland (#1343) by @tanish2k09 in https://github.com/storytold/photocraft/pull/3243\n* Menus: a submenu stays open while the pointer heads for it (#1218) by @brennanMKE in https://github.com/storytold/photocraft/pull/3251\n* i18n(pt-br): complete Brazilian Portuguese catalog (+782 missing UI, filter, and tool strings) by @onicafe in https://github.com/storytold/photocraft/pull/3254\n* Zoom and Hand tools: right-click the canvas for the view menu (#3242) by @LloydNicholson in https://github.com/storytold/photocraft/pull/3255\n* Quick Mask: an empty start and Select All stay apart (#2743) by @itrycodinganditsbad in https://github.com/storytold/photocraft/pull/2922\n* raw: charge the lossless-JPEG intermediate and segment-sized buffers against max_alloc (#2925) by @switch87 in https://github.com/storytold/photocraft/pull/3194\n* Prevent white flash when opening the screen color picker by @imSlicedBread in https://github.com/storytold/photocraft/pull/3256\n* Add FITS read/write (astronomy images) by @dmoulton in https://github.com/storytold/photocraft/pull/2956\n* ui: keep the Color panel knob in the corner it was dragged to by @switch87 in https://github.com/storytold/photocraft/pull/3275\n* Rulers: stay level and fully ticked on a rotated view; guides turn with the image (#3233) by @vangel76 in https://github.com/storytold/photocraft/pull/3282\n* ui: Dust & Scratches previews at full resolution, as it applies by @switch87 in https://github.com/storytold/photocraft/pull/3287\n* Open several files in name order, keeping it for background opens (#3248) by @myangaa1 in https://github.com/storytold/photocraft/pull/3293\n* GPU canvas: price the display textures before building them (#2934) by @vangel76 in https://github.com/storytold/photocraft/pull/3299\n* Move tool: double-click type on the canvas to edit it (#1132) by @LloydNicholson in https://github.com/storytold/photocraft/pull/3300\n* Free Transform: right-click W or H to pick their unit (#3235) by @dhiorns15 in https://github.com/storytold/photocraft/pull/3301\n* Type: variable font axis sliders; optical size follows the type size (#2985) by @vangel76 in https://github.com/storytold/photocraft/pull/2996\n* Tests: panic_hunt reruns a timed-out command before calling it hung (#2994) by @vangel76 in https://github.com/storytold/photocraft/pull/2997\n* Cycle Color Lookup LUTs with keyboard and wheel by @imSlicedBread in https://github.com/storytold/photocraft/pull/3304\n* Fix/3144 taskbar maximized by @axlecoffee in https://github.com/storytold/photocraft/pull/3308\n* File Handling: wire Image Previews to embed a PSD thumbnail (#204) by @davidmann4 in https://github.com/storytold/photocraft/pull/2971\n* Select and Mask: Output To New Document, with or without a layer mask (#2998) by @vangel76 in https://github.com/storytold/photocraft/pull/3007\n* Inspect: report each layer's vector mask by @KnottyDyes in https://github.com/storytold/photocraft/pull/2980\n* Pen: Alt breaks a handle while drawing, and close-drag pulls out the first anchor's handles (#3306) by @vangel76 in https://github.com/storytold/photocraft/pull/3314\n* Type: Warp on live type takes the warp styles and stays editable, no prompt (#3004) by @vangel76 in https://github.com/storytold/photocraft/pull/3008\n* feat(ui): Motion Blur and other filter angles get the angle dial (#3152) by @Kartik8Dwivedi in https://github.com/storytold/photocraft/pull/3407\n* Free Transform: ⌘-drag of a corner scales editable type instead of distorting it (#3010) by @vangel76 in https://github.com/storytold/photocraft/pull/3012\n* Color panel: HSB on sRGB values, like Photoshop (#3323) by @LloydNicholson in https://github.com/storytold/photocraft/pull/3327\n* fix(shapes): options bar Fill/Stroke edit the selected shape by @alonfaraj in https://github.com/storytold/photocraft/pull/3370\n* Installed ICC profiles in the profile menus, and Mirror in Print by @Moiztermind in https://github.com/storytold/photocraft/pull/3011\n* Window: a window saved while minimized reopens at the minimum size, not 160 × 64 by @KattKnight in https://github.com/storytold/photocraft/pull/3380\n* i18n: translate the Select and Mask dialog labels (#3014) by @vangel76 in https://github.com/storytold/photocraft/pull/3015\n* Color: honour the EXIF sRGB tag on open; wire Ignore EXIF Profile Tag (#204) by @timothydaly1 in https://github.com/storytold/photocraft/pull/3026\n* Linux: say so when no file dialog can open (#3354); read ldconfig on non-English systems by @DomiLuebben in https://github.com/storytold/photocraft/pull/3397\n* fix(paint): respect Lock All on layer masks (#3094) by @Sir-Starch in https://github.com/storytold/photocraft/pull/3111\n* Transform: Distort, Perspective and Warp keep shape layers live (#3009) by @vangel76 in https://github.com/storytold/photocraft/pull/3025\n* fix(gradient): respect Lock All on Gradient Fills (#3093) by @Sir-Starch in https://github.com/storytold/photocraft/pull/3120\n* fix(ui): focus and select hex field when color picker opens (#3375) by @buivanvu94 in https://github.com/storytold/photocraft/pull/3408\n* Type: scan system fonts off the UI thread (#3021) by @vangel76 in https://github.com/storytold/photocraft/pull/3030\n* fix(type): respect Lock All on text edits (#3092) by @Sir-Starch in https://github.com/storytold/photocraft/pull/3132\n* fix(type): return caret after normalized CRLF insertion (#3074) by @Sir-Starch in https://github.com/storytold/photocraft/pull/3138\n* Toolbox: make the colour swap arrow clearer by @Jeremy8776 in https://github.com/storytold/photocraft/pull/3416\n* fix(type): navigate adjacent line with large leading (#3066) by @Sir-Starch in https://github.com/storytold/photocraft/pull/3141\n* fix(ui): drop doubled options-bar borders reintroduced in UI.9 by @rafi612 in https://github.com/storytold/photocraft/pull/3425\n* Transform Path: Distort, Perspective and Warp apply to paths (#3027) by @vangel76 in https://github.com/storytold/photocraft/pull/3032\n* fix(crop): unlock Background when extending canvas (#3081) by @Sir-Starch in https://github.com/storytold/photocraft/pull/3158\n* Fix Camera Raw preview color management by @imSlicedBread in https://github.com/storytold/photocraft/pull/3427\n* fix(mode): restore indexed pixels after clearing transparency (#3080) by @Sir-Starch in https://github.com/storytold/photocraft/pull/3153\n* Marquee: Single Row/Column Marquee History step names (#3031) by @vangel76 in https://github.com/storytold/photocraft/pull/3035\n* fix(cli): skip recorded view and save steps in batch (#3058) by @Sir-Starch in https://github.com/storytold/photocraft/pull/3143\n* Properties: a new adjustment or fill layer shows its settings, not its mask (#3369) by @davidmann4 in https://github.com/storytold/photocraft/pull/3429\n* fix(filters): process untouched Reveal All masks (#3082) by @Sir-Starch in https://github.com/storytold/photocraft/pull/3156\n* Keep the Color panel selected when switching themes (#3371) by @prekabreki in https://github.com/storytold/photocraft/pull/3433\n* fix(history): read locked history sources (#3076) by @Sir-Starch in https://github.com/storytold/photocraft/pull/3186\n* automation: refuse edit.installedProfiles, it scans the OS profile folders by @Sir-Starch in https://github.com/storytold/photocraft/pull/3763\n* Keep transform controls with moved selected pixels (#3402) by @prekabreki in https://github.com/storytold/photocraft/pull/3436\n* SVG: warn when text has no font to use (fixes the FreeBSD svg test) by @diegochagas in https://github.com/storytold/photocraft/pull/3168\n* Crop tool: switching to another tool commits the pending crop (#3368) by @davidmann4 in https://github.com/storytold/photocraft/pull/3451\n* fix(warp): Perspective Warp moves only the selected part of a linked … by @kavishkashehan726-sudo in https://github.com/storytold/photocraft/pull/3148\n* Paths: Stroke Path with any brush-based tool and Simulate Pressure (#2978) by @vangel76 in https://github.com/storytold/photocraft/pull/3039\n* fix(image): arbitrary canvas rotation moves position-locked children in groups (#3078) by @buivanvu94 in https://github.com/storytold/photocraft/pull/3155\n* i18n(cs): translate the dynamic labels the Czech catalog was missing by @Losminek in https://github.com/storytold/photocraft/pull/3454\n* Artboard tool: '+' buttons add a board beside the selected one; ⇧ keeps proportions (#3033) by @vangel76 in https://github.com/storytold/photocraft/pull/3046\n* fix(transform): identity transform makes feathered selection edges translucent (#3079) by @buivanvu94 in https://github.com/storytold/photocraft/pull/3159\n* Let the Actions step list grow with its panel by @kotulsky in https://github.com/storytold/photocraft/pull/3460\n* Layers: clip groups follow New Layer, Arrange, Reorder and Delete (#2203) by @timothydaly1 in https://github.com/storytold/photocraft/pull/3090\n* Type Mask: Shift/Alt at commit add to or subtract from the selection; no Layers row for the working text (#3036) by @vangel76 in https://github.com/storytold/photocraft/pull/3069\n* Quick-export each selected layer as a separate PNG by @kotulsky in https://github.com/storytold/photocraft/pull/3462\n* scorecard: FILE-216-5 save-path tests are in the tree by @davidmann4 in https://github.com/storytold/photocraft/pull/3476\n* Actions: a command that runs other commands is recorded once (#3067) by @vangel76 in https://github.com/storytold/photocraft/pull/3072\n* Type: triple-click selects a line, quadruple a paragraph, five clicks all text (#3493) by @davidmann4 in https://github.com/storytold/photocraft/pull/3496\n* Layers: the New Layer dialog (Layer › New › Layer…, ⇧⌘N) by @timothydaly1 in https://github.com/storytold/photocraft/pull/3104\n* Color Picker: no bigger than Photoshop's (532 × 376 points, was 682 × 437), buttons sized to their labels by @kayrockscreenprinting in https://github.com/storytold/photocraft/pull/3500\n* Artboards: a board moved past the canvas origin grows the canvas left/up (#3070) by @vangel76 in https://github.com/storytold/photocraft/pull/3073\n* Optimise computed brush coverage and native raster row writes by @optimalbytee in https://github.com/storytold/photocraft/pull/3098\n* fix(crop): the crop box's own Undo/Redo (#3145) by @dottedt in https://github.com/storytold/photocraft/pull/3510\n* Freeform Pen: Alt-clicks draw straight segments; Cmd/Ctrl is Direct Selection with the new pens (#3085) by @vangel76 in https://github.com/storytold/photocraft/pull/3087\n* test(gradient): guard the on-canvas midpoint diamond drag (#3172) by @dottedt in https://github.com/storytold/photocraft/pull/3512\n* Actions: Last Filter is recorded as the filter it repeated (#3089) by @vangel76 in https://github.com/storytold/photocraft/pull/3091\n* Content-Aware Move: Transform On Drop (#3071) by @vangel76 in https://github.com/storytold/photocraft/pull/3095\n* Numeric fields: typed units, scrubby labels, double-click reset (#3099) by @vangel76 in https://github.com/storytold/photocraft/pull/3100\n* Keep fitted Camera Raw colour during tuning and crop Nikon D5100 borders by @optimalbytee in https://github.com/storytold/photocraft/pull/3201\n* Preserve surrounding whitespace in OpenRaster layer names by @imSlicedBread in https://github.com/storytold/photocraft/pull/3207\n* Tests: one GPU harness at a time in every GPU test binary (WARP crash) by @dhiorns15 in https://github.com/storytold/photocraft/pull/3212\n* Content-Aware Scale: transform box with live preview (#3096) by @vangel76 in https://github.com/storytold/photocraft/pull/3103\n* automation: doc.place reads a file through the read root (#2810) by @switch87 in https://github.com/storytold/photocraft/pull/3215\n* Layers panel: Shift+Plus/Minus cycle blend modes; effects dropped on the Trash are deleted (#3102) by @vangel76 in https://github.com/storytold/photocraft/pull/3106\n* Moving type keeps its rendering: Artboards to Files no longer drops PSD text by @fabianghe in https://github.com/storytold/photocraft/pull/3218\n* Shortcuts: layout-independent brush keys, Photoshop's German keys plus a fallback for all layouts (#3109) by @vangel76 in https://github.com/storytold/photocraft/pull/3112\n* Liquify: the brush fades to nothing at its edge at every Density (#2606) by @dhiorns15 in https://github.com/storytold/photocraft/pull/3241\n* test(paint): pin the retouch dab footprint to the Full Size ring by @switch87 in https://github.com/storytold/photocraft/pull/3258\n* Layers panel: a mask dragged onto the Trash asks to apply or delete it (#3113) by @vangel76 in https://github.com/storytold/photocraft/pull/3118\n* PNG export: Indexed Color keeps the document resolution (#3047) by @vangel76 in https://github.com/storytold/photocraft/pull/3271\n* Layers panel: dragging the vector mask to the Trash asks to delete just the mask (#3119) by @vangel76 in https://github.com/storytold/photocraft/pull/3125\n* Interface: an Enable Animations preference (#3273) by @vangel76 in https://github.com/storytold/photocraft/pull/3276\n* Edit > Copy takes a targeted layer mask, so masks travel between layers and documents (#2928) by @vbasky in https://github.com/storytold/photocraft/pull/3267\n* automation: export layers, data sets and CSVs through the granted roots (#3216) by @switch87 in https://github.com/storytold/photocraft/pull/3230\n* Type: fall back to installed Khmer, Lao and Burmese fonts (#218) by @RaccoonPie-314 in https://github.com/storytold/photocraft/pull/3259\n* Curves: pencil mode, Smooth and Edit points (#3088) by @vangel76 in https://github.com/storytold/photocraft/pull/3108\n* fix(io): smooth PSD gradients no longer overshoot their stops (#3028) by @Sir-Starch in https://github.com/storytold/photocraft/pull/3285\n* Codecs: decode PNM straight into the budgeted output buffer (#2938) by @vangel76 in https://github.com/storytold/photocraft/pull/3291\n* Properties: Curves adjustment layers get the black/gray/white eyedroppers (#3110) by @vangel76 in https://github.com/storytold/photocraft/pull/3115\n* Format: admit the declared .pcraft canvas before loading it (#2935) by @vangel76 in https://github.com/storytold/photocraft/pull/3295\n* fix(format): persist the Save As filename in .pcraft manifests (#3312) by @Ni-zav in https://github.com/storytold/photocraft/pull/3319\n* Levels: black, gray and white point eyedroppers (#3116) by @vangel76 in https://github.com/storytold/photocraft/pull/3128\n* Puppet Warp: the mesh follows the object outline (#3105) by @vangel76 in https://github.com/storytold/photocraft/pull/3117\n* Clone Source: W/H link and overlay blend modes (#3298) by @vangel76 in https://github.com/storytold/photocraft/pull/3310\n* Vanishing Point: on-canvas plane editor with Create/Edit Plane, grid and paste (#3122) by @vangel76 in https://github.com/storytold/photocraft/pull/3133\n* Let `[` shrink the brush to 1 px (#3229) by @myangaa1 in https://github.com/storytold/photocraft/pull/3332\n* MCP: command_batch says it is not atomic, and the docs explain recovery by @KnottyDyes in https://github.com/storytold/photocraft/pull/3338\n* New Document: a real Recent category of recently created documents (#3131) by @vangel76 in https://github.com/storytold/photocraft/pull/3135\n* Group effects follow their children's effects, not just their pixels (#3274) by @alexanderalber in https://github.com/storytold/photocraft/pull/3326\n* Format: reopening a .pcraft shares deduplicated tiles again (#3315) by @vangel76 in https://github.com/storytold/photocraft/pull/3339\n* fix(presets): never overwrite preset or actions files that failed to load by @tms-h in https://github.com/storytold/photocraft/pull/3346\n* fix(engine): create new layer masks at the document depth by @piero-83 in https://github.com/storytold/photocraft/pull/3359\n* feat(api): add file path to document.inspect by @Mr-Pearce in https://github.com/storytold/photocraft/pull/3398\n* Ctrl-click shape and path thumbnails to load selections by @kotulsky in https://github.com/storytold/photocraft/pull/3449\n* fix(selection): scope Color Range to the active selection (#3313) by @Ni-zav in https://github.com/storytold/photocraft/pull/3366\n* Layer › Duplicate Layer… asks for the copy's name and destination document (#3348) by @prekabreki in https://github.com/storytold/photocraft/pull/3440\n* Copy takes every selected layer, Paste recreates them (#2478) by @DomiLuebben in https://github.com/storytold/photocraft/pull/3394\n* Fix GIMP hole heading name and location by @philipzae in https://github.com/storytold/photocraft/pull/3517\n* Commands check an explicit \"layer\" instead of whichever layer is active by @fabianghe in https://github.com/storytold/photocraft/pull/3466\n* Brush cursor: shaped tips trace their outline (split from #2516) by @siraxe in https://github.com/storytold/photocraft/pull/3467\n* perf: Edit > Clear works tile by tile on large selections (#3463) by @itrycodinganditsbad in https://github.com/storytold/photocraft/pull/3482\n* Autosave: best-effort cleanup after commit; sweep orphaned recovery bundles (#3489) by @vangel76 in https://github.com/storytold/photocraft/pull/3502\n* Raw: open monochrome LinearRaw DNGs (1 sample per pixel) (#3497) by @davidmann4 in https://github.com/storytold/photocraft/pull/3503\n* PSD gradients: read the interpolation method Photoshop writes; add Smooth by @MrCloudy2 in https://github.com/storytold/photocraft/pull/3442\n* CI: restore tests, catalogs, and web size gate by @skylartaylor in https://github.com/storytold/photocraft/pull/3923\n* Color Balance: Photoshop's per-channel levels and gamma curves by @MrCloudy2 in https://github.com/storytold/photocraft/pull/3443\n* Save: show save progress as Saving NN% in the status bar and tab title (#3389) by @davidmann4 in https://github.com/storytold/photocraft/pull/3485\n* Warp presets: Photoshop's Bezier control grids instead of approximations by @MrCloudy2 in https://github.com/storytold/photocraft/pull/3444\n* Brush and Pencil: hold ~ to erase, and Clear mode (#3439) by @itsF4LCON in https://github.com/storytold/photocraft/pull/3465\n* Content-Aware tools: faster, cancellable at once, same pixels (P21, P22, P49) by @Unemars in https://github.com/storytold/photocraft/pull/3395\n* fix(io): a fresh Metrics type layer writes no empty Txt2 stub (#3514) by @dottedt in https://github.com/storytold/photocraft/pull/3529\n* Brush: show the smoothing string from brush to pointer (#3479) by @vangel76 in https://github.com/storytold/photocraft/pull/3526\n* Security: verify AppImage build inputs by @skylartaylor in https://github.com/storytold/photocraft/pull/2270\n* History panel: snapshots (camera button, snapshot rows, history.*Snapshot) (#2966) by @itsF4LCON in https://github.com/storytold/photocraft/pull/3545\n* feat(ui): Photoshop's New Guide: units and colour by @FinnNk in https://github.com/storytold/photocraft/pull/3553\n* Tools: Shift key switches tools by default, as in Photoshop (#3525) by @vangel76 in https://github.com/storytold/photocraft/pull/3528\n* Use Fontconfig for Linux font discovery (#2330) by @Sir-Starch in https://github.com/storytold/photocraft/pull/2961\n* Use each XRandR output's ICC profile in the screen picker by @Sir-Starch in https://github.com/storytold/photocraft/pull/2962\n* Support automatic monitor ICC profiles on Linux X11 by @Sir-Starch in https://github.com/storytold/photocraft/pull/2963\n* Security: harden document exports and automation inputs by @skylartaylor in https://github.com/storytold/photocraft/pull/2269\n* Animated GIF: every frame loads into video layers (#572) by @Sir-Starch in https://github.com/storytold/photocraft/pull/2999\n* GPU memory budget: read installed RAM on Windows by @dhiorns15 in https://github.com/storytold/photocraft/pull/3189\n* fix(ui): correct the clipping-mask indicator orientation by @Skyfuller1303 in https://github.com/storytold/photocraft/pull/3037\n* Windows installer: refuse Windows 7 and 8 with a clear message (#2310) by @dhiorns15 in https://github.com/storytold/photocraft/pull/3261\n* Format: index ZIP entries by name and use crc32fast (#3474) by @vangel76 in https://github.com/storytold/photocraft/pull/3488\n* psd: harden the standalone binary parsers (fuzz + property tests, gradient/swatch correctness) by @agent-346022 in https://github.com/storytold/photocraft/pull/3542\n* Add Vietnamese localization by @duydev in https://github.com/storytold/photocraft/pull/2636\n* Linux: StartupWMClass is the window's app id by @atoslins in https://github.com/storytold/photocraft/pull/3481\n* M11: ten more MCP acceptance tasks (11-20) for FILE-216-6 by @reynold-hu in https://github.com/storytold/photocraft/pull/3562\n* fix(ui): don't reopen floating Brush Settings on restart by @Ni-zav in https://github.com/storytold/photocraft/pull/3570\n* M11: six rounding-out acceptance tasks (31-36) by @reynold-hu in https://github.com/storytold/photocraft/pull/3568\n* Options bar: the Gradient tool's controls show in every theme (#3601) by @vangel76 in https://github.com/storytold/photocraft/pull/3607\n* fix(ui): one eliding label for fixed-width chrome, so translations can't overrun (#3580) by @dottedt in https://github.com/storytold/photocraft/pull/3616\n* test(ui): marquee shift+alt before the drag intersects the selection (#208) by @agent-346022 in https://github.com/storytold/photocraft/pull/3624\n* Crop tool: a resized frame snaps its handle, not the pointer (#3638) by @davidmann4 in https://github.com/storytold/photocraft/pull/3640\n* fix(transform): keep nearest-neighbor previews on original texels by @Ni-zav in https://github.com/storytold/photocraft/pull/3688\n* fix(engine): image.canvasSize rejects unlisted anchors instead of landing between two (#2946) by @agent-346022 in https://github.com/storytold/photocraft/pull/3572\n* Edit › Transform › Skew: corners and sides move along one axis, like Photoshop (#3437) by @kayrockscreenprinting in https://github.com/storytold/photocraft/pull/3590\n* PSD: alpha channel resources count the merged transparency; 13-byte DisplayInfo by @MrCloudy2 in https://github.com/storytold/photocraft/pull/3577\n* Glows: Photoshop's precise ramp; centre-source glows inverted after the contour by @MrCloudy2 in https://github.com/storytold/photocraft/pull/3578\n* Canvas: wheel/pinch zoom over the pasteboard keeps the image in view (#3720) by @FredApps in https://github.com/storytold/photocraft/pull/3731\n* Select: open the Save Selection and Load Selection dialogs (#3713) by @itrycodinganditsbad in https://github.com/storytold/photocraft/pull/3738\n* Toolbar: the colour chips sit right under the tools again by @Unemars in https://github.com/storytold/photocraft/pull/3745\n* Fix: video frames to layers working using folder dialog request (#3513) by @peppepol in https://github.com/storytold/photocraft/pull/3718\n* Menus: keep clear of the taskbar when Wayland hides the window position (#3737) by @FredApps in https://github.com/storytold/photocraft/pull/3739\n* i18n(it): translate the dynamic labels the Italian catalog was missing by @fabiodalez-dev in https://github.com/storytold/photocraft/pull/3742\n* Chisel bevels: Photoshop's facet slope and ramp ends by @MrCloudy2 in https://github.com/storytold/photocraft/pull/3595\n* Character panel: OpenType feature buttons (TYPE-218-5, #3752) by @davidmann4 in https://github.com/storytold/photocraft/pull/3757\n* Brush: symmetric live strokes update only what changed (#3593) by @xsvm in https://github.com/storytold/photocraft/pull/3605\n* Move: an unlinked layer mask moves alone when targeted (#3604) by @vangel76 in https://github.com/storytold/photocraft/pull/3611\n* fix(ui): drag a document tab off the strip to float it in its own window (#3733) by @bommerts in https://github.com/storytold/photocraft/pull/3785\n* fix(web): keep the canvas steady during preset saves by @zenjabba in https://github.com/storytold/photocraft/pull/3805\n* UI: drag to reorder swatch groups and preset folders (#3658) by @dottedt in https://github.com/storytold/photocraft/pull/3828\n* Keep transform preview visible while panning (#3610) by @Sir-Starch in https://github.com/storytold/photocraft/pull/3843\n* perf: draw marching ants as one mesh instead of a line shape per dash by @JameEnder in https://github.com/storytold/photocraft/pull/3846\n* Fail CLI run when recorded action playback fails by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/3861\n* 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\n* 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\n* 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\n* 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\n* 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\n* 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\n* fix(liquify): pointer speed no longer changes the warp (continuous dab spacing) by @echelon in https://github.com/storytold/photocraft/pull/4047\n* Update Japanese translations by @coolvitto in https://github.com/storytold/photocraft/pull/3892\n* UI: unify plain text inputs on one text_field widget (#3789) by @dottedt in https://github.com/storytold/photocraft/pull/3896\n* Layer › Export As exports every selected layer or artboard (#3629) by @fabianghe in https://github.com/storytold/photocraft/pull/3909\n* UI: Photoshop-style in-dialog preview for the generic filter dialogs (#3769) by @dottedt in https://github.com/storytold/photocraft/pull/3877\n* fix(ui): allow selecting shapes and editing color with path selection (#3915) by @seotarek in https://github.com/storytold/photocraft/pull/3932\n* 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\n* PSD: rasterized fill and smart layers stay rasterized after save and reopen by @echelon in https://github.com/storytold/photocraft/pull/4034\n* Dismiss Home when closing a document tab (#3981) by @vbasky in https://github.com/storytold/photocraft/pull/3984\n* fix(ui): show a paint-bucket cursor for the Paint Bucket tool (#3968) by @MarekSpodBiedry in https://github.com/storytold/photocraft/pull/3989\n* fix(ui): Open layer color choices from the visibility icon by @Ni-zav in https://github.com/storytold/photocraft/pull/4001\n* fix(ui): Make checkbox labels nonselectable and show pointer cursors by @Ni-zav in https://github.com/storytold/photocraft/pull/4002\n* fix(ui): keep filter jobs polling on idle Linux by @rozaqabdul656 in https://github.com/storytold/photocraft/pull/3961\n* Add WebP and optional quality to Batch export dialogs by @zenjabba in https://github.com/storytold/photocraft/pull/3956\n* 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\n* PSD: composite_rgba8 checks the output budget and converts planes fallibly (#3639) by @vangel76 in https://github.com/storytold/photocraft/pull/3651\n* PSD: don't preallocate knots from untrusted path length counts (#3635) by @vangel76 in https://github.com/storytold/photocraft/pull/3654\n* PSD: bound the zero padding of undersized pattern channels (#3652) by @vangel76 in https://github.com/storytold/photocraft/pull/3686\n* PSD: cap descriptor list/object preallocation from untrusted counts (#3636) by @vangel76 in https://github.com/storytold/photocraft/pull/3699\n* fix(engine): Displace smart filter ignores its mapPath displacement map (#3670) by @horknfbr in https://github.com/storytold/photocraft/pull/3676\n* 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\n* feat(io): import Photoshop Displace smart filters with their embedded map (#3673) by @horknfbr in https://github.com/storytold/photocraft/pull/3680\n* Gradient Map: edit color stops on the ramp by @arthurdeka in https://github.com/storytold/photocraft/pull/3982\n* 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\n* 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\n* feat(io): open Krita .kra composites as editable raster documents (#3692) by @Ni-zav in https://github.com/storytold/photocraft/pull/3700\n* fix(psd): Multichannel alpha channels stay alpha; a save keeps resources and global blocks by @echelon in https://github.com/storytold/photocraft/pull/4031\n* fix(layers): identify the Background by structure, never by its English name by @echelon in https://github.com/storytold/photocraft/pull/4036\n* Codecs: refuse implausible PNG/WebP headers before allocating (#3691) by @vangel76 in https://github.com/storytold/photocraft/pull/3706\n* PSD: avoid cloning layer data when padding and presize the output buffer (#3687) by @vangel76 in https://github.com/storytold/photocraft/pull/3707\n* Codecs: bound the TIFF IFD walk by a file-size entry budget (#3683) by @vangel76 in https://github.com/storytold/photocraft/pull/3711\n* Select the Normal RGB blend kernel once per buffer by @Streetblock in https://github.com/storytold/photocraft/pull/3715\n* Allow empty vector masks in downsampled preview proxies by @Streetblock in https://github.com/storytold/photocraft/pull/3716\n* feat(codecs): decode legacy PCX images and palettes (#3692) by @Ni-zav in https://github.com/storytold/photocraft/pull/3701\n* fix(text): scale faux bold dilation with glyph scaling (#3705) by @nicolasfalesy in https://github.com/storytold/photocraft/pull/3719\n* Answer a repeat auth with \"already authenticated\" (#3668) by @itrycodinganditsbad in https://github.com/storytold/photocraft/pull/3723\n* Codecs: integer fast paths for Image::convert (#3717) by @vangel76 in https://github.com/storytold/photocraft/pull/3729\n* automation: say why a command is disabled in engine.commands (#3664) by @itrycodinganditsbad in https://github.com/storytold/photocraft/pull/3740\n* 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\n* View: remember Extras, Show and Snap To across restarts (#3762) by @bommerts in https://github.com/storytold/photocraft/pull/3787\n* fix(automation): warn when text falls back from a missing font (#3391) by @buivanvu94 in https://github.com/storytold/photocraft/pull/3630\n* Satin: Distance 0 draws as 1 px, as in Photoshop by @MrCloudy2 in https://github.com/storytold/photocraft/pull/3744\n* Type: editing text keeps its ligatures and OpenType alternates (#3617) by @davidmann4 in https://github.com/storytold/photocraft/pull/3747\n* Brushes: Photoshop's texture Height/Subtract modes, Brightness and Contrast (#3340) by @davidmann4 in https://github.com/storytold/photocraft/pull/3749\n* 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\n* Shadows/Highlights: Photoshop's, measured by @Unemars in https://github.com/storytold/photocraft/pull/3765\n* Black & White: tint like the Color blend mode, as in Photoshop by @MrCloudy2 in https://github.com/storytold/photocraft/pull/3780\n* Hue/Saturation: Photoshop's saturation curve, lightness order and Colorize lightness by @MrCloudy2 in https://github.com/storytold/photocraft/pull/3781\n* History: add history.undo and history.redo aliases (#3675) by @dottedt in https://github.com/storytold/photocraft/pull/3786\n* Fix straight-path anchor insertion at the hit position by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/3856\n* Preserve signed HDR colors during surface transforms by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/3857\n* Brushes: drag a brush folder into another folder (#2014) by @davidmann4 in https://github.com/storytold/photocraft/pull/3851\n* Keep CMYK ink values when flattening and merging (#3778) by @itrycodinganditsbad in https://github.com/storytold/photocraft/pull/3855\n* Type: wire missingGlyphProtection (script fallback toggle) by @reynold-hu in https://github.com/storytold/photocraft/pull/3863\n* io: read version 3 Photo Filter colour as XYZ, not Lab (#3777) by @itrycodinganditsbad in https://github.com/storytold/photocraft/pull/3790\n* Workspace: wire Enable Narrow Options Bar (#204) by @reynold-hu in https://github.com/storytold/photocraft/pull/3870\n* Selective Color (Absolute): scale by the room the ink has, as in Photoshop by @MrCloudy2 in https://github.com/storytold/photocraft/pull/3793\n* 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\n* Image > Mode > 32 Bits/Channel: convert to linear light, as Photoshop does by @MrCloudy2 in https://github.com/storytold/photocraft/pull/3792\n* Engine: Flatten All Layer Effects keeps layer and vector masks (#3804) by @dottedt in https://github.com/storytold/photocraft/pull/3835\n* 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\n* perf(gpu): a duplicated layer's texture starts as a copy of its source by @JameEnder in https://github.com/storytold/photocraft/pull/3848\n* perf: the Navigator redraws only the area an edit changed by @JameEnder in https://github.com/storytold/photocraft/pull/3845\n* perf: edits, undo and redo recomposite only where added or removed layers draw by @JameEnder in https://github.com/storytold/photocraft/pull/3847\n* Remove tool: Create a new layer, and Remove after each stroke off by @diegochagas in https://github.com/storytold/photocraft/pull/3808\n* Workspace: wire Auto-Collapse Iconic Panels (#204) by @reynold-hu in https://github.com/storytold/photocraft/pull/3880\n* Camera Raw on raw opens: Clarity, Texture and Dehaze in linear light, measured by @Unemars in https://github.com/storytold/photocraft/pull/3815\n* Layer styles: Photoshop's measured contour presets; Satin's contour lookup by @MrCloudy2 in https://github.com/storytold/photocraft/pull/3803\n* fix(smart-object): keep pixels when rasterizing smart object layer by @Gotix-eg in https://github.com/storytold/photocraft/pull/3873\n* PSD: write kept 8B64 blocks as 8BIM so Photoshop opens PSB-derived files by @MrCloudy2 in https://github.com/storytold/photocraft/pull/3743\n* fix(io): preserve indexed BMP color tables (#3802) by @Sir-Starch in https://github.com/storytold/photocraft/pull/3869\n* 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\n* 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\n* Merged and stamped layers keep their content bounds in CMYK and Lab by @dgliwa in https://github.com/storytold/photocraft/pull/3886\n* Preserve surviving channel targets and visibility on deletion by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/3887\n* Layers: Merge Group for a selected group (#3832) by @FredApps in https://github.com/storytold/photocraft/pull/3888\n* test(cms): validate profile-specific CMYK endpoints by @FredApps in https://github.com/storytold/photocraft/pull/3890\n* Count video footage in history memory budgets by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/3894\n* Mix filtered selection edges with premultiplied alpha by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/3895\n* Color: convert input-only embedded profiles to the working space on open (#3876) by @HEOJUNFO in https://github.com/storytold/photocraft/pull/3900\n* Format: check pattern sizes on load (#3478) by @vangel76 in https://github.com/storytold/photocraft/pull/3484\n* Format: overflow-safe blob decode and bounds-checked ZIP reads (#3486) by @vangel76 in https://github.com/storytold/photocraft/pull/3501\n* Fuzz: ignore the same build leftovers in every fuzz crate by @s17sh70x2jfl031ag in https://github.com/storytold/photocraft/pull/3585\n* HEIF: move the heic-rs pin from 0.1.1 to 0.1.4 by @s17sh70x2jfl031ag in https://github.com/storytold/photocraft/pull/3637\n* Codecs: decode only the requested EXR part (#3721) by @vangel76 in https://github.com/storytold/photocraft/pull/3722\n* Codecs: decode JPEG and CCITT G3/G4 compressed TIFF (#3712) by @vangel76 in https://github.com/storytold/photocraft/pull/3727\n* fix(linux): avoid duplicate AppImage desktop launcher (#3623) by @Korg1ch in https://github.com/storytold/photocraft/pull/3641\n* ops: count selection masks in history pixel budget by @Streetblock in https://github.com/storytold/photocraft/pull/3614\n* Verify PngSuite archives and cached corpus files by @zenjabba in https://github.com/storytold/photocraft/pull/3973\n* feat: Alt+Cancel → Reset for opt-in command dialogs by @seandellis in https://github.com/storytold/photocraft/pull/3871\n* i18n(tr): add Turkish UI translation catalog by @yeniufuklar-com in https://github.com/storytold/photocraft/pull/3809\n* i18n: add Hungarian (hu) UI translation by @Skaywalker in https://github.com/storytold/photocraft/pull/3831\n* Release workflow: pass the Azure signing secrets by @echelon in https://github.com/storytold/photocraft/pull/3794\n* 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\n* 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\n\n## New Contributors\n* @skylartaylor made their first contribution in https://github.com/storytold/photocraft/pull/3097\n* @herzer made their first contribution in https://github.com/storytold/photocraft/pull/2660\n* @Skyfuller1303 made their first contribution in https://github.com/storytold/photocraft/pull/2738\n* @imSlicedBread made their first contribution in https://github.com/storytold/photocraft/pull/3209\n* @TheTeslak made their first contribution in https://github.com/storytold/photocraft/pull/3206\n* @Simonfalentinolesen made their first contribution in https://github.com/storytold/photocraft/pull/2402\n* @Matty-PW made their first contribution in https://github.com/storytold/photocraft/pull/2760\n* @ngrafton2006 made their first contribution in https://github.com/storytold/photocraft/pull/2892\n* @KattKnight made their first contribution in https://github.com/storytold/photocraft/pull/2510\n* @timothydaly1 made their first contribution in https://github.com/storytold/photocraft/pull/2953\n* @Desayuno64 made their first contribution in https://github.com/storytold/photocraft/pull/2555\n* @peppepol made their first contribution in https://github.com/storytold/photocraft/pull/3084\n* @MathMattTech made their first contribution in https://github.com/storytold/photocraft/pull/3114\n* @paulo-vc made their first contribution in https://github.com/storytold/photocraft/pull/3126\n* @diegozpy made their first contribution in https://github.com/storytold/photocraft/pull/3154\n* @grlessa made their first contribution in https://github.com/storytold/photocraft/pull/2592\n* @dylanmtaylor made their first contribution in https://github.com/storytold/photocraft/pull/3165\n* @mjohnson7cd made their first contribution in https://github.com/storytold/photocraft/pull/3171\n* @myangaa1 made their first contribution in https://github.com/storytold/photocraft/pull/3363\n* @Myosh1 made their first contribution in https://github.com/storytold/photocraft/pull/2916\n* @onicafe made their first contribution in https://github.com/storytold/photocraft/pull/3254\n* @dmoulton made their first contribution in https://github.com/storytold/photocraft/pull/2956\n* @axlecoffee made their first contribution in https://github.com/storytold/photocraft/pull/3308\n* @KnottyDyes made their first contribution in https://github.com/storytold/photocraft/pull/2980\n* @Kartik8Dwivedi made their first contribution in https://github.com/storytold/photocraft/pull/3407\n* @Moiztermind made their first contribution in https://github.com/storytold/photocraft/pull/3011\n* @DomiLuebben made their first contribution in https://github.com/storytold/photocraft/pull/3397\n* @Losminek made their first contribution in https://github.com/storytold/photocraft/pull/3454\n* @dottedt made their first contribution in https://github.com/storytold/photocraft/pull/3510\n* @RaccoonPie-314 made their first contribution in https://github.com/storytold/photocraft/pull/3259\n* @tms-h made their first contribution in https://github.com/storytold/photocraft/pull/3346\n* @piero-83 made their first contribution in https://github.com/storytold/photocraft/pull/3359\n* @Mr-Pearce made their first contribution in https://github.com/storytold/photocraft/pull/3398\n* @philipzae made their first contribution in https://github.com/storytold/photocraft/pull/3517\n* @agent-346022 made their first contribution in https://github.com/storytold/photocraft/pull/3542\n* @duydev made their first contribution in https://github.com/storytold/photocraft/pull/2636\n* @atoslins made their first contribution in https://github.com/storytold/photocraft/pull/3481\n* @FredApps made their first contribution in https://github.com/storytold/photocraft/pull/3731\n* @fabiodalez-dev made their first contribution in https://github.com/storytold/photocraft/pull/3742\n* @JameEnder made their first contribution in https://github.com/storytold/photocraft/pull/3846\n* @jonathanwxh-cell made their first contribution in https://github.com/storytold/photocraft/pull/3861\n* @n-delic made their first contribution in https://github.com/storytold/photocraft/pull/3796\n* @seotarek made their first contribution in https://github.com/storytold/photocraft/pull/3932\n* @horknfbr made their first contribution in https://github.com/storytold/photocraft/pull/3676\n* @nicolasfalesy made their first contribution in https://github.com/storytold/photocraft/pull/3719\n* @Madcat71 made their first contribution in https://github.com/storytold/photocraft/pull/3760\n* @Gotix-eg made their first contribution in https://github.com/storytold/photocraft/pull/3873\n* @dgliwa made their first contribution in https://github.com/storytold/photocraft/pull/3886\n* @s17sh70x2jfl031ag made their first contribution in https://github.com/storytold/photocraft/pull/3585\n* @Korg1ch made their first contribution in https://github.com/storytold/photocraft/pull/3641\n* @seandellis made their first contribution in https://github.com/storytold/photocraft/pull/3871\n* @yeniufuklar-com made their first contribution in https://github.com/storytold/photocraft/pull/3809\n* @Skaywalker made their first contribution in https://github.com/storytold/photocraft/pull/3831\n\n**Full Changelog**: https://github.com/storytold/photocraft/compare/v0.7.0...v0.8.2","assets":[{"name":"photocraft-0.8.2-freebsd-x86_64.tar.gz","size_bytes":79169066,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-freebsd-x86_64.tar.gz","sha256":"a8e968707d82314eec1aac62bff3f6dbe51f04619f4b93239f1ecec1949a530e","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"photocraft-0.8.2-linux-aarch64.AppImage","size_bytes":71997960,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-linux-aarch64.AppImage","sha256":"d387c94d03870f09fe2e35b9aefd88cb65408d2d0fd891e3a8c63e030cf21cd3","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"photocraft-0.8.2-linux-aarch64.AppImage.zsync","size_bytes":246341,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-linux-aarch64.AppImage.zsync","sha256":"b75c82c216ee531717a46c32c49b3419f1aedcd68a54370a0f7c7a60dabfaa23","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"photocraft-0.8.2-linux-aarch64.deb","size_bytes":77655050,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-linux-aarch64.deb","sha256":"6746360afd551ad095b2c2b7507f40667252ae68275556d6402e2e6642e626f5","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"photocraft-0.8.2-linux-aarch64.flatpak","size_bytes":55430816,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-linux-aarch64.flatpak","sha256":"467345156043f20c560bf46a4311b3122c88ceddcc9e4c38c2f61df2873be54a","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"photocraft-0.8.2-linux-aarch64.rpm","size_bytes":76990024,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-linux-aarch64.rpm","sha256":"6b1fd2d3049de26ca9a007be10d8371bcfc900ef41aadfee61eb57e69dec47ff","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"photocraft-0.8.2-linux-aarch64.tar.gz","size_bytes":75507878,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-linux-aarch64.tar.gz","sha256":"f3920f31406574d1d3f9ca152d46703c8e7f3b504e0d2b2e394f0ad10f0df348","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"photocraft-0.8.2-linux-riscv64.deb","size_bytes":78539416,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-linux-riscv64.deb","sha256":"a8d1fb79417a60f4bf7c72ad8e9d6e26c5747961b55753a4194863febc4f38e2","platform":null},{"name":"photocraft-0.8.2-linux-riscv64.rpm","size_bytes":78238743,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-linux-riscv64.rpm","sha256":"505e6f4a695f302a8951cffe0ae21251a549e1854652d0a47313c6c8a39eac68","platform":null},{"name":"photocraft-0.8.2-linux-riscv64.tar.gz","size_bytes":77502939,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-linux-riscv64.tar.gz","sha256":"0d8beeeef86131ccc26e9c278f3b07d0a7ee8f99229f6fb1724af80730133fed","platform":null},{"name":"photocraft-0.8.2-linux-x86_64.AppImage","size_bytes":75782648,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-linux-x86_64.AppImage","sha256":"5eb656de686af504d8160d5198c2c8d414cf8b7a8d3ecc636bc8ba8fb56448a7","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"photocraft-0.8.2-linux-x86_64.AppImage.zsync","size_bytes":259275,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-linux-x86_64.AppImage.zsync","sha256":"48b67da80add3313ca0be39bbe7d56cec92df0a1deb7a415897d3b48238e78c7","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"photocraft-0.8.2-linux-x86_64.deb","size_bytes":80868116,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-linux-x86_64.deb","sha256":"d527d721dd32131d600013b90fbcaf6f90c49b4cca8c7f4431a143ef7bc7c4c2","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"photocraft-0.8.2-linux-x86_64.flatpak","size_bytes":59803480,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-linux-x86_64.flatpak","sha256":"5a912ca930783a6168c5ed7c8f587f20c2104dae6788df00b6eb8621274ccb34","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"photocraft-0.8.2-linux-x86_64.rpm","size_bytes":80341131,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-linux-x86_64.rpm","sha256":"6567164f10b5f61e18ceb16197f8caeb07755264e6b8d045216720be86ea8241","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"photocraft-0.8.2-linux-x86_64.tar.gz","size_bytes":79671114,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-linux-x86_64.tar.gz","sha256":"16c3089976eee2d290dbe73986db4835c1ec5a043c5c16b017b24848ff5ea827","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"photocraft-0.8.2-macos-universal.dmg","size_bytes":87987312,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-macos-universal.dmg","sha256":"d31fe9f86b521319e412515c5313a56dfa7ca015203e2cbaf49a5b1ddb59a601","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"photocraft-0.8.2-windows-arm64-portable.zip","size_bytes":76194232,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-windows-arm64-portable.zip","sha256":"9a90b6c818db33b82234475a9785bb6e2727528a4f286e71ea9ecaace0ea5877","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"photocraft-0.8.2-windows-arm64.msi","size_bytes":62885888,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-windows-arm64.msi","sha256":"d3bb740ba3ef654467101aaa08ca5deee8e5def339128db45a6d36f54cc42cf2","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"photocraft-0.8.2-windows-x64-portable.zip","size_bytes":80555417,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-windows-x64-portable.zip","sha256":"242acd4134e7947b462d68748b32a6f038fa97099601da950652489690f81799","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"photocraft-0.8.2-windows-x64.msi","size_bytes":67420160,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-windows-x64.msi","sha256":"cca4415e073ecb2255e8deea180c2e69e29f2f3b2c402c832b9d67e0dc386a8b","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"photocraft-0.8.2-windows-x86-portable.zip","size_bytes":76771720,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-windows-x86-portable.zip","sha256":"db3c497897d09d2acf7905deeacb4a00dd42f522f601bbb9ea8a7d806078b505","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"photocraft-0.8.2-windows-x86.msi","size_bytes":65314816,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-0.8.2-windows-x86.msi","sha256":"354111d2466d46e280fa72c12272a5f957a3c1ec3f68acefca30307a60c14ab5","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"photocraft-cli-0.8.2-macos-universal.zip","size_bytes":66648236,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-cli-0.8.2-macos-universal.zip","sha256":"38fd0463f20bc6600aac75ad5e9dd5ec4c35ef23b1dd86ea18a390580c074eac","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"photocraft-web-0.8.2.zip","size_bytes":11063686,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/photocraft-web-0.8.2.zip","sha256":"490e4f3c242f2eee42f58446db8e7d468ac7abae3548b31a477e7fd43a7e92f4","platform":{"os":"web","arch":null,"package_type":"web_zip"}},{"name":"SHA256SUMS.txt","size_bytes":2589,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.8.2/SHA256SUMS.txt","sha256":"c4190a55cb345ec267bd2fc30df6bc7568d50f6da06f9348799a0b9d8c8b245b","platform":null}]},"app_last_fetched":"2026-10-13T23:55:09.516769685Z"},"soundcraft":{"name":"SoundCraft","repo":"storytold/soundcraft","latest_release":{"tag":"v0.6.1","version":"0.6.1","name":"SoundCraft v0.6.1","published_at":"2026-10-12T15:57:05Z","html_url":"https://github.com/storytold/soundcraft/releases/tag/v0.6.1","prerelease":false,"notes_markdown":"## What's Changed\n* Add shared docking with SoundCraft theme and MIDI sizing by @skylartaylor in https://github.com/storytold/soundcraft/pull/167\n* ci: refactor workflows to use storytold/craft-common-actions by @dylanmtaylor in https://github.com/storytold/soundcraft/pull/184\n* Keep each consolidation in its own audio file. by @vbasky in https://github.com/storytold/soundcraft/pull/123\n* Save a session copy without retargeting the open document. by @vbasky in https://github.com/storytold/soundcraft/pull/124\n* Export MIDI controllers and honour the tracks filter. by @vbasky in https://github.com/storytold/soundcraft/pull/125\n* Import multichannel audio onto a track of the same width. by @vbasky in https://github.com/storytold/soundcraft/pull/128\n* Keep going when the CLI's stdout is closed. by @vbasky in https://github.com/storytold/soundcraft/pull/126\n* Treat dotted command ids as engine.execute in the CLI app shorthand. by @vbasky in https://github.com/storytold/soundcraft/pull/127\n* Restore full playback speed when transport stops. by @vbasky in https://github.com/storytold/soundcraft/pull/129\n* Keep clip gain when AudioSuite inverts or duplicates. by @vbasky in https://github.com/storytold/soundcraft/pull/130\n* Render a named bus when bouncing, and reject an unknown one. by @vbasky in https://github.com/storytold/soundcraft/pull/131\n* Bake varispeed into rendered clip gain, then stop stretching it again. by @vbasky in https://github.com/storytold/soundcraft/pull/132\n* Compensate for an aux insert's latency on the same block that measures it. by @vbasky in https://github.com/storytold/soundcraft/pull/133\n* Convert only the selected volume automation into clip gain. by @vbasky in https://github.com/storytold/soundcraft/pull/134\n* Credit Vikram Bhaskaran by real name and display name. by @vbasky in https://github.com/storytold/soundcraft/pull/135\n* MCP batch: surface failures when keep_going is set (#145) by @salignatmoandal in https://github.com/storytold/soundcraft/pull/146\n* fix(theme): restore Light Mix Instrument label contrast by @coygeek in https://github.com/storytold/soundcraft/pull/177\n* CI: FreeBSD and Windows ARM64 nightly and on release, not per PR by @echelon in https://github.com/storytold/soundcraft/pull/178\n* macOS: build the DMG with hdiutil create so the app passes codesign --strict by @itrycodinganditsbad in https://github.com/storytold/soundcraft/pull/197\n* Windows: compile DX12 shaders with FXC by @itrycodinganditsbad in https://github.com/storytold/soundcraft/pull/198\n* Release workflow: pass the Azure signing secrets by @echelon in https://github.com/storytold/soundcraft/pull/203\n* perf: adapt meter polling and repaint rate by @Jafz2001 in https://github.com/storytold/soundcraft/pull/207\n* perf: reuse realtime mix buffers by @Jafz2001 in https://github.com/storytold/soundcraft/pull/208\n* Cmd+= only switches Mix/Edit, and the Interface scale slider drags smoothly by @grovebit in https://github.com/storytold/soundcraft/pull/147\n* Cmd+H heals instead of hiding SoundCraft on macOS (#140) by @grovebit in https://github.com/storytold/soundcraft/pull/148\n* Keep armed tracks' meters live while stopped; make Clear All Clip Indicators work by @grovebit in https://github.com/storytold/soundcraft/pull/187\n* Save safety: never overwrite audio or sessions, sync saves and keep backups by @grovebit in https://github.com/storytold/soundcraft/pull/195\n* fix(mix): push an instrument's stored params to its plugin before each block (#152) by @rollroyces in https://github.com/storytold/soundcraft/pull/181\n* Record takes straight to disk by @grovebit in https://github.com/storytold/soundcraft/pull/84\n* Shift+Cmd+K exports clips as files by @grovebit in https://github.com/storytold/soundcraft/pull/70\n* Clear clips and audio files from the Clip List (#4) by @grovebit in https://github.com/storytold/soundcraft/pull/75\n* Scroll long plugin windows; reopen the main window at its last size and scale by @grovebit in https://github.com/storytold/soundcraft/pull/188\n* Keep macOS plugin editors out of the Dock by @Jafz2001 in https://github.com/storytold/soundcraft/pull/202\n* Improve mixer routing menus and numeric controls by @Jafz2001 in https://github.com/storytold/soundcraft/pull/200\n* rustfmt the mix.send spec by @echelon in https://github.com/storytold/soundcraft/pull/211\n* Web: open, import, save and export files in the browser (fixes #63, fixes #64) by @natocool2 in https://github.com/storytold/soundcraft/pull/158\n* Fix drag selection and the insertion point in the Edit window by @grovebit in https://github.com/storytold/soundcraft/pull/49\n* Trackpad-friendly Edit window: smooth panning, pinch and Cmd+scroll zoom by @grovebit in https://github.com/storytold/soundcraft/pull/56\n* Let the desktop app sleep when idle or covered by @grovebit in https://github.com/storytold/soundcraft/pull/192\n* Clip > Rename opens its dialog; Undo and Redo name their step; the Window menu's keys work by @grovebit in https://github.com/storytold/soundcraft/pull/160\n* Ask before discarding unsaved changes; Save opens Save As for new sessions by @grovebit in https://github.com/storytold/soundcraft/pull/157\n* Add a built-in Sampler instrument by @scottcampbelldata in https://github.com/storytold/soundcraft/pull/108\n\n## New Contributors\n* @skylartaylor made their first contribution in https://github.com/storytold/soundcraft/pull/167\n* @dylanmtaylor made their first contribution in https://github.com/storytold/soundcraft/pull/184\n* @itrycodinganditsbad made their first contribution in https://github.com/storytold/soundcraft/pull/197\n* @Jafz2001 made their first contribution in https://github.com/storytold/soundcraft/pull/207\n* @rollroyces made their first contribution in https://github.com/storytold/soundcraft/pull/181\n* @natocool2 made their first contribution in https://github.com/storytold/soundcraft/pull/158\n* @scottcampbelldata made their first contribution in https://github.com/storytold/soundcraft/pull/108\n\n**Full Changelog**: https://github.com/storytold/soundcraft/compare/v0.5.0...v0.6.1","assets":[{"name":"SHA256SUMS.txt","size_bytes":2589,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/SHA256SUMS.txt","sha256":"cceca28d87fe41bbe4682e8d0f91282248fd3d19e0248c1413a6cd3a1144b21d","platform":null},{"name":"soundcraft-0.6.1-freebsd-x86_64.tar.gz","size_bytes":15643476,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-freebsd-x86_64.tar.gz","sha256":"1da08ebf968bf92c7de95932aea1bdb4e1009ff1207980b4b02fcd16692d635c","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"soundcraft-0.6.1-linux-aarch64.AppImage","size_bytes":13994504,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-linux-aarch64.AppImage","sha256":"ec80d1bbd66d4c0102272b1462368e92a0504e4d99466255e46477fb5f907852","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"soundcraft-0.6.1-linux-aarch64.AppImage.zsync","size_bytes":48087,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-linux-aarch64.AppImage.zsync","sha256":"77aea9a42ce8dac51b7479704cc27f3ca926959c48b760afacc2671014091668","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"soundcraft-0.6.1-linux-aarch64.deb","size_bytes":15048882,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-linux-aarch64.deb","sha256":"40db8380441b4b9c5e7376668076c75e00ba65c80dc526f26fb24b7bf39e5a84","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"soundcraft-0.6.1-linux-aarch64.flatpak","size_bytes":9433872,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-linux-aarch64.flatpak","sha256":"edb667df99e10a09b127a5bf80b64ca5da016d28b57988bb472f9009e4b4c35b","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"soundcraft-0.6.1-linux-aarch64.rpm","size_bytes":14903788,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-linux-aarch64.rpm","sha256":"92d6092ea152e2b7b8ff5c2da1341200aefb7d0715a3af80163f165d8622342f","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"soundcraft-0.6.1-linux-aarch64.tar.gz","size_bytes":14376749,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-linux-aarch64.tar.gz","sha256":"55a18458670f1723edc8ba45da01f3dd8b85feba7cc3f83d44e7038120245ca4","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"soundcraft-0.6.1-linux-riscv64.deb","size_bytes":15329016,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-linux-riscv64.deb","sha256":"ca96fa4ab09c9bbcde6f406fd06eb181341b3966b968b9ec99573192a5d0fda8","platform":null},{"name":"soundcraft-0.6.1-linux-riscv64.rpm","size_bytes":15302832,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-linux-riscv64.rpm","sha256":"0dbda8306f44359a51321a46d7341e281c2b2884e941a041109046fa4f030f43","platform":null},{"name":"soundcraft-0.6.1-linux-riscv64.tar.gz","size_bytes":15009351,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-linux-riscv64.tar.gz","sha256":"d501f45e9e1dfda6a858e1d2ddc6a20c9f4b54120f8136b461fdf08ec6d711bb","platform":null},{"name":"soundcraft-0.6.1-linux-x86_64.AppImage","size_bytes":15223288,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-linux-x86_64.AppImage","sha256":"68c658f2e72d74a3277f48df3ce13e4db9c6eafd7f1425f63e2dc85d86791200","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"soundcraft-0.6.1-linux-x86_64.AppImage.zsync","size_bytes":52285,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-linux-x86_64.AppImage.zsync","sha256":"c4e20faa4f50bedbae7516e69565bcd5e68621f567e0e6628db4b80113426bb6","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"soundcraft-0.6.1-linux-x86_64.deb","size_bytes":16107606,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-linux-x86_64.deb","sha256":"cb35f0b64c1a6bcb817c2a9c66e2683b5f7f207a31f2cea6fa137323ef623e95","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"soundcraft-0.6.1-linux-x86_64.flatpak","size_bytes":10834944,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-linux-x86_64.flatpak","sha256":"8ba12a0222c882e7eddb79fc7ee092d60dcfa7781408da8df2df2dd03d0b1c1b","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"soundcraft-0.6.1-linux-x86_64.rpm","size_bytes":16009385,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-linux-x86_64.rpm","sha256":"affebe1021b999648d8607b3fffa8594710564b73e12771beb59709089304ee1","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"soundcraft-0.6.1-linux-x86_64.tar.gz","size_bytes":15722489,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-linux-x86_64.tar.gz","sha256":"f3bfa3735146e4d7b12cd8363b8fe77bbeff31ee95392295033f50b1916efcee","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"soundcraft-0.6.1-macos-universal.dmg","size_bytes":22100760,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-macos-universal.dmg","sha256":"94f014708e0173c13630bb8fa4163124d3bbb7af571e0f03d9f9b3027f90d0e7","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"soundcraft-0.6.1-windows-arm64-portable.zip","size_bytes":12998174,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-windows-arm64-portable.zip","sha256":"c9fc5e8bfa4abe7264d3b05ace44948786d018c94d79b0112121153d1acd636a","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"soundcraft-0.6.1-windows-arm64.msi","size_bytes":9715712,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-windows-arm64.msi","sha256":"8d813302ccd64f1801721336482b5ed42fe6676315878289644708816fcfe764","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"soundcraft-0.6.1-windows-x64-portable.zip","size_bytes":14258263,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-windows-x64-portable.zip","sha256":"cd5f8d98257f771191fa1c1b7c524501ebf381311ff3d13509fd83a1926e1f20","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"soundcraft-0.6.1-windows-x64.msi","size_bytes":10870784,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-windows-x64.msi","sha256":"abc6f2e0df79729150cd4b4a0a0eb2e381f668a5ff067ffbec79531d45844037","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"soundcraft-0.6.1-windows-x86-portable.zip","size_bytes":13208603,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-windows-x86-portable.zip","sha256":"4ec65ce5ae933ed0cc3aac7df090a9570758391efa7d2393e394c16ba347a8b6","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"soundcraft-0.6.1-windows-x86.msi","size_bytes":10407936,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-0.6.1-windows-x86.msi","sha256":"a0bd9e2e493c0b40842e964988a99b1d74894940cc799e107a06f75b52e7afba","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"soundcraft-cli-0.6.1-macos-universal.zip","size_bytes":6339105,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-cli-0.6.1-macos-universal.zip","sha256":"bcc363a3f7799e3636494d0c9938a403428fa6372798341938f460a022c25c4f","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"soundcraft-web-0.6.1.zip","size_bytes":5642429,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.6.1/soundcraft-web-0.6.1.zip","sha256":"de78ec829b8c876bef748a792ba97a82aa37abdb0cd687156a7753220c6a1bef","platform":{"os":"web","arch":null,"package_type":"web_zip"}}]},"app_last_fetched":"2026-10-13T23:55:21.750541367Z"},"vectorcraft":{"name":"VectorCraft","repo":"storytold/vectorcraft","latest_release":{"tag":"v0.10.0","version":"0.10.0","name":"VectorCraft v0.10.0","published_at":"2026-10-12T15:56:13Z","html_url":"https://github.com/storytold/vectorcraft/releases/tag/v0.10.0","prerelease":false,"notes_markdown":"## What's Changed\n* #1063: a fill or stroke chosen with characters selected colours just them by @bflatastic in https://github.com/storytold/vectorcraft/pull/1075\n* Fix font size and horizontal scale after text/group scaling by @lollinoo in https://github.com/storytold/vectorcraft/pull/1045\n* Type: Proportional Metrics — full-width glyphs on the font's proportional widths, `palt` (#966) by @imachus in https://github.com/storytold/vectorcraft/pull/1067\n* Object: Align, Move, Arrange and other commands that change nothing record no undo step by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1060\n* #1032: spot colours defined in Lab keep their Lab values by @bflatastic in https://github.com/storytold/vectorcraft/pull/1076\n* Build: generated sources are rewritten only when they change by @bobtherobot in https://github.com/storytold/vectorcraft/pull/1051\n* Gradient mesh: a fill colour recolours the point last clicked (#1050) by @MarekSpodBiedry in https://github.com/storytold/vectorcraft/pull/1052\n* fix(ui): keep All Tools drawer compact on wide screens by @Ni-zav in https://github.com/storytold/vectorcraft/pull/1054\n* fix(textwrap): reject malformed explicit object targets atomically by @Ni-zav in https://github.com/storytold/vectorcraft/pull/1055\n* fix(gradient): reject malformed freeform line index lists by @Ni-zav in https://github.com/storytold/vectorcraft/pull/1056\n* fix(corners): reject malformed explicit dialog targets by @Ni-zav in https://github.com/storytold/vectorcraft/pull/1057\n* fix(views): validate saved-view coordinates and rotation by @Ni-zav in https://github.com/storytold/vectorcraft/pull/1058\n* Tests: the command sweeps no longer skip junk scale, spacing and artboard values by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1059\n* EPS: arc and arcn with huge angles no longer hang the import by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1062\n* Align: a compound path or selected group that contains the key object stays in place by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1074\n* #1068: a .ai read as its PDF part keeps its artboard layout by @bflatastic in https://github.com/storytold/vectorcraft/pull/1084\n* fix(layers): validate explicit Layer Options targets by @Ni-zav in https://github.com/storytold/vectorcraft/pull/1077\n* fix(shaper): reject invalid explicit scribble targets by @Ni-zav in https://github.com/storytold/vectorcraft/pull/1078\n* fix(width): validate every explicit width-point removal index by @Ni-zav in https://github.com/storytold/vectorcraft/pull/1079\n* fix(ui): show Preferences checkbox outlines in every theme by @Ni-zav in https://github.com/storytold/vectorcraft/pull/1080\n* Adopt shared docking with panel menus and saved return locations by @skylartaylor in https://github.com/storytold/vectorcraft/pull/1090\n* #885: every checkbox keeps a visible box at rest by @bflatastic in https://github.com/storytold/vectorcraft/pull/1112\n* Width points: set and copy refuse a malformed index by @bflatastic in https://github.com/storytold/vectorcraft/pull/1113\n* #1102: an EPS keeps its page and stacked text strokes through its layers by @bflatastic in https://github.com/storytold/vectorcraft/pull/1120\n* #1085: the DMG's app passes codesign --strict by @bflatastic in https://github.com/storytold/vectorcraft/pull/1121\n* Drops: libraries, presets and plug-ins open on a drop, as File › Open opens them by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1083\n* Align: a key object needs two or more selected objects by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1088\n* Align: Align to Artboard uses the active artboard by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1105\n* Align, Reflect and Shear: object.align needs a direction; unknown choices are errors by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1106\n* MCP: object.setProps removes the objects it hides or locks from the selection by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1107\n* Part of #394: Align and Distribute move pattern tiles when Transform Pattern Tiles is on by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1108\n* Object: Lock and Hide › All Artwork Above deselect the objects they lock or hide by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1109\n* Swatches: swatch.library.save counts only the swatches the file holds by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1110\n* #1095: an artboard's name stays at its corner in a rotated view by @bflatastic in https://github.com/storytold/vectorcraft/pull/1122\n* #1111: Ctrl+Shift+L, C, R, J and F align paragraphs by @bflatastic in https://github.com/storytold/vectorcraft/pull/1127\n* Fix #867: macOS file dialogs are sheets, and no dialog runs inside the event handler by @Emlembow in https://github.com/storytold/vectorcraft/pull/1099\n* #893: Shape Builder merges leave no seams on grids of lines by @NoJuanNobody in https://github.com/storytold/vectorcraft/pull/1081\n* Type: Proportional Metrics in vertical type — upright glyphs on the font's proportional heights, `vpal` (#966) by @imachus in https://github.com/storytold/vectorcraft/pull/1082\n* Plug-ins: whole-number parameters keep their exact value and stay in range by @webdevtodayjason in https://github.com/storytold/vectorcraft/pull/1091\n* PDF/.ai import: glyphs spaced each their own way keep their place by @p0lyg0n in https://github.com/storytold/vectorcraft/pull/1101\n* Direct Selection: drag paths selected whole by an anchor; Alt-copy at any time, snapping by that anchor by @bobtherobot in https://github.com/storytold/vectorcraft/pull/1104\n* #1129: the toolbar's paint buttons fit its width by @bflatastic in https://github.com/storytold/vectorcraft/pull/1134\n* #1089: an image copied in a browser pastes as the picture, also from its markup by @bflatastic in https://github.com/storytold/vectorcraft/pull/1135\n* #788: file.place frames an SVG by its viewBox when crop is given by @bflatastic in https://github.com/storytold/vectorcraft/pull/1145\n* Part of #812: Ctrl/Cmd and Alt shape a star while it's dragged by @bflatastic in https://github.com/storytold/vectorcraft/pull/1146\n* #1018: Edit Toolbar opens a drawer beside the toolbar; tools drag in and out by @bflatastic in https://github.com/storytold/vectorcraft/pull/1149\n* Icons: the Selection arrow is black and Direct Selection's white in every theme by @bflatastic in https://github.com/storytold/vectorcraft/pull/1150\n* fix(fonts): preserve highlighted font across menu list refreshes by @Ni-zav in https://github.com/storytold/vectorcraft/pull/1116\n* Fix #662: the Windows installer offers a desktop shortcut by @mateususa in https://github.com/storytold/vectorcraft/pull/1128\n* #819: more noise removal never gives more paths by @mateususa in https://github.com/storytold/vectorcraft/pull/1130\n* Lint: clippy -D warnings passes for the wasm32 web build by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1132\n* Fix #1140: gradient stops blend colour and opacity apart on the canvas, as the exports do by @Biromedic in https://github.com/storytold/vectorcraft/pull/1142\n* Fix #1141: SVG import keeps a mask whose art is all hidden, so its object stays hidden by @Biromedic in https://github.com/storytold/vectorcraft/pull/1143\n* #1139: Shift-click selects several artboards, which move and delete together by @bflatastic in https://github.com/storytold/vectorcraft/pull/1154\n* Render: a shape far beyond any page is left undrawn, never crashing the app by @bflatastic in https://github.com/storytold/vectorcraft/pull/1155\n* #1144: Live Corners round corners between curved segments too by @bflatastic in https://github.com/storytold/vectorcraft/pull/1159\n* #1133: Zig Zag's dialog has sliders and radio buttons, as in Illustrator by @bflatastic in https://github.com/storytold/vectorcraft/pull/1160\n* #1152: Offset Path opens on the values it was last applied with by @bflatastic in https://github.com/storytold/vectorcraft/pull/1166\n* #1103: a marquee selects only the objects whose paths it touches by @bflatastic in https://github.com/storytold/vectorcraft/pull/1167\n* #1151: Preferences › Performance › Linux Display Server opens the window through XWayland, where file drops work by @bflatastic in https://github.com/storytold/vectorcraft/pull/1170\n* #1111: a selected gradient mesh shows its mesh lines and points by @bflatastic in https://github.com/storytold/vectorcraft/pull/1171\n* #1111: a blend's spine bends into a curve by @bflatastic in https://github.com/storytold/vectorcraft/pull/1174\n* #1158: Alt-click on a layer's eye or lock isolates that layer by @bflatastic in https://github.com/storytold/vectorcraft/pull/1175\n* #1163: Release splits a path of several subpaths into one path each by @bflatastic in https://github.com/storytold/vectorcraft/pull/1176\n* #1163: MCP render_preview takes an artboard index by @bflatastic in https://github.com/storytold/vectorcraft/pull/1177\n* MCP: drawing tools describe inherited paint and export text options by @KnottyDyes in https://github.com/storytold/vectorcraft/pull/1148\n* Reject malformed desktop automation root arguments before startup by @piero-83 in https://github.com/storytold/vectorcraft/pull/1157\n* Review: house header for the root-argument integration test (#1157) by @bflatastic in https://github.com/storytold/vectorcraft/pull/1178\n* PDF export: warn when raster effects render below the requested resolution by @KnottyDyes in https://github.com/storytold/vectorcraft/pull/1147\n* #1163: command_batch can be one undo step by @bflatastic in https://github.com/storytold/vectorcraft/pull/1179\n* #1163: file.list lists a folder for agents, held to the read root by @bflatastic in https://github.com/storytold/vectorcraft/pull/1181\n* Type: Thai falls back to a font made for Thai by @bflatastic in https://github.com/storytold/vectorcraft/pull/1185\n* Type: the caret steps over whole clusters (Thai marks, accents, emoji) by @bflatastic in https://github.com/storytold/vectorcraft/pull/1186\n* Docs: type parity has one status line again by @bflatastic in https://github.com/storytold/vectorcraft/pull/1187\n* Type: Thai, Lao, Khmer and Myanmar lines break between words by @bflatastic in https://github.com/storytold/vectorcraft/pull/1188\n* Font menu: a Thai script filter by @bflatastic in https://github.com/storytold/vectorcraft/pull/1190\n* Type: Noto Sans Thai from craft-fonts is the Thai fallback, on the web too by @bflatastic in https://github.com/storytold/vectorcraft/pull/1191\n* Type: the caret and double-click take Thai word by word by @bflatastic in https://github.com/storytold/vectorcraft/pull/1195\n* Release: embed the current craft-fonts (Thai, Arabic, Chinese) by @bflatastic in https://github.com/storytold/vectorcraft/pull/1204\n* #1197: Make Compound Path cuts holes where paths overlap by @bflatastic in https://github.com/storytold/vectorcraft/pull/1213\n* Test: the idle place test waits for the link scan in real time by @bflatastic in https://github.com/storytold/vectorcraft/pull/1214\n* #1194: Direct3D 12 shaders compile with FXC by @bflatastic in https://github.com/storytold/vectorcraft/pull/1215\n* #1180: Align aligns the selected anchor points by @bflatastic in https://github.com/storytold/vectorcraft/pull/1216\n* #955: a move grabbed by an anchor lands it on another anchor by @bflatastic in https://github.com/storytold/vectorcraft/pull/1217\n* .ai import: copied area type and type on a path keep their own place by @p0lyg0n in https://github.com/storytold/vectorcraft/pull/1208\n* EPS/.ai import: a font is found by its exact PostScript name before the name is split by @p0lyg0n in https://github.com/storytold/vectorcraft/pull/1207\n* Part of #1102: type from the text document keeps its line spacing across paragraphs by @DisasterAreaDesigns in https://github.com/storytold/vectorcraft/pull/1206\n* pt-BR: translate the remaining UI labels and engine messages by @WladmirJunior in https://github.com/storytold/vectorcraft/pull/1205\n* i18n: complete the Czech (cs) catalog: panels, dialogs, plurals and messages by @Losminek in https://github.com/storytold/vectorcraft/pull/1189\n* Type: Digits — Default, Arabic, Hindi and Farsi numeral systems (Character panel menu, Middle Eastern options) by @zakariayacine in https://github.com/storytold/vectorcraft/pull/1201\n* Linux: Automatic draws on the GPU the Wayland compositor draws with by @atoslins in https://github.com/storytold/vectorcraft/pull/1200\n* perf: large documents (#1172): big selections 100×+, live effects 18×, Pathfinder 11–20×, 41% less undo memory by @arhammusheer in https://github.com/storytold/vectorcraft/pull/1173\n* Docs: record the large-document performance work (#1173) by @bflatastic in https://github.com/storytold/vectorcraft/pull/1240\n* fix: 複合パスの外観と塗り規則を修正する #1197 by @haranishi in https://github.com/storytold/vectorcraft/pull/1225\n* Object: Lock, Transform Each, Perspective and other commands that change nothing record no undo step by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1233\n* Part of #394: art moved or duplicated with an artboard follows Transform Pattern Tiles by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1219\n* Shape Builder: a line's loose end past a crossing no longer runs out and back in most cases by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1230\n* Align: Align to Key Object makes the topmost selected object the key by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1221\n* MCP: select.key checks its id, and agents can read the key object by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1222\n* Palette: the entry that cancels the key object reads Cancel Key Object by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1224\n* Tests: the command sweeps and import fuzz tests fail when a command panics by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1218\n* Tests: the envelope export test ignores the PDF's XMP dates and file ID by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1220\n* fix: macOSの保存画面に形式選択を追加する #866 by @haranishi in https://github.com/storytold/vectorcraft/pull/1235\n* Direct Selection: a click on an already selected anchor selects it alone by @zakariayacine in https://github.com/storytold/vectorcraft/pull/1237\n* Hand and Zoom cursors drawn like the tool cursors (Windows showed the move arrows, no magnifier) by @zakariayacine in https://github.com/storytold/vectorcraft/pull/1238\n* i18n (cs): Pathfinder Add reads \"Sjednotit\", plus the remaining looked-up strings by @Losminek in https://github.com/storytold/vectorcraft/pull/1226\n* Fix Rectangular Grid click options dialog by @FredApps in https://github.com/storytold/vectorcraft/pull/1169\n* Graph designs and marker designs: Object › Graph › Design… and Marker… by @IHAGI-c in https://github.com/storytold/vectorcraft/pull/1092\n* Graph Data: Transpose and Switch x/y; | line breaks in labels; pie Legend, Position and Sort by @IHAGI-c in https://github.com/storytold/vectorcraft/pull/1115\n* Graph Type: Add Drop Shadow and Add Legend Across Top by @IHAGI-c in https://github.com/storytold/vectorcraft/pull/1119\n* Graph Type: widths past 100%, First Row and First Column in Front, Draw Filled Lines by @IHAGI-c in https://github.com/storytold/vectorcraft/pull/1136\n* Graphs keep their label formatting when drawn again by @IHAGI-c in https://github.com/storytold/vectorcraft/pull/1137\n* Graph Data: a worksheet window by @IHAGI-c in https://github.com/storytold/vectorcraft/pull/1138\n* Preserve SVG data attributes and validate export artboard ranges by @sanyamsingh001 in https://github.com/storytold/vectorcraft/pull/989\n* Correct Arabic shaping assertions and cover embedded PDF fonts by @sanyamsingh001 in https://github.com/storytold/vectorcraft/pull/993\n* Fix Pen endpoint picking and commit handle previews by @sanyamsingh001 in https://github.com/storytold/vectorcraft/pull/821\n* Preserve placed links in editable exports and honor AI artboard options by @sanyamsingh001 in https://github.com/storytold/vectorcraft/pull/718\n* feat(ui): add horizontal and vertical center align button by @Muratv07 in https://github.com/storytold/vectorcraft/pull/1073\n* Color params: one scale per CMYK colour, not per component by @japbcoelho in https://github.com/storytold/vectorcraft/pull/1249\n* MCP: lost replies report uncertainty instead of replaying edits by @KnottyDyes in https://github.com/storytold/vectorcraft/pull/1246\n* Trace: colour mode keeps close dark tones apart by @japbcoelho in https://github.com/storytold/vectorcraft/pull/1247\n* Docs: ROADMAP progress for 2026-10-12 by @bflatastic in https://github.com/storytold/vectorcraft/pull/1310\n* fix: 線の色追加時にゼロ幅を既定値へ戻す #1253 by @haranishi in https://github.com/storytold/vectorcraft/pull/1256\n* Direct Selection: Shift-click deselects one anchor of a path selected whole by @itrycodinganditsbad in https://github.com/storytold/vectorcraft/pull/1263\n* fix: Direct Selectionで線分だけを選択・削除する #1278 by @haranishi in https://github.com/storytold/vectorcraft/pull/1300\n* fix: ロック中と隔離の外側の図形から色を取得する #1251 by @haranishi in https://github.com/storytold/vectorcraft/pull/1260\n* fix: スポイトの通常カーソルを十字表示から修正する #1269 by @haranishi in https://github.com/storytold/vectorcraft/pull/1288\n* fix: 動かないアンカー整列でUndo履歴を増やさない #1180 by @haranishi in https://github.com/storytold/vectorcraft/pull/1276\n* fix: フォントのフルネームを正しい書体へ解決する #1258 by @haranishi in https://github.com/storytold/vectorcraft/pull/1267\n* fix: Curvature Toolの点表示を整理する #1236 by @haranishi in https://github.com/storytold/vectorcraft/pull/1284\n* Type: Proportional Metrics bring their kerning — `apkn` with `palt`, `vkrn` and `vapk` with `vpal` (#966) by @imachus in https://github.com/storytold/vectorcraft/pull/1291\n* perf: テクスチャ効果の距離判定を軽くする #1257 by @haranishi in https://github.com/storytold/vectorcraft/pull/1265\n* fix(packaging): RPMの必須依存を共有ライブラリ能力で宣言 (#1275) by @haranishi in https://github.com/storytold/vectorcraft/pull/1290\n* G2: add Artistic Film Grain live effect by @Tevinhead in https://github.com/storytold/vectorcraft/pull/1282\n* fix: Simplify後の選択を更新して点数を表示する #1272 by @haranishi in https://github.com/storytold/vectorcraft/pull/1305\n* Pen + Alt converts anchors of paths in a selected group (#1273) by @itrycodinganditsbad in https://github.com/storytold/vectorcraft/pull/1306\n* Part of #394: new and imported documents use the Gridline every and Subdivisions preferences by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1314\n* Transform: Transform Again repeats the options of the transform it repeats by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1303\n* Layers: Send to Current Layer refuses a hidden or locked current layer by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1301\n* Links: Find in Folder… looks for missing linked files in a folder and its subfolders by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1287\n* Fix Escape exiting Artboard editing by @LucaLorenz in https://github.com/storytold/vectorcraft/pull/1296\n* Fix Document Setup → Edit Artboards dialog handoff by @LucaLorenz in https://github.com/storytold/vectorcraft/pull/1294\n* Validate explicit targets in layer row commands (part of #785). by @FredApps in https://github.com/storytold/vectorcraft/pull/1255\n* i18n (cs): translate labels that bypass the catalog lookup (file filters, diagnostics, credits, gradients, print marks) by @Losminek in https://github.com/storytold/vectorcraft/pull/1259\n* i18n: add Hungarian (hu) UI translation by @Skaywalker in https://github.com/storytold/vectorcraft/pull/1302\n* Artboards: the Artboard tool starts on the active artboard by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1309\n* EPS: closepath no longer grows the path past its limit by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1311\n* Snap to Point: drag a selection by the anchor pressed near (#1274) by @itrycodinganditsbad in https://github.com/storytold/vectorcraft/pull/1313\n* Image Trace: an image over 64 megapixels is traced scaled down by @fabian-co in https://github.com/storytold/vectorcraft/pull/1315\n* Type: Change Case, Smart Punctuation and other commands that change nothing record no undo step by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1316\n* ci: upgrade actions to Node 24 to fix deprecation warnings by @dylanmtaylor in https://github.com/storytold/vectorcraft/pull/1321\n* fix(cad): set the closed bit on DXF SPLINE entities so closed curves import into CAM (#1299) by @rollroyces in https://github.com/storytold/vectorcraft/pull/1320\n* Docs: merge duplicated table rows, record the rest of 2026-10-12 by @bflatastic in https://github.com/storytold/vectorcraft/pull/1323\n* Select: Select All skips hidden isolated groups, and menu commands stay within what it selects by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1325\n* Plug-ins: whole-number fields keep values past 2^53 exactly as typed by @webdevtodayjason in https://github.com/storytold/vectorcraft/pull/1327\n* EPS: shading functions in shared arrays no longer hang the import by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1330\n* EPS: huge arcs, fine dashes and rectangle arrays in a loop no longer hang the import by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1329\n* Paint: fill, stroke, gradient and Appearance panel commands that change nothing record no undo step by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1331\n* EPS: loops under a long dash array no longer hang the import by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1332\n* Docs: ROADMAP 2026-10-12 adds #1325, #1327, #1329–#1332 by @bflatastic in https://github.com/storytold/vectorcraft/pull/1333\n* Transparency: opacity mask options that change nothing record no undo step by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1336\n* Path: Simplify and Add Anchor Points record no undo step when they change no path by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1337\n* perf: bound memory on large documents (#1244) by @arhammusheer in https://github.com/storytold/vectorcraft/pull/1245\n* EPS: the PostScript reader reads many tiling patterns, spot inks and shadings in linear time by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1341\n* Docs: ROADMAP 2026-10-12 adds #1245, #1336, #1337, #1341 by @bflatastic in https://github.com/storytold/vectorcraft/pull/1343\n* Part of #1286: constant alpha masks are drawn white by @bflatastic in https://github.com/storytold/vectorcraft/pull/1359\n* Adopt craft-print for desktop printing, preserving Windows 7 by @skylartaylor in https://github.com/storytold/vectorcraft/pull/1324\n* G16: Korean interface (ko) by @Johau91 in https://github.com/storytold/vectorcraft/pull/1352\n* PDF import: gradient-filled shapes open as one path, not a clipped rectangle (#1304) by @aguo890 in https://github.com/storytold/vectorcraft/pull/1351\n* PDF/.ai import: a .ai opens on its artboard with its bleed round it (#1266) by @aguo890 in https://github.com/storytold/vectorcraft/pull/1349\n* Part of #868: PDFs saved with the reference app's editing data open from it, as .ai files do by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1345\n* Layers: art moved into a hidden or locked layer, or hidden by a data set, is deselected by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1355\n* perf: deselect hidden and locked objects in linear time by @osaidahmed in https://github.com/storytold/vectorcraft/pull/1353\n* Part of #394: art moved whole with direct-selected anchors follows Transform Pattern Tiles by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1354\n* Part of #394: Appearance of Black › On Screen shows pure CMYK black as RGB black by @aguo890 in https://github.com/storytold/vectorcraft/pull/1350\n* fix(cad): DXFの制御点SPLINEの閉鎖を読み込みに反映する (#1299) by @haranishi in https://github.com/storytold/vectorcraft/pull/1318\n* fix(ui): 数値欄のフォーカス時にドラッグ選択を保つ (#1326) by @haranishi in https://github.com/storytold/vectorcraft/pull/1339\n* fix(pathfinder): 開いた切断線で図形を分割する (#1307) by @haranishi in https://github.com/storytold/vectorcraft/pull/1335\n* fix: Pathfinderの名前とSVG IDを保持する #1293 by @haranishi in https://github.com/storytold/vectorcraft/pull/1308\n* Align: Object › Align follows Align To, and the choice is kept across restarts by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1347\n* fix: 図形のクリックからアートボードを作成する #1227 by @haranishi in https://github.com/storytold/vectorcraft/pull/1252\n* feat: 定規の原点を変更・リセットする #1212 by @haranishi in https://github.com/storytold/vectorcraft/pull/1250\n* Live Corners: with Direct Selection, a click on a widget selects its corner by @zakariayacine in https://github.com/storytold/vectorcraft/pull/1239\n* Add a Polar Grid canvas-click dialog by @FredApps in https://github.com/storytold/vectorcraft/pull/1192\n* Part of #1264: an image on %_ lines of a .ai file's editing data is read as an image by @bflatastic in https://github.com/storytold/vectorcraft/pull/1364\n* PDF export: art beyond 1,000,000,000 pt is left out, so dev and test builds no longer abort by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1360\n* Part of #666: Affinity rectangles keep per-corner radii and straight corners by @callmeBalloch in https://github.com/storytold/vectorcraft/pull/1369\n* Toolbar: centre the tool buttons inside the panel's border by @AyberkA0 in https://github.com/storytold/vectorcraft/pull/1363\n* i18n(es): add 371 rows other catalogs already had by @diegozpy in https://github.com/storytold/vectorcraft/pull/1371\n* Part of #1358: the Image Trace section no longer widens the Properties panel by @bflatastic in https://github.com/storytold/vectorcraft/pull/1374\n\n## New Contributors\n* @lollinoo made their first contribution in https://github.com/storytold/vectorcraft/pull/1045\n* @MarekSpodBiedry made their first contribution in https://github.com/storytold/vectorcraft/pull/1052\n* @skylartaylor made their first contribution in https://github.com/storytold/vectorcraft/pull/1090\n* @Emlembow made their first contribution in https://github.com/storytold/vectorcraft/pull/1099\n* @NoJuanNobody made their first contribution in https://github.com/storytold/vectorcraft/pull/1081\n* @webdevtodayjason made their first contribution in https://github.com/storytold/vectorcraft/pull/1091\n* @Biromedic made their first contribution in https://github.com/storytold/vectorcraft/pull/1142\n* @KnottyDyes made their first contribution in https://github.com/storytold/vectorcraft/pull/1148\n* @piero-83 made their first contribution in https://github.com/storytold/vectorcraft/pull/1157\n* @WladmirJunior made their first contribution in https://github.com/storytold/vectorcraft/pull/1205\n* @Losminek made their first contribution in https://github.com/storytold/vectorcraft/pull/1189\n* @zakariayacine made their first contribution in https://github.com/storytold/vectorcraft/pull/1201\n* @atoslins made their first contribution in https://github.com/storytold/vectorcraft/pull/1200\n* @arhammusheer made their first contribution in https://github.com/storytold/vectorcraft/pull/1173\n* @FredApps made their first contribution in https://github.com/storytold/vectorcraft/pull/1169\n* @sanyamsingh001 made their first contribution in https://github.com/storytold/vectorcraft/pull/989\n* @Muratv07 made their first contribution in https://github.com/storytold/vectorcraft/pull/1073\n* @itrycodinganditsbad made their first contribution in https://github.com/storytold/vectorcraft/pull/1263\n* @Tevinhead made their first contribution in https://github.com/storytold/vectorcraft/pull/1282\n* @LucaLorenz made their first contribution in https://github.com/storytold/vectorcraft/pull/1296\n* @Skaywalker made their first contribution in https://github.com/storytold/vectorcraft/pull/1302\n* @rollroyces made their first contribution in https://github.com/storytold/vectorcraft/pull/1320\n* @Johau91 made their first contribution in https://github.com/storytold/vectorcraft/pull/1352\n* @aguo890 made their first contribution in https://github.com/storytold/vectorcraft/pull/1351\n* @osaidahmed made their first contribution in https://github.com/storytold/vectorcraft/pull/1353\n* @diegozpy made their first contribution in https://github.com/storytold/vectorcraft/pull/1371\n\n**Full Changelog**: https://github.com/storytold/vectorcraft/compare/v0.9.0...v0.10.0","assets":[{"name":"SHA256SUMS.txt","size_bytes":2433,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/SHA256SUMS.txt","sha256":"4fe8dcb1db67aae8085e80127aff719693436365f810fa1a5316dc0f1d7fbbc5","platform":null},{"name":"vectorcraft-0.10.0-freebsd-x86_64.tar.gz","size_bytes":116601453,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-0.10.0-freebsd-x86_64.tar.gz","sha256":"796728a9e17a3b0c30af7533059822316369d15ff3369aa487028f329819360a","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"vectorcraft-0.10.0-linux-aarch64.AppImage","size_bytes":106523144,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-0.10.0-linux-aarch64.AppImage","sha256":"65cc3c24bd2152c14756a9cecb14f67c198b32fdae07640f5127cb89271840f7","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"vectorcraft-0.10.0-linux-aarch64.AppImage.zsync","size_bytes":182303,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-0.10.0-linux-aarch64.AppImage.zsync","sha256":"f61884efb245b8c0b455fde48b826e0a360d35e290ea9b3a51591148caf79b93","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"vectorcraft-0.10.0-linux-aarch64.deb","size_bytes":115005216,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-0.10.0-linux-aarch64.deb","sha256":"837cd0cc3f8eab902479789f8a15e33d21a30f19a7325824db2d8c595503135a","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"vectorcraft-0.10.0-linux-aarch64.flatpak","size_bytes":77344392,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-0.10.0-linux-aarch64.flatpak","sha256":"d2418a462d047a95933171a37bc1cbf0e14c784407567c9c20001879ae80e149","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"vectorcraft-0.10.0-linux-aarch64.rpm","size_bytes":114069086,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-0.10.0-linux-aarch64.rpm","sha256":"d7bb753d044bab55ee7503e52144a0d0958f4187996352e78cc7abc0c7618213","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"vectorcraft-0.10.0-linux-aarch64.tar.gz","size_bytes":112201817,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-0.10.0-linux-aarch64.tar.gz","sha256":"1ab5a2739c4f06d27538914c86839f6a78582f94aed7c411caa1988fe22b8a6b","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"vectorcraft-0.10.0-linux-riscv64.tar.gz","size_bytes":115096925,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-0.10.0-linux-riscv64.tar.gz","sha256":"f14ed02c4fe3e19edf71da64d28abb16d143f9f39c23cff532a1755b07d17a0f","platform":null},{"name":"vectorcraft-0.10.0-linux-x86_64.AppImage","size_bytes":110766584,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-0.10.0-linux-x86_64.AppImage","sha256":"2d2d89587014465c3096a6e456d73a73bb6aec104ec0ed213a406a148026c029","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"vectorcraft-0.10.0-linux-x86_64.AppImage.zsync","size_bytes":189553,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-0.10.0-linux-x86_64.AppImage.zsync","sha256":"237ebd54a6d19a53a7eed815a36fc5977e132dbd8055224929142c741b2a1cbf","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"vectorcraft-0.10.0-linux-x86_64.deb","size_bytes":118465484,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-0.10.0-linux-x86_64.deb","sha256":"f8f184353baa739b819b68a836ffa7b5587f9d3aba4460e376b37d362bf5d901","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"vectorcraft-0.10.0-linux-x86_64.flatpak","size_bytes":81944080,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-0.10.0-linux-x86_64.flatpak","sha256":"b71d6d68d747727f71d8746fc5b6436d0a42b2aba492c3c01f9245e8a952698c","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"vectorcraft-0.10.0-linux-x86_64.rpm","size_bytes":117700348,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-0.10.0-linux-x86_64.rpm","sha256":"bfc827746396686d266d42eee0b3734f0f1bf008bd4d456a826ee9dae3b4bf99","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"vectorcraft-0.10.0-linux-x86_64.tar.gz","size_bytes":116773175,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-0.10.0-linux-x86_64.tar.gz","sha256":"a55735a192877038c9b4c3069504f7a73a05433a48edddd8e94fc7d2995aa6fc","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"vectorcraft-0.10.0-macos-universal.dmg","size_bytes":128679872,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-0.10.0-macos-universal.dmg","sha256":"c0e6d3de60d9c4217830f65e136a6a8f9381881c2525dae0558292cd36352e29","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"vectorcraft-0.10.0-windows-arm64-portable.zip","size_bytes":113682257,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-0.10.0-windows-arm64-portable.zip","sha256":"f5169227259c1530972be35636c88dbe6f9366233b92b293dcf85a9f20463d76","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"vectorcraft-0.10.0-windows-arm64.msi","size_bytes":92045312,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-0.10.0-windows-arm64.msi","sha256":"b4a26c7af3c0736841f38e53743ef12911464311a21e0b6c0d10b13833d6aae7","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"vectorcraft-0.10.0-windows-x64-portable.zip","size_bytes":118935928,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-0.10.0-windows-x64-portable.zip","sha256":"269a297a2c61e7a48ca740e0ac7c64d651cf4ed3584cd6e47988f2fc50fa8da7","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"vectorcraft-0.10.0-windows-x64.msi","size_bytes":97226752,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-0.10.0-windows-x64.msi","sha256":"eec78d309d218c08ded9785134da4a2dffffefbb40c8170bfdaa24f8aa3676a7","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"vectorcraft-0.10.0-windows-x86-portable.zip","size_bytes":114572089,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-0.10.0-windows-x86-portable.zip","sha256":"81dade275039ed1bd913539d07561adfbe046168b4cb4dd7d5ad454187741a70","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"vectorcraft-0.10.0-windows-x86.msi","size_bytes":94916608,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-0.10.0-windows-x86.msi","sha256":"b14805f9430f1cbc8228a9f48462a0c02350cb2dfb48a87b8d500db4895399e1","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"vectorcraft-cli-0.10.0-macos-universal.zip","size_bytes":103182458,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-cli-0.10.0-macos-universal.zip","sha256":"0744d0d606747eaf521e6529d02477f07ca6d04fb64c7c03247aab0dd4c19968","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"vectorcraft-web-0.10.0.zip","size_bytes":23642640,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.10.0/vectorcraft-web-0.10.0.zip","sha256":"aaf1136d4e76606085294942563207111ab7f57cbe6d5f97f03573fa14d37968","platform":{"os":"web","arch":null,"package_type":"web_zip"}}]},"app_last_fetched":"2026-10-13T23:55:10.618774552Z"},"wordcraft":{"name":"WordCraft","repo":"storytold/wordcraft","latest_release":{"tag":"v0.6.1","version":"0.6.1","name":"WordCraft v0.6.1","published_at":"2026-10-12T16:22:15Z","html_url":"https://github.com/storytold/wordcraft/releases/tag/v0.6.1","prerelease":false,"notes_markdown":"## What's Changed\n* Hyperlinks cover only their own text (#413) by @vangel76 in https://github.com/storytold/wordcraft/pull/449\n* Groups keep rotated members' orientation; group resize; ink erase after rotation (#441, #442, #443, #445) by @vangel76 in https://github.com/storytold/wordcraft/pull/474\n* Mail merge: SKIPIF, NEXT, IF in preview, header/footer fields (#427, #428, #429, #430) by @vangel76 in https://github.com/storytold/wordcraft/pull/478\n* Options: interface size setting (#475) by @vangel76 in https://github.com/storytold/wordcraft/pull/480\n* Citations: eight more bibliography styles (#383) by @vangel76 in https://github.com/storytold/wordcraft/pull/388\n* Backstage: the side menu is fixed width, no dead resize handle by @vangel76 in https://github.com/storytold/wordcraft/pull/504\n* CLI: a closed stdout ends quietly instead of panicking (#508) by @vangel76 in https://github.com/storytold/wordcraft/pull/510\n* .doc import fixes: piece bold, section kinds, orientation, list overrides, style inheritance, alternate font names (#458–#463) by @vangel76 in https://github.com/storytold/wordcraft/pull/484\n* Dialogs: switching tabs keeps the window's top edge in place (#507) by @vangel76 in https://github.com/storytold/wordcraft/pull/511\n* Spelling: common words like \"desktop\" are recognised (#520) by @vangel76 in https://github.com/storytold/wordcraft/pull/522\n* Equation fixes: numbering removal, control colour, undo for navigation edits, LaTeX text spaces (#444, #446, #447, #448) by @vangel76 in https://github.com/storytold/wordcraft/pull/487\n* 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 https://github.com/storytold/wordcraft/pull/482\n* i18n(es): consistent tú register, fix swapped Page Up/Page Down by @diegozpy in https://github.com/storytold/wordcraft/pull/514\n* i18n: add Turkish (tr) interface translation by @PbyLoyth in https://github.com/storytold/wordcraft/pull/494\n* i18n audit: full ribbon sweep, and the table style sample in the interface language (re-lands #313's last three commits) by @dkhlapov in https://github.com/storytold/wordcraft/pull/411\n* Docs: collapse duplicate rows left by parallel merges by @vangel76 in https://github.com/storytold/wordcraft/pull/372\n* Add Word's common keyboard shortcuts by @vangel76 in https://github.com/storytold/wordcraft/pull/338\n* Field codes: show, edit, update, unlink, lock and step through fields like Word by @vangel76 in https://github.com/storytold/wordcraft/pull/349\n* Move paragraphs up/down, promote/demote headings, Go Back (Shift+F5) and Alt+X Unicode toggle by @vangel76 in https://github.com/storytold/wordcraft/pull/351\n* ci: refactor workflows to use storytold/craft-common-actions by @dylanmtaylor in https://github.com/storytold/wordcraft/pull/639\n* i18n: add Russian (ru) interface translation by @dkhlapov in https://github.com/storytold/wordcraft/pull/300\n* Customize Keyboard dialog (#368) by @vangel76 in https://github.com/storytold/wordcraft/pull/378\n* Customize Ribbon and Quick Access Toolbar (#379) by @vangel76 in https://github.com/storytold/wordcraft/pull/384\n* Tight and Through text wrapping follow the object's outline by @vangel76 in https://github.com/storytold/wordcraft/pull/360\n* Choose which side of an object text wraps on by @vangel76 in https://github.com/storytold/wordcraft/pull/364\n* Phonetic Guide: ruby text (furigana, pinyin) over base text by @vangel76 in https://github.com/storytold/wordcraft/pull/296\n* Enclose Characters: put a character in a circle, square, triangle or diamond by @vangel76 in https://github.com/storytold/wordcraft/pull/301\n* Insert › Icons: a library of original icons, a searchable picker and Icon Color by @vangel76 in https://github.com/storytold/wordcraft/pull/318\n* Mail merge: use Excel and OpenDocument spreadsheets as recipient lists by @vangel76 in https://github.com/storytold/wordcraft/pull/341\n* Balance newspaper columns before a continuous section break by @vangel76 in https://github.com/storytold/wordcraft/pull/353\n* Drawing Canvas: insert a canvas and draw shapes, pictures and text boxes inside it by @vangel76 in https://github.com/storytold/wordcraft/pull/356\n* Documents keep their own footnote separators and continuation notice by @vangel76 in https://github.com/storytold/wordcraft/pull/361\n* Right-to-left tables and sections by @vangel76 in https://github.com/storytold/wordcraft/pull/365\n* Shape Format › Text: direction, alignment and linked text boxes (#369) by @vangel76 in https://github.com/storytold/wordcraft/pull/380\n* Footnote and Endnote options per section (#385) by @vangel76 in https://github.com/storytold/wordcraft/pull/390\n* Track Changes: moves (w:moveFrom/w:moveTo) (#400) by @vangel76 in https://github.com/storytold/wordcraft/pull/404\n* Document grid: lines per page and characters per line (#391) by @vangel76 in https://github.com/storytold/wordcraft/pull/401\n* Draw: Lasso Select, Add Pen, Ink to Shape and Ink Replay (#395) by @vangel76 in https://github.com/storytold/wordcraft/pull/408\n* References dialogs: Caption, Index, Table of Contents, Create Source (#402) by @vangel76 in https://github.com/storytold/wordcraft/pull/410\n* Accessibility: Alt Text pane for every object, Mark as decorative, deeper checker (#386) by @vangel76 in https://github.com/storytold/wordcraft/pull/396\n* Dialogs: Line Numbers, Hyphenation, Language, Envelopes and Labels (#407) by @vangel76 in https://github.com/storytold/wordcraft/pull/414\n* Insert › Chart: create and edit column, bar, line, pie, area, scatter and doughnut charts (#409) by @vangel76 in https://github.com/storytold/wordcraft/pull/415\n* Content controls: keep, show and edit w:sdt (#381) by @vangel76 in https://github.com/storytold/wordcraft/pull/392\n* WordArt text effects and transforms, and shape connectors (#416) by @vangel76 in https://github.com/storytold/wordcraft/pull/481\n* Compare, Restrict Editing and AutoCorrect Options dialogs (#412) by @vangel76 in https://github.com/storytold/wordcraft/pull/476\n* Editing fixes: Center range, undo grouping, Change Case runs and offsets, Bold undo at caret (#418, #419, #420, #421, #424) by @vangel76 in https://github.com/storytold/wordcraft/pull/477\n* 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 https://github.com/storytold/wordcraft/pull/490\n* Chinese interface: keep a system CJK fallback after the bundled face; find PingFang on macOS 12 (#486) by @vangel76 in https://github.com/storytold/wordcraft/pull/495\n* 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 https://github.com/storytold/wordcraft/pull/479\n* Fixes: footnotes in table cells, NUMPAGES, bookmark link pages, bookmark around final table, INCLUDEPICTURE results by @vangel76 in https://github.com/storytold/wordcraft/pull/483\n* Accessibility: the document canvas exposes its text to screen readers (#488) by @vangel76 in https://github.com/storytold/wordcraft/pull/489\n* Font list: installed Chinese fonts are listed, by their Chinese names in a Chinese interface (#505) by @vangel76 in https://github.com/storytold/wordcraft/pull/506\n* Paragraph dialog: mirror indents, same-style spacing, suppress line numbers, don't hyphenate (#512) by @vangel76 in https://github.com/storytold/wordcraft/pull/519\n* Right-click on a picture or shape: Wrap Text submenu (#513) by @vangel76 in https://github.com/storytold/wordcraft/pull/521\n* File › Options: Word's panes with working settings (#485) by @vangel76 in https://github.com/storytold/wordcraft/pull/492\n* Templates and Add-ins: attached template, update styles, Organizer (#377) by @vangel76 in https://github.com/storytold/wordcraft/pull/382\n* Vertical text for sections (w:textDirection) (#491) by @vangel76 in https://github.com/storytold/wordcraft/pull/496\n* Outline view: Outlining tab, levels, collapse/expand, Show Level (#493) by @vangel76 in https://github.com/storytold/wordcraft/pull/499\n* Insert › SmartArt: create and edit list, process, cycle, hierarchy, pyramid, radial, matrix and venn graphics (#497) by @vangel76 in https://github.com/storytold/wordcraft/pull/503\n* CI: FreeBSD and Windows ARM64 nightly and on release, not per PR by @echelon in https://github.com/storytold/wordcraft/pull/530\n* README: which AUR package to install (#509) by @dkhlapov in https://github.com/storytold/wordcraft/pull/616\n* Windows: DX12 starts without shipped DXC DLLs (#603) by @vangel76 in https://github.com/storytold/wordcraft/pull/609\n* docx: fix clippy large_enum_variant on main by @echelon in https://github.com/storytold/wordcraft/pull/779\n* Styles: Update to Match Selection takes the selection's formatting (#555) by @vangel76 in https://github.com/storytold/wordcraft/pull/562\n* AutoFormat: +---+ tables, arrow bullets, smileys inside words, border-line undo (#546) by @vangel76 in https://github.com/storytold/wordcraft/pull/547\n* Find and Replace: special characters (^p, ^t, …) and wildcards (#543) by @vangel76 in https://github.com/storytold/wordcraft/pull/553\n* Mini toolbar: every button fits, flush font box, proper dropdown arrows, dark-mode font list (#535) by @vangel76 in https://github.com/storytold/wordcraft/pull/540\n* Fonts: system fallback reads each font file once (#605) by @vangel76 in https://github.com/storytold/wordcraft/pull/610\n* Numbering: Chinese, Japanese and Korean number formats (一、二、三 …) (#534) by @vangel76 in https://github.com/storytold/wordcraft/pull/561\n* Font dialog: separate Asian and Latin text fonts (#505) by @vangel76 in https://github.com/storytold/wordcraft/pull/536\n* Chinese documents: character-unit indents, .doc indents and line spacing, floating tables, blank pages (#534) by @vangel76 in https://github.com/storytold/wordcraft/pull/550\n* DOCX: theme colours and theme fonts take precedence over the fixed values, as in Word by @LloydNicholson in https://github.com/storytold/wordcraft/pull/626\n* Open and save Word XML Document (Flat OPC); open Word 2003 XML (#548) by @vangel76 in https://github.com/storytold/wordcraft/pull/560\n* Find: each Find Next in the dialog moves one match (#468) by @alexanderalber in https://github.com/storytold/wordcraft/pull/556\n* Contributors: add my own entry (alexanderalber) by @alexanderalber in https://github.com/storytold/wordcraft/pull/566\n* IME composition text uses document fallback fonts instead of boxes (#565) by @MarekSpodBiedry in https://github.com/storytold/wordcraft/pull/578\n* Layout › Page Setup: the group launcher opens the Page Setup dialog (#471) by @alexanderalber in https://github.com/storytold/wordcraft/pull/563\n* Web: a CSV picked as recipients no longer turns the next TXT drop into recipients (#472) by @MarekSpodBiedry in https://github.com/storytold/wordcraft/pull/579\n* Zotero: a pending citation no longer edits a replacement document (#470) by @MarekSpodBiedry in https://github.com/storytold/wordcraft/pull/580\n* Zotero: a note with a picture stays when its citation moves to body text (#469) by @MarekSpodBiedry in https://github.com/storytold/wordcraft/pull/581\n* Pictures in headers/footers can be moved, resized and rotated by @DevCoderMax in https://github.com/storytold/wordcraft/pull/591\n* Paragraph dialog: OK keeps Exactly and At Least line spacing (#467) by @alexanderalber in https://github.com/storytold/wordcraft/pull/564\n* rustdoc: no links to private items in the UI crate (#665) by @dkhlapov in https://github.com/storytold/wordcraft/pull/683\n* Brand licence: name WordCraft, not DesignCraft (#664) by @dkhlapov in https://github.com/storytold/wordcraft/pull/682\n* Fonts: Palatino Linotype / Book Antiqua prefer Palatino look-alikes (#670) by @vangel76 in https://github.com/storytold/wordcraft/pull/677\n* fix(docx): preserve omitted paragraph defaults by @OPUZZLES in https://github.com/storytold/wordcraft/pull/647\n* Drag after a double/triple-click extends the selection by words/paragraphs (#549) by @dkhlapov in https://github.com/storytold/wordcraft/pull/649\n* Open playlists and other text files (.m3u, .m3u8, .log, .ini, …) (#569) by @dkhlapov in https://github.com/storytold/wordcraft/pull/648\n* Table: a vertical merge lays out and hit-tests as one cell (#640) by @vangel76 in https://github.com/storytold/wordcraft/pull/669\n* DOCX diagrams: theme-styled shapes and connectors, arrowheads, canvases, VML lines (#611) by @dkhlapov in https://github.com/storytold/wordcraft/pull/671\n* Complex scripts: shape Myanmar, Khmer and Indic text; caret and line breaks respect syllables (#604) by @dkhlapov in https://github.com/storytold/wordcraft/pull/652\n* More Colors… and a Colors dialog for custom colours (#606) by @dkhlapov in https://github.com/storytold/wordcraft/pull/666\n* Print: preview, page range, copies and collate on File > Print (#641) by @vangel76 in https://github.com/storytold/wordcraft/pull/674\n* Print Markup: comments in PDF, print, images and text copies (#589) by @dkhlapov in https://github.com/storytold/wordcraft/pull/667\n* Design tab: style set gallery gets its own box, no overlap with Colors and Fonts (#638) by @vangel76 in https://github.com/storytold/wordcraft/pull/673\n* Security: pictures travel in the reply, exported links keep only safe targets (#678, #679) by @petycomp in https://github.com/storytold/wordcraft/pull/681\n* docs: fix coordination error in ROADMAP.md by @lunar-me in https://github.com/storytold/wordcraft/pull/715\n* Release workflow: pass the Azure signing secrets by @echelon in https://github.com/storytold/wordcraft/pull/752\n* layout: make Myanmar fallback tests deterministic by @echelon in https://github.com/storytold/wordcraft/pull/807\n* View: Hide White Space between pages in Print Layout (#645) by @vangel76 in https://github.com/storytold/wordcraft/pull/684\n* Add fonts at run time: Add Font…, drop a font file, font.add (#582) by @dkhlapov in https://github.com/storytold/wordcraft/pull/668\n* References › Table of Authorities: labelled Insert, plus Update Table (#661) by @dkhlapov in https://github.com/storytold/wordcraft/pull/693\n* Input field borders reach 3:1 contrast in both themes (#657) by @dkhlapov in https://github.com/storytold/wordcraft/pull/696\n* Pictures: WMF drawings fill their frame like Word plays them by @naxvog in https://github.com/storytold/wordcraft/pull/739\n* Ink: draw the live pen stroke in the dark-page colour while drawing, not only after lifting the pen (#730) by @MarekSpodBiedry in https://github.com/storytold/wordcraft/pull/746\n* Backspace still erases while Shift is held (#707) by @MarekSpodBiedry in https://github.com/storytold/wordcraft/pull/747\n* Dark theme: readable text on the accent (#655) by @dkhlapov in https://github.com/storytold/wordcraft/pull/704\n* Let dialogs be dragged by their title bar instead of pinning them to the screen centre (#732) by @MarekSpodBiedry in https://github.com/storytold/wordcraft/pull/748\n* Layout: multiple line spacing adds its leading below the text, like Word by @naxvog in https://github.com/storytold/wordcraft/pull/719\n* Web: add wordcraft.ico as favicon via Trunk by @GhostMitra in https://github.com/storytold/wordcraft/pull/717\n* Track Changes: deletions in balloons (Show revisions in balloons now work) by @Matty-PW in https://github.com/storytold/wordcraft/pull/734\n* Layout: a page total in the footer no longer lays the body out twice (#771) by @dkhlapov in https://github.com/storytold/wordcraft/pull/773\n* speech: launch Windows PowerShell by full path for Read Aloud by @SteamSmith in https://github.com/storytold/wordcraft/pull/792\n* Save As: a bare filename typed in the dialog now saves correctly (#689) by @notdezzi in https://github.com/storytold/wordcraft/pull/757\n* Selection: dragging past the viewport edge auto-scrolls (#688) by @notdezzi in https://github.com/storytold/wordcraft/pull/758\n* #755: Line Numbers and Hyphenation measure in the Options unit by @edurbs in https://github.com/storytold/wordcraft/pull/795\n* M8.1: Bibliography DOCX round-trip: support extended fields (#410) and upstream sync (#532) by @yefan911 in https://github.com/storytold/wordcraft/pull/790\n* Ruler: the horizontal scale mirrors for right-to-left paragraphs (#692) by @notdezzi in https://github.com/storytold/wordcraft/pull/756\n* Ribbon and context-menu Paste insert the system clipboard's text (#584) by @MarekSpodBiedry in https://github.com/storytold/wordcraft/pull/593\n* MacOS window close by @nusenyaw66 in https://github.com/storytold/wordcraft/pull/539\n* fix: protect original files during native saves by @OPUZZLES in https://github.com/storytold/wordcraft/pull/621\n* Caret: glide and fade like Word for Windows; File › Options › Advanced › Animation turns it off by @arcanii in https://github.com/storytold/wordcraft/pull/570\n* Linux: open/save works without a portal file dialog (#576) by @vangel76 in https://github.com/storytold/wordcraft/pull/583\n* Accessibility Options: Animation effects setting that follows the system by @JeremyYao in https://github.com/storytold/wordcraft/pull/791\n* fix(docx): preserve custom XML stores through saves by @OPUZZLES in https://github.com/storytold/wordcraft/pull/612\n* Tables: resize by dragging column borders, row borders and the corner handle (#217) by @rabis7575 in https://github.com/storytold/wordcraft/pull/600\n* fix(docx): preserve unstyled TOC result ranges by @OPUZZLES in https://github.com/storytold/wordcraft/pull/617\n* .doc import: inline pictures, floating pictures and basic shapes (#551) by @vangel76 in https://github.com/storytold/wordcraft/pull/558\n* i18n: add Italian interface (it) by @fabiodalez-dev in https://github.com/storytold/wordcraft/pull/598\n* Add German (de) interface language by @arekown in https://github.com/storytold/wordcraft/pull/574\n* M15: Polish interface, and Polish spelling, grammar and hyphenation by @witkowski01 in https://github.com/storytold/wordcraft/pull/346\n* i18n: add Czech (cs) interface translation by @DanielKnourek in https://github.com/storytold/wordcraft/pull/387\n* Linux: the display theme asks the desktop, not winit by @gyurix in https://github.com/storytold/wordcraft/pull/298\n* Fix CJK fallback mixing serif/sans faces within one run by @jeleesky in https://github.com/storytold/wordcraft/pull/567\n* Open Word documents with WordCraft by default (file associations + Options button) by @vangel76 in https://github.com/storytold/wordcraft/pull/304\n* Tests: linear-time checks measure CPU time, robust under load by @echelon in https://github.com/storytold/wordcraft/pull/850\n* Linux: default to XWayland for file drag-and-drop on Wayland desktops by @dylanmtaylor in https://github.com/storytold/wordcraft/pull/220\n* Preserve independent complex-script formatting during DOCX round trips by @shirizhaki in https://github.com/storytold/wordcraft/pull/366\n* Numeral display modes: Arabic, Hindi, Context and System digits (view.numeral) by @abdo4312 in https://github.com/storytold/wordcraft/pull/501\n* Fix bulleted list toolbar button active state by @Cyberverse-cent0 in https://github.com/storytold/wordcraft/pull/651\n* web: use File System Access API showSaveFilePicker with download fallback by @GhostMitra in https://github.com/storytold/wordcraft/pull/728\n* Backstage: add Save As page and close on successful save by @GhostMitra in https://github.com/storytold/wordcraft/pull/727\n* Fix sentence-capitalization suggestions after ellipses by @ripdog in https://github.com/storytold/wordcraft/pull/742\n* Fix paragraph alignment focus by @Osaym in https://github.com/storytold/wordcraft/pull/690\n* ui-egui: fix Windows clippy in desktop_theme by @echelon in https://github.com/storytold/wordcraft/pull/872\n* Interface colours come from the theme (#656) by @dkhlapov in https://github.com/storytold/wordcraft/pull/705\n* Dark theme: gallery previews no longer bright white (#663) by @dkhlapov in https://github.com/storytold/wordcraft/pull/706\n* Skip non-English runs in proofing instead of flagging them (#100) by @regalf in https://github.com/storytold/wordcraft/pull/741\n* Added some fixes to the spanish \"Info\" Page on Wordcraft by @SammyL-eo in https://github.com/storytold/wordcraft/pull/695\n* One drop-down marker on every ribbon button (#659) by @dkhlapov in https://github.com/storytold/wordcraft/pull/697\n* Menu buttons grey out while their command is disabled (#658) by @dkhlapov in https://github.com/storytold/wordcraft/pull/698\n* Ribbon: large-button labels end above the group titles (#653) by @dkhlapov in https://github.com/storytold/wordcraft/pull/699\n* Layout › Paragraph: fields fit above the title and line up (#654) by @dkhlapov in https://github.com/storytold/wordcraft/pull/703\n* KeyTips: Quick Access Toolbar badges, saved option and native Alt fix (#620) by @m1ssha in https://github.com/storytold/wordcraft/pull/709\n* Add paginated Reading Mode with smooth column navigation by @ripdog in https://github.com/storytold/wordcraft/pull/740\n* i18n: add French (fr) interface by @pechnikov2026-star in https://github.com/storytold/wordcraft/pull/729\n* i18n(hu): complete the Hungarian catalog again by @Skaywalker in https://github.com/storytold/wordcraft/pull/842\n* Bidi: auto-detect RTL paragraph direction when typing Kurdish, Arabic and Hebrew by @Hevarh1 in https://github.com/storytold/wordcraft/pull/713\n* Layout: an inline picture wider than the text keeps its size, like Word by @naxvog in https://github.com/storytold/wordcraft/pull/745\n* Fix Navigation pane expanding for long headings by @ripdog in https://github.com/storytold/wordcraft/pull/759\n* i18n: complete Turkish interface catalog with 2,170 entries and full … by @yeniufuklar-com in https://github.com/storytold/wordcraft/pull/774\n* MCP: confine file access with --automation-read-root and --automation-write-root (#769) by @isaac-levine in https://github.com/storytold/wordcraft/pull/798\n* Persist the custom dictionary across sessions (#40) by @regalf in https://github.com/storytold/wordcraft/pull/796\n* DOCX: preserve native Word ink on save by @OPUZZLES in https://github.com/storytold/wordcraft/pull/592\n* AutoCorrect: TWo INitial CApitals, cAPS LOCK and table-cell capitals (#544) by @vangel76 in https://github.com/storytold/wordcraft/pull/545\n* Affix engine: FLAG UTF-8, 128 flag bits, continuation classes, FORBIDDENWORD (#100) by @edurbs in https://github.com/storytold/wordcraft/pull/782\n* Portuguese proofing: pt-BR spelling, suggestions, grammar and hyphenation (#100) by @edurbs in https://github.com/storytold/wordcraft/pull/797\n* Hyphenation: Bulgarian text follows the Bulgarian syllable rules by @bulgariamitko in https://github.com/storytold/wordcraft/pull/826\n* i18n: add Bulgarian (bg) interface translation by @bulgariamitko in https://github.com/storytold/wordcraft/pull/825\n* ODT import reads page size, orientation and margins from styles.xml (#810) by @MarekSpodBiedry in https://github.com/storytold/wordcraft/pull/829\n* Paste keeps other programs' formatting; clipboard pictures on Wayland (#687, #833) by @dkhlapov in https://github.com/storytold/wordcraft/pull/847\n* New documents follow the system region: A4, centimetres and decimal comma outside the US (#838) by @dkhlapov in https://github.com/storytold/wordcraft/pull/857\n* Ctrl/⌘+F focuses the Find box, so typing searches (#772) by @Yasas-Sri in https://github.com/storytold/wordcraft/pull/823\n* Comment cards show the time as well as the date (#812) by @MarekSpodBiedry in https://github.com/storytold/wordcraft/pull/828\n* fix(ui): equation gallery tiles follow the dark theme (#817) by @MarekSpodBiedry in https://github.com/storytold/wordcraft/pull/827\n* Accept and Reject at the caret cover a tracked change split by a comment (#809) by @MarekSpodBiedry in https://github.com/storytold/wordcraft/pull/830\n* Keep the font table and embedded fonts when saving a .docx (#770) by @MarekSpodBiedry in https://github.com/storytold/wordcraft/pull/831\n* Zoom after One Page keeps one page per row (#768) by @MarekSpodBiedry in https://github.com/storytold/wordcraft/pull/832\n* Tables: row borders stay apart around a vertical merge (#640) by @rabis7575 in https://github.com/storytold/wordcraft/pull/841\n* PDF export: internal links in linear time by @echelon in https://github.com/storytold/wordcraft/pull/937\n* fix(windows): start 32-bit builds on OpenGL so launch no longer exits by @odedigo in https://github.com/storytold/wordcraft/pull/839\n* Ribbon keytip letters like Word for Windows by @echelon in https://github.com/storytold/wordcraft/pull/922\n* fix(ui): draw non-Latin file names in the window caption by @odedigo in https://github.com/storytold/wordcraft/pull/840\n* Table of contents entries drawn plain, as in Word by @echelon in https://github.com/storytold/wordcraft/pull/930\n* Ribbon groups fit above their labels (View › Show, Developer › Controls, Layout › Paragraph) by @manucarcor in https://github.com/storytold/wordcraft/pull/910\n* Alt+Q moves to \"Tell me\" command search (#819) by @dkhlapov in https://github.com/storytold/wordcraft/pull/849\n* Spaces and tabs don't make a line taller by @echelon in https://github.com/storytold/wordcraft/pull/931\n* .doc: tab stops and section breaks read correctly by @echelon in https://github.com/storytold/wordcraft/pull/925\n* Word 365 cover pages: freeforms in groups, text-box margins and Resize to fit (#743) by @dkhlapov in https://github.com/storytold/wordcraft/pull/843\n* Heading numbers from a style's list level (6.4.5, not 6.15) by @echelon in https://github.com/storytold/wordcraft/pull/926\n* A list label raises its line, but doesn't deepen it by @echelon in https://github.com/storytold/wordcraft/pull/928\n* Sorting and table numbers follow the text's language (#836, #837) by @dkhlapov in https://github.com/storytold/wordcraft/pull/844\n* Hidden end-of-cell marks (hideMark) by @echelon in https://github.com/storytold/wordcraft/pull/939\n* ROADMAP: progress log table renders again by @echelon in https://github.com/storytold/wordcraft/pull/947\n* layout tests: fix clippy in a_hidden_cell_mark_takes_no_room by @echelon in https://github.com/storytold/wordcraft/pull/948\n* Text frames placed like Word's and kept on save by @echelon in https://github.com/storytold/wordcraft/pull/935\n* List indents and style indents combine like Word by @echelon in https://github.com/storytold/wordcraft/pull/927\n* AutoCorrect: the English replacement list applies only to English text (#835) by @dkhlapov in https://github.com/storytold/wordcraft/pull/846\n* Keep with next splits a paragraph that doesn't fit anyway by @echelon in https://github.com/storytold/wordcraft/pull/933\n* Start on File › Home when launched with nothing to open (#766) by @dkhlapov in https://github.com/storytold/wordcraft/pull/853\n* An empty continuous section mark takes no room by @echelon in https://github.com/storytold/wordcraft/pull/940\n* Undo history list beside the Quick Access Toolbar's Undo (#701) by @dkhlapov in https://github.com/storytold/wordcraft/pull/855\n* Paragraph-relative floats start above the space before by @echelon in https://github.com/storytold/wordcraft/pull/941\n* i18n(es): translate the equation gallery and built-in style names by @diegozpy in https://github.com/storytold/wordcraft/pull/854\n* Text after a column break uses the new column's width by @echelon in https://github.com/storytold/wordcraft/pull/934\n* Space before at the top of a page like Word by @echelon in https://github.com/storytold/wordcraft/pull/932\n* Tables: select, insert and move with the mouse; double-click a border to AutoFit by @rabis7575 in https://github.com/storytold/wordcraft/pull/637\n* Kerning and automatic paragraph spacing like Word by @echelon in https://github.com/storytold/wordcraft/pull/923\n* No automatic spacing between list items by @echelon in https://github.com/storytold/wordcraft/pull/924\n* Shift+F10 opens the context menu at the caret (#821) by @echelon in https://github.com/storytold/wordcraft/pull/920\n* Tables: the right-click menu offers the table's commands by @rabis7575 in https://github.com/storytold/wordcraft/pull/694\n* Tables: drags and Shift+arrows over cells select whole cells by @rabis7575 in https://github.com/storytold/wordcraft/pull/722\n* Rulers: table column and row markers; indents in a cell measured from it by @rabis7575 in https://github.com/storytold/wordcraft/pull/710\n* Alt+Q opens Search like Word (#819) by @echelon in https://github.com/storytold/wordcraft/pull/919\n* Tables: Ctrl, Alt, left-edge and selected-cells border drags by @rabis7575 in https://github.com/storytold/wordcraft/pull/720\n* Ctrl+F searches in the Navigation pane; one Find and Replace dialog (#712) by @echelon in https://github.com/storytold/wordcraft/pull/921\n* Fonts: documents use the craft-fonts Simplified Chinese face (fixes FreeBSD CI after #567) by @dkhlapov in https://github.com/storytold/wordcraft/pull/888\n* Smooth scrolling through a very large table (#811) by @dkhlapov in https://github.com/storytold/wordcraft/pull/891\n* Save Changes prompt answers from the keyboard (#861) by @dkhlapov in https://github.com/storytold/wordcraft/pull/870\n* Section breaks no longer delete the selected text (#852) by @dkhlapov in https://github.com/storytold/wordcraft/pull/875\n* Click in the left margin selects lines (selection bar) (#856) by @dkhlapov in https://github.com/storytold/wordcraft/pull/879\n\n## New Contributors\n* @diegozpy made their first contribution in https://github.com/storytold/wordcraft/pull/514\n* @PbyLoyth made their first contribution in https://github.com/storytold/wordcraft/pull/494\n* @dylanmtaylor made their first contribution in https://github.com/storytold/wordcraft/pull/639\n* @alexanderalber made their first contribution in https://github.com/storytold/wordcraft/pull/556\n* @DevCoderMax made their first contribution in https://github.com/storytold/wordcraft/pull/591\n* @OPUZZLES made their first contribution in https://github.com/storytold/wordcraft/pull/647\n* @petycomp made their first contribution in https://github.com/storytold/wordcraft/pull/681\n* @lunar-me made their first contribution in https://github.com/storytold/wordcraft/pull/715\n* @GhostMitra made their first contribution in https://github.com/storytold/wordcraft/pull/717\n* @Matty-PW made their first contribution in https://github.com/storytold/wordcraft/pull/734\n* @SteamSmith made their first contribution in https://github.com/storytold/wordcraft/pull/792\n* @notdezzi made their first contribution in https://github.com/storytold/wordcraft/pull/757\n* @yefan911 made their first contribution in https://github.com/storytold/wordcraft/pull/790\n* @nusenyaw66 made their first contribution in https://github.com/storytold/wordcraft/pull/539\n* @arcanii made their first contribution in https://github.com/storytold/wordcraft/pull/570\n* @JeremyYao made their first contribution in https://github.com/storytold/wordcraft/pull/791\n* @rabis7575 made their first contribution in https://github.com/storytold/wordcraft/pull/600\n* @fabiodalez-dev made their first contribution in https://github.com/storytold/wordcraft/pull/598\n* @arekown made their first contribution in https://github.com/storytold/wordcraft/pull/574\n* @DanielKnourek made their first contribution in https://github.com/storytold/wordcraft/pull/387\n* @gyurix made their first contribution in https://github.com/storytold/wordcraft/pull/298\n* @jeleesky made their first contribution in https://github.com/storytold/wordcraft/pull/567\n* @shirizhaki made their first contribution in https://github.com/storytold/wordcraft/pull/366\n* @abdo4312 made their first contribution in https://github.com/storytold/wordcraft/pull/501\n* @Cyberverse-cent0 made their first contribution in https://github.com/storytold/wordcraft/pull/651\n* @ripdog made their first contribution in https://github.com/storytold/wordcraft/pull/742\n* @Osaym made their first contribution in https://github.com/storytold/wordcraft/pull/690\n* @regalf made their first contribution in https://github.com/storytold/wordcraft/pull/741\n* @SammyL-eo made their first contribution in https://github.com/storytold/wordcraft/pull/695\n* @m1ssha made their first contribution in https://github.com/storytold/wordcraft/pull/709\n* @pechnikov2026-star made their first contribution in https://github.com/storytold/wordcraft/pull/729\n* @Skaywalker made their first contribution in https://github.com/storytold/wordcraft/pull/842\n* @Hevarh1 made their first contribution in https://github.com/storytold/wordcraft/pull/713\n* @yeniufuklar-com made their first contribution in https://github.com/storytold/wordcraft/pull/774\n* @isaac-levine made their first contribution in https://github.com/storytold/wordcraft/pull/798\n* @bulgariamitko made their first contribution in https://github.com/storytold/wordcraft/pull/826\n* @Yasas-Sri made their first contribution in https://github.com/storytold/wordcraft/pull/823\n* @odedigo made their first contribution in https://github.com/storytold/wordcraft/pull/839\n* @manucarcor made their first contribution in https://github.com/storytold/wordcraft/pull/910\n\n**Full Changelog**: https://github.com/storytold/wordcraft/compare/v0.5.0...v0.6.1","assets":[{"name":"SHA256SUMS.txt","size_bytes":2564,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/SHA256SUMS.txt","sha256":"4bc03029081b5e50dae17fc9c3d814ffbcbdfe0cfb6bbc0f876208997b32d245","platform":null},{"name":"wordcraft-0.6.1-freebsd-x86_64.tar.gz","size_bytes":99530110,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-freebsd-x86_64.tar.gz","sha256":"3dab8a41638e6305590405a7768c76e7300a2de67d76d1211430c84e142720c3","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"wordcraft-0.6.1-linux-aarch64.AppImage","size_bytes":89901576,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-linux-aarch64.AppImage","sha256":"78edd2b884fee4cfcfe8a072c4f1608759882e524f73c74c92dbc21612db860e","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"wordcraft-0.6.1-linux-aarch64.AppImage.zsync","size_bytes":307533,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-linux-aarch64.AppImage.zsync","sha256":"d9b10a501e237a866386591f6ba32aa7c09b13df0accb4df405bb2082b1d1dce","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"wordcraft-0.6.1-linux-aarch64.deb","size_bytes":96166944,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-linux-aarch64.deb","sha256":"165e5c0634d6a8f9ecc312792e85f6d9ceea034267365ba3681b6a764c2403c7","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"wordcraft-0.6.1-linux-aarch64.flatpak","size_bytes":67136048,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-linux-aarch64.flatpak","sha256":"3001f7964cbe0cbed4b322d1d8820feb218b4801d923a0c46a85d59dcb99cb6b","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"wordcraft-0.6.1-linux-aarch64.rpm","size_bytes":95539673,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-linux-aarch64.rpm","sha256":"9bad1ebd1e9818bc3d475393b27a2cf13ed808aa68a4c6e127b8a61cf4a833e5","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"wordcraft-0.6.1-linux-aarch64.tar.gz","size_bytes":94232286,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-linux-aarch64.tar.gz","sha256":"8d58f745d29fe17e8e5b4268e07553f140005b6986c27c6aa40b53f3cfb1e0f1","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"wordcraft-0.6.1-linux-riscv64.deb","size_bytes":96991720,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-linux-riscv64.deb","sha256":"214f23ca59c638ba1c5f8127e252c57295eafe0550676f93b6dc78340c4f959d","platform":null},{"name":"wordcraft-0.6.1-linux-riscv64.rpm","size_bytes":96637794,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-linux-riscv64.rpm","sha256":"1e936815ccdf7ca0493988730f0526944888d6db0a967dadebaf53ec70ce6ae6","platform":null},{"name":"wordcraft-0.6.1-linux-riscv64.tar.gz","size_bytes":95858100,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-linux-riscv64.tar.gz","sha256":"2a1eea6990f62a8326c1f58deaba4eb987ddccd4b7e6902662dc3c6164155329","platform":null},{"name":"wordcraft-0.6.1-linux-x86_64.AppImage","size_bytes":92400120,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-linux-x86_64.AppImage","sha256":"36ed3844c4e58391cf1341d133bf6b569b5221f8e707e5e271db3c38df6dc3c3","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"wordcraft-0.6.1-linux-x86_64.AppImage.zsync","size_bytes":316071,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-linux-x86_64.AppImage.zsync","sha256":"4c8dcf2af8b563cdd13ca90daf7ece1bf903acaf67eccfd76aa69885ce1853e6","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"wordcraft-0.6.1-linux-x86_64.deb","size_bytes":98139750,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-linux-x86_64.deb","sha256":"7c86f97e43cc24eae765de431f9d924cc19370c0cbac2ebd108d732386220508","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"wordcraft-0.6.1-linux-x86_64.flatpak","size_bytes":69964008,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-linux-x86_64.flatpak","sha256":"4aac50474bd964948cda9c1eb6b8e9495f35992be81568be7431ec9258585a8f","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"wordcraft-0.6.1-linux-x86_64.rpm","size_bytes":97609607,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-linux-x86_64.rpm","sha256":"95ed5cf7ed688121d409078cfdfb0981a0c6ac5daa0b2c61f4f445681b2d2eee","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"wordcraft-0.6.1-linux-x86_64.tar.gz","size_bytes":96839306,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-linux-x86_64.tar.gz","sha256":"79bd54c81276f6ea551222432adec15e0eaab4cb5881decee38eafd7a5ca38f9","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"wordcraft-0.6.1-macos-universal.dmg","size_bytes":104353239,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-macos-universal.dmg","sha256":"6cfbc5b0c1270894f4df7eed15f6d880d01f4733f856cee55d3793bd738786ae","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"wordcraft-0.6.1-windows-arm64-portable.zip","size_bytes":93255151,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-windows-arm64-portable.zip","sha256":"baf28c75a7bb41efded0d8ea110451bfb8e57b722ab0a64243c4458338ea0879","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"wordcraft-0.6.1-windows-arm64.msi","size_bytes":76455936,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-windows-arm64.msi","sha256":"3ea2f2cebb3b8e9f66522f44cb2b3530339ff23b129f8077d4197378dd637645","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"wordcraft-0.6.1-windows-x64-portable.zip","size_bytes":95828700,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-windows-x64-portable.zip","sha256":"4576d76363b0513242e0c1e5038fabaee4b3369909de60821900a01fc6277261","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"wordcraft-0.6.1-windows-x64.msi","size_bytes":79200256,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-windows-x64.msi","sha256":"ec1761f5efb32247d2674c5d05e488f4a8f8c0323f7dfcd608266510d636deb8","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"wordcraft-0.6.1-windows-x86-portable.zip","size_bytes":93036415,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-windows-x86-portable.zip","sha256":"a5ae4f6c16ed89b64e2a47bd380148d577a71b5991a75c13ef4ead790b0c5fbd","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"wordcraft-0.6.1-windows-x86.msi","size_bytes":77824000,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-0.6.1-windows-x86.msi","sha256":"08b6ac9b364a7873523447912aa8f169741e3986b88dd1b65622055c36de9afe","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"wordcraft-cli-0.6.1-macos-universal.zip","size_bytes":85804516,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-cli-0.6.1-macos-universal.zip","sha256":"58840293e40f845b56be90eef53169213c95d841cc078b94a78a225e4eff59e6","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"wordcraft-web-0.6.1.zip","size_bytes":14811800,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.6.1/wordcraft-web-0.6.1.zip","sha256":"85e458cb5adaa75afa871a9858c735ef7fd1e05741c6bf5d444dc09a1eb29e0a","platform":{"os":"web","arch":null,"package_type":"web_zip"}}]},"app_last_fetched":"2026-10-13T23:55:17.266527660Z"}},"last_fetched":"2026-10-13T23:55:09.516769685Z"},"app_renames":[],"repo_renames":[],"important_notices":{"announcements":[],"alerts":[]}}