{"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-15T15:40:53.814834113Z"},"cadcraft":{"name":"CADCraft","repo":"storytold/cadcraft","latest_release":{"tag":"v0.7.0","version":"0.7.0","name":"CADCraft v0.7.0","published_at":"2026-10-14T15:29:49Z","html_url":"https://github.com/storytold/cadcraft/releases/tag/v0.7.0","prerelease":false,"notes_markdown":"## What's Changed\n* Select: pick a SOLID inside its fill, not its bounding rectangle by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/747\n* View: refuse a view that maps to an infinite viewport view, keeping the viewport by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/749\n* Plotting: honor model-space center and X/Y offsets by @cyfung1031 in https://github.com/storytold/cadcraft/pull/751\n* Hatch and Gradient dialog (create and edit) by @LloydNicholson in https://github.com/storytold/cadcraft/pull/753\n* cadcraft-cli mcp: --lazy and --launch for MCP clients that start before the app by @aldozar in https://github.com/storytold/cadcraft/pull/756\n* POLYGON: an Edge second endpoint on the first is refused and asked again (follow-up to #735) by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/760\n* CIRCLE: a radius point on the centre is refused and asked again (follow-up to #735) by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/761\n* Hatch: a view covering a pattern hatch leaves its lines exactly as they are by @SBaksa in https://github.com/storytold/cadcraft/pull/762\n* DXF/DWG: write the Model layout's plot type as extents, not \"Layout information\" by @EP995LAB in https://github.com/storytold/cadcraft/pull/765\n* Active viewport highlight: selection on the GPU, hover cached apart, kept inside a clipped outline by @SBaksa in https://github.com/storytold/cadcraft/pull/770\n* TRIM: a pick after a closed polyline's last cut keeps only the complementary run (#726) by @Silvertree2010 in https://github.com/storytold/cadcraft/pull/771\n* Constraints: an arc solved with a negative radius is stored turned half a turn, so its points stay put by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/772\n* Geometry: fit splines with too many points use them as control points instead of a dense solve by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/773\n* Autosave: a write that failed is tried again without another change by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/774\n* Selection: rebuild the spatial index when a layer used inside blocks is hidden or shown by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/775\n* SPLINE: cap programmatic control points like spline.cv by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/776\n* Extents: cache block bounds per depth so a deep visit can't hide a shallow reference by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/778\n* Engine: NEW and OPEN end a command left running in the previous drawing by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/780\n* Keep the ACIS geometry of 3D solids, regions and bodies on save (ACDSDATA) by @aldozar in https://github.com/storytold/cadcraft/pull/781\n* Write an unedited dimension's block as it was read by @aldozar in https://github.com/storytold/cadcraft/pull/782\n* Don't give entities made while reading handles the file still uses by @aldozar in https://github.com/storytold/cadcraft/pull/783\n* MTEXT: Exactly line spacing keeps the pitch when a line has taller text by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/784\n* Geometry: spline arc length converges on tight bends, so LENGTHEN shortens to the target by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/786\n* LINE: resolve deferred TAN first point with typed @distance<angle> by @william-wwh in https://github.com/storytold/cadcraft/pull/788\n* i18n: Italian interface catalog (it.tsv) by @bottelliemanuele-maker in https://github.com/storytold/cadcraft/pull/789\n* Zoom Window: the opposite corner ignores ortho, so the window stays a rectangle by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/790\n* Geometry: keep vector midpoints finite at coordinate extremes by @webdevtodayjason in https://github.com/storytold/cadcraft/pull/793\n* BOUNDARY: cap point list and aggregate output per call (#723) by @vangel76 in https://github.com/storytold/cadcraft/pull/795\n* PEDIT: pre-selected line or arc asks to turn it into a polyline by @vangel76 in https://github.com/storytold/cadcraft/pull/796\n* Show an Opening... indicator and read files off the UI thread (#694) by @vangel76 in https://github.com/storytold/cadcraft/pull/797\n* Test: compare hatch pattern lines with tolerance (#804) by @vangel76 in https://github.com/storytold/cadcraft/pull/805\n* Pick dimensions and multileaders anywhere on their text by @codyvogt in https://github.com/storytold/cadcraft/pull/807\n* docs: gaps.md FF14 lists what is left of SVG import by @vangel76 in https://github.com/storytold/cadcraft/pull/814\n* MLEADEREDIT, MLEADERALIGN, MLEADERCOLLECT by @vangel76 in https://github.com/storytold/cadcraft/pull/816\n* REFEDIT, REFSET and REFCLOSE: edit block references in place by @vangel76 in https://github.com/storytold/cadcraft/pull/818\n* Keep the layout tabs inside the status bar by @NakaSato in https://github.com/storytold/cadcraft/pull/821\n* Ctrl+Z / U during LINE removes only the last segment (#750) by @vangel76 in https://github.com/storytold/cadcraft/pull/831\n* fix(dxf): MTEXT direction ignores the embedded object's insertion point (#667) by @iHateStupidPeople in https://github.com/storytold/cadcraft/pull/834\n* Desktop: a bare --control keeps the CADCRAFT_CONTROL_PORT port by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/848\n* Control channel: control.methods lists the methods, ping answers by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/852\n* CJK text: big-font cells in SHX text, CJK interface fonts in every language (#674, #513) by @aldozar in https://github.com/storytold/cadcraft/pull/861\n* Viewport scale list: add engineering scales for imperial drawings by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/866\n* Dynamic Input and grip fields show distances in the drawing's UNITS by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/867\n* Double-click on text, mtext or an attribute definition starts TEXTEDIT on it by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/868\n* DXF: read every ENTITIES section, not only the last by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/869\n* docs: clarify control protocol command dispatch (#845) by @Zaxaerith in https://github.com/storytold/cadcraft/pull/873\n* Xdata travels with its object: COPY, MIRROR, ARRAY and paste keep other applications' xdata by @mattlafy in https://github.com/storytold/cadcraft/pull/890\n* Canvas: every click places a point while drawing, however fast by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/835\n* Recent files: the Start page and File ▸ Open Recent list the drawings opened last by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/864\n* i18n(pt-BR): complete the Brazilian Portuguese catalog by @RicSchonfelder in https://github.com/storytold/cadcraft/pull/791\n* Command line: a bare system variable name runs SETVAR on it (part of U10) by @flyboy-byte in https://github.com/storytold/cadcraft/pull/799\n* DXF: write viewport frozen layers as group 341 layer handles too by @mattlafy in https://github.com/storytold/cadcraft/pull/827\n* DXF: associative hatches in blocks keep their boundary; boundaries carry the hatch reactor by @codyvogt in https://github.com/storytold/cadcraft/pull/871\n* Save xref layer overrides with the host, in DXF and DWG by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/889\n* STRETCH: polygon and fence selection by @NakaSato in https://github.com/storytold/cadcraft/pull/892\n* Performance: restrict object-snap intersections to cursor aperture by @cyfung1031 in https://github.com/storytold/cadcraft/pull/701\n* BREAK, BREAKATPOINT and JOIN: leave objects on locked layers alone (fixes #727) by @atmikshetty in https://github.com/storytold/cadcraft/pull/730\n* Constraint point names: `s2` names segment 2, as documented by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/734\n* POLYGON: a typed radius of zero or less, or a radius point on the centre, is refused and asked again by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/735\n* HATCH: a pattern name with no definition is refused instead of drawn as ANSI31 by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/736\n* JOIN: an elliptical arc named twice is one object, so the joined result stays by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/739\n* HATCHEDIT: choosing SOLID on a gradient hatch makes it a plain solid fill by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/740\n* Geometry: param_at_length checks spline validity before clamping to the domain by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/741\n* Dimensions: a jogged radius with a NaN or infinite radius draws no lines instead of panicking by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/742\n* MTEXT: annotative scaling and SCALE on multileader text scale the text width and columns too by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/743\n* Plot: model-space PNG and SVG plots honour fit: false without a scale, at 1:1 like PDF by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/744\n* Extents: count the visible attributes of a reference to a missing block by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/746\n* Fonts: use the TrueType typeface from a style's xdata and find families by first word by @asimfali in https://github.com/storytold/cadcraft/pull/894\n* MTEXT: paragraph indents and tab stops are in drawing units by @asimfali in https://github.com/storytold/cadcraft/pull/895\n* PDFBOOK: plot sheet frames in model space into one PDF per row of frames by @asimfali in https://github.com/storytold/cadcraft/pull/896\n* Property-based and hostile-input tests for geometry numerics (gaps.md S6) by @Lion-1209 in https://github.com/storytold/cadcraft/pull/733\n* Fix polyline offset arc bulge after joining moved endpoints (#817) by @MarekSpodBiedry in https://github.com/storytold/cadcraft/pull/825\n* ACAD_TABLE: readable cell text from AutoCAD files (cell height, style scale, MTEXT) by @vangel76 in https://github.com/storytold/cadcraft/pull/806\n* Select: pick a solid hatch inside its fill, islands left out, not its bounding rectangle (follow-up to #747) by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/763\n* doc: Space::tab_name / layout / is_paper replace repeated hand-written matches by @mattlafy in https://github.com/storytold/cadcraft/pull/888\n* Engine: run the post-command passes from one place by @mattlafy in https://github.com/storytold/cadcraft/pull/856\n* Properties palette: numeric fields take feet and inches, show lengths in the drawing's units, and report what they can't read by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/870\n* Update Chinese translations in zh.tsv by @mayloglog in https://github.com/storytold/cadcraft/pull/884\n* Open damaged DWGs partially and say what was left out (acadrust 0.6.4, #800) by @aldozar in https://github.com/storytold/cadcraft/pull/859\n* DXF: count the records the reader can't place; info reports them, convert warns by @marcoarnulfo in https://github.com/storytold/cadcraft/pull/872\n* AutoLISP: load and run .lsp routines (fixes #758) by @SBaksa in https://github.com/storytold/cadcraft/pull/855\n* MCP: render one area of the drawing, and read its texts (find_text) by @aldozar in https://github.com/storytold/cadcraft/pull/757\n* Follow the operating system's animation setting; add View ▸ Accessibility ▸ Animation Effects by @JeremyYao in https://github.com/storytold/cadcraft/pull/759\n* HATCHEDIT: refuse an explicit bad scale or angle before editing anything (#724) by @Silvertree2010 in https://github.com/storytold/cadcraft/pull/777\n* Dynamic blocks: read parameters and actions from AutoCAD files by @codyvogt in https://github.com/storytold/cadcraft/pull/838\n* Dynamic block references: custom properties in Properties (stacked on #838) by @codyvogt in https://github.com/storytold/cadcraft/pull/853\n* Dynamic block references: change the visibility state (stacked on #853) by @codyvogt in https://github.com/storytold/cadcraft/pull/860\n* Dynamic block references: distances, positions, stretch and move actions, lookups both ways (stacked on #860) by @codyvogt in https://github.com/storytold/cadcraft/pull/878\n* Dynamic block grips: show and drag a dynamic reference's grips (stacked on #878) by @codyvogt in https://github.com/storytold/cadcraft/pull/883\n* Multiline attributes: read, draw and save their text (they were lost on save) by @codyvogt in https://github.com/storytold/cadcraft/pull/854\n* Attributes keep Verify, Preset and Lock position (stacked on #854) by @codyvogt in https://github.com/storytold/cadcraft/pull/876\n* Block Editor: BEDIT, BSAVE, BSAVEAS and BCLOSE for static blocks by @codyvogt in https://github.com/storytold/cadcraft/pull/824\n* Edit Block Definition dialog; BEDIT can start a new block (stacked on #824) by @codyvogt in https://github.com/storytold/cadcraft/pull/833\n* Block Editor on the current drawing; a drawing with authoring elements offers it (stacked on #833) by @codyvogt in https://github.com/storytold/cadcraft/pull/885\n* In-place MTEXT editor with formatting toolbar and ruler (#532, F9) by @vangel76 in https://github.com/storytold/cadcraft/pull/792\n* Selection like AutoCAD: colour highlight and the Options Selection tab by @codyvogt in https://github.com/storytold/cadcraft/pull/808\n* Draw object transparency on screen, in exports and in plots by @EP995LAB in https://github.com/storytold/cadcraft/pull/764\n* Fix double-clicking layout viewports creating persistent selection rectangle (#823) by @GJoe2 in https://github.com/storytold/cadcraft/pull/830\n* Add Korean interface localization and Hangul font support by @huk082 in https://github.com/storytold/cadcraft/pull/857\n* i18n: add Swedish (sv) interface translation by @holmbom in https://github.com/storytold/cadcraft/pull/882\n* Arabic (العربية) UI translation: language switching + font fallback by @hasan-sdaif in https://github.com/storytold/cadcraft/pull/798\n* Zoom and pan regenerate in the background instead of freezing the window by @Lufftre in https://github.com/storytold/cadcraft/pull/903\n\n## New Contributors\n* @marcoarnulfo made their first contribution in https://github.com/storytold/cadcraft/pull/747\n* @EP995LAB made their first contribution in https://github.com/storytold/cadcraft/pull/765\n* @Silvertree2010 made their first contribution in https://github.com/storytold/cadcraft/pull/771\n* @william-wwh made their first contribution in https://github.com/storytold/cadcraft/pull/788\n* @bottelliemanuele-maker made their first contribution in https://github.com/storytold/cadcraft/pull/789\n* @codyvogt made their first contribution in https://github.com/storytold/cadcraft/pull/807\n* @NakaSato made their first contribution in https://github.com/storytold/cadcraft/pull/821\n* @iHateStupidPeople made their first contribution in https://github.com/storytold/cadcraft/pull/834\n* @Zaxaerith made their first contribution in https://github.com/storytold/cadcraft/pull/873\n* @mattlafy made their first contribution in https://github.com/storytold/cadcraft/pull/890\n* @RicSchonfelder made their first contribution in https://github.com/storytold/cadcraft/pull/791\n* @flyboy-byte made their first contribution in https://github.com/storytold/cadcraft/pull/799\n* @atmikshetty made their first contribution in https://github.com/storytold/cadcraft/pull/730\n* @asimfali made their first contribution in https://github.com/storytold/cadcraft/pull/894\n* @JeremyYao made their first contribution in https://github.com/storytold/cadcraft/pull/759\n* @GJoe2 made their first contribution in https://github.com/storytold/cadcraft/pull/830\n* @huk082 made their first contribution in https://github.com/storytold/cadcraft/pull/857\n* @holmbom made their first contribution in https://github.com/storytold/cadcraft/pull/882\n* @hasan-sdaif made their first contribution in https://github.com/storytold/cadcraft/pull/798\n* @Lufftre made their first contribution in https://github.com/storytold/cadcraft/pull/903\n\n**Full Changelog**: https://github.com/storytold/cadcraft/compare/v0.6.2...v0.7.0","assets":[{"name":"cadcraft-0.7.0-freebsd-x86_64.tar.gz","size_bytes":63183190,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-freebsd-x86_64.tar.gz","sha256":"10bf3e44c9040644095106a46831fe6a11db378d0c6c49e799fd66c921a5e539","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"cadcraft-0.7.0-linux-aarch64.AppImage","size_bytes":55630344,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-linux-aarch64.AppImage","sha256":"8c745bff42ac94f784d228f03a8f1d733f029b09f2771d69073690532d08485e","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"cadcraft-0.7.0-linux-aarch64.AppImage.zsync","size_bytes":190393,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-linux-aarch64.AppImage.zsync","sha256":"e9dcd7919a4d98e3bcb7c3c2aca161eb1328c71d5bb7a98c75382837c5b9ade4","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"cadcraft-0.7.0-linux-aarch64.deb","size_bytes":59797080,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-linux-aarch64.deb","sha256":"314b750fd58873d052d3caddbc7ef8a0a6a1302158bba358fbc0b4ef2131a947","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"cadcraft-0.7.0-linux-aarch64.flatpak","size_bytes":41275160,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-linux-aarch64.flatpak","sha256":"431235467cce2c4e67f95d38ed567b80b2372f4875f3cc82a1f6c6d1019c5763","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"cadcraft-0.7.0-linux-aarch64.rpm","size_bytes":59320084,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-linux-aarch64.rpm","sha256":"b0b41d9d7fe882e387d3fb98aaaad2944affd4d37e01e53975d54504f46914d7","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"cadcraft-0.7.0-linux-aarch64.tar.gz","size_bytes":58319543,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-linux-aarch64.tar.gz","sha256":"15c3cb08735d91090c6507aaa2338094aa2aa4a38788872689c153b2e8f2f6ce","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"cadcraft-0.7.0-linux-riscv64.deb","size_bytes":60540628,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-linux-riscv64.deb","sha256":"08ccf1ee538c758edee6b7f35a26fd2c9f062537515ceb53e43f18634e050de9","platform":null},{"name":"cadcraft-0.7.0-linux-riscv64.rpm","size_bytes":60318728,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-linux-riscv64.rpm","sha256":"0b260783f8e969ea42259d3d8f8b392f825fa617e4fe7a3787b0baf6372703cc","platform":null},{"name":"cadcraft-0.7.0-linux-riscv64.tar.gz","size_bytes":59770160,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-linux-riscv64.tar.gz","sha256":"b6ad18be70edabd69fa9822251558c29a0557e076d828864c495a1a0c3438077","platform":null},{"name":"cadcraft-0.7.0-linux-x86_64.AppImage","size_bytes":57784824,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-linux-x86_64.AppImage","sha256":"b2aa2807c886e1bae7b0064f47688a62ed6fe1fa05f05b352e362cdc698f0b77","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"cadcraft-0.7.0-linux-x86_64.AppImage.zsync","size_bytes":197755,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-linux-x86_64.AppImage.zsync","sha256":"795065ebcd180c673ade6bec48eb6ae3f1e3232249547dd331d5dee21b320061","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"cadcraft-0.7.0-linux-x86_64.deb","size_bytes":61585848,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-linux-x86_64.deb","sha256":"39f7e94ae330829151bcb9471e6236ee7d3bd33a3c5f8e912d2adf3b7826c8a9","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"cadcraft-0.7.0-linux-x86_64.flatpak","size_bytes":43961024,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-linux-x86_64.flatpak","sha256":"5d100000f11bed457f3ee6c91790fc912804d3d1b1c33e247de9d17f431c9c92","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"cadcraft-0.7.0-linux-x86_64.rpm","size_bytes":61212031,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-linux-x86_64.rpm","sha256":"7b9ecc372c94da1c462d75ec76eb08ab73dc19afa85ef10028652c60c1ca240d","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"cadcraft-0.7.0-linux-x86_64.tar.gz","size_bytes":60757626,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-linux-x86_64.tar.gz","sha256":"cf8d4aa86d046f34eb770ae6cd2df3eee17d1f3b129257f1558543046c955cc0","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"cadcraft-0.7.0-macos-universal.dmg","size_bytes":67101591,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-macos-universal.dmg","sha256":"a2e37617aa675c955e1ee97d1efb9c3e1ce4dcaec705c7083d695cdd3ef236b7","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"cadcraft-0.7.0-windows-arm64-portable.zip","size_bytes":57744591,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-windows-arm64-portable.zip","sha256":"9fc12b1ed581f0b6e0abadf55f79f2dce96005f7e79f2b7625d61d31717c29d2","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"cadcraft-0.7.0-windows-arm64.msi","size_bytes":46329856,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-windows-arm64.msi","sha256":"dd4ece59f1741f06138ae68cb2967f4350070cddc611f0b22b573df0e1c3408a","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"cadcraft-0.7.0-windows-x64-portable.zip","size_bytes":60187994,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-windows-x64-portable.zip","sha256":"1eebfb2f73ffdc0ead1313c1053de12ec26da6b2f4038bfe989ad51b34053c8a","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"cadcraft-0.7.0-windows-x64.msi","size_bytes":48791552,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-windows-x64.msi","sha256":"c2fcdb79dff80023fbaa567881474db1a78fbad9f455481198be8f32af2017ef","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"cadcraft-0.7.0-windows-x86-portable.zip","size_bytes":58382971,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-windows-x86-portable.zip","sha256":"52c0834384a0ac7aa299712bf35b31167f628b9e6ef6250d60dcb18d529d6462","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"cadcraft-0.7.0-windows-x86.msi","size_bytes":48173056,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-0.7.0-windows-x86.msi","sha256":"3368047a85872e402517cd16218935750efafbb5877b239a7ad4ffc02826fde7","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"cadcraft-cli-0.7.0-macos-universal.zip","size_bytes":51536484,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-cli-0.7.0-macos-universal.zip","sha256":"dc203df9e9225d1abc0981c82fcf30a9322878bd88009ad0457a122b71bb61c6","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"cadcraft-web-0.7.0.zip","size_bytes":8492921,"download_url":"https://github.com/storytold/cadcraft/releases/download/v0.7.0/cadcraft-web-0.7.0.zip","sha256":"47df17081e31bc25ab586ba88156dc25e07962364c73513004b9c6113b575be7","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.7.0/SHA256SUMS.txt","sha256":"8b8a22293d19e1d5df7fbdd9162801bc1657c2203566f9d9a7e845b00c5f61f0","platform":null}]},"app_last_fetched":"2026-10-15T15:40:51.789837087Z"},"deckcraft":{"name":"DeckCraft","repo":"storytold/deckcraft","latest_release":{"tag":"v0.7.0","version":"0.7.0","name":"DeckCraft v0.7.0","published_at":"2026-10-14T15:04:51Z","html_url":"https://github.com/storytold/deckcraft/releases/tag/v0.7.0","prerelease":false,"notes_markdown":"## What's Changed\n* Text: superscript and subscript letters no longer spread apart by @echelon in https://github.com/storytold/deckcraft/pull/264\n* Themes: background pictures are recoloured, and dark layouts stay dark by @echelon in https://github.com/storytold/deckcraft/pull/269\n* Render: two-colour gradients ramp like PowerPoint's by @echelon in https://github.com/storytold/deckcraft/pull/273\n* PPTX: a picture fill with no stretch or tile is tiled, as in PowerPoint by @echelon in https://github.com/storytold/deckcraft/pull/290\n* PPTX: a placeholder without geometry takes its layout's by @echelon in https://github.com/storytold/deckcraft/pull/301\n* Draw only the first character of a multi-character bullet by @echelon in https://github.com/storytold/deckcraft/pull/307\n* Text: a list whose hang passes the box edge keeps its gap after the number by @echelon in https://github.com/storytold/deckcraft/pull/265\n* Text: single-spaced lines are 1.2 times the font size apart, as in PowerPoint by @echelon in https://github.com/storytold/deckcraft/pull/266\n* Render: shapes filled with the slide background show it by @echelon in https://github.com/storytold/deckcraft/pull/274\n* Render: slide backgrounds are laid over white, as in PowerPoint by @echelon in https://github.com/storytold/deckcraft/pull/275\n* Text: wrap URLs, Korean and CJK punctuation where PowerPoint does by @echelon in https://github.com/storytold/deckcraft/pull/276\n* Emoji: drawn in colour, with families, skin tones and flags joined by @echelon in https://github.com/storytold/deckcraft/pull/278\n* Text: gradient fills draw, starting over on every line as in PowerPoint by @echelon in https://github.com/storytold/deckcraft/pull/281\n* Text: shadows and glows are drawn, with PowerPoint's glow spread by @echelon in https://github.com/storytold/deckcraft/pull/283\n* Bullets: circled numbers and symbols the text font lacks come from a fallback font by @echelon in https://github.com/storytold/deckcraft/pull/284\n* Render: pattern fills draw PowerPoint's preset tiles by @echelon in https://github.com/storytold/deckcraft/pull/285\n* Render: compound outlines (double, thick-thin, thin-thick, triple) by @echelon in https://github.com/storytold/deckcraft/pull/287\n* Render: rectangle and outline path gradients by @echelon in https://github.com/storytold/deckcraft/pull/288\n* Render: soft edges fade to the shape's outline by @echelon in https://github.com/storytold/deckcraft/pull/289\n* Tables: styles the file defines are read, drawn and kept by @echelon in https://github.com/storytold/deckcraft/pull/292\n* Tables: the table's own fill is drawn behind its cells by @echelon in https://github.com/storytold/deckcraft/pull/294\n* Bullets: an installed symbol font draws its own glyph by @echelon in https://github.com/storytold/deckcraft/pull/293\n* Render: shadows, inner shadows and glows spread like PowerPoint's by @echelon in https://github.com/storytold/deckcraft/pull/305\n* Text: no Latin ligatures, and kerning only from the run's kern size by @echelon in https://github.com/storytold/deckcraft/pull/309\n* Text: WordArt transforms (prstTxWarp) draw, and their adjusts round-trip by @echelon in https://github.com/storytold/deckcraft/pull/312\n* Shapes: the 38 missing PowerPoint preset shapes by @echelon in https://github.com/storytold/deckcraft/pull/315\n* Pictures: WMF and EMF draw (metafile reader ported from WordCraft) by @echelon in https://github.com/storytold/deckcraft/pull/317\n* Fonts: missing fonts draw as PowerPoint draws them, and Windows family names resolve by @echelon in https://github.com/storytold/deckcraft/pull/322\n* Render tests: arch top bound allows Linux's fallback font by @echelon in https://github.com/storytold/deckcraft/pull/323\n* Fonts: use Office's downloaded fonts, and say which fonts a file is missing by @echelon in https://github.com/storytold/deckcraft/pull/326\n* Embedded objects draw their preview picture, including old VML previews by @echelon in https://github.com/storytold/deckcraft/pull/328\n* Canvas: objects off the slide show and can be grabbed around it, as in PowerPoint (#270) by @echelon in https://github.com/storytold/deckcraft/pull/329\n* Fills: a gradient without stops takes them from its style, as in PowerPoint by @echelon in https://github.com/storytold/deckcraft/pull/330\n* Korean, Japanese and Chinese: input-method composition and interface text (#101) by @echelon in https://github.com/storytold/deckcraft/pull/331\n* Selection Pane: reorder by drag and drop, groups, Show/Hide All and Lock, as in PowerPoint (#133) by @echelon in https://github.com/storytold/deckcraft/pull/332\n* Text: Ctrl+arrows, Ctrl+Backspace/Delete and other text keys work like PowerPoint (#268) by @echelon in https://github.com/storytold/deckcraft/pull/333\n* UI: en and em dashes show in interface text by @echelon in https://github.com/storytold/deckcraft/pull/334\n* Pictures: WMF/EMF text, pattern and hatch brushes draw; ActiveX previews show by @echelon in https://github.com/storytold/deckcraft/pull/336\n* Render: a group's child-coordinate scale no longer scales line widths (#233, from #251) by @echelon in https://github.com/storytold/deckcraft/pull/337\n* Render: pictures cast their shadow from their pixels, as in PowerPoint by @echelon in https://github.com/storytold/deckcraft/pull/338\n* Render: text in a scaled group keeps its point size, as in PowerPoint by @echelon in https://github.com/storytold/deckcraft/pull/340\n* Docs: text in scaled groups is drawn by @echelon in https://github.com/storytold/deckcraft/pull/341\n* Effects: fill overlays blend over the shape's fill, as in PowerPoint by @echelon in https://github.com/storytold/deckcraft/pull/342\n* Text: symbol-font characters draw in the run's a:sym font by @echelon in https://github.com/storytold/deckcraft/pull/343\n* File tab: PowerPoint's File view (Home, New, Open, Info, Save As, Print, Export, Close) (#76) by @echelon in https://github.com/storytold/deckcraft/pull/344\n* Charts: legend position, combo charts with a secondary axis, axis number formats (from #295, #227, #238) by @echelon in https://github.com/storytold/deckcraft/pull/357\n* Charts: text at the sizes the file sets, as in PowerPoint by @echelon in https://github.com/storytold/deckcraft/pull/358\n* Transitions: measured against PowerPoint's video export (average difference 35.7 → 15.0) by @echelon in https://github.com/storytold/deckcraft/pull/366\n* Text: wild cases measured against PowerPoint (bidi, tabs, underlines, caps, numbering, vertical, emoji…) by @echelon in https://github.com/storytold/deckcraft/pull/379\n* Render: wild shape, picture, effect and table cases measured against PowerPoint (35 fixes) by @echelon in https://github.com/storytold/deckcraft/pull/428\n\n\n**Full Changelog**: https://github.com/storytold/deckcraft/compare/v0.6.1...v0.7.0","assets":[{"name":"deckcraft-0.7.0-freebsd-x86_64.tar.gz","size_bytes":76166729,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-freebsd-x86_64.tar.gz","sha256":"31a03b17dd04aa9dc40c7e1c170107fac2d9c80d4e1ddcc19a13bae75e2d744c","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"deckcraft-0.7.0-linux-aarch64.AppImage","size_bytes":70089224,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-linux-aarch64.AppImage","sha256":"6e9086067c3372f5361c9eafb2735dd24ebcdaebb4159cfdd7151ff2509e4354","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"deckcraft-0.7.0-linux-aarch64.AppImage.zsync","size_bytes":239815,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-linux-aarch64.AppImage.zsync","sha256":"8840bc2270c15d8eb4d5cdec62058b89d5aaf87bfe69dd75deabd531a37f36fd","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"deckcraft-0.7.0-linux-aarch64.deb","size_bytes":75709548,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-linux-aarch64.deb","sha256":"b972e81a2a8e568d59fc9ce3af3003446f97e265a0596cccf802fa7f5b2655ff","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"deckcraft-0.7.0-linux-aarch64.flatpak","size_bytes":51405096,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-linux-aarch64.flatpak","sha256":"5ab4d282c4426b959cbc67f443e61cb7b984366e48a66e2fa9cfea337f808cc9","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"deckcraft-0.7.0-linux-aarch64.rpm","size_bytes":75314173,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-linux-aarch64.rpm","sha256":"331804f3882644fdee04dc11132b20166202ea5382232bb566959ddab419d1c8","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"deckcraft-0.7.0-linux-aarch64.tar.gz","size_bytes":74113266,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-linux-aarch64.tar.gz","sha256":"cde1f7e27468e8e0da01bc954172aa66fbea57e719c09dc2320cf4f97b326d60","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"deckcraft-0.7.0-linux-riscv64.deb","size_bytes":76633346,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-linux-riscv64.deb","sha256":"edb37f9855549f60a8a9ee67fc005fec269785eb5434fb72918c8d22a3072cd8","platform":null},{"name":"deckcraft-0.7.0-linux-riscv64.rpm","size_bytes":76449338,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-linux-riscv64.rpm","sha256":"6d9e66a96227f5487fd34ac9076cc82abc12a6a3ea40ec16e46d41147d2ce0ad","platform":null},{"name":"deckcraft-0.7.0-linux-riscv64.tar.gz","size_bytes":75696057,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-linux-riscv64.tar.gz","sha256":"077ec211ee244d360a8fa5f196881d901ed97dd8467e547912c6069360117f94","platform":null},{"name":"deckcraft-0.7.0-linux-x86_64.AppImage","size_bytes":72165880,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-linux-x86_64.AppImage","sha256":"535afd1e7f6d389ecfe78f4a702b5a36719217c4cec556ae5d7f0fd775ae5584","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"deckcraft-0.7.0-linux-x86_64.AppImage.zsync","size_bytes":246911,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-linux-x86_64.AppImage.zsync","sha256":"7b5222b15f23883e724371c53d1004676ec56d584ec4a000d8364936411c45f1","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"deckcraft-0.7.0-linux-x86_64.deb","size_bytes":77374392,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-linux-x86_64.deb","sha256":"b498230acaff5b0e9659cd92b39ad5cfecf9691077ddb9c15a2f20b731272cc7","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"deckcraft-0.7.0-linux-x86_64.flatpak","size_bytes":53721224,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-linux-x86_64.flatpak","sha256":"d2b283e374e0f16551868feb888a98018da1067d52daadc63c7d9d500ad6b3b5","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"deckcraft-0.7.0-linux-x86_64.rpm","size_bytes":77025539,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-linux-x86_64.rpm","sha256":"2b46da7eb3e231bbebe5dad54de54bb52ae18f9704573f7a163a4a26b3649f94","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"deckcraft-0.7.0-linux-x86_64.tar.gz","size_bytes":76310611,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-linux-x86_64.tar.gz","sha256":"330a2fb2ef8890daded91084e5bfd29dfa411e33a2b27c01ac3b9e520ff98d9f","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"deckcraft-0.7.0-macos-universal.dmg","size_bytes":81195009,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-macos-universal.dmg","sha256":"9591b14641d089c1ce36c7f57247e92f0488e90a70d047bb6fa09a12c3453bd9","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"deckcraft-0.7.0-windows-arm64-portable.zip","size_bytes":73339620,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-windows-arm64-portable.zip","sha256":"6eeb87f511ae522da495bc1150ad3d80e1992a92d3c012215593039b47bf7b64","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"deckcraft-0.7.0-windows-arm64.msi","size_bytes":57323520,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-windows-arm64.msi","sha256":"1aefb98f58159d94ba8e6b1e70e26058f4b0414cfbce20be2d31ca15f2c8493b","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"deckcraft-0.7.0-windows-x64-portable.zip","size_bytes":75673139,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-windows-x64-portable.zip","sha256":"3d67962a206af89d66ef443a042efcc5386a14d4e0d9c056bc1f62a84bd7954c","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"deckcraft-0.7.0-windows-x64.msi","size_bytes":59912192,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-windows-x64.msi","sha256":"016cdc1a83fb1773f14e3209cb52e23e738f3d27195dd88af69cf09c6b4a5396","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"deckcraft-0.7.0-windows-x86-portable.zip","size_bytes":74206270,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-windows-x86-portable.zip","sha256":"c801d8942328428f7690df0abd8d1e80d777dfd33ff5249f7f7739bf6e677be3","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"deckcraft-0.7.0-windows-x86.msi","size_bytes":59490304,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-0.7.0-windows-x86.msi","sha256":"362d83c28fb09ea23774127e734f2c3f8aa3c6b3c8935a7029d3f2d1be78050a","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"deckcraft-cli-0.7.0-macos-universal.zip","size_bytes":68242322,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-cli-0.7.0-macos-universal.zip","sha256":"9039972bc9f583115ef79994f30179540beee1ee32d7d9bcce1054a79c9a8aa3","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"deckcraft-web-0.7.0.zip","size_bytes":9385879,"download_url":"https://github.com/storytold/deckcraft/releases/download/v0.7.0/deckcraft-web-0.7.0.zip","sha256":"4ab91994048c096fa356b7246c31098474d978ecd572e5b252dd825a287d1c40","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.7.0/SHA256SUMS.txt","sha256":"fb10f2d4d194b9732375e33ce0a77d8dc88cb1dfa90ff0da5332ac7be1adbe91","platform":null}]},"app_last_fetched":"2026-10-15T15:40:49.763727368Z"},"designcraft":{"name":"DesignCraft","repo":"storytold/designcraft","latest_release":{"tag":"v0.8.0","version":"0.8.0","name":"DesignCraft v0.8.0","published_at":"2026-10-14T14:15:00Z","html_url":"https://github.com/storytold/designcraft/releases/tag/v0.8.0","prerelease":false,"notes_markdown":"## What's Changed\n* Files: saves and exports replace the file atomically by @aiongg in https://github.com/storytold/designcraft/pull/485\n* Recovery: each running app keeps its own recovery data by @noah1400 in https://github.com/storytold/designcraft/pull/506\n* UI: quitting asks to save documents with unsaved changes by @aiongg in https://github.com/storytold/designcraft/pull/545\n* fix(save): preserve live state when persistence fails by @skylartaylor in https://github.com/storytold/designcraft/pull/613\n* fix(export): replace desktop and CLI outputs atomically by @skylartaylor in https://github.com/storytold/designcraft/pull/614\n* fix(book): stage chapter updates before saving by @skylartaylor in https://github.com/storytold/designcraft/pull/615\n* fix(recovery): retain recovered checkpoints until save or close by @skylartaylor in https://github.com/storytold/designcraft/pull/616\n* fix(recovery): preserve documents on orderly app exit by @skylartaylor in https://github.com/storytold/designcraft/pull/617\n* test(recovery): make failed republishing fixtures deterministic by @skylartaylor in https://github.com/storytold/designcraft/pull/627\n* fix(macos): make Dock Quit cancelable by @skylartaylor in https://github.com/storytold/designcraft/pull/623\n* fix(color): mirror gradient midpoints when reversing by @webdevtodayjason in https://github.com/storytold/designcraft/pull/638\n* fix(textimport): keep a leading empty paragraph in Tagged Text by @webdevtodayjason in https://github.com/storytold/designcraft/pull/641\n* Honor quoted fields when detecting data-source delimiters and records by @sanyamsingh001 in https://github.com/storytold/designcraft/pull/666\n* Move objects past same-layer siblings with Arrange by @sanyamsingh001 in https://github.com/storytold/designcraft/pull/668\n* Match EPUB stylesheet selectors to exported style tags and classes by @sanyamsingh001 in https://github.com/storytold/designcraft/pull/670\n* Preserve IDML index reference source sort keys by @sanyamsingh001 in https://github.com/storytold/designcraft/pull/671\n* Split every originally selected table cell exactly once by @sanyamsingh001 in https://github.com/storytold/designcraft/pull/672\n* fix(ui): open the dock's panel menu from its three-line button by @marcoarnulfo in https://github.com/storytold/designcraft/pull/677\n* Keep locked objects fixed during distribution by @sanyamsingh001 in https://github.com/storytold/designcraft/pull/678\n* Check transformed image resolution during preflight by @sanyamsingh001 in https://github.com/storytold/designcraft/pull/680\n* Corner Options keep curves and round every corner point by @moppeeer in https://github.com/storytold/designcraft/pull/519\n* Every command that writes story text reads CR as a paragraph return by @moppeeer in https://github.com/storytold/designcraft/pull/522\n* Pathfinder section in Properties by @moppeeer in https://github.com/storytold/designcraft/pull/524\n* View items in the View menu, laid out like InDesign's by @moppeeer in https://github.com/storytold/designcraft/pull/527\n* Fonts: format, classification and PANOSE of each face, read without keeping fonts loaded by @moppeeer in https://github.com/storytold/designcraft/pull/536\n* Engine: report the selected text; remember recently used fonts by @moppeeer in https://github.com/storytold/designcraft/pull/537\n* One underline bar per stretch of text, no seams between letters by @moppeeer in https://github.com/storytold/designcraft/pull/539\n* Rotation, shear, scale, rotate and flip in Properties › Transform by @moppeeer in https://github.com/storytold/designcraft/pull/541\n* Double-clicking the Fill or Stroke box opens the Color Picker by @moppeeer in https://github.com/storytold/designcraft/pull/552\n* Eyedropper: sample a placed image's colour into the selected text or objects by @moppeeer in https://github.com/storytold/designcraft/pull/572\n* Step and Repeat: InDesign's dialog with Create as a grid and Preview by @moppeeer in https://github.com/storytold/designcraft/pull/573\n* Effects panel: the level row, Isolate Blending and Knockout Group by @moppeeer in https://github.com/storytold/designcraft/pull/575\n* Hyphenation Zone applies to the Single-line Composer only by @moppeeer in https://github.com/storytold/designcraft/pull/585\n* Toolbox: Shift+X, D, X and / for the Fill/Stroke proxy by @aiongg in https://github.com/storytold/designcraft/pull/600\n* MCP: reconnect closed sockets before sending the next request by @KnottyDyes in https://github.com/storytold/designcraft/pull/607\n* Pen tool: continue an open path from either end point; Reverse Path by @moppeeer in https://github.com/storytold/designcraft/pull/630\n* Document tabs: long names are shortened so the close button stays visible by @aiongg in https://github.com/storytold/designcraft/pull/634\n* Type on a path: drag the start and end brackets by @moppeeer in https://github.com/storytold/designcraft/pull/636\n* fix(fonts): fall back to a font made for Malayalam (part of #628) by @marcoarnulfo in https://github.com/storytold/designcraft/pull/639\n* Type on a path: the Type tool clicks and selects along the curve; caret and highlight follow it by @moppeeer in https://github.com/storytold/designcraft/pull/647\n* feat(text): select sentence, paragraph and story on 3, 4 and 5 clicks by @marcoarnulfo in https://github.com/storytold/designcraft/pull/649\n* fix(cmd): reject unknown spread values instead of falling back to page 1 by @marcoarnulfo in https://github.com/storytold/designcraft/pull/662\n* fix(cli): accept a UTF-8 BOM in scripts and document the syntax in script --help by @marcoarnulfo in https://github.com/storytold/designcraft/pull/663\n* Capture selected formatting when creating a character style by @sanyamsingh001 in https://github.com/storytold/designcraft/pull/667\n* Draw inherited leaders for right-indent tabs by @sanyamsingh001 in https://github.com/storytold/designcraft/pull/669\n* Text editing, snapping and text threading (#23) by @aiongg in https://github.com/storytold/designcraft/pull/84\n* Images: EPS shows through its proxy at display time; simple PostScript (QR codes) is drawn by @govindaroyaiub in https://github.com/storytold/designcraft/pull/834\n* Preferences: Story Editor size stays finite and in range by @noah1400 in https://github.com/storytold/designcraft/pull/837\n* Placed PDFs: render with pdfcraft's patched hayro crates by @dotCooCoo in https://github.com/storytold/designcraft/pull/843\n* Keep merged-cell selection highlighting and formatting consistent by @sanyamsingh001 in https://github.com/storytold/designcraft/pull/846\n* Canvas: baseline grid draws only the lines on the page by @noah1400 in https://github.com/storytold/designcraft/pull/849\n* Compose: cross-reference index no longer rebuilds itself by @noah1400 in https://github.com/storytold/designcraft/pull/853\n* perf(assets): index duplicate candidates by content (#727) by @LabDennis in https://github.com/storytold/designcraft/pull/854\n* Keep endnote and editorial markers out of child-story paste by @sanyamsingh001 in https://github.com/storytold/designcraft/pull/857\n* macOS DMG: hdiutil create -srcfolder, so the installed app passes codesign --strict by @Deeev201 in https://github.com/storytold/designcraft/pull/858\n* fix(compose): odd/even page starts keep their parity at the top of a frame by @xoincare in https://github.com/storytold/designcraft/pull/860\n* Tables: table.options limits header and footer rows by @noah1400 in https://github.com/storytold/designcraft/pull/863\n\n## New Contributors\n* @noah1400 made their first contribution in https://github.com/storytold/designcraft/pull/506\n* @webdevtodayjason made their first contribution in https://github.com/storytold/designcraft/pull/638\n* @sanyamsingh001 made their first contribution in https://github.com/storytold/designcraft/pull/666\n* @marcoarnulfo made their first contribution in https://github.com/storytold/designcraft/pull/677\n* @govindaroyaiub made their first contribution in https://github.com/storytold/designcraft/pull/834\n* @dotCooCoo made their first contribution in https://github.com/storytold/designcraft/pull/843\n* @LabDennis made their first contribution in https://github.com/storytold/designcraft/pull/854\n* @Deeev201 made their first contribution in https://github.com/storytold/designcraft/pull/858\n* @xoincare made their first contribution in https://github.com/storytold/designcraft/pull/860\n\n**Full Changelog**: https://github.com/storytold/designcraft/compare/v0.7.1...v0.8.0","assets":[{"name":"designcraft-0.8.0-freebsd-x86_64.tar.gz","size_bytes":71421821,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-freebsd-x86_64.tar.gz","sha256":"6666ae87858d193006ddca7aff1ae8b10b9066cdf9c771df146f59a1d770ba7d","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"designcraft-0.8.0-linux-aarch64.AppImage","size_bytes":64592392,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-linux-aarch64.AppImage","sha256":"6ffff5e6dfad31459e7f3c97be110ed21c069cb60203870de7a52746d4e70a6d","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"designcraft-0.8.0-linux-aarch64.AppImage.zsync","size_bytes":221031,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-linux-aarch64.AppImage.zsync","sha256":"ca58180e446bbdbd2c91714aac9be6ce61b4d2c9154cde4f0540a446576923e1","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"designcraft-0.8.0-linux-aarch64.deb","size_bytes":70080590,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-linux-aarch64.deb","sha256":"42b5fb8aafc0a145a5408e4733e3236d41b442e3c121e5bf4af025165a7b93fe","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"designcraft-0.8.0-linux-aarch64.flatpak","size_bytes":46963208,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-linux-aarch64.flatpak","sha256":"367c12bec97285934bb533252d132fa79b9f1de67b552e40652f122882d609b3","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"designcraft-0.8.0-linux-aarch64.rpm","size_bytes":69647155,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-linux-aarch64.rpm","sha256":"65540b6f3ac08dbfb84ef2dfd0e9801b9b5025e79f6774540c17398d3f069d88","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"designcraft-0.8.0-linux-aarch64.tar.gz","size_bytes":68368373,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-linux-aarch64.tar.gz","sha256":"86419263db3b4c7dfd0bf61948eb1931b32cea56ce9caca5b4b03cd146dd3926","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"designcraft-0.8.0-linux-riscv64.deb","size_bytes":71139768,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-linux-riscv64.deb","sha256":"96dc10c68aebb219928358914fac24e51e5cfe13e4d0c31fcb3b85cb0c997ade","platform":null},{"name":"designcraft-0.8.0-linux-riscv64.rpm","size_bytes":70965339,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-linux-riscv64.rpm","sha256":"209ddc6774fec74af7d1d4a74d248ff6d328ceb4e7d30ac3dcc67a736d886444","platform":null},{"name":"designcraft-0.8.0-linux-riscv64.tar.gz","size_bytes":70251626,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-linux-riscv64.tar.gz","sha256":"d79e9f96403f53beb614a3b2f4ee81f5b1fb78d13b1f0c6e996407f82e491278","platform":null},{"name":"designcraft-0.8.0-linux-x86_64.AppImage","size_bytes":67566072,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-linux-x86_64.AppImage","sha256":"88d57710f56c9fb7d8e33e046061eff839117971b402a4103c4b332b5ca3b5df","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"designcraft-0.8.0-linux-x86_64.AppImage.zsync","size_bytes":231193,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-linux-x86_64.AppImage.zsync","sha256":"09427eb1a82486822a5965668b51fe3c81461925f0a6a0eac8ea4cb98a799e9b","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"designcraft-0.8.0-linux-x86_64.deb","size_bytes":72572572,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-linux-x86_64.deb","sha256":"6e67ff230b0cf078c48ba4ceeced1f423f3cb14dc648ab831a4d9930c4dd9596","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"designcraft-0.8.0-linux-x86_64.flatpak","size_bytes":50213024,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-linux-x86_64.flatpak","sha256":"8a43911aa2099e891d9098721e47504aa6459e5196d7304e15245f39e9f732f5","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"designcraft-0.8.0-linux-x86_64.rpm","size_bytes":72217323,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-linux-x86_64.rpm","sha256":"7c4c6a3c78f383a46f7ebadea60ab4b5088e58169e3749d4a5aa6b8ee2fc2cb1","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"designcraft-0.8.0-linux-x86_64.tar.gz","size_bytes":71523941,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-linux-x86_64.tar.gz","sha256":"96a835fd89ebf6970b7dec93652e1b2f081123a69c78e19998ca6c84ca322d77","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"designcraft-0.8.0-macos-universal.dmg","size_bytes":79508932,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-macos-universal.dmg","sha256":"10b1035af24dbf1d760223e9d932dea8f9235a63395e0fc1b4fa61d631688cf7","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"designcraft-0.8.0-windows-arm64-portable.zip","size_bytes":67453238,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-windows-arm64-portable.zip","sha256":"730b8132c92af432b693534141c3b440ae4d8ccac33107fb4fe0d8d7aa5bbfe6","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"designcraft-0.8.0-windows-arm64.msi","size_bytes":52760576,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-windows-arm64.msi","sha256":"04b5dcfe52b5874ae9cc395b8e9184873f211e22f5aa6c096526df13e9719dc2","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"designcraft-0.8.0-windows-x64-portable.zip","size_bytes":70851716,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-windows-x64-portable.zip","sha256":"522dea416d68e5de5ec03ceede46854022587e801c76ad7a3c48b1e5e57b953a","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"designcraft-0.8.0-windows-x64.msi","size_bytes":56143872,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-windows-x64.msi","sha256":"d0090227d5aa27948fa19604444ac033b80e4387294c49f088110a1dff8cc1a0","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"designcraft-0.8.0-windows-x86-portable.zip","size_bytes":68437388,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-windows-x86-portable.zip","sha256":"179ddad6fc29399c8480e14f9741811dfaf34fa996c3e6918605f9036c0bcbe5","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"designcraft-0.8.0-windows-x86.msi","size_bytes":55189504,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-0.8.0-windows-x86.msi","sha256":"7aabd324b5ae74d3469eb20c842776a5dad2be745a72066ecb2994619447cc3f","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"designcraft-cli-0.8.0-macos-universal.zip","size_bytes":62040890,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-cli-0.8.0-macos-universal.zip","sha256":"e663f967d9e1c439e0eb7759147be29121da198cdd71cedd4afb3ae0e0336243","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"designcraft-web-0.8.0.zip","size_bytes":15306498,"download_url":"https://github.com/storytold/designcraft/releases/download/v0.8.0/designcraft-web-0.8.0.zip","sha256":"f1ebe741d89949ba1d5069a50401f14b297b9a66d9d6cd2d8a88cd83e4c77888","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.8.0/SHA256SUMS.txt","sha256":"370fbb8511f2f380ed563a9db36cbb9908a80ca162be307e57f7c7abcadb980a","platform":null}]},"app_last_fetched":"2026-10-15T15:40:47.738919505Z"},"effectcraft":{"name":"EffectCraft","repo":"storytold/effectcraft","latest_release":{"tag":"v0.10.0","version":"0.10.0","name":"EffectCraft v0.10.0","published_at":"2026-10-14T16:16:19Z","html_url":"https://github.com/storytold/effectcraft/releases/tag/v0.10.0","prerelease":false,"notes_markdown":"## What's Changed\n* Track matte on an adjustment layer limits where its effects show by @marcoarnulfo in https://github.com/storytold/effectcraft/pull/1204\n* UI: Quick Apply keeps an IME composition while pinyin is typed by @cjcwwww in https://github.com/storytold/effectcraft/pull/1206\n* fix(effects): CC Particle World / Systems II replace their layer; Time effects see earlier effects by @eliasx45 in https://github.com/storytold/effectcraft/pull/1111\n* Tracker: a track point can be grabbed when zoomed out by @marcoarnulfo in https://github.com/storytold/effectcraft/pull/1112\n* Keyboard Shortcuts: OK button in view, Enter is OK, visible scroll bar handles by @pravdomil in https://github.com/storytold/effectcraft/pull/1113\n* docs: re-audit gaps.md and parity docs against main (2026-10-12) by @vangel76 in https://github.com/storytold/effectcraft/pull/1114\n* Floating panels: no widget ID clash when dragged past the window edge [skip ci] by @pravdomil in https://github.com/storytold/effectcraft/pull/1115\n* Expressions: `layer.source` and a Layer Control's layer work (refs #809) by @nanox333 in https://github.com/storytold/effectcraft/pull/1122\n* Script: `sourcePointToComp` and `compPointToSource` follow the layer's transform (refs #808) by @nanox333 in https://github.com/storytold/effectcraft/pull/1123\n* Script tests: the include test reads the file name on Windows (refs #759) by @nanox333 in https://github.com/storytold/effectcraft/pull/1124\n* Text: fallback tries a script's usual families before faces loaded earlier by @dotCooCoo in https://github.com/storytold/effectcraft/pull/1126\n* Viewer eyedropper: stay armed until there is a frame to sample by @pravdomil in https://github.com/storytold/effectcraft/pull/1127\n* PSD import: bound group nesting at 64 (#1128) by @vangel76 in https://github.com/storytold/effectcraft/pull/1129\n* PSD: drop non-finite values, no panic in Warp::apply / Rect::new (#1130) by @vangel76 in https://github.com/storytold/effectcraft/pull/1131\n* PSD: share the duplicated decode, placed-transform and writer helpers (#1133) by @vangel76 in https://github.com/storytold/effectcraft/pull/1134\n* #1132: a damaged PSD layer section keeps the merged image by @vangel76 in https://github.com/storytold/effectcraft/pull/1135\n* PSD: avoid redundant plane copies, per-pixel mask tests and repeated quad solves (#1136) by @vangel76 in https://github.com/storytold/effectcraft/pull/1137\n* PSD: a memory budget for one decode and a capped smart-object bake (#1138) by @vangel76 in https://github.com/storytold/effectcraft/pull/1139\n* Preview: say so in the viewer and Timeline when Video is off (#1118) by @FredApps in https://github.com/storytold/effectcraft/pull/1142\n* Timeline: Quick Offset layers and keyframes in selection order (#1012) by @tylerjenningsw in https://github.com/storytold/effectcraft/pull/1144\n* Timeline: Reset keeps an animated property's keyframes and keys the default (#1078) by @redonion23 in https://github.com/storytold/effectcraft/pull/1146\n* macOS: open the window on Intel Metal by skipping indirect-call validation by @fabian-co in https://github.com/storytold/effectcraft/pull/1153\n* Scripting: key calls fetch only the key they need, so removeKey stays fast (#814) by @redonion23 in https://github.com/storytold/effectcraft/pull/1156\n* Preview: Shift+Spacebar plays every frame by default (fixes #551) by @nanox333 in https://github.com/storytold/effectcraft/pull/1158\n* Keep a static Orientation's Y angle precise near gimbal lock (refs #1010) by @nanox333 in https://github.com/storytold/effectcraft/pull/1159\n* Scripts: find the Levels Alpha controls by their script names (refs #1063) by @nanox333 in https://github.com/storytold/effectcraft/pull/1160\n* Scripts: report an undefined name at its first use inside a function wrapper (refs #1063) by @nanox333 in https://github.com/storytold/effectcraft/pull/1161\n* Scripts: find a light's Casts Shadows option by its After Effects name (refs #1063) by @nanox333 in https://github.com/storytold/effectcraft/pull/1162\n* Shapes: keep the Gradient Ramp inside the layer's alpha (refs #1063) by @nanox333 in https://github.com/storytold/effectcraft/pull/1163\n* Dialogs: drag a modal dialog by its title to move it off the viewer by @marcoarnulfo in https://github.com/storytold/effectcraft/pull/1166\n* Viewer: adding a marker keeps the cached frames (fixes #1167) by @nanox333 in https://github.com/storytold/effectcraft/pull/1168\n* Audio: blend the two samples around each time when a layer is stretched (fixes #1169) by @nanox333 in https://github.com/storytold/effectcraft/pull/1170\n* Scripting: a stroke's Dashes use After Effects' match names (#815) by @redonion23 in https://github.com/storytold/effectcraft/pull/1172\n* Layer Styles: OK and Cancel stay in view (#1062) by @tylerjenningsw in https://github.com/storytold/effectcraft/pull/1173\n* M6.7: reject Roto Brush span edits past trimmed strokes by @storybored379 in https://github.com/storytold/effectcraft/pull/1175\n* Workspaces: report failed saves instead of returning success (#696) by @tylerjenningsw in https://github.com/storytold/effectcraft/pull/1176\n* layer.addMarker: add composition marker when no layers are selected by @maxaeexe in https://github.com/storytold/effectcraft/pull/1180\n* Graph editor: speed graph handles keep dragging once their key leaves the plot by @marcoarnulfo in https://github.com/storytold/effectcraft/pull/1182\n* #473: Cryptomatte: resolve the rank planes once and reduce them on all cores (GPU path ~9.5 s → ~0.2 s per 1440p frame) by @MatejKozlovsky in https://github.com/storytold/effectcraft/pull/1183\n* #879: cap GPU frames in flight during export by @MatejKozlovsky in https://github.com/storytold/effectcraft/pull/1184\n* Scripting: CompItem.saveFrameToPng writes the frame as a PNG (#816) by @redonion23 in https://github.com/storytold/effectcraft/pull/1188\n* i18n: the Settings pages reach the Chinese catalogs by @marcoarnulfo in https://github.com/storytold/effectcraft/pull/1189\n* Scripting: footage proxies, replaceWithSequence and mainSource.conformFrameRate (#813) by @redonion23 in https://github.com/storytold/effectcraft/pull/1191\n* i18n: an effect's name draws in the interface language, the generated Effect menu included (#821) by @cjcwwww in https://github.com/storytold/effectcraft/pull/1199\n* Add Copy Presets Folder Path to Effects & Presets by @arnav-hiwarkar in https://github.com/storytold/effectcraft/pull/1210\n* #783: Object Matte effect from a point / box prompt, tracked by @vangel76 in https://github.com/storytold/effectcraft/pull/792\n* i18n(es): Spanish panels, dialogs and tooltips by @diegozpy in https://github.com/storytold/effectcraft/pull/996\n* Desktop: an unknown option or a bad --control port stops the launch (#997) by @Nael-Nathanael in https://github.com/storytold/effectcraft/pull/1005\n* Render Queue: the failure toast says why the render failed (#568) by @marcoarnulfo in https://github.com/storytold/effectcraft/pull/1008\n* New comps from footage get a unique name, as Duplicate does by @Themolx in https://github.com/storytold/effectcraft/pull/1013\n* Rotation tool: keep counting past a full turn, as in After Effects by @Themolx in https://github.com/storytold/effectcraft/pull/1014\n* text: the Chinese fallback families follow the script the locale asks for by @FeiLiuEM in https://github.com/storytold/effectcraft/pull/1015\n* Shortcuts: Numpad * marks the selected layers (#976) by @marcoarnulfo in https://github.com/storytold/effectcraft/pull/1017\n* GPU Information: Enter presses OK by @pravdomil in https://github.com/storytold/effectcraft/pull/1018\n* UI: confirm before deleting a user template or a shortcut preset by @pravdomil in https://github.com/storytold/effectcraft/pull/1019\n* Timeline: UU reveals an effect's changed parameters only by @pravdomil in https://github.com/storytold/effectcraft/pull/1021\n* theme: the symbol test asks the definitions, not epaint's replacement-face check by @FeiLiuEM in https://github.com/storytold/effectcraft/pull/1026\n* Cover timeline right-click Pre-compose grouping the whole selection (#985, #1003) by @vbasky in https://github.com/storytold/effectcraft/pull/1027\n* Nudge selected layers with the arrow keys from any panel but Project (#961) by @vbasky in https://github.com/storytold/effectcraft/pull/1028\n* Share the Scale Constrain Proportions link between Properties and Timeline (#956) by @vbasky in https://github.com/storytold/effectcraft/pull/1029\n* Reveal enabled Time Remap on U even with no keys left (#990) by @vbasky in https://github.com/storytold/effectcraft/pull/1030\n* Timeline: expression row takes its property row's background by @pravdomil in https://github.com/storytold/effectcraft/pull/1034\n* Cover mask vertex multi-select: Shift-click toggle and marquee (#1004) by @vbasky in https://github.com/storytold/effectcraft/pull/1035\n* Keep closed comps' layer selections across scripts (#1001) by @vbasky in https://github.com/storytold/effectcraft/pull/1037\n* Compensate cameras and lights when parenting, preserving the world frame (#1010, #1020) by @vbasky in https://github.com/storytold/effectcraft/pull/1038\n* Fix #989: paste animated effects at the playhead by @onlymoein in https://github.com/storytold/effectcraft/pull/1039\n* Timeline: expression row matches the normal row height by @pravdomil in https://github.com/storytold/effectcraft/pull/1041\n* Sample footage pixels in script expressions (#1000) by @vbasky in https://github.com/storytold/effectcraft/pull/1043\n* Cmd/Alt-click a twirl arrow opens its whole tree by @pravdomil in https://github.com/storytold/effectcraft/pull/1044\n* Create Shapes/Masks from Text in the layer context menu (#872) by @vbasky in https://github.com/storytold/effectcraft/pull/1046\n* Cover keyframe interpolation and ease on effect parameters (#994) by @vbasky in https://github.com/storytold/effectcraft/pull/1048\n* Interpret Footage: looped footage lasts its loops on new and re-timed layers by @marcoarnulfo in https://github.com/storytold/effectcraft/pull/1051\n* Shortcuts: keyboard-only commands for navigation, layers and panels by @pravdomil in https://github.com/storytold/effectcraft/pull/1054\n* Layer sampling toggle, Show Channel grayscale and colorized, Timeline zoom back in by @pravdomil in https://github.com/storytold/effectcraft/pull/1057\n* Project panel: Composition Settings… in a comp's right-click menu by @marcoarnulfo in https://github.com/storytold/effectcraft/pull/1065\n* i18n(ja): finish the Japanese panel, dialog and tooltip catalog by @zitann2020 in https://github.com/storytold/effectcraft/pull/1066\n* #1061: Enter renames the selected effect, text animator, mask or shape group by @vangel76 in https://github.com/storytold/effectcraft/pull/1075\n* SVG: percentages in the root <svg> resolve against its own width and height by @webdevtodayjason in https://github.com/storytold/effectcraft/pull/1082\n* SVG: non-finite viewBox and nested sizes no longer panic the importer by @webdevtodayjason in https://github.com/storytold/effectcraft/pull/1084\n* #1070: a fresh import or opened project reads overwritten footage again by @vangel76 in https://github.com/storytold/effectcraft/pull/1086\n* Path vertices win over the bounding-box handles (#1042) by @vangel76 in https://github.com/storytold/effectcraft/pull/1088\n* Orient Along Path keeps its heading at the end of the path (#1081) by @vangel76 in https://github.com/storytold/effectcraft/pull/1090\n* EPS: arc and arcn with huge angles no longer hang the import by @dotCooCoo in https://github.com/storytold/effectcraft/pull/1091\n* Fix #1063 item 8: render carriage-return text as paragraphs by @onlymoein in https://github.com/storytold/effectcraft/pull/1093\n* Marker dialog: Cmd+Enter is OK by @pravdomil in https://github.com/storytold/effectcraft/pull/1097\n* Gap 21: percentage guides and effect colour labels (#1095) by @vangel76 in https://github.com/storytold/effectcraft/pull/1098\n* Fix #978: keep form choices and buttons inside the dialog by @pravdomil in https://github.com/storytold/effectcraft/pull/1101\n* Gap 7: 23 original Backgrounds animation presets (#1096) by @vangel76 in https://github.com/storytold/effectcraft/pull/1102\n* feat(import): import an EffectCraft project into the open project (file.importProject) by @eliasx45 in https://github.com/storytold/effectcraft/pull/1104\n* feat(timeline): AE trim zones, click-to-deselect, Type tool on overlapping text, ruler labels by @eliasx45 in https://github.com/storytold/effectcraft/pull/1108\n* feat(shortcuts): AZERTY physical-key bindings, Go to Work Area keys, Graph Editor zoom and fit by @eliasx45 in https://github.com/storytold/effectcraft/pull/1109\n* feat(xtask): cargo xtask bench render benchmark with --compare and --fail-over by @eliasx45 in https://github.com/storytold/effectcraft/pull/1110\n* Scripting: Google Earth Studio camera scripts key the camera by @marcoarnulfo in https://github.com/storytold/effectcraft/pull/1119\n* contributors: add my own people.toml entry by @nanox333 in https://github.com/storytold/effectcraft/pull/1125\n* UI: a Simplified Chinese interface picks a face with the simplified hanzi by @marcoarnulfo in https://github.com/storytold/effectcraft/pull/1143\n* UI: add an Effects submenu to the layer context menu by @elZanco in https://github.com/storytold/effectcraft/pull/1152\n* GPU: resident effect stacks, in-frame texture reuse, upload-cache budget, stable footprint keys (#687) by @MatejKozlovsky in https://github.com/storytold/effectcraft/pull/688\n* Project panel: Replace with Precomposition (used N times) by @Themolx in https://github.com/storytold/effectcraft/pull/933\n* Portable mode: a portable.txt beside the exe keeps settings in EffectCraftData (#993) by @marcoarnulfo in https://github.com/storytold/effectcraft/pull/1009\n* Shortcuts: Fast Previews and Show Channel, Default keys, Second keys  by @pravdomil in https://github.com/storytold/effectcraft/pull/1050\n* feat(footage): relink footage that moved by @eliasx45 in https://github.com/storytold/effectcraft/pull/1106\n\n## New Contributors\n* @marcoarnulfo made their first contribution in https://github.com/storytold/effectcraft/pull/1204\n* @eliasx45 made their first contribution in https://github.com/storytold/effectcraft/pull/1111\n* @dotCooCoo made their first contribution in https://github.com/storytold/effectcraft/pull/1126\n* @FredApps made their first contribution in https://github.com/storytold/effectcraft/pull/1142\n* @fabian-co made their first contribution in https://github.com/storytold/effectcraft/pull/1153\n* @maxaeexe made their first contribution in https://github.com/storytold/effectcraft/pull/1180\n* @arnav-hiwarkar made their first contribution in https://github.com/storytold/effectcraft/pull/1210\n* @diegozpy made their first contribution in https://github.com/storytold/effectcraft/pull/996\n* @Nael-Nathanael made their first contribution in https://github.com/storytold/effectcraft/pull/1005\n* @onlymoein made their first contribution in https://github.com/storytold/effectcraft/pull/1039\n* @zitann2020 made their first contribution in https://github.com/storytold/effectcraft/pull/1066\n* @elZanco made their first contribution in https://github.com/storytold/effectcraft/pull/1152\n\n**Full Changelog**: https://github.com/storytold/effectcraft/compare/v0.9.2...v0.10.0","assets":[{"name":"effectcraft-0.10.0-freebsd-x86_64.tar.gz","size_bytes":63094477,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-freebsd-x86_64.tar.gz","sha256":"4b3c06b8773ca0dd5d0ae5c5a66a76f00254e7d6623b1fa2e009e351a995f495","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"effectcraft-0.10.0-linux-aarch64.AppImage","size_bytes":54815240,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-linux-aarch64.AppImage","sha256":"6bc2c14e15a6a4b69b32e852b7e6ab73ab6b8c9f47a034fd6a946b23a6af725d","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"effectcraft-0.10.0-linux-aarch64.AppImage.zsync","size_bytes":187615,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-linux-aarch64.AppImage.zsync","sha256":"b74beeae9169adf65be487b1a20d6fdc8a9e0895ba6e46f5b25356304e160830","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"effectcraft-0.10.0-linux-aarch64.deb","size_bytes":62007716,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-linux-aarch64.deb","sha256":"3ddd1aa0e90d962a95cc571a481670977a5061d7deef07feb8f17190a001ac64","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"effectcraft-0.10.0-linux-aarch64.flatpak","size_bytes":36303760,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-linux-aarch64.flatpak","sha256":"acfef518b923b0e1bb768d6ba9337f34cd551f43dd4be1986533aa8c5de74041","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"effectcraft-0.10.0-linux-aarch64.rpm","size_bytes":61382369,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-linux-aarch64.rpm","sha256":"6a99c3510152efcc98d76a2da92b12f0173de04a84a1d19de2da2a4fc7f97eb4","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"effectcraft-0.10.0-linux-aarch64.tar.gz","size_bytes":59208803,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-linux-aarch64.tar.gz","sha256":"967be5222b2e5480b7b1a0743e47379a0fa0ef018017ce31b2eda45046af019b","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"effectcraft-0.10.0-linux-riscv64.deb","size_bytes":63191046,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-linux-riscv64.deb","sha256":"ed16b95d979d5a5060c31cb71ec601357dc6c4fa0ed1c58e85ed4a3a6a21fa8d","platform":null},{"name":"effectcraft-0.10.0-linux-riscv64.rpm","size_bytes":63057046,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-linux-riscv64.rpm","sha256":"1dc6edfaf812e72b0add9a341559676a7622c36bce330664e40787e028af44c7","platform":null},{"name":"effectcraft-0.10.0-linux-riscv64.tar.gz","size_bytes":61879160,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-linux-riscv64.tar.gz","sha256":"7eaa681305ee42b0e003bd14188ea52180cc308ff1abbf02c375c2066534ff44","platform":null},{"name":"effectcraft-0.10.0-linux-x86_64.AppImage","size_bytes":58694136,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-linux-x86_64.AppImage","sha256":"d0e4016f6e5915bf847465fcfa4053a1607e0afa16b35fed156a78c75e88b650","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"effectcraft-0.10.0-linux-x86_64.AppImage.zsync","size_bytes":200871,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-linux-x86_64.AppImage.zsync","sha256":"3d2c53343a6d50d869c90b6c4eb44baa54ebbbc596bd3aef17e405b0ec7a2414","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"effectcraft-0.10.0-linux-x86_64.deb","size_bytes":64902704,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-linux-x86_64.deb","sha256":"b5f4ece8c89c58c15ccb80dd6c5b6c9eb5d5cb9a61e4d58d2c6dbc55c681c39e","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"effectcraft-0.10.0-linux-x86_64.flatpak","size_bytes":41142792,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-linux-x86_64.flatpak","sha256":"e1c1addb2b143215f206485284645f9a7810e952a6598912f9dc94dbaee0a152","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"effectcraft-0.10.0-linux-x86_64.rpm","size_bytes":64494460,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-linux-x86_64.rpm","sha256":"c53a17a32e00e1c88f8da28cdc592b727dc0c8c037710d4819e3a7b094116f02","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"effectcraft-0.10.0-linux-x86_64.tar.gz","size_bytes":63418958,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-linux-x86_64.tar.gz","sha256":"76fbfc0a9ad34399701a18efeb1c178557d01d0a0f4b403514f2dac5d887572e","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"effectcraft-0.10.0-macos-universal.dmg","size_bytes":64038819,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-macos-universal.dmg","sha256":"d84bfac63e566815b413309cf92d3db48cc1a3d2f20b949742d45735bdb597e8","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"effectcraft-0.10.0-windows-arm64-portable.zip","size_bytes":61668090,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-windows-arm64-portable.zip","sha256":"7e2caafbcda84c0973b555006ce2a0fa28bb213dff81a69c04d3c2b8bce91a5c","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"effectcraft-0.10.0-windows-arm64.msi","size_bytes":44937216,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-windows-arm64.msi","sha256":"1feede0fb3fc29377ce531659b862e8055cd245ed5cc51963316f6f3855aabaf","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"effectcraft-0.10.0-windows-x64-portable.zip","size_bytes":66619369,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-windows-x64-portable.zip","sha256":"aa6102df3a514c84c49a08829b2e0da67a5c44cd4a27c743e3681a2c68cade91","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"effectcraft-0.10.0-windows-x64.msi","size_bytes":50470912,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-windows-x64.msi","sha256":"7f8b2d1530e8fbf46f165049256ecf3a753ec0ed7692c5867e16ca2c3030be1d","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"effectcraft-0.10.0-windows-x86-portable.zip","size_bytes":63294400,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-windows-x86-portable.zip","sha256":"b2f314fe1477f2177e14f1797ff65d3e20eca4d6c9992c9b6e2ce0fd6b5610db","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"effectcraft-0.10.0-windows-x86.msi","size_bytes":49164288,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-0.10.0-windows-x86.msi","sha256":"960716edcfb3e674675077d48c712a11ae56818184ca78a63e7f6aa77cd77199","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"effectcraft-cli-0.10.0-macos-universal.zip","size_bytes":59781018,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-cli-0.10.0-macos-universal.zip","sha256":"5da3adb581f0cd49edaa9ae2eeeaa50426cb1afbb0794902551db3d7173dd12a","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"effectcraft-web-0.10.0.zip","size_bytes":19031497,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/effectcraft-web-0.10.0.zip","sha256":"b922abeda2420391a7fd887f53ebae6948730e63720bad6a6eb3dc48dc1b46a8","platform":{"os":"web","arch":null,"package_type":"web_zip"}},{"name":"SHA256SUMS.txt","size_bytes":2639,"download_url":"https://github.com/storytold/effectcraft/releases/download/v0.10.0/SHA256SUMS.txt","sha256":"4b2580f4d290c583d5fb8548e48392a618456c8db62a914afa71fb4edd7420f7","platform":null}]},"app_last_fetched":"2026-10-15T15:40:46.727834283Z"},"filmcraft":{"name":"FilmCraft","repo":"storytold/filmcraft","latest_release":{"tag":"v0.8.0","version":"0.8.0","name":"FilmCraft v0.8.0","published_at":"2026-10-14T16:28:45Z","html_url":"https://github.com/storytold/filmcraft/releases/tag/v0.8.0","prerelease":false,"notes_markdown":"## What's Changed\n* Captions: preserve fractional TTML tick offsets by @webdevtodayjason in https://github.com/storytold/filmcraft/pull/1223\n* Export: 32-bit integer and 32-bit float audio by @JordyUSA in https://github.com/storytold/filmcraft/pull/1245\n* fix(apv): skip oracle tests when ffmpeg predates APV support by @AkashBhat14 in https://github.com/storytold/filmcraft/pull/1257\n* test(i18n): skip the Japanese language step when no Japanese font is available (#1251) by @MarekSpodBiedry in https://github.com/storytold/filmcraft/pull/1259\n* fix(ui): open the context menu on macOS Ctrl+Click by @gyroninja in https://github.com/storytold/filmcraft/pull/1298\n* codecs: import raw ADTS .aac files (#1291) by @LloydNicholson in https://github.com/storytold/filmcraft/pull/1302\n* Adjustment layers: a transition fades their effects in and out instead of cutting them in after it by @slimwerken in https://github.com/storytold/filmcraft/pull/1327\n* codecs: MP4 frames stamped just after the frame grid show on their own frame by @marcoarnulfo in https://github.com/storytold/filmcraft/pull/1328\n* fix(masks): hide the mask handles while the clip is not selected by @marcoarnulfo in https://github.com/storytold/filmcraft/pull/1353\n* render: Sharpen stays visible at reduced playback resolution by @marcoarnulfo in https://github.com/storytold/filmcraft/pull/1361\n* WIN-03: Make AVI oracle file reads portable by @jahvari in https://github.com/storytold/filmcraft/pull/1366\n* #1368: nudge clip selection up/down works for linked video+audio by @vangel76 in https://github.com/storytold/filmcraft/pull/1378\n* #1371: export preset query also matches the format id by @vangel76 in https://github.com/storytold/filmcraft/pull/1383\n* fix(previews): a nest's audio preview follows the sound of its sequence (#1370) by @marcoarnulfo in https://github.com/storytold/filmcraft/pull/1386\n* Captions: preserve tab-separated WebVTT voices by @webdevtodayjason in https://github.com/storytold/filmcraft/pull/1401\n* #1408: Shift constrains mask vertex and whole-mask drags to 45° by @vangel76 in https://github.com/storytold/filmcraft/pull/1409\n* #1407: import Radiance HDR stills and image sequences by @vangel76 in https://github.com/storytold/filmcraft/pull/1410\n* #1322: the Properties panel scrolls by @vangel76 in https://github.com/storytold/filmcraft/pull/1416\n* #1430: mpegts: resync inside the loaded block, bad adaptation field is not lost sync by @vangel76 in https://github.com/storytold/filmcraft/pull/1434\n* fix(media-browser): drag every selected file to the Timeline, not just one (#1360) by @MarekSpodBiedry in https://github.com/storytold/filmcraft/pull/1442\n* fix(bitstream): map se(v) through the 64-bit codeNum so i32::MIN round-trips by @marcoarnulfo in https://github.com/storytold/filmcraft/pull/1444\n* mpegts: simplify and avoid redundant work by @vangel76 in https://github.com/storytold/filmcraft/pull/1454\n* fix(dock): dock a panel along the edge of the whole workspace by @marcoarnulfo in https://github.com/storytold/filmcraft/pull/1467\n* fix(home): list recent projects on Home and in File ▸ Open Recent by @marcoarnulfo in https://github.com/storytold/filmcraft/pull/1471\n* #262: Linux file dialogs shown off the UI thread keep case-insensitive filters by @txiki739 in https://github.com/storytold/filmcraft/pull/1472\n* ui: keep Metadata and Info on the selected source item by @sanyamsingh001 in https://github.com/storytold/filmcraft/pull/1474\n* Keep transform handles in reach when the picture is past the monitor edge by @itrycodinganditsbad in https://github.com/storytold/filmcraft/pull/1476\n* fix(audio): crossfade audio transitions through the clip handles by @marcoarnulfo in https://github.com/storytold/filmcraft/pull/1479\n* ingest: preserve same-named camera takes during ingest by @sanyamsingh001 in https://github.com/storytold/filmcraft/pull/1481\n* fix(ui): Space and other shortcuts keep working after dragging a pane divider by @marcoarnulfo in https://github.com/storytold/filmcraft/pull/1489\n* fix(codecs): in-band parameter sets compare without trailing zero bytes by @marcoarnulfo in https://github.com/storytold/filmcraft/pull/1492\n* macOS: open the window on Intel Metal by skipping indirect-call validation by @fabian-co in https://github.com/storytold/filmcraft/pull/1493\n* timeline: a middle-button drag pans, whatever the tool by @marcoarnulfo in https://github.com/storytold/filmcraft/pull/1496\n* fix(menus): hovering another title switches the open menu by @marcoarnulfo in https://github.com/storytold/filmcraft/pull/1507\n* fix(timeline): stop Ruler timestamps disappearing while zooming (#1397) by @Narmjep in https://github.com/storytold/filmcraft/pull/1510\n* Effects panel: keep the whole name of a folder that contains a slash by @CokeRoach in https://github.com/storytold/filmcraft/pull/1512\n* fix(engine): preserve offline sources referenced through subclips by @jnohclee-rgb in https://github.com/storytold/filmcraft/pull/1516\n* captions: preserve speaker names in TTML metadata by @sanyamsingh001 in https://github.com/storytold/filmcraft/pull/1518\n* graphics: draw with the newer driver when Windows lists one GPU through two versions of it (#609 on the #827 start-up) by @JeremyYao in https://github.com/storytold/filmcraft/pull/1532\n* fix(settings): keep long translations on the Preferences pages (#1517) by @HEOJUNFO in https://github.com/storytold/filmcraft/pull/1534\n* fix(mcp): a slow bridge command no longer blocks every later call by @marcoarnulfo in https://github.com/storytold/filmcraft/pull/1548\n* fix(timeline): クリップの右クリックにマーカー追加を用意する (#1184) by @haranishi in https://github.com/storytold/filmcraft/pull/1218\n* Help menu: say where each item goes; keep the address when no browser opens by @liangforstudy in https://github.com/storytold/filmcraft/pull/1224\n* fix: 新規トラック移動のリンクと編集履歴を保持 (#1187) by @haranishi in https://github.com/storytold/filmcraft/pull/1232\n* #1023: the eyedropper picks from the Program monitor again by @n-delic in https://github.com/storytold/filmcraft/pull/1274\n* #1081: Align to Video Frame works on selected video and image clips by @n-delic in https://github.com/storytold/filmcraft/pull/1275\n* Pad sorted project-panel column headers by @vbasky in https://github.com/storytold/filmcraft/pull/1309\n* Let Finder open .fcproj files by @vbasky in https://github.com/storytold/filmcraft/pull/1310\n* fix(shortcuts): Clear and reassign also drop a command's panel copy of its key (part of #1333) by @marcoarnulfo in https://github.com/storytold/filmcraft/pull/1340\n* fix(masks): Delete / Backspace and Cmd+Z take back the last pen point while drawing by @marcoarnulfo in https://github.com/storytold/filmcraft/pull/1367\n* #1402: import MP1 (A_MPEG/L1) audio from Matroska by @vangel76 in https://github.com/storytold/filmcraft/pull/1403\n* #1429: MPEG-1 program stream cut inside a pack header no longer panics by @vangel76 in https://github.com/storytold/filmcraft/pull/1431\n* Timeline: scrolling the video tracks up leaves room to drop a new track by @marcoarnulfo in https://github.com/storytold/filmcraft/pull/1526\n* export: clip caption sidecars to the exported range by @sanyamsingh001 in https://github.com/storytold/filmcraft/pull/1547\n* Transform shutter: use the sequence frame rate on adjustment layers (#1088) by @Silvertree2010 in https://github.com/storytold/filmcraft/pull/1287\n* Adjustment layers: a Transform replaces the picture below instead of drawing over it by @marcoarnulfo in https://github.com/storytold/filmcraft/pull/1527\n* media: decode uncompressed and PackBits YCbCr TIFF stills (#1293) by @LloydNicholson in https://github.com/storytold/filmcraft/pull/1304\n* #1241: Select All in Effect Controls selects its keyframes by @n-delic in https://github.com/storytold/filmcraft/pull/1271\n* fix: トラックロックの斜線表示とドラッグ保護を修正 (#1191) by @haranishi in https://github.com/storytold/filmcraft/pull/1225\n* timeline: Alt marquee selects clips without linked partners (#1163) by @Ni-zav in https://github.com/storytold/filmcraft/pull/1240\n* Fix clip drags leaving transitions behind by @gyroninja in https://github.com/storytold/filmcraft/pull/1258\n* packaging: Linux file managers offer FilmCraft for .fcproj projects and video files by @LloydNicholson in https://github.com/storytold/filmcraft/pull/1288\n* Import YUV4MPEG2 (.y4m) video; stop offering .ale for import (#1292) by @LloydNicholson in https://github.com/storytold/filmcraft/pull/1303\n* #828: import PXR24-compressed OpenEXR by @vangel76 in https://github.com/storytold/filmcraft/pull/1404\n* Add edit.rippleDeleteHead (Ripple Delete Head Frame) by @bfenty in https://github.com/storytold/filmcraft/pull/1427\n* h264: validate malformed PPS fields instead of panicking (#1441) by @bfenty in https://github.com/storytold/filmcraft/pull/1457\n* i18n: Korean (ko) interface catalog (#508) by @CokeRoach in https://github.com/storytold/filmcraft/pull/1502\n* i18n(es): fix mistranslations and terms, add 4 missing rows by @diegozpy in https://github.com/storytold/filmcraft/pull/1233\n* Ita Tranlsate by @Nai-ITA in https://github.com/storytold/filmcraft/pull/1389\n* #1432: mpegts: bounds-check frame_info, cap chunks, units and allocations, drop non-PES data by @vangel76 in https://github.com/storytold/filmcraft/pull/1433\n\n## New Contributors\n* @webdevtodayjason made their first contribution in https://github.com/storytold/filmcraft/pull/1223\n* @AkashBhat14 made their first contribution in https://github.com/storytold/filmcraft/pull/1257\n* @slimwerken made their first contribution in https://github.com/storytold/filmcraft/pull/1327\n* @marcoarnulfo made their first contribution in https://github.com/storytold/filmcraft/pull/1328\n* @fabian-co made their first contribution in https://github.com/storytold/filmcraft/pull/1493\n* @Narmjep made their first contribution in https://github.com/storytold/filmcraft/pull/1510\n* @CokeRoach made their first contribution in https://github.com/storytold/filmcraft/pull/1512\n* @JeremyYao made their first contribution in https://github.com/storytold/filmcraft/pull/1532\n* @Silvertree2010 made their first contribution in https://github.com/storytold/filmcraft/pull/1287\n* @bfenty made their first contribution in https://github.com/storytold/filmcraft/pull/1427\n* @diegozpy made their first contribution in https://github.com/storytold/filmcraft/pull/1233\n* @Nai-ITA made their first contribution in https://github.com/storytold/filmcraft/pull/1389\n\n**Full Changelog**: https://github.com/storytold/filmcraft/compare/v0.7.2...v0.8.0","assets":[{"name":"filmcraft-0.8.0-freebsd-x86_64.tar.gz","size_bytes":69039382,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-freebsd-x86_64.tar.gz","sha256":"a7162c3c618e0c67b90d8ffcbf434f33d8ee550d3028388d3ecf81681852ac05","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"filmcraft-0.8.0-linux-aarch64.AppImage","size_bytes":63355400,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-linux-aarch64.AppImage","sha256":"ded956efbb5c0cb22d7492ff83238c1cff42a88adc4c8d8bfdfa384dc02f179a","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"filmcraft-0.8.0-linux-aarch64.AppImage.zsync","size_bytes":216799,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-linux-aarch64.AppImage.zsync","sha256":"29a9da1272080d58ab6a42dcf729fd9e764a50a8d8a3c808e1702ee43fcd5103","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"filmcraft-0.8.0-linux-aarch64.deb","size_bytes":68663588,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-linux-aarch64.deb","sha256":"d5e05234272757535aeccb6f4dd957906a6926ed5f896b2103228aac1b85d195","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"filmcraft-0.8.0-linux-aarch64.flatpak","size_bytes":47593264,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-linux-aarch64.flatpak","sha256":"df0d7dc8933ceb526c445445cfa871d80bcffa611e97da8e2d8b8ff0d6f3c3ec","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"filmcraft-0.8.0-linux-aarch64.rpm","size_bytes":68105718,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-linux-aarch64.rpm","sha256":"54052ad10eae80ca82e2acc2d5d1afd47b7e0f7e8ded7ce2f3498975300ec850","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"filmcraft-0.8.0-linux-aarch64.tar.gz","size_bytes":66784266,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-linux-aarch64.tar.gz","sha256":"1afe2ac3c6013b7c36eedd1bfbdeafc173ce5d470a35f1ddfe7e1faac503c0e6","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"filmcraft-0.8.0-linux-riscv64.deb","size_bytes":69214486,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-linux-riscv64.deb","sha256":"c49b6af3c7ea4f7829448c8b9efb4d00a022902b68c37e72912aab2f4663fc98","platform":null},{"name":"filmcraft-0.8.0-linux-riscv64.rpm","size_bytes":68957316,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-linux-riscv64.rpm","sha256":"bba90de0021e19326419fbebb5d7bb5aefbd1b27b5797ea6d81a1a769e6d9b31","platform":null},{"name":"filmcraft-0.8.0-linux-riscv64.tar.gz","size_bytes":68327526,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-linux-riscv64.tar.gz","sha256":"f9c16bc36143a43b71f9a771c24626e3d1919987be5fb715d0ec20e27f04f639","platform":null},{"name":"filmcraft-0.8.0-linux-x86_64.AppImage","size_bytes":65948152,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-linux-x86_64.AppImage","sha256":"41955e97c8932435f2b6bb8245783c668786b33d2b7df962bd097641da68211e","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"filmcraft-0.8.0-linux-x86_64.AppImage.zsync","size_bytes":225659,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-linux-x86_64.AppImage.zsync","sha256":"cf097118b45507dbea0722c06c026d30dfa72f7db0d252874d8f872cfd6f24e8","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"filmcraft-0.8.0-linux-x86_64.deb","size_bytes":70643548,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-linux-x86_64.deb","sha256":"767485a55f2f566b623a9a7dbae72ebe30464022785a013f5150e9e83f97f32f","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"filmcraft-0.8.0-linux-x86_64.flatpak","size_bytes":50861552,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-linux-x86_64.flatpak","sha256":"5f28412f00a049babf49411a63e065bdb57d7a87eca3e50ee6ee8e6061d62039","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"filmcraft-0.8.0-linux-x86_64.rpm","size_bytes":70243422,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-linux-x86_64.rpm","sha256":"dd8e74751869c64eef57c3439255cdfd5a7cb0bb93d8fe759952c65e1f740699","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"filmcraft-0.8.0-linux-x86_64.tar.gz","size_bytes":69692976,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-linux-x86_64.tar.gz","sha256":"b166877905ae8a1b5505066d6dde60d7ce05831cfb309bacd5d7970f4bb017e1","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"filmcraft-0.8.0-macos-universal.dmg","size_bytes":73692833,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-macos-universal.dmg","sha256":"7587a8fe3d398da58027c6dbe5566d08568668c8e041de7bbb512a4672229a9a","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"filmcraft-0.8.0-windows-arm64-portable.zip","size_bytes":67422190,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-windows-arm64-portable.zip","sha256":"7c2f4bb83cc3dc983cae80d0dcbdb75d7ce53ff3df3dee0a4f4550a835c78a07","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"filmcraft-0.8.0-windows-arm64.msi","size_bytes":53678080,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-windows-arm64.msi","sha256":"82b947d3601a2e1f9ad2d3fb149637e8e9504aead6debd795c61062ad521a17f","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"filmcraft-0.8.0-windows-x64-portable.zip","size_bytes":70629030,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-windows-x64-portable.zip","sha256":"0119afd59dfd6ecb94470ba6b3a48108ade87dabd4972898dd6c04e1db396b0b","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"filmcraft-0.8.0-windows-x64.msi","size_bytes":57221120,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-windows-x64.msi","sha256":"038fcb458217c5d542daa0fb9d1abf3e4703a3afec780f58254f52e7ad5f91b4","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"filmcraft-0.8.0-windows-x86-portable.zip","size_bytes":69613062,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-windows-x86-portable.zip","sha256":"9801e668f154071cfea263c33b99e4cc4042db802a4ee10bc36f02629a0ae41c","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"filmcraft-0.8.0-windows-x86.msi","size_bytes":57257984,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-0.8.0-windows-x86.msi","sha256":"6dab761fe8ec40906f0c3dc7d0a855890bca7aaac9d0cc38ed23c8648807fa80","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"filmcraft-cli-0.8.0-macos-universal.zip","size_bytes":60756078,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-cli-0.8.0-macos-universal.zip","sha256":"54cb2d572c24cd5e32a54bedd8fdd15df86eaa66bf188a75c2de81fbd99ed90d","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"filmcraft-web-0.8.0.zip","size_bytes":13326588,"download_url":"https://github.com/storytold/filmcraft/releases/download/v0.8.0/filmcraft-web-0.8.0.zip","sha256":"6b13956fc741522427663517b1e483d6e0777891063fed02b1bd94bfada8a6c7","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.8.0/SHA256SUMS.txt","sha256":"759eca99a30fc92fe0eed7ac384703b76ad68d4de7ba23b0a4cf3a5381782647","platform":null}]},"app_last_fetched":"2026-10-15T15:40:43.693903880Z"},"gridcraft":{"name":"GridCraft","repo":"storytold/gridcraft","latest_release":{"tag":"v0.7.0","version":"0.7.0","name":"GridCraft v0.7.0","published_at":"2026-10-14T15:36:59Z","html_url":"https://github.com/storytold/gridcraft/releases/tag/v0.7.0","prerelease":false,"notes_markdown":"## What's Changed\n* fix(calc): recalculate dependents of a cleared spill past 65536 cells (#558) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/605\n* Return #VALUE! when a LAMBDA call has too few argument positions (#557) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/606\n* SUBTOTAL 109-111 leave out nested subtotals like 1-11 (#556) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/607\n* fix(xlsx): keep leading and trailing whitespace in document properties on reopen (#554) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/608\n* Refuse XLSX export of sheet names XLSX cannot hold (#552) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/609\n* Fix data.filterBy inside a table installing the sheet AutoFilter instead of toggling the table button (#547) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/611\n* Fix histogram counts disagreeing with interval labels on bin boundaries (#546) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/612\n* Draw data labels on area and stacked area charts (#545) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/613\n* Fix chart rasterizer panic on negative rectangle extents (#542) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/616\n* Return #VALUE! from FIND and SEARCH when the start is past the text end (#541) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/617\n* Return zero from ROUNDDOWN and TRUNC at precisions beyond the number range (#540) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/618\n* Return #NUM! from PROB for zero probabilities (#539) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/619\n* Reject oversized TEXTSPLIT results before building the padded grid (#538) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/620\n* Check the full PIVOTBY layout size before building column headers (#537) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/621\n* HSTACK checks its padded output size before building it (#536) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/622\n* Return an error when a weekday fill runs past the supported dates (#535) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/623\n* Column sort rejects a zero row key with a parameter error instead of panicking (#534) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/624\n* Refuse Total Row on a table that ends on the last worksheet row (#533) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/625\n* Spelling: skip suggestions for words longer than 64 characters (#532) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/626\n* Reject row/column insert counts past the worksheet and clamp delete counts instead of overflowing (#531) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/627\n* Formula: print flat operator chains iteratively so deep trees cannot overflow the stack (#527) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/628\n* Page Setup opens on the sheet's saved margins (#524) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/631\n* Data Validation dialog opens on the active cell's current rule (#522) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/633\n* Zoom dialog: a Magnification choice sets the percentage to store (#521) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/634\n* Fix ribbon checkboxes sending the pre-click value (#520) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/635\n* Keep a literal chart category with a comma or semicolon as one point on save (#519) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/636\n* Read omitted val on chart smooth and showVal as on (#518) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/637\n* Web: opt-in embedding bridge for host pages (?host=parent) by @CyberFox-81 in https://github.com/storytold/gridcraft/pull/237\n* io: remove the .sctmp temporary file when a save fails by @SteamSmith in https://github.com/storytold/gridcraft/pull/450\n* AutoFilter: the value list scrolls across the menu's full width (Fixes #432) by @tydude001 in https://github.com/storytold/gridcraft/pull/452\n* i18n: add Serbian (Latin script) interface translations by @Dejan-Port in https://github.com/storytold/gridcraft/pull/453\n* fix(i18n): correct scattered wrong French translations and add 2 missing keys by @Dejan-Port in https://github.com/storytold/gridcraft/pull/454\n* Packaging: offer GridCraft for .xlsb and .ods files on macOS by @neilcawse in https://github.com/storytold/gridcraft/pull/457\n* UI: Paste button and menus paste the system clipboard; regression test for the Paste freeze (#273) by @neilcawse in https://github.com/storytold/gridcraft/pull/461\n* OFFSET: huge offsets and sizes give #REF! instead of overflowing by @webdevtodayjason in https://github.com/storytold/gridcraft/pull/466\n* Data: Solver Evolutionary method, and Answer and Limits reports by @prxnvt in https://github.com/storytold/gridcraft/pull/475\n* INDEX: a huge area number gives #REF! instead of overflowing by @webdevtodayjason in https://github.com/storytold/gridcraft/pull/476\n* AutoFill: times, quarters, ordinals and mixed sources continue as series by @nihilist-narwhal in https://github.com/storytold/gridcraft/pull/483\n* Formulas: long operator chains no longer hit the evaluator's depth limit by @nihilist-narwhal in https://github.com/storytold/gridcraft/pull/484\n* Manage Rules: don't index past the list after a delete by @nihilist-narwhal in https://github.com/storytold/gridcraft/pull/485\n* Merge Across: keep only the first value of each row by @nihilist-narwhal in https://github.com/storytold/gridcraft/pull/487\n* INDIRECT: R1C1 offsets past the sheet give #REF! instead of overflowing by @webdevtodayjason in https://github.com/storytold/gridcraft/pull/503\n* Convert TODAY and NOW to the workbook date system in 1904 workbooks (#578) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/586\n* Restore frozen panes when showing a custom view (#577) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/587\n* Tables: names with a hyphen or other operator characters are rejected (#576) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/588\n* Reject table.resize to a range that does not overlap the table (#575) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/589\n* Keep a defined name that shares a table's name when the table is renamed (#574) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/590\n* Return #VALUE! for AGGREGATE without a data argument (#572) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/592\n* Open files by their content, not a mismatched extension (#569) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/595\n* Parse an intersection whose operand became #REF! (#568) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/596\n* Parse two-digit years in spaced month-name dates (#566) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/598\n* Treat serials past 9999-12-31 as out of range in the 1904 date system (#565) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/599\n* Paste Special: copy the validation rule with the Validation and All options (#562) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/602\n* MCP: reject invalid format_range borders as invalid params (#560) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/603\n* Make gridcraft-cli check compare conditional-format rule contents, not just their count (#559) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/604\n* Add OmaStore manifest by @KitsuneSemCalda in https://github.com/storytold/gridcraft/pull/99\n* fix: select a newly inserted chart from Recommended Charts by @Dejan-Port in https://github.com/storytold/gridcraft/pull/448\n* XLSX: write this-row structured references as [[#This Row],[Col]] by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/869\n* Fix saving a custom view or script when the stored list is not a JSON object (#517) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/638\n* Treat non-object params as empty in themeColors, background and drawBorder (#516) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/639\n* Refuse a PivotTable that cannot fit before aggregating all column groups (#515) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/640\n* Fail Web Page export on sheets taller than its row limit instead of dropping cells (#514) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/641\n* xlsx: warn when hyperlinks past the 10,000-cell cap are dropped on read (#513) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/642\n* Keep every range of a conditional format or validation sqref (#512) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/643\n* Save a table that has only a header row and a totals row (#511) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/644\n* Keep a long outline group's bracket once its first 4096 lines scroll away (#510) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/645\n* fix(grid): filter dropdown installs the AutoFilter on the clicked table (#509) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/646\n* Keep manually hidden and collapsed rows when removing an AutoFilter (#508) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/647\n* Run the fill-handle double-click fill before the handle press returns (#507) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/648\n* i18n(cs): translate 120 labels and tooltips already looked up via tr() by @Losminek in https://github.com/storytold/gridcraft/pull/652\n* Compute the Top 10 filter threshold once per column (#661) by @richard1912 in https://github.com/storytold/gridcraft/pull/664\n* Data validation: hide the input message while the cell's list is open (#505) by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/679\n* Charts: a newly inserted chart is selected, so Delete removes it (#668, #256) by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/683\n* Functions: COUNTIF family returns #VALUE! for criteria over 255 characters by @neilcawse in https://github.com/storytold/gridcraft/pull/686\n* UI: clicking a column or row header in point mode inserts N:N / n:n (#691) by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/695\n* Comments pane: one Show Comments button, and the pane keeps its width by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/715\n* PivotTables: values on rows (Σ Values in Rows, dataOnRows) by @neilcawse in https://github.com/storytold/gridcraft/pull/718\n* cell.set / set_cell: accept a number for `input` (#697) by @dantebertuzzi in https://github.com/storytold/gridcraft/pull/720\n* i18n(pt-BR): translate 546 more labels, dialog strings and tooltips by @dantebertuzzi in https://github.com/storytold/gridcraft/pull/739\n* Numfmt: a negative number that rounds to zero shows no minus sign by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/740\n* macOS: register the Window menu as NSApp's windowsMenu, so the tiling shortcuts work by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/741\n* ROMAN: forms 2 and 3 subtract IC, XM and VM like Excel by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/744\n* functions: MODE skips typed text and logical arguments by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/745\n* XLS: a FORMAT record shorter than its character count keeps the characters it holds by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/746\n* XLS: open compound files whose last sector isn't padded by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/748\n* Formulas: keep _xludf. so user-defined calls stay user-defined by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/755\n* Grid: extending the selection from the keyboard scrolls its moving end into view (#762) by @msaulc in https://github.com/storytold/gridcraft/pull/763\n* Grid: the selection outline stays visible when extended to the last row (#687) by @vangel76 in https://github.com/storytold/gridcraft/pull/767\n* Numfmt: scientific formats with a literal after E±, a % or a comma match Excel by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/773\n* XLS: a formula kept as its saved value keeps a text result by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/821\n* XLSX: keep fileVersion and calcFeatures in workbook.xml on save by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/822\n* XLSX: a hyperlink to another file is saved as an external relationship by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/826\n* Grid: Shift+arrows in point mode extend from the pointed cell, also up and left by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/836\n* Sheet tabs: All Sheets navigator with a filter field by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/851\n* Refuse to save to an unknown file extension instead of writing XLSX under it by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/879\n* check: a boolean cached as 1/0 without t=\"b\" matches, and is counted apart by @CouchRiv in https://github.com/storytold/gridcraft/pull/882\n* File: Export as PDF in the File menu, and the palette asks for a path (#407) by @isaac-levine in https://github.com/storytold/gridcraft/pull/704\n* XLS: array formulas fill their range on recalculation by @neilcawse in https://github.com/storytold/gridcraft/pull/460\n* Functions passed by name: GROUPBY(…,SUM), BYROW(…,SUM), MAP(…,ABS) by @nihilist-narwhal in https://github.com/storytold/gridcraft/pull/486\n* Chart: color pie, doughnut, treemap and sunburst points from the workbook theme (#579) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/585\n* Quote sheet names when printing sheet-qualified defined names (#567) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/597\n* Keep a solid data bar solid across an XLSX save and reopen (#550) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/610\n* Funnel chart: hide value labels when data labels are off (#544) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/614\n* Honour the gridlines flag on box-and-whisker and stock charts (#543) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/615\n* Open AutoFilter header menus with Alt+Down by @derechopiano in https://github.com/storytold/gridcraft/pull/659\n* Reveal the active worksheet tab after sheet navigation by @derechopiano in https://github.com/storytold/gridcraft/pull/688\n* Preserve editable ink strokes across XLSX saves by @jonathanwxh-cell in https://github.com/storytold/gridcraft/pull/712\n* XLS import: read the calculation settings (iteration, mode, precision as displayed) by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/747\n* Tables: structured references keep the spaces at the edges of a column name by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/749\n* Functions: DGET and the database functions match Excel for computed, empty-string and empty-field criteria by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/751\n* CELL(\"width\") returns the Column Width dialog value, without the padding (#735) by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/753\n* Data: Forecast Sheet Forecast Start option (#785) by @vangel76 in https://github.com/storytold/gridcraft/pull/786\n* i18n: look up the Format Cells dialog labels in the catalog by @brzuchal in https://github.com/storytold/gridcraft/pull/788\n* Page Layout view: drag the margins on the rulers (#792) by @vangel76 in https://github.com/storytold/gridcraft/pull/794\n* Calc: SUBTOTAL 109 recalculates when Row Height, AutoFit or Ungroup reveal rows by @vangel76 in https://github.com/storytold/gridcraft/pull/796\n* Numfmt: TEXT() and chart labels parse each format code once (#806) by @vangel76 in https://github.com/storytold/gridcraft/pull/808\n* PDF: title and author are written as UTF-16BE when they are not ASCII (#813) by @vangel76 in https://github.com/storytold/gridcraft/pull/814\n* PDF: text width cannot overflow; dash, stroke width and NaN sizes are sanitised (#812) by @vangel76 in https://github.com/storytold/gridcraft/pull/815\n* XLSX: keep the workbook's default font on save by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/823\n* XLS: formulas that use a skipped defined name keep their saved results by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/825\n* UI: Enter pastes the copied range and ends copy mode by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/850\n* CSV export: refuse a file over 512 MiB instead of expanding the whole used range (#528) by @Silvertree2010 in https://github.com/storytold/gridcraft/pull/853\n* check: the package round trip reports relationship kinds the save lost by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/871\n* Reject out-of-range numeric filterBy columns instead of overflowing (#573) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/591\n* Fix SEARCH position when text contains a char with multi-char lowercase (#571) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/593\n* fix(engine): CSV named History keeps a valid sheet name (#570) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/594\n* Read date text in the workbook date system in arithmetic and VALUE (#564) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/600\n* Center Across Selection: center text over the empty cells to its right (#479) by @MarekSpodBiedry in https://github.com/storytold/gridcraft/pull/649\n* View: Ctrl+wheel zoom steps along a ladder that never skips 100% (#689) by @vedran-dobos in https://github.com/storytold/gridcraft/pull/690\n* Grid: deleting several Ctrl-selected rows removes them all (#758) by @vangel76 in https://github.com/storytold/gridcraft/pull/766\n* Security: cell hyperlinks open only http, https and mailto, after a confirmation (#777) by @vangel76 in https://github.com/storytold/gridcraft/pull/780\n* Numfmt: no panic on a fraction denominator with 65,536 zeros; format codes are capped at 255 characters (#807) by @vangel76 in https://github.com/storytold/gridcraft/pull/809\n* Numfmt: format-code parsing is linear, and an unclosed [ is treated the same in both passes (#810) by @vangel76 in https://github.com/storytold/gridcraft/pull/811\n* XLSX: Save As into another folder keeps links on the same workbook by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/824\n* View ribbon: lay out the Show group's checkboxes in two columns by @bmh129 in https://github.com/storytold/gridcraft/pull/830\n* Grid: horizontal scrollbar in the sheet tab bar by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/849\n* UI: Show rule-specific data validation fields by @derechopiano in https://github.com/storytold/gridcraft/pull/854\n* XLSX: keep chart sheets on open and save (#727) by @Silvertree2010 in https://github.com/storytold/gridcraft/pull/856\n* EDATE and EOMONTH: serial 0 is day 0 and February 1900 has 28 days by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/742\n* Functions: MIRR, COUNTIF, INDIRECT and USDOLLAR match Excel 365 by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/752\n* Rows auto-fit oversized fonts on open and on row formatting (#833) by @edurbs in https://github.com/storytold/gridcraft/pull/855\n* PivotTables: the PivotTable Fields pane follows the interface language by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/862\n* XLSX: XML maps survive a save, with their table columns and mapped cells by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/863\n* File view: the recent list tells when each workbook was last changed by @arcanii in https://github.com/storytold/gridcraft/pull/463\n* UI: AutoComplete for cell values can be turned off, Backspace and Escape drop the proposal by @marcoarnulfo in https://github.com/storytold/gridcraft/pull/848\n\n## New Contributors\n* @CyberFox-81 made their first contribution in https://github.com/storytold/gridcraft/pull/237\n* @SteamSmith made their first contribution in https://github.com/storytold/gridcraft/pull/450\n* @tydude001 made their first contribution in https://github.com/storytold/gridcraft/pull/452\n* @prxnvt made their first contribution in https://github.com/storytold/gridcraft/pull/475\n* @KitsuneSemCalda made their first contribution in https://github.com/storytold/gridcraft/pull/99\n* @marcoarnulfo made their first contribution in https://github.com/storytold/gridcraft/pull/869\n* @richard1912 made their first contribution in https://github.com/storytold/gridcraft/pull/664\n* @dantebertuzzi made their first contribution in https://github.com/storytold/gridcraft/pull/720\n* @msaulc made their first contribution in https://github.com/storytold/gridcraft/pull/763\n* @CouchRiv made their first contribution in https://github.com/storytold/gridcraft/pull/882\n* @isaac-levine made their first contribution in https://github.com/storytold/gridcraft/pull/704\n* @jonathanwxh-cell made their first contribution in https://github.com/storytold/gridcraft/pull/712\n* @brzuchal made their first contribution in https://github.com/storytold/gridcraft/pull/788\n* @Silvertree2010 made their first contribution in https://github.com/storytold/gridcraft/pull/853\n* @bmh129 made their first contribution in https://github.com/storytold/gridcraft/pull/830\n\n**Full Changelog**: https://github.com/storytold/gridcraft/compare/v0.6.1...v0.7.0","assets":[{"name":"gridcraft-0.7.0-freebsd-x86_64.tar.gz","size_bytes":19608721,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-freebsd-x86_64.tar.gz","sha256":"a2f3348db71227e5041b69456cc0fc9d4f62560c9654cf95eac5fcb5f2c7603a","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"gridcraft-0.7.0-linux-aarch64.AppImage","size_bytes":17586696,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-linux-aarch64.AppImage","sha256":"97c6923e127c846c65fa08050e5840b2bd46f244dda3d2ec42ec198c14d94287","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"gridcraft-0.7.0-linux-aarch64.AppImage.zsync","size_bytes":60363,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-linux-aarch64.AppImage.zsync","sha256":"72cf01424b02e3cf682f3aaa379f2d0b09fb101913f93a1e9835508147938153","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"gridcraft-0.7.0-linux-aarch64.deb","size_bytes":19252070,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-linux-aarch64.deb","sha256":"e5225c3a9b8ca14117da9f0b6dfae61b384f0b889c8d8b922f4119fdd1e74a6a","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"gridcraft-0.7.0-linux-aarch64.flatpak","size_bytes":11711472,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-linux-aarch64.flatpak","sha256":"0700cf83e8fb114b9649e79505ef4b7308533d216469ab11f9f97d7a49fdd13b","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"gridcraft-0.7.0-linux-aarch64.rpm","size_bytes":19057205,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-linux-aarch64.rpm","sha256":"dd7bab2c8e6e1009d225c642052ca6908b9ff2f4c645ada70e3ec4ab8d61300e","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"gridcraft-0.7.0-linux-aarch64.tar.gz","size_bytes":18367027,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-linux-aarch64.tar.gz","sha256":"b77591dba5f35c85ee8f227360e60bd6da342c48cc7d54394083bc2ee74768ce","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"gridcraft-0.7.0-linux-riscv64.deb","size_bytes":19591344,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-linux-riscv64.deb","sha256":"33245b45f341c36e0a341eed81ef12893992cf8927c8b24500216c20e083e165","platform":null},{"name":"gridcraft-0.7.0-linux-riscv64.rpm","size_bytes":19548887,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-linux-riscv64.rpm","sha256":"5ad7506bafc60ab5f942a4d48af522d5a9eedec2c6d5d97bea2a592192c916ec","platform":null},{"name":"gridcraft-0.7.0-linux-riscv64.tar.gz","size_bytes":19162573,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-linux-riscv64.tar.gz","sha256":"c9c2fc93ee57ef2c28ea713a0cd14b60c718c891ea1c58995d3119007e1670f7","platform":null},{"name":"gridcraft-0.7.0-linux-x86_64.AppImage","size_bytes":19007992,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-linux-x86_64.AppImage","sha256":"2daace8be3719afee727d2e353aa4bd0ac22798c312c92c2c6d5e42f27f70812","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"gridcraft-0.7.0-linux-x86_64.AppImage.zsync","size_bytes":65219,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-linux-x86_64.AppImage.zsync","sha256":"201b47483bffa9434bf711d5f0c9c68617ff497818b48975619e980a96319c73","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"gridcraft-0.7.0-linux-x86_64.deb","size_bytes":20370952,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-linux-x86_64.deb","sha256":"07b57541e33666f0ea5ae9c02c30f3b259e6b2161a359476907835529c600282","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"gridcraft-0.7.0-linux-x86_64.flatpak","size_bytes":13478576,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-linux-x86_64.flatpak","sha256":"23b23a6620ad734fb449c112564f3ec0028adbc4bc368d8728e4ab61beb53b14","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"gridcraft-0.7.0-linux-x86_64.rpm","size_bytes":20235479,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-linux-x86_64.rpm","sha256":"47906b49fcbea9981dce56fee254ffeda282b13986214accee21d7eb59598485","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"gridcraft-0.7.0-linux-x86_64.tar.gz","size_bytes":19864229,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-linux-x86_64.tar.gz","sha256":"c01bc2dc4295556f53810dfed4a85a3f58388552c157a103e10626c069b39e1c","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"gridcraft-0.7.0-macos-universal.dmg","size_bytes":24580153,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-macos-universal.dmg","sha256":"96194d335e780808c6a1fae3a3ee72d977178eadcd719623645b88433ef19be8","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"gridcraft-0.7.0-windows-arm64-portable.zip","size_bytes":17187847,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-windows-arm64-portable.zip","sha256":"4998a1c0e27bee7618df5a70aa15d4eaa8cca82398f2b47859a2ae0a1934d7c9","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"gridcraft-0.7.0-windows-arm64.msi","size_bytes":12611584,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-windows-arm64.msi","sha256":"6f6496e93cdad6bdce31e94c7b3de45fbc8adeaf3c3172c434dc39b8c50c962b","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"gridcraft-0.7.0-windows-x64-portable.zip","size_bytes":18630081,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-windows-x64-portable.zip","sha256":"24bf4ee129769268e27510a260de6c7fd7eded84ea541499132576e3d7ea6a86","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"gridcraft-0.7.0-windows-x64.msi","size_bytes":14135296,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-windows-x64.msi","sha256":"546dc5110c0912a61f95bdea867f05002b68136d2b151e4244f44d7dc5ea12ba","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"gridcraft-0.7.0-windows-x86-portable.zip","size_bytes":17150577,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-windows-x86-portable.zip","sha256":"ad0663e37050e1425ca18549eebbc79d937a58c01bdadeff9b5bd8f1786d0a3c","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"gridcraft-0.7.0-windows-x86.msi","size_bytes":13373440,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-0.7.0-windows-x86.msi","sha256":"421a50c1dc02034fe074685f17111067b3e575c66f4a1779ad38094154c84b2b","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"gridcraft-cli-0.7.0-macos-universal.zip","size_bytes":11094843,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-cli-0.7.0-macos-universal.zip","sha256":"be76dda3e81828f8d4a96965eac5df905dc20712bafd3cfe703ffad32cfa0ed9","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"gridcraft-web-0.7.0.zip","size_bytes":7113559,"download_url":"https://github.com/storytold/gridcraft/releases/download/v0.7.0/gridcraft-web-0.7.0.zip","sha256":"ad10af2baf9c7ed4ccbd81e32b37698f5075cdf4f26b726fee7fc7938a3a8d27","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.7.0/SHA256SUMS.txt","sha256":"5e8c96292a7e48518b41410af0cb4710c90609eec3129a05231451f864e0b53f","platform":null}]},"app_last_fetched":"2026-10-15T15:40:50.775724707Z"},"lightcraft":{"name":"LightCraft","repo":"storytold/lightcraft","latest_release":{"tag":"v0.8.0","version":"0.8.0","name":"LightCraft v0.8.0","published_at":"2026-10-14T15:30:00Z","html_url":"https://github.com/storytold/lightcraft/releases/tag/v0.8.0","prerelease":false,"notes_markdown":"## What's Changed\n* Integration batch 32a: 8 reviewed contributor PRs by @echelon in https://github.com/storytold/lightcraft/pull/1426\n* Issue #989: clippy 1.99, fill_box reads its buffer with as_chunks::<3>() (item 4) by @snofla in https://github.com/storytold/lightcraft/pull/997\n* LR-LIB-ALBUM: \"Include selected photos\" option in New Album by @MarkusFriedel in https://github.com/storytold/lightcraft/pull/1250\n* Scroll the filmstrip when the same photo is opened in another source. by @vbasky in https://github.com/storytold/lightcraft/pull/1253\n* Import HEIC, HEIF, and NRW files from a folder. by @vbasky in https://github.com/storytold/lightcraft/pull/1254\n* Accept a bare port for --connect. by @vbasky in https://github.com/storytold/lightcraft/pull/1255\n* Composite straight alpha onto white in the working space. by @vbasky in https://github.com/storytold/lightcraft/pull/1257\n* Raise the deep-zoom preview margin cap. by @vbasky in https://github.com/storytold/lightcraft/pull/1260\n* fix(toast): draw the toast as widgets so the message can be selected by @switch87 in https://github.com/storytold/lightcraft/pull/1262\n* Integration batch 33: main green again, 85 reviewed contributor PRs by @bflatastic in https://github.com/storytold/lightcraft/pull/1431\n* fix(i18n): translate Photo Merge projection choices and merge toasts by @emmertex in https://github.com/storytold/lightcraft/pull/1270\n* LR-IMP-FORMATS: CR2 white level from the active area, not the saturated masked rows above it by @marcoarnulfo in https://github.com/storytold/lightcraft/pull/1280\n* Adds “Locate Missing Files…” to folder and disk context menus. by @csidirop in https://github.com/storytold/lightcraft/pull/1282\n* LR-EDIT-COLOR-TEMP: Lightroom's non-linear scale for the Kelvin Temp slider (#1295) by @MarkusFriedel in https://github.com/storytold/lightcraft/pull/1296\n* ORF: as-shot white balance from maker-note 0x1017/0x1018 on the Olympus E-10 (part of #1273) by @marcoarnulfo in https://github.com/storytold/lightcraft/pull/1297\n* M5.6: a view slot renders one job at a time, so a drag's renders don't pile up by @mattsivak in https://github.com/storytold/lightcraft/pull/1302\n* Nix: fix the flake at HEAD (git dependency) and load libdbus/libEGL on NixOS by @untypequicode in https://github.com/storytold/lightcraft/pull/1314\n* LR-IMP-FORMATS: uncompressed Leaf MOS is a raw, the Hasselblad Lunar decodes as an ARW by @AlexChambers in https://github.com/storytold/lightcraft/pull/1324\n* M-export: a resized export keeps the edge it was asked for by @marcoarnulfo in https://github.com/storytold/lightcraft/pull/1338\n* GH-251: document controller polling and edit interactions by @sanyamsingh001 in https://github.com/storytold/lightcraft/pull/1341\n* LR-EDIT-COLOR-TEMP: Kelvin white balance from Sony's white-balance presets by @PiMinusMax in https://github.com/storytold/lightcraft/pull/1344\n* macOS: closing the window ends the process in on_exit, as menu Quit does by @marcoarnulfo in https://github.com/storytold/lightcraft/pull/1353\n* CR2: as-shot white balance of the PowerShot G9 from its WBInfo preset rows (part of #1273) by @marcoarnulfo in https://github.com/storytold/lightcraft/pull/1357\n* Before/After wipe: the line stays in the middle of the view when zoomed in by @marcoarnulfo in https://github.com/storytold/lightcraft/pull/1358\n* LR-IMP-CAMERA-COVERAGE: Nikon D90 NEFs drop their filler columns (no pink band) by @menno-zeilstra in https://github.com/storytold/lightcraft/pull/1361\n* LR-EDIT-LIGHT-CURVE-POINT: ⌥-drag moves a curve point a tenth as far, for fine adjustment by @marcoarnulfo in https://github.com/storytold/lightcraft/pull/1367\n* KEY-SLIDER-TYPE: a typed slider value keeps editing after the click is released by @marcoarnulfo in https://github.com/storytold/lightcraft/pull/1368\n* LR-IMP-CAMERA-COVERAGE: Nikon D7100 NEFs develop at Lightroom's frame, so its crops line up by @marcoarnulfo in https://github.com/storytold/lightcraft/pull/1387\n* AI Denoise: Install from file says why a model file is refused by @marcoarnulfo in https://github.com/storytold/lightcraft/pull/1389\n* LR-CROP-STRAIGHTEN: a crop shrunk to fit by Straighten grows back as the angle returns by @marcoarnulfo in https://github.com/storytold/lightcraft/pull/1394\n* LR-BEHAV-LOCALIZE: strong text is heavier in scripts whose fallback face is a variable font (Arabic) by @nledford in https://github.com/storytold/lightcraft/pull/1397\n* LR-BEHAV-GPU: say once when no GPU is found, instead of quietly rendering on the CPU by @dev-null-undefined in https://github.com/storytold/lightcraft/pull/1411\n* M5.6: a slider drag no longer decodes the edited raw again for its filmstrip thumbnail by @dev-null-undefined in https://github.com/storytold/lightcraft/pull/1412\n* M5.6: with a GPU, a slider drag's preview is drawn in the frame of the drag tick by @dev-null-undefined in https://github.com/storytold/lightcraft/pull/1413\n* LR-PROF-CAMERACOLOR: ILCE-7RM6 camera-JPEG colour fit on full-frame files by @dev-null-undefined in https://github.com/storytold/lightcraft/pull/805\n* fix(geom): reject non-finite perspective and affine transforms by @Ni-zav in https://github.com/storytold/lightcraft/pull/985\n* Issue #989: the lock test finds true on the PATH by @nledford in https://github.com/storytold/lightcraft/pull/990\n* LR-IMP-CAMERA-COVERAGE: Leica Q3 verified by a recorded check of 38 private DNGs by @snofla in https://github.com/storytold/lightcraft/pull/992\n* Issue #989: odd_folders_never_fail_the_check skips non-UTF-8 names on APFS (item 3, one of eleven) by @snofla in https://github.com/storytold/lightcraft/pull/1003\n* Issue #989: the ten sidecar repair tests also pass on a case-insensitive volume (item 3, ten of eleven) by @snofla in https://github.com/storytold/lightcraft/pull/1007\n* LR-HDR-EXPORT: HLG HDR AVIF export and a tested SDR/HDR display decision by @emmertex in https://github.com/storytold/lightcraft/pull/1017\n* LR-IMP-PREVIEW-READ: a CR3 or a TIFF raw's preview is read from the plan's ranges by @lzjtugjc in https://github.com/storytold/lightcraft/pull/1020\n* LR-BEHAV-ACCESS: AccessKit tree audit test and fixes by @emmertex in https://github.com/storytold/lightcraft/pull/1023\n* Show progress and allow cancel while a large Lightroom catalog import reads its photos by @rwoldberg in https://github.com/storytold/lightcraft/pull/1024\n* LR-VIEW-DETAIL: the loupe says \"Rendering…\" while what it shows is not the render yet by @dev-null-undefined in https://github.com/storytold/lightcraft/pull/1032\n* LR-PREF-DISPLAY: Monitor profiles: keep zoomed views sharp by @kelanna in https://github.com/storytold/lightcraft/pull/1036\n* LR-EXP-RENDERDNG: Render to DNG export format by @emmertex in https://github.com/storytold/lightcraft/pull/1047\n* LR-PREF-DISPLAY: on Linux, previews use the display profile from colord by @emmertex in https://github.com/storytold/lightcraft/pull/1051\n* Windows: case-insensitive sidecar/rename fixes; Windows test and toolchain fixes by @OneSlips in https://github.com/storytold/lightcraft/pull/1052\n* UI: targeted adjustment says how to leave it; wheel notch scrolls 100 points by @OneSlips in https://github.com/storytold/lightcraft/pull/1064\n* Control channel: give up requests a hidden Wayland window can't answer, never run them late (#718) by @emmertex in https://github.com/storytold/lightcraft/pull/1070\n* LR-IMP-FORMATS: EOS R6 Mark III as-shot white balance (ColorData version 66) by @josenbobby in https://github.com/storytold/lightcraft/pull/1071\n* fix(preview): avoid double-counting overwritten thumbnail files by @Ni-zav in https://github.com/storytold/lightcraft/pull/1076\n* feat(shortcuts): add Lightroom Classic F6/F7 panel toggles by @Ni-zav in https://github.com/storytold/lightcraft/pull/1078\n* fix(i18n): translate masking context menu actions by @Ni-zav in https://github.com/storytold/lightcraft/pull/1090\n* feat(curve): overlay the current histogram behind tone curves by @Ni-zav in https://github.com/storytold/lightcraft/pull/1091\n* fix(i18n): translate library context and zoom menu labels by @Ni-zav in https://github.com/storytold/lightcraft/pull/1092\n* fix: a folder listed twice in Local can't be collapsed (#1093) by @mattsivak in https://github.com/storytold/lightcraft/pull/1101\n* fix: left panel slow with a large keyword list (#1011) by @mattsivak in https://github.com/storytold/lightcraft/pull/1114\n* LR-MERGE-HDR: merges of raws without colour matrices keep their colour (#965) by @LloydNicholson in https://github.com/storytold/lightcraft/pull/1123\n* LR-EDIT-OPTICS-PROFILE: in-camera crop modes get the frame's crop factor, not the body's by @Madcat71 in https://github.com/storytold/lightcraft/pull/1125\n* LR-IMP-FORMATS: a float raw with NaN or infinite samples no longer panics the demosaic by @dev-null-undefined in https://github.com/storytold/lightcraft/pull/1139\n* LR-BEHAV-BG-TASKS: a render job that panics fails instead of never answering by @dev-null-undefined in https://github.com/storytold/lightcraft/pull/1149\n* LR-VIEW-DETAIL: the loupe says when the render behind a stand-in fails by @dev-null-undefined in https://github.com/storytold/lightcraft/pull/1150\n* LR-VIEW-COMPARE: Compare and Reference panes say \"Rendering…\" as the loupe does by @dev-null-undefined in https://github.com/storytold/lightcraft/pull/1151\n* GH-104: finish initial layout before offline frame timing by @sanyamsingh001 in https://github.com/storytold/lightcraft/pull/1154\n* LR-EXP-PSD: Photo ▸ Edit In ▸ Open Original in Other Editor (RAW, no copy) by @ChippedW in https://github.com/storytold/lightcraft/pull/1174\n* LR-IMP-FORMATS: DNG CFAPattern is anchored at the ActiveArea, not the sensor (#1086) by @radialmonster in https://github.com/storytold/lightcraft/pull/1177\n* i18n(es): face recognition and AI Denoise in Spanish, style-guide fixes by @diegozpy in https://github.com/storytold/lightcraft/pull/1179\n* fix(cli): --connect 7980 takes a bare port as loopback (#1178) by @rollroyces in https://github.com/storytold/lightcraft/pull/1182\n* fix(i18n): translate navigation, editing, and Presets tooltips by @Ni-zav in https://github.com/storytold/lightcraft/pull/1186\n* fix(presets): prevent Amount slider from undoing unrelated edits by @Ni-zav in https://github.com/storytold/lightcraft/pull/1187\n* LR-EDIT-COLOR-GRADING: Cmd/Ctrl-drag keeps the saturation, Alt/Option fine-adjusts the colour wheels (#1160) by @atmikshetty in https://github.com/storytold/lightcraft/pull/1189\n* LR-META-XMP: Read Metadata from File no longer auto-writes the sidecar it has just read by @AlexChambers in https://github.com/storytold/lightcraft/pull/1193\n* Fix: import of metadata-less exports (Unknown Date, phantom 'already in the library', Grid Info) by @emmertex in https://github.com/storytold/lightcraft/pull/1216\n* LR-IMP-FORMATS: transparent areas develop on white instead of black (#1212) by @marcoarnulfo in https://github.com/storytold/lightcraft/pull/1222\n* M5.6: zoomed 64 MP raws stay decoded and on the GPU (every 1:1 pan re-decoded the raw) by @dev-null-undefined in https://github.com/storytold/lightcraft/pull/1235\n* HDR: the HDR histogram follows slider drags live by @JordyUSA in https://github.com/storytold/lightcraft/pull/1238\n* fix: deleting a photo asks first, also from the right-click menu (#1239) by @mattsivak in https://github.com/storytold/lightcraft/pull/1242\n* LRC-DEV-HISTORY: History cursor — going to a step adds no step by @emmertex in https://github.com/storytold/lightcraft/pull/1246\n* Up / Down move through the grid's rows by @emmertex in https://github.com/storytold/lightcraft/pull/1264\n* MENU-CTX-ALBUM: Import ▸ submenu on an album opens the review with that album chosen by @MarkusFriedel in https://github.com/storytold/lightcraft/pull/1268\n* PEF: masked rows and columns at the black level are trimmed without crop tags by @marcoarnulfo in https://github.com/storytold/lightcraft/pull/1288\n* fix(i18n): translate Compare and Reference view captions by @emmertex in https://github.com/storytold/lightcraft/pull/1291\n* fix(i18n): translate the curve right-click menu by @emmertex in https://github.com/storytold/lightcraft/pull/1292\n* fix(i18n): translate Remove panel spot mode and dust toast by @emmertex in https://github.com/storytold/lightcraft/pull/1293\n* fix(i18n): translate Keep in Local / Add to Local by @emmertex in https://github.com/storytold/lightcraft/pull/1294\n* LR-LIB-DELETE: a file in Recently Deleted can be checked by hand in the import review by @marcoarnulfo in https://github.com/storytold/lightcraft/pull/1301\n* LR-PROF-CAMERACOLOR: fit the camera-look toe from dark JPEG tones by @AlexChambers in https://github.com/storytold/lightcraft/pull/1340\n* #618: profiles.list includes imported LUT profiles by @srikrishna-00 in https://github.com/storytold/lightcraft/pull/661\n* Sort ties by file name, then id by @itrycodinganditsbad in https://github.com/storytold/lightcraft/pull/978\n* pt-BR: translate face recognition and album sorting strings by @WladmirJunior in https://github.com/storytold/lightcraft/pull/982\n* fix(meta): reject impossible EXIF and XMP capture dates by @Ni-zav in https://github.com/storytold/lightcraft/pull/984\n* fix(meta): reject truncated and mismatched GPX files by @Ni-zav in https://github.com/storytold/lightcraft/pull/986\n* Issue #989: the Export dialog height test expects the macOS row (Add to Apple Photos, 876 pt) by @snofla in https://github.com/storytold/lightcraft/pull/1018\n* Gap 27: CPU-GPU equivalence verified on an AMD Radeon 8060S (Vulkan, Linux) by @emmertex in https://github.com/storytold/lightcraft/pull/1094\n* CLI --import <folder> uses the engine's import extensions (#1080) by @itrycodinganditsbad in https://github.com/storytold/lightcraft/pull/1119\n* Integration batch 32-2: 7 reviewed contributor PRs by @echelon in https://github.com/storytold/lightcraft/pull/1438\n* smart previews: store proxies at JPEG quality 97 and version the encoding (#709) by @eliets2 in https://github.com/storytold/lightcraft/pull/850\n* Add Ctrl+Shift+O / Cmd+Shift+O to show all mask overlay regions at once by @csy2006 in https://github.com/storytold/lightcraft/pull/919\n* PERF-PRESETS: libraries with thousands of presets stay responsive by @OneSlips in https://github.com/storytold/lightcraft/pull/1056\n* fix(import): exclude symlinked library folders from recursive scans by @Ni-zav in https://github.com/storytold/lightcraft/pull/1077\n* HEIF: move the heic-rs pin from 0.1.1 to 0.1.4 by @s17sh70x2jfl031ag in https://github.com/storytold/lightcraft/pull/1113\n* perf(gpu): LR-BEHAV-GPU: horizontal box blur reads adjacent pixels (Windows Radeon export 3.7 s → 1.9 s) by @THEtheChad in https://github.com/storytold/lightcraft/pull/1126\n* fix(ui): explain Nikon High Efficiency NEF preview-only support by @Ni-zav in https://github.com/storytold/lightcraft/pull/1185\n* Integration batch 35: 61 reviewed community PRs (never-crash, raw decode, imports, UI fixes) by @echelon in https://github.com/storytold/lightcraft/pull/1682\n* Never crash: Repair damaged catalog snapshots on open by @endthestart in https://github.com/storytold/lightcraft/pull/1565\n* Reject a LeakyRelu alpha that is not a single float instead of reading it as 0 (#1530) by @MarekSpodBiedry in https://github.com/storytold/lightcraft/pull/1572\n* Check the SAM weight shape against the header before reading the tensor (#1529) by @MarekSpodBiedry in https://github.com/storytold/lightcraft/pull/1573\n* MCP: do not resend a request whose reply was lost, report an unknown outcome (#1526) by @MarekSpodBiedry in https://github.com/storytold/lightcraft/pull/1574\n* Reject RAW TIFFs with missing or undecodable image chunks (#1513) by @MarekSpodBiedry in https://github.com/storytold/lightcraft/pull/1577\n* Preview disk cache: ignore symlinked shard directories (#1504) by @MarekSpodBiedry in https://github.com/storytold/lightcraft/pull/1579\n* Reserve the name with an exclusive create when hard links are unavailable (#1503) by @MarekSpodBiedry in https://github.com/storytold/lightcraft/pull/1580\n* Recheck file contents before deleting a moved original (#1500) by @MarekSpodBiedry in https://github.com/storytold/lightcraft/pull/1581\n* PERF-IMPORT: a scan, an import and a sidecar write no longer make a table of the whole library first by @nledford in https://github.com/storytold/lightcraft/pull/1583\n* Before/After button: Show Original (\\) does not light it (fixes #1497) by @PiMinusMax in https://github.com/storytold/lightcraft/pull/1597\n* fix(ui): report find-missing failures and timeouts correctly by @NavidZamanKhan in https://github.com/storytold/lightcraft/pull/1598\n* Search: clearing the filters empties the search field too by @marcoarnulfo in https://github.com/storytold/lightcraft/pull/1652\n* Fix zero-feather spot boundaries producing black pixels by @eliets2 in https://github.com/storytold/lightcraft/pull/1653\n* Reject non-finite denoise inputs and tile overflow by @eliets2 in https://github.com/storytold/lightcraft/pull/1655\n* Loupe: the filter pill sits as far from the left edge as from the top by @marcoarnulfo in https://github.com/storytold/lightcraft/pull/1661\n* Avoid duplicated camera make in exported DNG identity by @skybluu in https://github.com/storytold/lightcraft/pull/1666\n* Document command-local release build overrides for low-memory builders by @skybluu in https://github.com/storytold/lightcraft/pull/1667\n* fix(ui-egui): #1046 decide on typed error kinds, not error message text by @THEtheChad in https://github.com/storytold/lightcraft/pull/1132\n* LR-IMP-PREVIEW-READ: raw thumbnails and stand-ins decode the smallest embedded JPEG that is big enough by @dev-null-undefined in https://github.com/storytold/lightcraft/pull/1410\n* LR-MERGE-HDR: keep the reference frame's lens corrections in HDR merges by @alvarohn in https://github.com/storytold/lightcraft/pull/1423\n* LR-MASK-OBJECTS: open the configured model folder and preserve retry by @sanyamsingh001 in https://github.com/storytold/lightcraft/pull/1427\n* LR-SIDEBAR-LOCAL-SYNC: Synchronize Folder in the Local folder menu by @radialmonster in https://github.com/storytold/lightcraft/pull/1429\n* Recently Deleted shows deleted Local (browsed) photos (Fixes #1430) by @Claudio911015 in https://github.com/storytold/lightcraft/pull/1432\n* Test: the 1:1 window is drawn with the screen's profile (#1365) by @marcoarnulfo in https://github.com/storytold/lightcraft/pull/1434\n* Issue #1200: portable mode, a portable.txt beside the executable keeps settings in LightCraftData by @ArekatlaNishanthchowdary in https://github.com/storytold/lightcraft/pull/1439\n* People view: faces cut from the embedded preview, not the raw (#1440) by @bitshiftza in https://github.com/storytold/lightcraft/pull/1443\n* i18n(pt-br): fix plurals and inconsistencies, translate AI Denoise by @s17sh70x2jfl031ag in https://github.com/storytold/lightcraft/pull/1445\n* LR-IMP-PREVIEW-READ: a raw whose embedded preview can't be read still gets a thumbnail by @marcoarnulfo in https://github.com/storytold/lightcraft/pull/1451\n* LR-IMP-ADD-DIALOG: an import ends showing its first photo, in All Photos when the view doesn't hold it, unless another photo was chosen meanwhile by @marcoarnulfo in https://github.com/storytold/lightcraft/pull/1452\n* LR-IMP-CAMERA-COVERAGE: verify Canon EOS RP CR3 pixel for pixel by @smposara in https://github.com/storytold/lightcraft/pull/1453\n* LR-VIEW-COMPARE: ⌘/Ctrl- and Shift-clicks on the filmstrip select in Compare (#187 follow-up) by @wstock in https://github.com/storytold/lightcraft/pull/1454\n* Visualize: the all-masks overlay shows the union of the masks, not the last one by @wstock in https://github.com/storytold/lightcraft/pull/1456\n* LR-RAW-DNG: DNGs exported by earlier LightCraft versions render with the right colours again (follow-up to #1177) by @radialmonster in https://github.com/storytold/lightcraft/pull/1459\n* LRC-LIB-CATALOG-IMPORT: an ARW6 is described from the whole file, not a partial read by @dev-null-undefined in https://github.com/storytold/lightcraft/pull/1477\n* Raw source: no second copy of a full-size picture after the colour model by @PiMinusMax in https://github.com/storytold/lightcraft/pull/1483\n* Never crash: Fix overflow in mask.move with a huge delta by @endthestart in https://github.com/storytold/lightcraft/pull/1533\n* Never crash: Fix i32 overflow in the NEF and PEF Huffman predictors (#1515) by @endthestart in https://github.com/storytold/lightcraft/pull/1535\n* LRC-LIB-CATALOG-IMPORT: Open catalogs whose tables are all still in the WAL by @endthestart in https://github.com/storytold/lightcraft/pull/1536\n* xtask parity: Fail when docs/gaps.md lists a gap more than once by @endthestart in https://github.com/storytold/lightcraft/pull/1537\n* Never crash: Fix demosaic panic on a NaN black level by @endthestart in https://github.com/storytold/lightcraft/pull/1539\n* Never crash: Refuse raw data with two samples per pixel (#1511) by @endthestart in https://github.com/storytold/lightcraft/pull/1541\n* Never crash: Fix export size panic for very long strips by @endthestart in https://github.com/storytold/lightcraft/pull/1542\n* Never crash: Cap enlarged exports at 512 MP and check memory first by @endthestart in https://github.com/storytold/lightcraft/pull/1543\n* Never crash: Fix overflow on a BigTIFF IFD with a huge entry count (#1516) by @endthestart in https://github.com/storytold/lightcraft/pull/1544\n* Never crash: Cap the spot radius so huge spot sizes render (#1519) by @endthestart in https://github.com/storytold/lightcraft/pull/1546\n* Never crash: Fix panic dragging a tone curve point between close neighbours by @endthestart in https://github.com/storytold/lightcraft/pull/1550\n* Never crash: Render demo scenes at most at their own size by @endthestart in https://github.com/storytold/lightcraft/pull/1557\n* Never crash: Fix defringe radius overflow for amounts past the sliders by @endthestart in https://github.com/storytold/lightcraft/pull/1558\n* Never crash: Limit how much a preset zip can unpack by @endthestart in https://github.com/storytold/lightcraft/pull/1559\n* Never crash: Give the loupe a finite aspect for a zero-size crop by @endthestart in https://github.com/storytold/lightcraft/pull/1560\n* Never crash: Fix blur overflow and hangs on sliver crops by @endthestart in https://github.com/storytold/lightcraft/pull/1561\n* Never crash: Read the edge pixel for bilinear samples outside the picture by @endthestart in https://github.com/storytold/lightcraft/pull/1562\n* Edit: Select Only Active Photo (Cmd+Shift+D) by @eliets2 in https://github.com/storytold/lightcraft/pull/1563\n* fix(develop): reject invalid settings groups before mutation by @NavidZamanKhan in https://github.com/storytold/lightcraft/pull/1567\n* Packaging: confirm a successful uninstall with the completion dialog (fixes #892) by @notdezzi in https://github.com/storytold/lightcraft/pull/1569\n* LR-EDIT-OPTICS-PROFILE: Apply Nikon's in-file distortion correction for the Z 6II, Z 8 and Z f by @endthestart in https://github.com/storytold/lightcraft/pull/1570\n* Fetch: refuse a redirect from https to http (#1531) by @MarekSpodBiedry in https://github.com/storytold/lightcraft/pull/1571\n* Reject PEF streams that end before the pixels do instead of decoding zero padding (#1514) by @MarekSpodBiedry in https://github.com/storytold/lightcraft/pull/1576\n* Refuse Open/New Library while an import is running (#1509) by @MarekSpodBiedry in https://github.com/storytold/lightcraft/pull/1578\n* M5.6: Dehaze while zoomed no longer resamples the whole original on every pan and slider step by @dev-null-undefined in https://github.com/storytold/lightcraft/pull/1419\n* M5.7: perf harnesses for slider latency, zoom windows and photo loading (examples only) by @dev-null-undefined in https://github.com/storytold/lightcraft/pull/1421\n\n## New Contributors\n* @snofla made their first contribution in https://github.com/storytold/lightcraft/pull/997\n* @MarkusFriedel made their first contribution in https://github.com/storytold/lightcraft/pull/1250\n* @marcoarnulfo made their first contribution in https://github.com/storytold/lightcraft/pull/1280\n* @csidirop made their first contribution in https://github.com/storytold/lightcraft/pull/1282\n* @mattsivak made their first contribution in https://github.com/storytold/lightcraft/pull/1302\n* @untypequicode made their first contribution in https://github.com/storytold/lightcraft/pull/1314\n* @menno-zeilstra made their first contribution in https://github.com/storytold/lightcraft/pull/1361\n* @rwoldberg made their first contribution in https://github.com/storytold/lightcraft/pull/1024\n* @OneSlips made their first contribution in https://github.com/storytold/lightcraft/pull/1052\n* @josenbobby made their first contribution in https://github.com/storytold/lightcraft/pull/1071\n* @Madcat71 made their first contribution in https://github.com/storytold/lightcraft/pull/1125\n* @ChippedW made their first contribution in https://github.com/storytold/lightcraft/pull/1174\n* @diegozpy made their first contribution in https://github.com/storytold/lightcraft/pull/1179\n* @rollroyces made their first contribution in https://github.com/storytold/lightcraft/pull/1182\n* @atmikshetty made their first contribution in https://github.com/storytold/lightcraft/pull/1189\n* @srikrishna-00 made their first contribution in https://github.com/storytold/lightcraft/pull/661\n* @WladmirJunior made their first contribution in https://github.com/storytold/lightcraft/pull/982\n* @csy2006 made their first contribution in https://github.com/storytold/lightcraft/pull/919\n* @s17sh70x2jfl031ag made their first contribution in https://github.com/storytold/lightcraft/pull/1113\n* @endthestart made their first contribution in https://github.com/storytold/lightcraft/pull/1565\n* @NavidZamanKhan made their first contribution in https://github.com/storytold/lightcraft/pull/1598\n* @skybluu made their first contribution in https://github.com/storytold/lightcraft/pull/1666\n* @alvarohn made their first contribution in https://github.com/storytold/lightcraft/pull/1423\n* @Claudio911015 made their first contribution in https://github.com/storytold/lightcraft/pull/1432\n* @ArekatlaNishanthchowdary made their first contribution in https://github.com/storytold/lightcraft/pull/1439\n* @smposara made their first contribution in https://github.com/storytold/lightcraft/pull/1453\n* @notdezzi made their first contribution in https://github.com/storytold/lightcraft/pull/1569\n\n**Full Changelog**: https://github.com/storytold/lightcraft/compare/v0.7.1...v0.8.0","assets":[{"name":"lightcraft-0.8.0-freebsd-x86_64.tar.gz","size_bytes":103762235,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-0.8.0-freebsd-x86_64.tar.gz","sha256":"1b41f2dab732e5937c83084527b035398c910b3badb0641c8e3bc9472bb5fbd2","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"lightcraft-0.8.0-linux-aarch64.AppImage","size_bytes":95095304,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-0.8.0-linux-aarch64.AppImage","sha256":"e2f982cd7b2ba1850f756ba2ee8997f611f0ad519b51e6b04434c3c512a1a05a","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"lightcraft-0.8.0-linux-aarch64.AppImage.zsync","size_bytes":325287,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-0.8.0-linux-aarch64.AppImage.zsync","sha256":"727724f676b70a09003996c34374e7516ea3e7f1744c0160a21a9bfabae83e30","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"lightcraft-0.8.0-linux-aarch64.deb","size_bytes":102277364,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-0.8.0-linux-aarch64.deb","sha256":"d6006c4fe40c59cc7dd726429fe60797e6f6a57a3310089ff9cc3f2885064886","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"lightcraft-0.8.0-linux-aarch64.flatpak","size_bytes":72542728,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-0.8.0-linux-aarch64.flatpak","sha256":"97a6b4b610e34d35184ff43e0fc33ce8dc70dba433b7328a0b6f5c594123b3b3","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"lightcraft-0.8.0-linux-aarch64.rpm","size_bytes":101577982,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-0.8.0-linux-aarch64.rpm","sha256":"427b61d4f149bbf9813558185b6d507275d5431992e89fc4a7f0bd6e76ac4309","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"lightcraft-0.8.0-linux-aarch64.tar.gz","size_bytes":99916376,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-0.8.0-linux-aarch64.tar.gz","sha256":"ce563498ee01c16ba94520c823123e18c2e6d846edc58e7d1a0475828181c1c3","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"lightcraft-0.8.0-linux-riscv64.tar.gz","size_bytes":101748677,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-0.8.0-linux-riscv64.tar.gz","sha256":"b57f505b855c897b896f033217b2286e7fad05f920fe3572b2820070b0368ed3","platform":null},{"name":"lightcraft-0.8.0-linux-x86_64.AppImage","size_bytes":99027448,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-0.8.0-linux-x86_64.AppImage","sha256":"81d54b09e60b448c05517f1dea3422bea5998692a8a1a84060466385b9dfd9c3","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"lightcraft-0.8.0-linux-x86_64.AppImage.zsync","size_bytes":338725,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-0.8.0-linux-x86_64.AppImage.zsync","sha256":"3a1a761d08ce3ee166a0d2745b141ff2e9d15ca2da0a057b3f83edfcf2a84545","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"lightcraft-0.8.0-linux-x86_64.deb","size_bytes":105762644,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-0.8.0-linux-x86_64.deb","sha256":"393e8b426138ae86d8f8f6d22d5b2085463f550b1b63e772ca0a2e6b809fe477","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"lightcraft-0.8.0-linux-x86_64.flatpak","size_bytes":76810768,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-0.8.0-linux-x86_64.flatpak","sha256":"5635bf3d1386057299faf6f25ce97cbb402332fdb118d487eac51eb008bbb91e","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"lightcraft-0.8.0-linux-x86_64.rpm","size_bytes":105164559,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-0.8.0-linux-x86_64.rpm","sha256":"86f253c5027083b3cdb0547d4b9a168af4c8a24ea1dba8c8669a859cb6756d3a","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"lightcraft-0.8.0-linux-x86_64.tar.gz","size_bytes":104280626,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-0.8.0-linux-x86_64.tar.gz","sha256":"9fe0ecc69b7f1f3a35a1c630429b3c52fdb4419ba208b5579b4501b938f518d1","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"lightcraft-0.8.0-macos-universal.dmg","size_bytes":107963600,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-0.8.0-macos-universal.dmg","sha256":"92a98717dec992cd0349da2397f695219b1ec9a8a251e1c6f30e12c3d4168dcf","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"lightcraft-0.8.0-windows-arm64-portable.zip","size_bytes":100341634,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-0.8.0-windows-arm64-portable.zip","sha256":"15a3d1cfd3e4b475583605d77ca51c30545fde331d0d85cd95016ae8015eabf3","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"lightcraft-0.8.0-windows-arm64.msi","size_bytes":83218432,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-0.8.0-windows-arm64.msi","sha256":"a0c3ca6e5d7c3568e5fa4d3674363b3ce9987f6b33087eb724433ebd73bc8c92","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"lightcraft-0.8.0-windows-x64-portable.zip","size_bytes":104484347,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-0.8.0-windows-x64-portable.zip","sha256":"57f3e65fccd33abf2f37d67532662ca55235287f5b41e5bb9bc057da4485caa9","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"lightcraft-0.8.0-windows-x64.msi","size_bytes":87281664,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-0.8.0-windows-x64.msi","sha256":"2ae1b2c8c20f1fd11cf61dd944e09f90a72abc72797a879fcf92ed3b779620f3","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"lightcraft-0.8.0-windows-x86-portable.zip","size_bytes":101124585,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-0.8.0-windows-x86-portable.zip","sha256":"a36574d8d8ef5e46134dda44b80e7f05c859e5fe1e4999d1704098ed49bec053","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"lightcraft-0.8.0-windows-x86.msi","size_bytes":85520384,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-0.8.0-windows-x86.msi","sha256":"dcdc1027d6d87ee037f73e6eaf619de7e8292b06e047e1d78ef44b0a489bdb92","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"lightcraft-cli-0.8.0-macos-universal.zip","size_bytes":102680861,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-cli-0.8.0-macos-universal.zip","sha256":"e6734be20cb0cfc714d872b37a33c9c945c5a09f22f4c441c09facef8fcbbce0","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"lightcraft-web-0.8.0.zip","size_bytes":66660218,"download_url":"https://github.com/storytold/lightcraft/releases/download/v0.8.0/lightcraft-web-0.8.0.zip","sha256":"bfabb7edecfc8723b9d698ad2b6fa32e99fcdf977628a68b2884c4b06c6f017a","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.8.0/SHA256SUMS.txt","sha256":"8045d5fdef910f62f48a055ab8f3dc4a2d3dd498d412fd3e70c49031b780b43d","platform":null}]},"app_last_fetched":"2026-10-15T15:40:44.706796776Z"},"pdfcraft":{"name":"PdfCraft","repo":"storytold/pdfcraft","latest_release":{"tag":"v0.8.0","version":"0.8.0","name":"PdfCraft v0.8.0","published_at":"2026-10-14T15:21:59Z","html_url":"https://github.com/storytold/pdfcraft/releases/tag/v0.8.0","prerelease":false,"notes_markdown":"## What's Changed\n* Add a PR template, and record the review practice and external-PR bar by @tanish2k09 in https://github.com/storytold/pdfcraft/pull/223\n* F1 + F2: exact standard-14 metrics, and code-to-Unicode completeness by @tanish2k09 in https://github.com/storytold/pdfcraft/pull/357\n* Retire inherited resources by @not-a-feature in https://github.com/storytold/pdfcraft/pull/1348\n* Fix Lab Bradford adaptation to use LMS white-point ratios by @FredApps in https://github.com/storytold/pdfcraft/pull/1417\n* M7: keep a neighbouring line when replacing text (#1316) by @bartalos86 in https://github.com/storytold/pdfcraft/pull/1427\n* fix(render): Type 3 text ignores rendering modes other than invisible (vendored hayro-interpret patch 27) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1478\n* fix(edit): flattening form fields also drops the ones whose widgets are on no page by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1480\n* fix: allow links beneath highlight annotations by @FredApps in https://github.com/storytold/pdfcraft/pull/1481\n* M12: move tags in the order panel by @earlvanze in https://github.com/storytold/pdfcraft/pull/1482\n* Desktop: prepare large PDFs off the UI thread by @cyfung1031 in https://github.com/storytold/pdfcraft/pull/1493\n* fix(ui): dragged added text follows the pointer before release by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1508\n* fix(organize): normalize rotations before adding so large quarter turns cannot overflow by @webdevtodayjason in https://github.com/storytold/pdfcraft/pull/1512\n* Allow mouse-wheel scrolling during text selection by @FredApps in https://github.com/storytold/pdfcraft/pull/1514\n* fix(audit): a rectangle drawn as an m/l path is a cover like re by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1521\n* docs: merge the duplicated Auto paragraph in localization.md by @Mahmud-Baspehlivan in https://github.com/storytold/pdfcraft/pull/1525\n* M0: label local builds in --version, About and the package release by @bmh129 in https://github.com/storytold/pdfcraft/pull/1529\n* fix(xfdf): preserve quoted empty CSV values by @webdevtodayjason in https://github.com/storytold/pdfcraft/pull/1541\n* Issue #1058: an update keeps the desktop shortcut only if it is still there by @pauliusiv123-rgb in https://github.com/storytold/pdfcraft/pull/1570\n* Name the failing option and page count when a chained edit page is out of range (#1550) by @MarekSpodBiedry in https://github.com/storytold/pdfcraft/pull/1575\n* Fill & Sign: don't show the comment hover popup over placed text (#1504) by @MarekSpodBiedry in https://github.com/storytold/pdfcraft/pull/1576\n* XFA: a script's time starts when its context is ready, and a value reaches every field bound to its data node by @ysrdevs in https://github.com/storytold/pdfcraft/pull/1589\n* Detect rectangular form fields drawn with closed line paths by @FredApps in https://github.com/storytold/pdfcraft/pull/1596\n* Fix single-click freehand drawing by @UmbertoCimmino in https://github.com/storytold/pdfcraft/pull/1597\n* fix(edit): move existing text by its frame, and selections with the arrow keys by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1600\n* fix(ui): keep a closed right panel closed when opening a document by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1603\n* M13: Run conversion, OCR and optimization over folder trees by @LabDennis in https://github.com/storytold/pdfcraft/pull/1605\n* Telugu interface: draw with an installed Telugu face when the build has none (part of #1531) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1611\n* Save: fall back to a plain fsync where a volume refuses the full flush by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1626\n* macOS: start on wgpu on Intel Metal by skipping indirect-call validation by @fabian-co in https://github.com/storytold/pdfcraft/pull/1627\n* Sanitize suggested attachment save filenames by @FredApps in https://github.com/storytold/pdfcraft/pull/1630\n* Security: fix three audit findings in redaction and signature validation by @JeremyYao in https://github.com/storytold/pdfcraft/pull/1631\n* M4: Add open documents leaves out the documents already in the Combine list by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1632\n* M4: copied pages keep the resources they list only up the page tree by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1635\n* Preserve IME composition in command search by @FredApps in https://github.com/storytold/pdfcraft/pull/1638\n* XFA: place positioned objects by their anchorType by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1639\n* Export all images: CMYK JPEGs keep their colours instead of coming out as negatives by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1642\n* CLI: text refuses a document that doesn't allow copying by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1650\n* control: cap line length before auth by @SteamSmith in https://github.com/storytold/pdfcraft/pull/1653\n* Render: a soft mask shrunk below its size is filtered, so thin strokes drawn through it survive by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1654\n* fix(organize): Document Properties also change the XMP title and author by @CouchRiv in https://github.com/storytold/pdfcraft/pull/1658\n* M13: Bound automation text caching and preserve partial search results by @LabDennis in https://github.com/storytold/pdfcraft/pull/1492\n* fix(ui): a rule skipped by hand stays with its document (#1301) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1445\n* fix(ui): ui.click and ui.drag refuse coordinates that overflow (#1306) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1447\n* Windows: open a path a launcher passed unquoted and split at its spaces (closes #1455) by @magdale76 in https://github.com/storytold/pdfcraft/pull/1456\n* fix(ui): Combine flags the same converted file added twice (#1303) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1458\n* fix(text): keep doubled narrow letters in condensed text by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1474\n* fix(print): custom pages-per-sheet counts no longer overfill sheets (#1336) by @MrPranklin in https://github.com/storytold/pdfcraft/pull/1430\n* fix(ui): the accessibility check keeps a saved page range inside the document (#1300) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1437\n* fix(ui): the PDF/A dialog shows a declared PDF/UA (#1309) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1438\n* M12: write reviewable tags for text-only PDFs by @earlvanze in https://github.com/storytold/pdfcraft/pull/1440\n* Keep undrawn comments and accurate search hits (#1317, #1327, #1302, #1315, #1340) by @bartalos86 in https://github.com/storytold/pdfcraft/pull/1442\n* M10: BigTIFF and strict GIF detection in Create PDF; XDP data in format parity by @rp6186030 in https://github.com/storytold/pdfcraft/pull/1453\n* M5: keep stamps upright on rotated pages (#1398) by @bartalos86 in https://github.com/storytold/pdfcraft/pull/1460\n* M7: keep Arabic ActualText ligatures in their word by @YouseifUS in https://github.com/storytold/pdfcraft/pull/1473\n* fix(text): read a TrueType font without an encoding as WinAnsi by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1477\n* M3: confirm before opening absolute GoToR paths (#1364) by @srt8hellcat2-ui in https://github.com/storytold/pdfcraft/pull/1489\n* M2: keep byte boundaries in packed TIFF-predictor rows by @MMexicann in https://github.com/storytold/pdfcraft/pull/1499\n* M4: preserve shared Type 3 glyph resources during extraction by @MMexicann in https://github.com/storytold/pdfcraft/pull/1500\n* M13: scan each directory once in CLI checks by @MMexicann in https://github.com/storytold/pdfcraft/pull/1501\n* Issue #1396: remove an imported digital ID by @Ridzzz0Alam in https://github.com/storytold/pdfcraft/pull/1515\n* M3: draw a GNOME-style title bar on Wayland (#553) by @bmh129 in https://github.com/storytold/pdfcraft/pull/1530\n* fix(ui): preserve native open actions and password prompts by @skylartaylor in https://github.com/storytold/pdfcraft/pull/1914\n* Pick up craft-print's native Windows printing (#1107) by @jcl-bit in https://github.com/storytold/pdfcraft/pull/1132\n* F3: one documented font-substitution chain, and report what it chose and why by @tanish2k09 in https://github.com/storytold/pdfcraft/pull/1622\n* M3: drag tabs to reorder them, and Ctrl+Tab to switch between them (#1537, #1542) by @ThatGhost in https://github.com/storytold/pdfcraft/pull/1551\n* M10: Sync automation saves before replacing the destination (#1804) by @LabDennis in https://github.com/storytold/pdfcraft/pull/1935\n* fix(ui): a file version found before a save is not applied over it (#1802) by @mtlcl410 in https://github.com/storytold/pdfcraft/pull/1943\n* M1: a save that doesn't reopen is refused before it replaces the file (#1698) by @marcoarnulfo in https://github.com/storytold/pdfcraft/pull/1730\n\n## New Contributors\n* @webdevtodayjason made their first contribution in https://github.com/storytold/pdfcraft/pull/1512\n* @Mahmud-Baspehlivan made their first contribution in https://github.com/storytold/pdfcraft/pull/1525\n* @bmh129 made their first contribution in https://github.com/storytold/pdfcraft/pull/1529\n* @UmbertoCimmino made their first contribution in https://github.com/storytold/pdfcraft/pull/1597\n* @fabian-co made their first contribution in https://github.com/storytold/pdfcraft/pull/1627\n* @CouchRiv made their first contribution in https://github.com/storytold/pdfcraft/pull/1658\n* @MrPranklin made their first contribution in https://github.com/storytold/pdfcraft/pull/1430\n* @ThatGhost made their first contribution in https://github.com/storytold/pdfcraft/pull/1551\n* @mtlcl410 made their first contribution in https://github.com/storytold/pdfcraft/pull/1943\n\n**Full Changelog**: https://github.com/storytold/pdfcraft/compare/v0.7.1...v0.8.0","assets":[{"name":"pdfcraft-0.8.0-freebsd-x86_64.tar.gz","size_bytes":84288278,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-freebsd-x86_64.tar.gz","sha256":"07566a2e4e9af33258616a103d1bba7d82921bd68ae1c844c180b4730e49d8e1","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"pdfcraft-0.8.0-linux-aarch64.AppImage","size_bytes":77572616,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-linux-aarch64.AppImage","sha256":"97dfb26265c10d0dd2dd66827f77a8ebcd421daf11106b2d672b16efb86eb0c8","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"pdfcraft-0.8.0-linux-aarch64.AppImage.zsync","size_bytes":265391,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-linux-aarch64.AppImage.zsync","sha256":"58d1fcf99e2cc373733619d4857d9c1fd83e2aaf15180e67fe5ffce761131178","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"pdfcraft-0.8.0-linux-aarch64.deb","size_bytes":83163376,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-linux-aarch64.deb","sha256":"4ba31fa9dff81d9e6397549e5b0253f8d825dcf74e8e0e400f692a45b35b32de","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"pdfcraft-0.8.0-linux-aarch64.flatpak","size_bytes":60585016,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-linux-aarch64.flatpak","sha256":"69873063430e9096ffed33266decd2d5c0016d17b0f30284141bdf1c462681c2","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"pdfcraft-0.8.0-linux-aarch64.rpm","size_bytes":82620173,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-linux-aarch64.rpm","sha256":"9d59a79c588823284befe1a7313190fce09bb263ba39f9d5f3eb428bdf490fa5","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"pdfcraft-0.8.0-linux-aarch64.tar.gz","size_bytes":81288534,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-linux-aarch64.tar.gz","sha256":"48e180c8896512ed1b10892baf95a75df4bbd866f7205150662cb47da2a4bf97","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"pdfcraft-0.8.0-linux-riscv64.deb","size_bytes":83460512,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-linux-riscv64.deb","sha256":"e5f58d9f0f5517edf615e89ac1a1001e4738ee16e1dffa73768ada5dbba81ee0","platform":null},{"name":"pdfcraft-0.8.0-linux-riscv64.rpm","size_bytes":83218748,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-linux-riscv64.rpm","sha256":"25666fb4e94d3f2d37e87988d2805ae6d4d5bb58ca9eed74023e3ebbee77dbac","platform":null},{"name":"pdfcraft-0.8.0-linux-riscv64.tar.gz","size_bytes":82545748,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-linux-riscv64.tar.gz","sha256":"05841ecfa3d33bbc751f039d69dd7a3058fefbd5fd298c022ec79ddddbdf786a","platform":null},{"name":"pdfcraft-0.8.0-linux-x86_64.AppImage","size_bytes":80984568,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-linux-x86_64.AppImage","sha256":"6b89397ec10ad505e732f18982b6ad171aab085d938ca0c3034a00d4199e38f7","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"pdfcraft-0.8.0-linux-x86_64.AppImage.zsync","size_bytes":277051,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-linux-x86_64.AppImage.zsync","sha256":"f19b38926a6753391addcfce98bbdf03b3cc39c30e07ac4f21bcc54b087d6ad3","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"pdfcraft-0.8.0-linux-x86_64.deb","size_bytes":85958402,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-linux-x86_64.deb","sha256":"55645edc074f7cc958e1f076aae8da2da5c63f72fdc3ff332e728a1e04498921","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"pdfcraft-0.8.0-linux-x86_64.flatpak","size_bytes":64362352,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-linux-x86_64.flatpak","sha256":"953545e337b7be95ddd62533b4fa065e1f3c60a5fd0b3e2c65f02317f78b1ad0","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"pdfcraft-0.8.0-linux-x86_64.rpm","size_bytes":85535502,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-linux-x86_64.rpm","sha256":"5b7f041ec67f54c81171568ceb5396eb2a826e6e61371a58e7299752f8491c20","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"pdfcraft-0.8.0-linux-x86_64.tar.gz","size_bytes":84871672,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-linux-x86_64.tar.gz","sha256":"3f4fd5ddd99802a3d349474c61cf3dabd1fb7198ea0df00d24cc310516bd1c2a","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"pdfcraft-0.8.0-macos-universal.dmg","size_bytes":93992515,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-macos-universal.dmg","sha256":"65f727c221d5b38bcddc94ea64db6c490b0b320ecab81088a4d32496e1feab07","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"pdfcraft-0.8.0-windows-arm64-portable.zip","size_bytes":81703448,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-windows-arm64-portable.zip","sha256":"d5663db49c2db628da1cdc40401f7e463c75ff586e10545f1897179aa5bbda55","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"pdfcraft-0.8.0-windows-arm64.msi","size_bytes":67178496,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-windows-arm64.msi","sha256":"8b4e314b089eca1a8ad104a113cd82441b381335b97afbc040c71d4860f727d0","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"pdfcraft-0.8.0-windows-x64-portable.zip","size_bytes":85294649,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-windows-x64-portable.zip","sha256":"cd7b7fca39bf8fe477e230f40c35291a9a37ecc9175db34ff1c2ef94f785ddfb","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"pdfcraft-0.8.0-windows-x64.msi","size_bytes":71266304,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-windows-x64.msi","sha256":"c5527089f7ab5ce8e6c5ce06c093c22b19922df9cf9c92595521b6e965de9da1","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"pdfcraft-0.8.0-windows-x86-portable.zip","size_bytes":81567554,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-windows-x86-portable.zip","sha256":"342f86fcdbb17956d22263561eae38c031cb94da19554eaa6068b5bdb16d68d9","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"pdfcraft-0.8.0-windows-x86.msi","size_bytes":69292032,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-0.8.0-windows-x86.msi","sha256":"1257f0b68cd304501ca897cfa16c7657d066da5bdb9cfecbc4f38cc857238a69","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"pdfcraft-cli-0.8.0-linux-aarch64.tar.gz","size_bytes":28880799,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-cli-0.8.0-linux-aarch64.tar.gz","sha256":"b09ee57a56ad268c9f0d86fe78016d05dbf62a7ac175b574195fd38c392f63be","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"pdfcraft-cli-0.8.0-linux-x86_64.tar.gz","size_bytes":30371117,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-cli-0.8.0-linux-x86_64.tar.gz","sha256":"e57630c62e23288bacb1591ef86f0c530da1bd63743b800cae3ebc875a4708cd","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"pdfcraft-cli-0.8.0-macos-universal.zip","size_bytes":60864809,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-cli-0.8.0-macos-universal.zip","sha256":"8151d648892589a33ec474ec1eae5fcc57a8932d92b1c9566bc7dd0a5725024b","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"pdfcraft-web-0.8.0.zip","size_bytes":14113243,"download_url":"https://github.com/storytold/pdfcraft/releases/download/v0.8.0/pdfcraft-web-0.8.0.zip","sha256":"1f9ea51f3c1f71cc719c12814e10f236912fa41ef54a7782c7dd4a619d9eee9a","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.8.0/SHA256SUMS.txt","sha256":"e6c950fbcecd9f00657ae15756470bc7c8e18a2e9c19e28daf88e38c900c4fc2","platform":null}]},"app_last_fetched":"2026-10-15T15:40:45.717063278Z"},"photocraft":{"name":"PhotoCraft","repo":"storytold/photocraft","latest_release":{"tag":"v0.9.0","version":"0.9.0","name":"PhotoCraft v0.9.0","published_at":"2026-10-14T16:36:26Z","html_url":"https://github.com/storytold/photocraft/releases/tag/v0.9.0","prerelease":false,"notes_markdown":"## What's Changed\n* Use craft-print for system printing by @skylartaylor in https://github.com/storytold/photocraft/pull/3872\n* Tests: allow-list language-invariant bit-depth labels, add missing tr/hu 'Enable animations' (#4359) by @vangel76 in https://github.com/storytold/photocraft/pull/4362\n* feat(automation): allow Crop and Straighten Photos through automation (#1052) by @buivanvu94 in https://github.com/storytold/photocraft/pull/3917\n* Pencil: no 8-bit dither on aliased strokes, one flat colour at partial opacity by @cloudalister in https://github.com/storytold/photocraft/pull/3990\n* Preserve grayscale appearance in profileless exports by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/3978\n* Save As: a saved .pcraft manifest reports the file it was saved under by @switch87 in https://github.com/storytold/photocraft/pull/3571\n* Selection: lasso polygons scan only the edges that cross each row by @xsvm in https://github.com/storytold/photocraft/pull/3959\n* Fix group transform bounds with active pixel selections by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/3970\n* fix(color): validate RGB working profiles atomically by @zenjabba in https://github.com/storytold/photocraft/pull/3924\n* Load and save Photoshop Actions (.atn) (#4356, #219) by @FabioLissi in https://github.com/storytold/photocraft/pull/4434\n* feat(engine): recolor vector shape layer fill with Alt+Backspace and Cmd+Backspace by @Gotix-eg in https://github.com/storytold/photocraft/pull/3925\n* fix(ui): default the Move tool Auto-Select target to Group by @mroxso in https://github.com/storytold/photocraft/pull/4093\n* fix(gpu): preflight compositor uniform buffer limits by @zenjabba in https://github.com/storytold/photocraft/pull/3931\n* Properties: a new adjustment or fill layer brings Properties to the front (#4028) by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4079\n* Actions panel: set folders, dialog toggle, Insert Stop (#219) by @FabioLissi in https://github.com/storytold/photocraft/pull/4456\n* Delete with several layers selected deletes them, not the active layer's targeted mask (#4025) by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4078\n* Fix multi-layer Delete and Move drags on a locked Background by @vbasky in https://github.com/storytold/photocraft/pull/4109\n* File Handling: wire Maximize PSD and PSB File Compatibility (#204) by @Erica4fr in https://github.com/storytold/photocraft/pull/3955\n* View: Esc leaves full screen modes (part of #4116) by @FredApps in https://github.com/storytold/photocraft/pull/4145\n* .atn: map the remaining frequent Photoshop events (#219) by @FabioLissi in https://github.com/storytold/photocraft/pull/4465\n* Windows: keep full screen and maximized apart; never restore full screen by @aweussom in https://github.com/storytold/photocraft/pull/4396\n* Make channel filter previews match the committed edit by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/3979\n* .atn: Place, Open, Image Size in percent, Paint Bucket and Insert Conditional (#219) by @FabioLissi in https://github.com/storytold/photocraft/pull/4470\n* Quantize the colour field when Only Web Colors is on. by @vbasky in https://github.com/storytold/photocraft/pull/4138\n* fix(ui): cancel unfinished Polygonal Lasso when switching tools by @Ni-zav in https://github.com/storytold/photocraft/pull/4021\n* fix(ui): reject rotation angles outside f32 range by @Ni-zav in https://github.com/storytold/photocraft/pull/4044\n* fix(move): no trail when dragging a shape past the canvas edge (#3946) by @alonfaraj in https://github.com/storytold/photocraft/pull/4069\n* Resolve every pattern name before a batch delete removes any of them. by @vbasky in https://github.com/storytold/photocraft/pull/4132\n* Brush cursor: the tip's centre mark follows Show Crosshair in Brush Tip by @Furash in https://github.com/storytold/photocraft/pull/4105\n* Brush Settings: toggle switch rows without losing smoothing settings by @augrclk in https://github.com/storytold/photocraft/pull/4463\n* Color Table: keep the transparent index inside the palette (#4186) by @davidmann4 in https://github.com/storytold/photocraft/pull/4187\n* Stylus: a light Windows pen tap is pressure 0, not a full-pressure click by @Furash in https://github.com/storytold/photocraft/pull/4072\n* Filters on a type layer: ask to rasterize or convert to a Smart Object instead of greying out by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4333\n* i18n(hu): informal address in the rows added on merge by @Skaywalker in https://github.com/storytold/photocraft/pull/4334\n* Italian: native-speaker review of the UI catalog by @lucAmbr0 in https://github.com/storytold/photocraft/pull/4290\n* Color Picker: CMYK foreground fills a CMYK document with the picked inks (#4196) by @vangel76 in https://github.com/storytold/photocraft/pull/4339\n* Codecs: open and save DPX frames (#1049) by @przemyslvw in https://github.com/storytold/photocraft/pull/4104\n* Brush: CMYK foreground paints the picked inks into a CMYK document (#4344) by @vangel76 in https://github.com/storytold/photocraft/pull/4347\n* Paint Bucket and Edit > Stroke: a CMYK foreground writes the picked inks (#4351) by @vangel76 in https://github.com/storytold/photocraft/pull/4352\n* perf(raster): moved fills keep sharing one copy-on-write tile by @SckraT in https://github.com/storytold/photocraft/pull/4414\n* perf(compose): stop sweeping the bounds cache on every call once it i… by @SckraT in https://github.com/storytold/photocraft/pull/4415\n* perf(engine): move layers without a second document clone by @SckraT in https://github.com/storytold/photocraft/pull/4422\n* perf(compose): read PHOTOCRAFT_FX_NOCACHE once by @SckraT in https://github.com/storytold/photocraft/pull/4423\n* perf(engine): read selection coverage per row when mixing edits back by @SckraT in https://github.com/storytold/photocraft/pull/4424\n* Layer Style: OK keeps an Inner Glow's Center source (#4152) by @davidmann4 in https://github.com/storytold/photocraft/pull/4120\n* Layers panel: double-clicking an effect row opens that layer's Layer Style (#4157) by @davidmann4 in https://github.com/storytold/photocraft/pull/4131\n* Keep Liquify undo and redo working while a numeric field is focused. by @vbasky in https://github.com/storytold/photocraft/pull/4134\n* Draw the Free Transform rotate arrow instead of hiding the pointer. by @vbasky in https://github.com/storytold/photocraft/pull/4139\n* Snap 1 px pencil clicks to the pixel the aliased tip paints. by @vbasky in https://github.com/storytold/photocraft/pull/4140\n* Image Size and Canvas Size: no silent resize of large documents in physical units (#4162) by @davidmann4 in https://github.com/storytold/photocraft/pull/4163\n* Exposure: the slider keeps fractional stops (#4164) by @davidmann4 in https://github.com/storytold/photocraft/pull/4165\n* Shape tools: the click-to-open-dialog tolerance is the same on HiDPI displays (#4205) by @davidmann4 in https://github.com/storytold/photocraft/pull/4207\n* Rotate View: the image follows the pointer in a flipped view (#4226) by @davidmann4 in https://github.com/storytold/photocraft/pull/4227\n* Brush resize HUD: horizontal is size and vertical is hardness in a rotated view (#4228) by @davidmann4 in https://github.com/storytold/photocraft/pull/4229\n* feat(codecs): support full X11 rgb.txt color names in XPM by @Ni-zav in https://github.com/storytold/photocraft/pull/4263\n* feat(codecs): add XPM2 plain-text image import support by @Ni-zav in https://github.com/storytold/photocraft/pull/4264\n* Docs: refresh gaps.md against main (#4412) by @vangel76 in https://github.com/storytold/photocraft/pull/4413\n* Docs: refresh target-app-parity and file-format-parity against main (#4417) by @vangel76 in https://github.com/storytold/photocraft/pull/4418\n* Clone Stamp and History Brush: releasing a stroke commits the live pixels by @xsvm in https://github.com/storytold/photocraft/pull/4019\n* Stylus: a pen held still is not a press-and-hold right click by @Furash in https://github.com/storytold/photocraft/pull/4106\n* Refresh Liquify's zoomed preview when a stroke is undone. by @vbasky in https://github.com/storytold/photocraft/pull/4135\n* fix(selection): avoid panics when sampling incomplete region masks by @Ni-zav in https://github.com/storytold/photocraft/pull/4045\n* Type: Space inserts a space while editing type by @Hevarh1 in https://github.com/storytold/photocraft/pull/4224\n* fix(algo): reject oversized Magic Eraser masks without overflow by @Ni-zav in https://github.com/storytold/photocraft/pull/4043\n* fix(selection): validate Magic Wand pixel buffers before indexing by @Ni-zav in https://github.com/storytold/photocraft/pull/4046\n* feat(ui): the shaped brush cursor turns and flips with the view by @FinnNk in https://github.com/storytold/photocraft/pull/4233\n* Affinity import: pie shapes with huge angles no longer hang the reader by @dotCooCoo in https://github.com/storytold/photocraft/pull/4054\n* Affinity: rectangles keep per-corner radii and straight corners (#1606) by @callmeBalloch in https://github.com/storytold/photocraft/pull/4055\n* feat(ui): spring-loaded tool letters (#2672) by @FinnNk in https://github.com/storytold/photocraft/pull/4238\n* Quick Selection: cut window sizes in parallel, cancel the larger ones once one is kept (-37% on 24 MP strokes, identical masks) by @syncroot in https://github.com/storytold/photocraft/pull/4062\n* PSD: a zero-length annotation entry no longer hangs the import (#4149) by @davidmann4 in https://github.com/storytold/photocraft/pull/4117\n* Swatches: reject colour values beyond f32 range so presets survive a restart (#4150) by @davidmann4 in https://github.com/storytold/photocraft/pull/4118\n* Compose: the effect cache follows Transparency Shapes Layer and Blend If (#4151) by @davidmann4 in https://github.com/storytold/photocraft/pull/4119\n* Auto-Select: honour layer mask density when picking layers (#4153) by @davidmann4 in https://github.com/storytold/photocraft/pull/4121\n* Find and Replace Text: backward Change/Find moves past the replaced text (#4154) by @davidmann4 in https://github.com/storytold/photocraft/pull/4122\n* Liquify, Puppet Warp and Perspective Warp: refuse locked smart objects (#4155) by @davidmann4 in https://github.com/storytold/photocraft/pull/4123\n* Count tool: Marker Size and Label Size fields take effect (#4156) by @davidmann4 in https://github.com/storytold/photocraft/pull/4124\n* Layers panel: show the lock icon for every lock (#4158) by @davidmann4 in https://github.com/storytold/photocraft/pull/4159\n* Automation: reject an invalid document index instead of using the active document (#4160) by @davidmann4 in https://github.com/storytold/photocraft/pull/4161\n* Paint Bucket and Gradient: validate opacity like the Magic Eraser (#4167) by @davidmann4 in https://github.com/storytold/photocraft/pull/4168\n* Video layers: edits keep the timeline work area (#4170) by @davidmann4 in https://github.com/storytold/photocraft/pull/4171\n* Warp: move only the selected part of a linked mask (#4175) by @davidmann4 in https://github.com/storytold/photocraft/pull/4176\n* Contours (.shc): keep long names valid and readable (#4177) by @davidmann4 in https://github.com/storytold/photocraft/pull/4179\n* Global Light: reject angles beyond f32 range instead of storing NaN (#4181) by @davidmann4 in https://github.com/storytold/photocraft/pull/4182\n* Tests: set the Move tool's Auto-Select target to Layer in the layout_perf clicks (#4056) by @FabioLissi in https://github.com/storytold/photocraft/pull/4548\n* feat: resize Save for Web previews and custom palette editing for Gif export by @TheDankness in https://github.com/storytold/photocraft/pull/4129\n* Tests: GPU startup marker tests wait while another test's child process holds the lock by @dotCooCoo in https://github.com/storytold/photocraft/pull/4251\n* Control: a transport that gives up knows whether the command was dispatched (#3662) by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4256\n* Canvas: a tool drag past the edge auto-scrolls the view (#4183) by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/4257\n* fix(linux): respect GNOME's default light appearance (#4216) by @Ni-zav in https://github.com/storytold/photocraft/pull/4289\n* Brush Settings: Brush Tip Shape lines up with the other section names (#4282) by @dhiorns15 in https://github.com/storytold/photocraft/pull/4294\n* Properties: the Studio-layout themes show it for every layer (#4246) by @dhiorns15 in https://github.com/storytold/photocraft/pull/4299\n* Give numeric type controls translated accessible names by @grlessa in https://github.com/storytold/photocraft/pull/4310\n* Free Transform: unlinking W and H frees the handles too (#4174) by @dhiorns15 in https://github.com/storytold/photocraft/pull/4322\n* fix(ui): make clickable tab, checkbox, and radio labels non-selectable (#3972) by @Korg1ch in https://github.com/storytold/photocraft/pull/4331\n* fix(ui): use a linear gradient ramp glyph for the Gradient tool icon (#4172) by @Korg1ch in https://github.com/storytold/photocraft/pull/4335\n* fix(ui): add Brushes button at top of Brush Settings control list (#4265) by @Korg1ch in https://github.com/storytold/photocraft/pull/4354\n* fix(ui): keep brush settings section lock icons permanently visible (#4278) by @Korg1ch in https://github.com/storytold/photocraft/pull/4300\n* Layers: Fill and the Paint Bucket edit an adjustment layer's mask when its icon is targeted (#4298) by @dhiorns15 in https://github.com/storytold/photocraft/pull/4308\n* Object Selection: hover preview of the object it would select (Object Finder) (#4087) by @FredApps in https://github.com/storytold/photocraft/pull/4095\n* feat(ui): add GRD import option to gradient map preset picker by @xtellarvoid in https://github.com/storytold/photocraft/pull/4337\n* Type: every text edit respects Lock All (#4188) by @davidmann4 in https://github.com/storytold/photocraft/pull/4189\n* Color Sampler: keep the CMYK readout in range on 32-bit documents (#4191) by @davidmann4 in https://github.com/storytold/photocraft/pull/4192\n* Layer Comps: the warning icon clears only its own comp (#4197) by @davidmann4 in https://github.com/storytold/photocraft/pull/4198\n* fix(type): key font menu caches on the shared engine's fonts (flaky font menu tests) by @bommerts in https://github.com/storytold/photocraft/pull/4200\n* Vector masks: validate feather like pixel masks (#4201) by @davidmann4 in https://github.com/storytold/photocraft/pull/4202\n* Shapes: a rectangle with a negative size extends from its origin like the other shapes (#4203) by @davidmann4 in https://github.com/storytold/photocraft/pull/4204\n* Cryptomatte: decode the .blue/.alpha rank of every channel set (#4208) by @davidmann4 in https://github.com/storytold/photocraft/pull/4209\n* EXR: an unnamed part can be opened by the name the part list gives it (#4210) by @davidmann4 in https://github.com/storytold/photocraft/pull/4211\n* Bitmap mode: validate the halftone screen angle (#4214) by @davidmann4 in https://github.com/storytold/photocraft/pull/4215\n* Find Edges and Solarize: treat CMYK values as ink (#4222) by @davidmann4 in https://github.com/storytold/photocraft/pull/4223\n* fix(compose): paint interior effects over the layer's blend mode (#3996) by @alonfaraj in https://github.com/storytold/photocraft/pull/4231\n* feat(ui): add hamburger menu to the Brush Settings panel (#4272) by @Sir-Starch in https://github.com/storytold/photocraft/pull/4358\n* Simplify the raster stale-block filter for clippy's nonminimal_bool by @persi-man in https://github.com/storytold/photocraft/pull/4314\n* Save for Web and Export As remember their settings across restarts (FILE-215-18) by @reynold-hu in https://github.com/storytold/photocraft/pull/4184\n* fix(layer-picker): include text bounds in right-click layer selection (#4259) by @Ni-zav in https://github.com/storytold/photocraft/pull/4288\n* Gradients: Photoshop's interpolation method for Gradient Overlay, gradient Stroke and the Gradient tool by @MrCloudy2 in https://github.com/storytold/photocraft/pull/4292\n* fix(type): the Type tool's canvas pick skips text in hidden groups (#4320) by @FredApps in https://github.com/storytold/photocraft/pull/4332\n* Smart Objects Warp: mesh knots span the contents on a skewed placement (#4113) by @vangel76 in https://github.com/storytold/photocraft/pull/4341\n* Type: faux bold keeps antialiased edges at small sizes (#4130) by @vangel76 in https://github.com/storytold/photocraft/pull/4360\n* Free Transform: refuse outputs over a pixel budget instead of building them by @itrycodinganditsbad in https://github.com/storytold/photocraft/pull/4293\n* feat(ui): developer tile grid overlay (ui.set {\"tileGrid\": true}) by @deadmeu in https://github.com/storytold/photocraft/pull/4217\n* Camera Raw Filter: save and load settings as .xmp by @FredApps in https://github.com/storytold/photocraft/pull/4279\n* feat(ui): Photoshop's type formatting keys while editing text by @FinnNk in https://github.com/storytold/photocraft/pull/4239\n* fix(io): read CS2 placed layers that carry only a PlLd block (#2465) by @Kartik8Dwivedi in https://github.com/storytold/photocraft/pull/4268\n* Pen: show a close cue when hovering the first anchor (#4193) by @vangel76 in https://github.com/storytold/photocraft/pull/4361\n* Type tool: spelling suggestions in the edit menu (#4370) by @vangel76 in https://github.com/storytold/photocraft/pull/4375\n* Menus keep clear of a panel that covers a maximized window (X11) (#3737) by @FredApps in https://github.com/storytold/photocraft/pull/4380\n* feat(codecs): open DDS textures, uncompressed and BC1-BC3 (#1327) by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4255\n* Color panel: the spectrum field in every theme (#4367) by @itsF4LCON in https://github.com/storytold/photocraft/pull/4399\n* macOS: big brushes keep a native outline too, and big cursor bitmaps rasterise 7x faster (#1343) by @tanish2k09 in https://github.com/storytold/photocraft/pull/4401\n* Save As: offer ICO, GIF and BMP in the file type list (#4357) by @itsF4LCON in https://github.com/storytold/photocraft/pull/4405\n* Recent files: a saved document is listed, as an opened one is (#4400) by @itsF4LCON in https://github.com/storytold/photocraft/pull/4411\n* Paths: curves stay smooth when zoomed in (#4084) by @dhiorns15 in https://github.com/storytold/photocraft/pull/4445\n* Toolbar: click and hold on Change Screen Mode opens its modes (#4444) by @dhiorns15 in https://github.com/storytold/photocraft/pull/4464\n* Puppet Warp: ⌘Z / ⌘⇧Z undo and redo pin edits (#4440) by @itsF4LCON in https://github.com/storytold/photocraft/pull/4479\n* Crop tool: the drawing crosshair, not the move cursor, inside the untouched default frame by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4481\n* Clone Source: clip the overlay to a shaped brush tip (#4372) by @vangel76 in https://github.com/storytold/photocraft/pull/4376\n* The wheel steps the options bar's Mode dropdown for Brush, Pencil and Gradient (#2061) by @megaDon101 in https://github.com/storytold/photocraft/pull/4447\n* Pen: Auto Add/Delete anchors on the active path (#4144) by @bazmarth in https://github.com/storytold/photocraft/pull/4540\n* Save As: on Windows, picking another file type changes the extension (#4394) by @dhiorns15 in https://github.com/storytold/photocraft/pull/4407\n* Toolbar: no tooltips over an open tool flyout (#4450) by @dhiorns15 in https://github.com/storytold/photocraft/pull/4469\n* Free Transform: apply a large layer's warp in the background, with progress and Esc to cancel (#1015) by @ianswope in https://github.com/storytold/photocraft/pull/4218\n* Toolbar: a press outside a tool flyout closes it (#4460) by @dhiorns15 in https://github.com/storytold/photocraft/pull/4480\n* Replace Color: a canvas eyedropper picks the From colour (#4143) by @mroxso in https://github.com/storytold/photocraft/pull/4247\n* Allow toolbar tool shortcuts to be remapped by @RavoxX in https://github.com/storytold/photocraft/pull/4194\n* Fix macOS system dialog localization by @Minischatten in https://github.com/storytold/photocraft/pull/4261\n* Engine: reject unknown params for layer.hideLayers/showLayers, opt-in registry check (#4336) by @vangel76 in https://github.com/storytold/photocraft/pull/4364\n* Preserve HDR and signed colors in 32-bit text rasterization by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/4379\n* Type: fall back to installed Indic fonts for document text (#4383) by @vangel76 in https://github.com/storytold/photocraft/pull/4386\n* Raw: treat DNG samples piled up below the stated white level as clipped by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4389\n* Content-Aware Move: live preview of the result (#4385) by @vangel76 in https://github.com/storytold/photocraft/pull/4393\n* Swatches: an RGB group with the exact primaries and secondaries (#4302) by @FredApps in https://github.com/storytold/photocraft/pull/4409\n* SVG: a group clipped by one path opens as editable shapes with a vector mask (#4266) by @itsF4LCON in https://github.com/storytold/photocraft/pull/4425\n* Compose: key the vector-mask cache by content, not a temporary's address (#4426) by @vangel76 in https://github.com/storytold/photocraft/pull/4428\n* Actions: record File › Save a Copy and play it back as a copy (#4373) by @itsF4LCON in https://github.com/storytold/photocraft/pull/4390\n* Compose: no overflow or unbounded allocation on hostile coordinates (#4427) by @vangel76 in https://github.com/storytold/photocraft/pull/4431\n* Smart Filters: select a filter, drag or ⌥-drag it onto another smart object (#4271) by @itsF4LCON in https://github.com/storytold/photocraft/pull/4371\n* Add Krita (.kra) import with layers by @scottcampbelldata in https://github.com/storytold/photocraft/pull/4388\n* i18n(sr): add a Serbian (Latin, Ekavian) UI catalog by @Dejan-Port in https://github.com/storytold/photocraft/pull/4436\n* feat(ui): Linux caption buttons follow the desktop layout, style and icon theme by @sssehnsuchttt in https://github.com/storytold/photocraft/pull/4439\n* Themes: Soft Dark and Soft Light (#4368) by @vangel76 in https://github.com/storytold/photocraft/pull/4378\n* Type: type on a path, glyphs follow the curve (#4365) by @vangel76 in https://github.com/storytold/photocraft/pull/4377\n* panic_hunt: don't fuzz the print commands into a real printer by @FabioLissi in https://github.com/storytold/photocraft/pull/4467\n* Fix main: gate rayon in the tile grid overlay so the web build compiles by @echelon in https://github.com/storytold/photocraft/pull/4694\n* Align tighter camera JPEGs for RAW colour fitting by @optimalbytee in https://github.com/storytold/photocraft/pull/4598\n* Check peak RAW development memory and bound AHD scratch by @optimalbytee in https://github.com/storytold/photocraft/pull/4597\n* Content-Aware Fill: no tinted blotch in a smooth gradient by @switch87 in https://github.com/storytold/photocraft/pull/4708\n* Composited CMYK documents now export as CMYK TIFF and JPEG with their profile (#2220) by @KnottyDyes in https://github.com/storytold/photocraft/pull/4199\n* Open Canon CR3 as labelled camera JPEG previews by @optimalbytee in https://github.com/storytold/photocraft/pull/4595\n* Sample every visible layer in Content-Aware Fill by default. by @vbasky in https://github.com/storytold/photocraft/pull/4133\n* Resize the Liquify brush with Alt+right-drag by @vbasky in https://github.com/storytold/photocraft/pull/4707\n* Free Transform: the live preview feathers a linked layer mask by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4581\n* perf: reuse sampled composite across channel visibility toggles by @Ni-zav in https://github.com/storytold/photocraft/pull/4080\n* Fix main: Serbian translations for the Soft themes by @echelon in https://github.com/storytold/photocraft/pull/4727\n* Save for Web: no matte by default, as Photoshop's scripted export (#4115) by @itsF4LCON in https://github.com/storytold/photocraft/pull/4578\n* Load Files into Stack: Photoshop's dialog with a Source Files list and the align option (#4671, #4696) by @itsF4LCON in https://github.com/storytold/photocraft/pull/4705\n* Edit › Transform › Rotate and Skew no longer scale (#3941) by @vbasky in https://github.com/storytold/photocraft/pull/3986\n* Open: warn about type in fonts that aren't installed (#4559) by @dhiorns15 in https://github.com/storytold/photocraft/pull/4576\n* Status bar: wrap fullscreen zoom scrubbing at horizontal edges by @arthurdeka in https://github.com/storytold/photocraft/pull/3983\n* Screen color picker: no DX12 crash, and the overlay can be left on Windows (#4443) by @zuujiscom in https://github.com/storytold/photocraft/pull/4704\n* Add timeline playback to Save for Web previews by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/4703\n* Free Transform: H and V skew fields in the options bar by @dhiorns15 in https://github.com/storytold/photocraft/pull/4699\n* Channels: drag a channel onto New, Delete or Load Selection (#4689) by @dhiorns15 in https://github.com/storytold/photocraft/pull/4693\n* Fit Image: the dialog is as narrow as its few fields by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4692\n* Move tool: the curved rotate arrow just outside its transform controls (#4658) by @itsF4LCON in https://github.com/storytold/photocraft/pull/4687\n* perf(select): reuse run-table buffer in Feather horizontal pass by @rgoza1996 in https://github.com/storytold/photocraft/pull/4632\n* Reject negative PSD style-sheet indexes by @vbasky in https://github.com/storytold/photocraft/pull/4631\n* Keep the scrollbar thumb visible by @vbasky in https://github.com/storytold/photocraft/pull/4630\n* Translate Turkish Amount as Miktar by @vbasky in https://github.com/storytold/photocraft/pull/4629\n* Use a half-filled circle for adjustment thumbnails by @vbasky in https://github.com/storytold/photocraft/pull/4628\n* Indent layer effects under their layer by @vbasky in https://github.com/storytold/photocraft/pull/4627\n* Remove the dead gap between popup menu rows by @vbasky in https://github.com/storytold/photocraft/pull/4624\n* Show (C)ancel on the unsaved-changes prompt by @vbasky in https://github.com/storytold/photocraft/pull/4622\n* Apply Image: source layer, Scale and Offset in the dialog by @itrycodinganditsbad in https://github.com/storytold/photocraft/pull/4574\n* feat(vector): add shape from selection with simplify tolerance (#214) by @seotarek in https://github.com/storytold/photocraft/pull/3954\n* Channels: clicking RGB hides the alpha channel overlay by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4564\n* Fix: Preview pixelation in Sharpen filters by @AvrazAkraye in https://github.com/storytold/photocraft/pull/3936\n* Brushes: a New Brush Preset dialog for every way of making a preset (#4490) by @itsF4LCON in https://github.com/storytold/photocraft/pull/4563\n* fix(ui): expose custom paper dimensions in Print Settings by @zenjabba in https://github.com/storytold/photocraft/pull/3893\n* Play real Photoshop action sets: TrueGrit .atn mappings and fixes (#4356, #219) by @VegaEX in https://github.com/storytold/photocraft/pull/4698\n* New Document: blank presets follow the picked orientation and physical unit by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4686\n* Checkboxes: a pressed box shows it, as in Photoshop (#4476) by @dhiorns15 in https://github.com/storytold/photocraft/pull/4553\n* fix(clipboard): prompt to save new documents containing pasted pixels by @Ni-zav in https://github.com/storytold/photocraft/pull/4683\n* perf(text): applying preferences no longer waits for the system font scan (#4519) by @FinnNk in https://github.com/storytold/photocraft/pull/4679\n* perf(ui): Channels thumbnails skip selection-only steps and reuse their textures (#4518) by @FinnNk in https://github.com/storytold/photocraft/pull/4678\n* perf(engine): Fill, Stroke and Clear keep tiles the selection doesn't reach (#4517) by @FinnNk in https://github.com/storytold/photocraft/pull/4677\n* Screen color picker: Esc, right-click and any click always end it (#4291) by @dhiorns15 in https://github.com/storytold/photocraft/pull/4636\n* PSD save: keep the Lr16/Lr32 padding outside the block length by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4663\n* Filter dialogs: the preview keeps square pixels by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4655\n* Update Japanese translations in ja.tsv by @coolvitto in https://github.com/storytold/photocraft/pull/4651\n* Cursors: the pen tools show their icon, and Caps Lock swaps it for the crosshair (#4639) by @dhiorns15 in https://github.com/storytold/photocraft/pull/4650\n* Hue/Saturation: colour ranges apply in full to dull colours by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4645\n* Free Transform / Warp: Photoshop's Bicubic (Keys −0.75) and a reduction prefilter by @MrCloudy2 in https://github.com/storytold/photocraft/pull/4635\n* Codecs: FITS keeps long CONTINUE strings intact on open and save by @webdevtodayjason in https://github.com/storytold/photocraft/pull/4633\n* Layers panel: shape layers show a shape badge on their thumbnail (#4584) by @Higgs32584 in https://github.com/storytold/photocraft/pull/4619\n* Brushes: Photoshop's measured round tip (hardness falloff and reach) by @MrCloudy2 in https://github.com/storytold/photocraft/pull/4617\n* Gradient options bar: the swatch covers its checkerboard at half-pixel offsets by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4616\n* Layers panel menus: highlight the item a press-drag is over (#4601) by @itsF4LCON in https://github.com/storytold/photocraft/pull/4607\n* Fill keys: Alt/Cmd+Backspace recolour the text of a type layer by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4606\n* Layers: right-clicking a layer-mask thumbnail opens the mask menu by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4605\n* Background Eraser: one pass clears the whole stroke by @itrycodinganditsbad in https://github.com/storytold/photocraft/pull/4552\n* fix(engine): a pasted smart object keeps its PSD-embedded linked source (#3584) by @dottedt in https://github.com/storytold/photocraft/pull/3608\n* CMYK: Invert, Posterize and Threshold on the inks; 16-bit Lab Invert keeps greys neutral by @timothydaly1 in https://github.com/storytold/photocraft/pull/3930\n* fix(ui): click and hold on a toolbar button selects its tool (#4453) by @mjohnson7cd in https://github.com/storytold/photocraft/pull/4544\n* OpenRaster: never overwrite an .ora with less than the document has (#3806) by @timothydaly1 in https://github.com/storytold/photocraft/pull/3881\n* fix(ui): floating panel groups get an opaque title strip in Studio themes (#4509) by @mjohnson7cd in https://github.com/storytold/photocraft/pull/4543\n* Fix main: duplicate Japanese rows and missing Serbian mask strings by @echelon in https://github.com/storytold/photocraft/pull/4793\n* fix(text): preserve hyphenated PSD font identity on reopen by @zenjabba in https://github.com/storytold/photocraft/pull/3878\n* feat(gpu): composite Blend If on the GPU (#4395) by @FinnNk in https://github.com/storytold/photocraft/pull/4541\n* Pen: a close-path pointer over the first anchor (#4596) by @itsF4LCON in https://github.com/storytold/photocraft/pull/4612\n* Color: Dot Gain 20%-compatible default working gray, as in Photoshop by @MrCloudy2 in https://github.com/storytold/photocraft/pull/4610\n* perf(engine): Edit › Copy shares whole tiles instead of rebuilding them (#4516) by @FinnNk in https://github.com/storytold/photocraft/pull/4621\n* Select › Sky: a white or grey backdrop that reaches the bottom is not sky by @switch87 in https://github.com/storytold/photocraft/pull/4638\n* Properties: Align and Distribute with the Background in a multiple selection (#4608) by @itsF4LCON in https://github.com/storytold/photocraft/pull/4637\n* Layers: Add vector mask makes the mask from the selected path and targets it by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4740\n* Handle signed coordinate limits in the Offset filter by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/4738\n* perf(ui): Duotone and live-adjust display documents are built once per snapshot (#4527) by @FinnNk in https://github.com/storytold/photocraft/pull/4736\n* Layers panel: clicking a row's lock icon unlocks the layer by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4734\n* perf(raster): mode and depth conversion keep shared tiles shared (#4531) by @FinnNk in https://github.com/storytold/photocraft/pull/4725\n* feat(ui): bidirectional hover highlighting between Layers panel and canvas by @safvanedge in https://github.com/storytold/photocraft/pull/4719\n* Filters: ⌘Z steps the open dialog's settings instead of the document by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4715\n* Keep close gradient stops on the CPU by @vbasky in https://github.com/storytold/photocraft/pull/4712\n* perf(camera-raw): convert both previews in parallel bands (#4682) by @nicolasfalesy in https://github.com/storytold/photocraft/pull/4757\n* perf(algo): filters read the selection once per tile when mixing it back (#4533) by @FinnNk in https://github.com/storytold/photocraft/pull/4754\n* fix(batch): skip recorded Quick Export steps when writing batch output by @Ni-zav in https://github.com/storytold/photocraft/pull/4747\n* fix(type): preserve keyboard focus when searching for fonts by @Ni-zav in https://github.com/storytold/photocraft/pull/4745\n* feat(export): offer ICO in Export As with dimension validation by @Ni-zav in https://github.com/storytold/photocraft/pull/4744\n* Fix print fuzzing and Windows crop GPU test fixtures by @Skyfuller1303 in https://github.com/storytold/photocraft/pull/4726\n* feat(print): Printer menu lists the system's printers (file.printers) by @isaiahoadeoye-star in https://github.com/storytold/photocraft/pull/4748\n* i18n(pt-br): fix 12 Brazilian Portuguese strings by @s17sh70x2jfl031ag in https://github.com/storytold/photocraft/pull/4796\n* feat(new-document): add ISO B3 and B4 print presets by @Ni-zav in https://github.com/storytold/photocraft/pull/4784\n* i18n(ru): fix counted status agreement and font weight labels by @VanTan666 in https://github.com/storytold/photocraft/pull/4787\n* fix(input): support precision trackpad pinch zoom on Linux by @Ni-zav in https://github.com/storytold/photocraft/pull/4786\n* Brush Settings: disable minimum inputs when Control is Off by @augrclk in https://github.com/storytold/photocraft/pull/4775\n* Brush: the Mode dropdown shows in every theme, not only Pro by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4537\n* Channels: Channel Options dialog to make alpha channels spot colours (#3761) by @bommerts in https://github.com/storytold/photocraft/pull/3784\n* fix(macos): default generated droplets to a user directory by @Ni-zav in https://github.com/storytold/photocraft/pull/4746\n* fix(clipboard): paste JPEG, BMP and other non-PNG images on Wayland (#2546) by @nicolasfalesy in https://github.com/storytold/photocraft/pull/4752\n* fix(format): contain directory-bundle symlinks without slow autosaves by @shmuelbiller1 in https://github.com/storytold/photocraft/pull/3942\n* Scorecard: Smart Object corner skew and perspective is done (FILE-215-6, #426) by @FabioLissi in https://github.com/storytold/photocraft/pull/5094\n* docs: credit Ufuk Efe in people.toml (#3809) by @yeniufuklar-com in https://github.com/storytold/photocraft/pull/5056\n* Save for Web: JPEG chroma is full (4:4:4) above quality 50, as in Photoshop by @switch87 in https://github.com/storytold/photocraft/pull/4823\n* Flat export: a Lab document with one layer isn't reported as flattened by @switch87 in https://github.com/storytold/photocraft/pull/4853\n* TIFF: save uncompressed by default, like Photoshop by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4491\n* fix(segment): stop push/relabel looping forever on unreachable nodes by @LloydNicholson in https://github.com/storytold/photocraft/pull/4869\n* PSD: a version 3 Photo Filter colour is XYZ relative to the D50 white (#4940) by @mroxso in https://github.com/storytold/photocraft/pull/4987\n* Validate merged PSD channel indices before decoding by @Ni-zav in https://github.com/storytold/photocraft/pull/4994\n* fix(psd): reserve imported layer IDs when allocating section dividers by @Ni-zav in https://github.com/storytold/photocraft/pull/4885\n* fix(canvas): open small images at 100%, not at the display scale by @jyrkive in https://github.com/storytold/photocraft/pull/5089\n* Brush Settings: no section title above the options pane (#3477) by @Higgs32584 in https://github.com/storytold/photocraft/pull/5017\n* Save: a name without an extension gets the suggested one (#5039) by @mroxso in https://github.com/storytold/photocraft/pull/5049\n* A file dropped on the canvas applies the open Free Transform and is placed at once by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4849\n* fix(ui): an open Free Transform box takes Zoom tool drags and clicks by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4808\n* Shapes: test that the options bar Fill swatch recolours the shape just drawn (#3997) by @itsF4LCON in https://github.com/storytold/photocraft/pull/4510\n* Alerts: Enter is OK, but not the Enter that raised the alert (#4872) by @itsF4LCON in https://github.com/storytold/photocraft/pull/4880\n* Toolbar: clicking a tool's button again closes its open flyout (#4932) by @dhiorns15 in https://github.com/storytold/photocraft/pull/4937\n* Themes: default light theme to Pro Light to preserve the Pro layout (#5016) by @Sir-Starch in https://github.com/storytold/photocraft/pull/5029\n* i18n(ru): translate dynamic selection, theme and measurement labels by @VanTan666 in https://github.com/storytold/photocraft/pull/4838\n* Smart Filters: Delete removes the selected filter, not its smart object by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4764\n* Canvas: the CPU canvas shows crisp pixels when zoomed in by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4825\n* Layer Style applies an open Free Transform first, so its preview shows by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4835\n* fix(gradient): options-bar Opacity updates the live gradient layer (#5012) by @alonfaraj in https://github.com/storytold/photocraft/pull/5045\n* Fix: native gesture fallback dedupe by @Ni-zav in https://github.com/storytold/photocraft/pull/5080\n* Keep applied guide layouts visible after preview closes by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/5084\n* Type options: the wheel over the font menu steps through the families (#3350) by @vangel76 in https://github.com/storytold/photocraft/pull/3524\n* Navigator: one zoom row as in Photoshop: the percentage, Zoom Out, the slider and Zoom In (#4840) by @itsF4LCON in https://github.com/storytold/photocraft/pull/4854\n* fix(ui): display uppercase hex values in the color picker by @Ni-zav in https://github.com/storytold/photocraft/pull/4859\n* Pen: a new path joins the selected path instead of replacing the Work Path (#4721) by @itsF4LCON in https://github.com/storytold/photocraft/pull/4730\n* Brush import: Dual Brush spacing comes from its tip (#4809) by @dhiorns15 in https://github.com/storytold/photocraft/pull/4889\n* Fix Color Balance Preserve Luminosity with multiple midtone sliders by @Ni-zav in https://github.com/storytold/photocraft/pull/4990\n* PNG: a whole-ppi pHYs reads back whole (300 ppi stays 300) by @switch87 in https://github.com/storytold/photocraft/pull/4857\n* io: a tagged CMYK file's merged image reads through its own profile by @timothydaly1 in https://github.com/storytold/photocraft/pull/4948\n* perf(raster): moving a layer no longer stores tiles of only the default pixel by @deadmeu in https://github.com/storytold/photocraft/pull/4844\n* perf(gpu): closing a document frees what the compositor holds for it (#4529) by @FinnNk in https://github.com/storytold/photocraft/pull/4772\n* Direct Selection: arrow keys nudge the selected anchors by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4500\n* Brushes: preset card size numbers stay clear of the tips (#4454) by @dhiorns15 in https://github.com/storytold/photocraft/pull/4485\n* Shortcuts: ⌥⇧⌘N makes a new layer without the dialog (#4794) by @dhiorns15 in https://github.com/storytold/photocraft/pull/4807\n* Brush Settings: use an amount slider for Hue Jitter by @augrclk in https://github.com/storytold/photocraft/pull/4874\n* Keep custom title bar draggable while dialogs are open by @imSlicedBread in https://github.com/storytold/photocraft/pull/4913\n* Assign Profile: list only profiles of the document's colour mode (#4951) by @Higgs32584 in https://github.com/storytold/photocraft/pull/5020\n* Symmetry: Transform Symmetry gets commit/cancel buttons and its own cursors (#4495) by @dhiorns15 in https://github.com/storytold/photocraft/pull/4508\n* Layers: Ctrl+Alt+G releases the clipping mask when pressed again, as in Photoshop by @OctaNebula in https://github.com/storytold/photocraft/pull/4927\n* UI fonts: draw a variable CJK fallback at Regular, not Thin (#4820) by @dhiorns15 in https://github.com/storytold/photocraft/pull/4830\n* Smart Filters: drag a filter up or down its stack to reorder it by @abc2cb in https://github.com/storytold/photocraft/pull/4897\n* New Document: a custom background colour, from Custom… or the swatch beside the menu (#4789) by @itsF4LCON in https://github.com/storytold/photocraft/pull/4801\n* Polygonal Lasso: drop the polygon on a document switch by @avdyliisni9-png in https://github.com/storytold/photocraft/pull/5015\n* fix(ui): Match Color's preview reads the Source document (#4851) by @kavishkashehan726-sudo in https://github.com/storytold/photocraft/pull/4886\n* Control: list and answer the unsaved-changes prompt (#4920) by @dhiorns15 in https://github.com/storytold/photocraft/pull/4924\n* fix(ui): show a magnifier cursor for the Zoom tool on Windows (#3735) by @bommerts in https://github.com/storytold/photocraft/pull/3783\n* Preset panels: the footer stays in view in a short dock group (#4790) by @dhiorns15 in https://github.com/storytold/photocraft/pull/4824\n* perf(ui): the Navigator draws the GPU canvas's texture instead of a CPU thumbnail (#4518) by @FinnNk in https://github.com/storytold/photocraft/pull/4701\n* Filters: Photoshop's Blur More kernel, Find Edges strength and Polar Coordinates direction by @MrCloudy2 in https://github.com/storytold/photocraft/pull/4652\n* perf(compose): the shape stroke split cache keeps to a byte budget and empties on Purge (#4530) by @FinnNk in https://github.com/storytold/photocraft/pull/4774\n* fix(gpu): invalidate pattern cache for default and format changes by @haranishi in https://github.com/storytold/photocraft/pull/5013\n* Text: binary-search the run lookup and probe smcp once per layout (#4430) by @vangel76 in https://github.com/storytold/photocraft/pull/4432\n* Palette PNGs open in Indexed Color mode with their colour table by @marcoarnulfo in https://github.com/storytold/photocraft/pull/4817\n* fix(compose): redraw shapes crossing canvas bounds and include vector bounds in damage (#3946) by @seotarek in https://github.com/storytold/photocraft/pull/4493\n* Distort: a quad dragged past the horizon draws only its front side, in the preview and the result (#4863) by @itsF4LCON in https://github.com/storytold/photocraft/pull/4870\n* Select › Color Range: Skin Tones by @switch87 in https://github.com/storytold/photocraft/pull/4473\n* Give Image Statistics a source-file dialog and stack mode selector by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/4778\n* Pen: Ctrl/Cmd edits the path being drawn in place (#4022) by @bazmarth in https://github.com/storytold/photocraft/pull/4526\n* Fix Export As freeze on large layered PSDs by @StopCodeToTrain in https://github.com/storytold/photocraft/pull/5104\n* Preferences › Interface: Photoshop's Appearance / Presentation / Options layout (#2532) by @davidmann4 in https://github.com/storytold/photocraft/pull/2589\n* Web: show the brush preset storage banner only while a change is unsaved by @kuvshin888 in https://github.com/storytold/photocraft/pull/4918\n* Curves: points outside 0..255 are refused, as the message says by @switch87 in https://github.com/storytold/photocraft/pull/4868\n* Clip Fill source reads to the canvas before allocating by @vbasky in https://github.com/storytold/photocraft/pull/4590\n* Report allocation failures when clearing a color channel by @vbasky in https://github.com/storytold/photocraft/pull/4589\n* Channels: keep the cached composite across view-only changes by @persi-man in https://github.com/storytold/photocraft/pull/4915\n* info: adjustment layers are reported with the params their command takes by @switch87 in https://github.com/storytold/photocraft/pull/4871\n* Preserve the document when Fade cannot allocate pixel buffers by @vbasky in https://github.com/storytold/photocraft/pull/4593\n* feat(select): preserve existing mask metadata and allow explicit target in refineEdge by @seotarek in https://github.com/storytold/photocraft/pull/4499\n* perf(paint): sampled tips share their samples, so cloning brush settings is cheap (#4534) by @FinnNk in https://github.com/storytold/photocraft/pull/4798\n* fix(gpu): require consent to persist CPU recovery by @Ni-zav in https://github.com/storytold/photocraft/pull/3539\n* Smart Objects › Export Contents: another extension exports the contents in that format by @switch87 in https://github.com/storytold/photocraft/pull/4847\n* fix(window): reopen at the saved window position instead of re-centri… by @kavishkashehan726-sudo in https://github.com/storytold/photocraft/pull/4850\n* Count document patterns in history budgets by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/5105\n* info: a smart object embedded in a PSD is reported as embedded by @switch87 in https://github.com/storytold/photocraft/pull/4843\n* Layer locks: locking the pixels clears the transparency lock, as in Photoshop (#4892) by @itsF4LCON in https://github.com/storytold/photocraft/pull/4898\n* Swatches: importing an .ase file numbers repeated group names in linear time by @dotCooCoo in https://github.com/storytold/photocraft/pull/5087\n* Layers: Cmd/Ctrl-click New Layer adds the layer below the current one by @seanhellwig in https://github.com/storytold/photocraft/pull/4475\n* Docs: document the engine.commands reply shape (#3684) by @davidmann4 in https://github.com/storytold/photocraft/pull/3750\n* perf(engine): lasso and polygon selections rasterise only the rows they span (#4532) by @FinnNk in https://github.com/storytold/photocraft/pull/4773\n* Replace Color: Localized Color Clusters (points, localized, range) by @switch87 in https://github.com/storytold/photocraft/pull/4477\n* perf: encode and quantize canvas pixels in parallel (display_color, Buffer::to_rgba8) by @nicolasfalesy in https://github.com/storytold/photocraft/pull/4768\n* Puppet Warp: a linked layer mask moves with the pixels (#4910) by @DeWarePeb in https://github.com/storytold/photocraft/pull/4989\n* fix(type): missing-font checks follow layout's PostScript resolution; split hyphenless style suffixes by @kijoong-kim in https://github.com/storytold/photocraft/pull/608\n* Layer: Duplicate Layer to a new document, as in Photoshop by @abdul-karim-mia in https://github.com/storytold/photocraft/pull/4805\n* History: jump to a state in one step (history.selectState) (#2966) by @davidmann4 in https://github.com/storytold/photocraft/pull/3533\n* Wrap Clone Stamp strokes and sampling in Pattern Preview by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/4997\n* Brush: remember the last selected brush across restarts (split from #2516) by @siraxe in https://github.com/storytold/photocraft/pull/3472\n* Large document: full CPU canvas redraws run in the background, visible part first (#4024) by @ianswope in https://github.com/storytold/photocraft/pull/5001\n* PSD: Backgrounds survive a round trip through PhotoCraft by @MrCloudy2 in https://github.com/storytold/photocraft/pull/3560\n* fix(psd): prioritize 16-bit and 32-bit global layer blocks over compatibility section (#4928) by @Sir-Starch in https://github.com/storytold/photocraft/pull/4950\n* fix(segment): let Remove Background's cancel stop Select Subject's min cuts by @LloydNicholson in https://github.com/storytold/photocraft/pull/4878\n* Speed up Blur/Sharpen convolution while preserving exact output by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/4511\n* Add filename templates to Batch export by @jonathanwxh-cell in https://github.com/storytold/photocraft/pull/4466\n* Profile prompts on open: one file at a time, before it opens, and the answer goes to that file by @kayrockscreenprinting in https://github.com/storytold/photocraft/pull/3471\n* Blur Gallery: Field Blur pins on the image (#3373) by @timothydaly1 in https://github.com/storytold/photocraft/pull/3801\n* i18n(de): translate the labels that were still English (344 entries) and fix three display bugs by @DomiLuebben in https://github.com/storytold/photocraft/pull/4008\n* Auto-Blend Stack Images: a depth map by depth from focus, for Lens Blur by @ragtux in https://github.com/storytold/photocraft/pull/2073\n* PSD: parallel RLE for the merged image; layer channels decode and gather on all cores by @Elvis33LE in https://github.com/storytold/photocraft/pull/2754\n* Speed up large-radius Unsharp Mask with guarded FFT convolution by @optimalbytee in https://github.com/storytold/photocraft/pull/2987\n* Decode Panasonic RW2 RawFormat 3/4 (vendor-compressed sensor data) by @Gotya-OFFCIAL in https://github.com/storytold/photocraft/pull/3286\n* Rulers: drag the zero point from the ruler corner, double-click resets it (#2955) by @davidmann4 in https://github.com/storytold/photocraft/pull/3505\n* TIFF: write and read EXIF as the file's own Exif and GPS directories by @switch87 in https://github.com/storytold/photocraft/pull/4876\n* fix(gpu): contain errors in unwatched compositor work by @haranishi in https://github.com/storytold/photocraft/pull/4894\n* Deep EXR: open cropped renders on their full display-window stage by @Elvis33LE in https://github.com/storytold/photocraft/pull/4907\n* Stroke layer effect: the outer edge stays round at wide sizes (#3646) by @dottedt in https://github.com/storytold/photocraft/pull/3650\n* Stroke latency trace: PHOTOCRAFT_STROKE_TRACE times each frame of a brush stroke (#1343) by @tanish2k09 in https://github.com/storytold/photocraft/pull/4403\n* Share native Windows driver settings and RGB printing through craft-print by @skylartaylor in https://github.com/storytold/photocraft/pull/4599\n* Print on Windows: printer list, driver Print Settings, GDI printing by @Moiztermind in https://github.com/storytold/photocraft/pull/3013\n* docs: write product name as PhotoCraft in development guide by @wwewtech in https://github.com/storytold/photocraft/pull/5228\n* docs: drop stale missing-tool rows, only Art History Brush is missing by @LorenzoFasolino in https://github.com/storytold/photocraft/pull/5063\n* Docs: oracle floor, open issues, workspace size and layer filters match main (#5376) by @Higgs32584 in https://github.com/storytold/photocraft/pull/5382\n* PSD import: ResolutionInfo is pixels per inch whatever the display unit by @Zer0C00L01 in https://github.com/storytold/photocraft/pull/5280\n* fix(prefs): preserve selected themes during legacy migration by @VanTan666 in https://github.com/storytold/photocraft/pull/5179\n* Color Range presets: weigh dark colours like Photoshop (#5243) by @switch87 in https://github.com/storytold/photocraft/pull/5293\n* Reject clipboard origins that cannot form a new document by @vbasky in https://github.com/storytold/photocraft/pull/4586\n* Return channel copy allocation errors while keeping the clipboard by @vbasky in https://github.com/storytold/photocraft/pull/4587\n* Check selection modification limits before reading the canvas mask by @vbasky in https://github.com/storytold/photocraft/pull/4591\n* Background: an opacity, fill, blend mode or Select and Mask layer mask makes it Layer 0 by @switch87 in https://github.com/storytold/photocraft/pull/4837\n* Fibers: fill an empty layer, as Photoshop does (#5241) by @switch87 in https://github.com/storytold/photocraft/pull/5289\n* Object Selection: say so when the sampled layer is empty (#5246) by @switch87 in https://github.com/storytold/photocraft/pull/5298\n* layer.setProps: refuse opacity and fill outside 0..1 (#5242) by @switch87 in https://github.com/storytold/photocraft/pull/5291\n* test(engine): add Color Range fuzziness 0 exact-match test (TOOL-214-3) by @nicolasfalesy in https://github.com/storytold/photocraft/pull/3581\n* panic_hunt: count panics that Session::execute contains (#4982) by @prekabreki in https://github.com/storytold/photocraft/pull/5219\n* Drop shadow: knocked out beneath the whole shape when the layer's mode blends with it by @Deeev201 in https://github.com/storytold/photocraft/pull/5304\n* Layer masks: Reveal Selection drops the selection, as Photoshop does by @abc2cb in https://github.com/storytold/photocraft/pull/5251\n* PSD: Mt16/Mt32 blocks mark the merged image's transparency (no spurious Transparency channel) by @timothydaly1 in https://github.com/storytold/photocraft/pull/5178\n* IO: ABR fit and gradient bake check their own bounds (io audit S1) by @vangel76 in https://github.com/storytold/photocraft/pull/5218\n* Tests: bad-layer-id checks use an id that can't exist (#3343) by @vangel76 in https://github.com/storytold/photocraft/pull/3351\n* fix(format): keep and list committed autosave bundles whose sidecar was never written (#4967) by @MarekSpodBiedry in https://github.com/storytold/photocraft/pull/5076\n\n## New Contributors\n* @cloudalister made their first contribution in https://github.com/storytold/photocraft/pull/3990\n* @FabioLissi made their first contribution in https://github.com/storytold/photocraft/pull/4434\n* @marcoarnulfo made their first contribution in https://github.com/storytold/photocraft/pull/4079\n* @aweussom made their first contribution in https://github.com/storytold/photocraft/pull/4396\n* @Furash made their first contribution in https://github.com/storytold/photocraft/pull/4105\n* @augrclk made their first contribution in https://github.com/storytold/photocraft/pull/4463\n* @lucAmbr0 made their first contribution in https://github.com/storytold/photocraft/pull/4290\n* @przemyslvw made their first contribution in https://github.com/storytold/photocraft/pull/4104\n* @Hevarh1 made their first contribution in https://github.com/storytold/photocraft/pull/4224\n* @dotCooCoo made their first contribution in https://github.com/storytold/photocraft/pull/4054\n* @syncroot made their first contribution in https://github.com/storytold/photocraft/pull/4062\n* @TheDankness made their first contribution in https://github.com/storytold/photocraft/pull/4129\n* @xtellarvoid made their first contribution in https://github.com/storytold/photocraft/pull/4337\n* @persi-man made their first contribution in https://github.com/storytold/photocraft/pull/4314\n* @deadmeu made their first contribution in https://github.com/storytold/photocraft/pull/4217\n* @megaDon101 made their first contribution in https://github.com/storytold/photocraft/pull/4447\n* @bazmarth made their first contribution in https://github.com/storytold/photocraft/pull/4540\n* @RavoxX made their first contribution in https://github.com/storytold/photocraft/pull/4194\n* @Minischatten made their first contribution in https://github.com/storytold/photocraft/pull/4261\n* @Dejan-Port made their first contribution in https://github.com/storytold/photocraft/pull/4436\n* @sssehnsuchttt made their first contribution in https://github.com/storytold/photocraft/pull/4439\n* @zuujiscom made their first contribution in https://github.com/storytold/photocraft/pull/4704\n* @rgoza1996 made their first contribution in https://github.com/storytold/photocraft/pull/4632\n* @AvrazAkraye made their first contribution in https://github.com/storytold/photocraft/pull/3936\n* @VegaEX made their first contribution in https://github.com/storytold/photocraft/pull/4698\n* @webdevtodayjason made their first contribution in https://github.com/storytold/photocraft/pull/4633\n* @Higgs32584 made their first contribution in https://github.com/storytold/photocraft/pull/4619\n* @safvanedge made their first contribution in https://github.com/storytold/photocraft/pull/4719\n* @isaiahoadeoye-star made their first contribution in https://github.com/storytold/photocraft/pull/4748\n* @VanTan666 made their first contribution in https://github.com/storytold/photocraft/pull/4787\n* @jyrkive made their first contribution in https://github.com/storytold/photocraft/pull/5089\n* @OctaNebula made their first contribution in https://github.com/storytold/photocraft/pull/4927\n* @avdyliisni9-png made their first contribution in https://github.com/storytold/photocraft/pull/5015\n* @haranishi made their first contribution in https://github.com/storytold/photocraft/pull/5013\n* @StopCodeToTrain made their first contribution in https://github.com/storytold/photocraft/pull/5104\n* @seanhellwig made their first contribution in https://github.com/storytold/photocraft/pull/4475\n* @DeWarePeb made their first contribution in https://github.com/storytold/photocraft/pull/4989\n* @abdul-karim-mia made their first contribution in https://github.com/storytold/photocraft/pull/4805\n* @wwewtech made their first contribution in https://github.com/storytold/photocraft/pull/5228\n* @LorenzoFasolino made their first contribution in https://github.com/storytold/photocraft/pull/5063\n* @Zer0C00L01 made their first contribution in https://github.com/storytold/photocraft/pull/5280\n* @Deeev201 made their first contribution in https://github.com/storytold/photocraft/pull/5304\n\n**Full Changelog**: https://github.com/storytold/photocraft/compare/v0.8.2...v0.9.0","assets":[{"name":"photocraft-0.9.0-freebsd-x86_64.tar.gz","size_bytes":81007172,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-freebsd-x86_64.tar.gz","sha256":"af1693d7c90550b30a85aa9417eeaea4c7a40c90246ab583f8aa47b1e98977a0","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"photocraft-0.9.0-linux-aarch64.AppImage","size_bytes":73615880,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-linux-aarch64.AppImage","sha256":"2752b5097e2788cc1ab0c7b410657b1eab790bcc3b576f8749de707282dba9e3","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"photocraft-0.9.0-linux-aarch64.AppImage.zsync","size_bytes":251871,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-linux-aarch64.AppImage.zsync","sha256":"31dbbc5247b1c298ae902df43c03bd54426e284b30b7e5a3c3acdd6718833045","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"photocraft-0.9.0-linux-aarch64.deb","size_bytes":79466474,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-linux-aarch64.deb","sha256":"dcf8e473124729d38120a5775be08151d13ff0e5125f33d6533110c780b45314","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"photocraft-0.9.0-linux-aarch64.flatpak","size_bytes":56541728,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-linux-aarch64.flatpak","sha256":"df11591dbc49b946886e0d0abc873f491df2e6c3f23bade9e98395dd8507a69a","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"photocraft-0.9.0-linux-aarch64.rpm","size_bytes":78767925,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-linux-aarch64.rpm","sha256":"670865e0178da8fd151c977544d658cbfcb9e03a9325e007b31ff0b9d576d4f3","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"photocraft-0.9.0-linux-aarch64.tar.gz","size_bytes":77231227,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-linux-aarch64.tar.gz","sha256":"c956084444653142dd25274cff08dbc17e8bf99815380db7f64eec026e882fc7","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"photocraft-0.9.0-linux-riscv64.deb","size_bytes":80375700,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-linux-riscv64.deb","sha256":"1d0f2f4cb2ac7f316388caf8968006abf5fa2677736c44b7ddccfa3950f1ea36","platform":null},{"name":"photocraft-0.9.0-linux-riscv64.rpm","size_bytes":80055607,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-linux-riscv64.rpm","sha256":"ac00b70d329a873af2eb24528c400b77eec74a02afb908e777f842d88ac49a0f","platform":null},{"name":"photocraft-0.9.0-linux-riscv64.tar.gz","size_bytes":79291057,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-linux-riscv64.tar.gz","sha256":"15fd29f40f8622e5c18ae31ceaf180cef8cc2e3b6ac1e37907d42967d534e22d","platform":null},{"name":"photocraft-0.9.0-linux-x86_64.AppImage","size_bytes":77478392,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-linux-x86_64.AppImage","sha256":"483a9a79200e0c0864bb54cf3faa6a55e2b79c1433dacfcb153d3862e78f32bc","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"photocraft-0.9.0-linux-x86_64.AppImage.zsync","size_bytes":265071,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-linux-x86_64.AppImage.zsync","sha256":"7680df5f08a2628ee104aaf7a29c9c46583e0cb475c8bce0ad2dfb41472dfa6e","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"photocraft-0.9.0-linux-x86_64.deb","size_bytes":82784576,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-linux-x86_64.deb","sha256":"18598fd17711b2618396c859426ef3e8ed7902f0d99c5e8c0657847ebfc740df","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"photocraft-0.9.0-linux-x86_64.flatpak","size_bytes":61114608,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-linux-x86_64.flatpak","sha256":"3d3a6cdde84bf39d190545228344e1dc334080949cda32d53de7baeb5f387175","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"photocraft-0.9.0-linux-x86_64.rpm","size_bytes":82233240,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-linux-x86_64.rpm","sha256":"9803aa3a4c5a57733f843809034bffbbd7deb5776c0b6638a44782c0872c9446","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"photocraft-0.9.0-linux-x86_64.tar.gz","size_bytes":81541649,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-linux-x86_64.tar.gz","sha256":"91300c1485ad710839604b085531c90e77ac7ebdb2a30259309ad74afcfdb90d","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"photocraft-0.9.0-macos-universal.dmg","size_bytes":90386785,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-macos-universal.dmg","sha256":"06503eb1c845990e99f8824831cc73b274e2b1dbe4461eb6460dfc9a6008239d","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"photocraft-0.9.0-windows-arm64-portable.zip","size_bytes":78587831,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-windows-arm64-portable.zip","sha256":"2c26983c9acbb3b3197c71a21ca55842cb322937c520ec299613846ae6fe040e","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"photocraft-0.9.0-windows-arm64.msi","size_bytes":64647168,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-windows-arm64.msi","sha256":"98f005f4de27d2412b69cb6866f9c31ac252ea60a951a579ce26696113a75098","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"photocraft-0.9.0-windows-x64-portable.zip","size_bytes":83169235,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-windows-x64-portable.zip","sha256":"e87bbe26f84d3c359765b61d128b9cc59f016a995956fe7909b328a97650fc97","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"photocraft-0.9.0-windows-x64.msi","size_bytes":69443584,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-windows-x64.msi","sha256":"785c81a5fc78c9b683b0f9e6653c38f95b306a38303f60b391670a9e1ac590d4","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"photocraft-0.9.0-windows-x86-portable.zip","size_bytes":79169347,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-windows-x86-portable.zip","sha256":"184dc700d4a1bc923e854882f18c4bbeb76be3358c48490d641c85779d75d72a","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"photocraft-0.9.0-windows-x86.msi","size_bytes":67239936,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-0.9.0-windows-x86.msi","sha256":"226892dbc266cea6d338081ec5683de7d5520411fa0da7124225239c4321eca4","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"photocraft-cli-0.9.0-macos-universal.zip","size_bytes":67890072,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-cli-0.9.0-macos-universal.zip","sha256":"eaa662e0eef8f1aa27fa7c4aebdc242f6e2834f1eef62eb2589ddadede128982","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"photocraft-web-0.9.0.zip","size_bytes":11467035,"download_url":"https://github.com/storytold/photocraft/releases/download/v0.9.0/photocraft-web-0.9.0.zip","sha256":"b3fa5ab6a9d32bc5ff7dfdde31939a2337471a196a2e70f1ff961a61b1bb02e6","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.9.0/SHA256SUMS.txt","sha256":"2703d9d6eac10659bc3538918296f5a5e67fc3a6a72e78205651640b7ca0f20c","platform":null}]},"app_last_fetched":"2026-10-15T15:40:41.668271564Z"},"soundcraft":{"name":"SoundCraft","repo":"storytold/soundcraft","latest_release":{"tag":"v0.7.0","version":"0.7.0","name":"SoundCraft v0.7.0","published_at":"2026-10-14T16:16:07Z","html_url":"https://github.com/storytold/soundcraft/releases/tag/v0.7.0","prerelease":false,"notes_markdown":"## What's Changed\n* fix(dsp): a huge finite sample rate is no pitch, not an overflow (#241) by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/269\n* fix(track): vca: null clears a VCA assignment, as documented (#237) by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/270\n* fix(control): apply the engine.commands filter to UI commands (#255) by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/271\n* fix(window): keep the MIDI Editor open on Bring to Front (#254) by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/272\n* fix(midi-editor): a selected video clip is not a MIDI target (#258) by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/275\n* fix(video-universe): filmstrip thumbnails use the clip's own movie time (#225) by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/276\n* fix(window): Hide All Floating Windows also hides Automation (#253) by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/277\n* fix(edit-window): Pencil clicks on plugin lanes use the plugin's range (#224) by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/278\n* fix(midi-editor): Quantize snaps to the grid the editor shows (#226) by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/279\n* fix(eq): switches and choices redesign the filter on a running EQ (#239) by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/280\n* fix(video): H.264 parameter sets check their arithmetic before range checks (#251, #252) by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/281\n* fix(markers): markers.edit applies the documented name (#236) by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/283\n* fix(clip): Elastic Properties stretches the clip by the requested ratio (#227) by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/284\n* fix(dsp): pitch_shift reaches ±48 semitones (#243) by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/285\n* fix(dsp): chorus and flanger tails follow their feedback (#242) by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/286\n* fix(midi-editor): Backspace in a text field leaves the selected notes alone (#223) by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/287\n* fix(edit): cut clip gain keeps the removed gain for paste (#230) by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/288\n* fix(edit): trims stop at the neighbouring clips instead of overlapping them (#228, #229) by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/292\n* Apply the Feet+Frames reference to counters and typed positions by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/294\n* fix(mix): pan automation reads the same in playback and bounce by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/295\n* docs: fix grammar issue in README.md by @lunar-me in https://github.com/storytold/soundcraft/pull/311\n* docs: fix grammar issue in docs/target-app-parity.md by @lunar-me in https://github.com/storytold/soundcraft/pull/312\n* docs: fix grammar issue in docs/target-app-parity.md by @lunar-me in https://github.com/storytold/soundcraft/pull/313\n* fix(ui): horizontally scroll the Edit toolbar by @TheMojoMan in https://github.com/storytold/soundcraft/pull/264\n* Open .m4b audiobook files like .m4a by @MarekSpodBiedry in https://github.com/storytold/soundcraft/pull/293\n* Add Clip › New MIDI Clip so an empty MIDI track can get a clip (#282) by @sajibsrs in https://github.com/storytold/soundcraft/pull/358\n* Keep clips in order after Trim to Selection by @webdevtodayjason in https://github.com/storytold/soundcraft/pull/379\n* Keep the clip gain line where a clip is trimmed or separated by @webdevtodayjason in https://github.com/storytold/soundcraft/pull/353\n* Keep automation thinning within its tolerance by @webdevtodayjason in https://github.com/storytold/soundcraft/pull/354\n* fix(meter): keep K-weighting stable below ~3.4 kHz sample rates by @itrycodinganditsbad in https://github.com/storytold/soundcraft/pull/386\n* Consolidate covers the whole edit selection (#164) by @itrycodinganditsbad in https://github.com/storytold/soundcraft/pull/212\n* mix: a newly adopted plugin instance replaces a matching one in its slot by @Limestudio90 in https://github.com/storytold/soundcraft/pull/327\n* Locate clears plugin and delay-compensation state by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/301\n* VST3: hand host-set parameter values to the controller before saving state by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/400\n* Make clip.loop / clip.unloop self-consistent (loop_id tag) by @Claudio911015 in https://github.com/storytold/soundcraft/pull/401\n* fix(mix): mix.insert_params rejects unknown parameter names by @mroxso in https://github.com/storytold/soundcraft/pull/342\n* fix(ui-egui): own the test palette lock for every SoundApp lifetime (#323) by @mroxso in https://github.com/storytold/soundcraft/pull/355\n* Make cargo xtask ci pass on Windows, and on Rust 1.95 by @iannitram in https://github.com/storytold/soundcraft/pull/324\n* fix(track): Clear Trim Automation removes the trim lane (#233) by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/289\n* Apply MIDI track offsets when scheduling notes by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/304\n* Compute timecode frame counts in i128 and clamp (#248) by @Silvertree2010 in https://github.com/storytold/soundcraft/pull/260\n* fix(event): Constant tempo applies only over its range (#238) by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/291\n* Restore Last Selection brings back the previous selection by @marcoarnulfo in https://github.com/storytold/soundcraft/pull/303\n* Keep later meter changes on their bars when an earlier meter is edited by @itrycodinganditsbad in https://github.com/storytold/soundcraft/pull/387\n* Saturate the bar offset for bars before 1 (#249) by @Silvertree2010 in https://github.com/storytold/soundcraft/pull/259\n* Reject invalid --rate and --bit-depth in convert (#256) by @Silvertree2010 in https://github.com/storytold/soundcraft/pull/261\n* Pro Tools keys for nudging, Grid and Nudge values, playlists and windows by @grovebit in https://github.com/storytold/soundcraft/pull/363\n* Lay out Edit window tracks and plugin slots like Pro Tools by @grovebit in https://github.com/storytold/soundcraft/pull/383\n* Send levels drag down to −∞ and don't stick; clicking one opens its Send window by @grovebit in https://github.com/storytold/soundcraft/pull/362\n* Mix window: readable fader scale in Light, stereo strips in line with mono ones by @grovebit in https://github.com/storytold/soundcraft/pull/376\n* Open, add and change plugins from the Edit window by @grovebit in https://github.com/storytold/soundcraft/pull/377\n* Silver Light theme by @grovebit in https://github.com/storytold/soundcraft/pull/381\n* Tint each Edit window track with its colour by @grovebit in https://github.com/storytold/soundcraft/pull/382\n* Fit the section names in narrow Mix strips by @grovebit in https://github.com/storytold/soundcraft/pull/397\n* Mark the Tracks panel's edge with a scroll bar by @grovebit in https://github.com/storytold/soundcraft/pull/378\n* Draw grid lines over clips in the Edit window by @grovebit in https://github.com/storytold/soundcraft/pull/359\n* Right-click a track's name for the track menu, in Edit and Mix by @grovebit in https://github.com/storytold/soundcraft/pull/361\n* Keep shortcuts working after Tab by @grovebit in https://github.com/storytold/soundcraft/pull/389\n* Refuse renders too long to finish instead of cutting the audio short by @grovebit in https://github.com/storytold/soundcraft/pull/326\n* Stop allocating and freeing memory on the audio thread by @grovebit in https://github.com/storytold/soundcraft/pull/210\n* Reorder tracks by dragging them in the Tracks list by @grovebit in https://github.com/storytold/soundcraft/pull/297\n* Drag or type the tempo in the toolbar by @grovebit in https://github.com/storytold/soundcraft/pull/298\n* Rename a marker by double-clicking it in the ruler by @grovebit in https://github.com/storytold/soundcraft/pull/299\n* Automation passes replace the automation they play over, in one undo step by @grovebit in https://github.com/storytold/soundcraft/pull/308\n* Make the Zoom Preset, Waveform Zoom and Clip Rating keys work; add Commands Focus 1–5 and N by @grovebit in https://github.com/storytold/soundcraft/pull/320\n* Say at the Record button why Record did nothing by @grovebit in https://github.com/storytold/soundcraft/pull/329\n* Add tracks from the Tracks list and the empty space below the tracks by @grovebit in https://github.com/storytold/soundcraft/pull/330\n* Refuse corrupt audio files instead of crashing by @grovebit in https://github.com/storytold/soundcraft/pull/331\n* Stop Strip Silence deleting clips late in long selections by @grovebit in https://github.com/storytold/soundcraft/pull/333\n* MCP: confine file access with --automation-read-root and --automation-write-root by @isaac-levine in https://github.com/storytold/soundcraft/pull/309\n* Fix main: drop now-reachable commands from the reachability ratchet by @echelon in https://github.com/storytold/soundcraft/pull/406\n* Keep takes when the input, output or disk fails, or the app crashes by @grovebit in https://github.com/storytold/soundcraft/pull/368\n* Crash recovery: offer unsaved work at launch and survive UI and audio bugs by @grovebit in https://github.com/storytold/soundcraft/pull/366\n* Bounce Mix: Browse for the file, and start in the session folder by @grovebit in https://github.com/storytold/soundcraft/pull/300\n* Signal Generator fills the selection with a new clip by @grovebit in https://github.com/storytold/soundcraft/pull/328\n* control server: bound request lines and concurrent connections by @SteamSmith in https://github.com/storytold/soundcraft/pull/215\n* Draw each take in the Edit window while it records by @grovebit in https://github.com/storytold/soundcraft/pull/369\n* Waveforms like Pro Tools': exact per-pixel peaks and working view options by @grovebit in https://github.com/storytold/soundcraft/pull/364\n* Give plugins the session's tempo and transport, and play MIDI controllers by @grovebit in https://github.com/storytold/soundcraft/pull/367\n* Stream bounces to disk and keep the app responsive while bouncing by @grovebit in https://github.com/storytold/soundcraft/pull/393\n* Make the Shuffle, Slip, Spot and Grid edit modes work like Pro Tools by @grovebit in https://github.com/storytold/soundcraft/pull/365\n* Track height: resize live while dragging, Pro Tools modifiers and Ctrl+Up/Down by @grovebit in https://github.com/storytold/soundcraft/pull/384\n* Share the session with the UI instead of copying it every frame by @grovebit in https://github.com/storytold/soundcraft/pull/360\n* Zoom Toggle: E zooms in on the edit selection and back out, as in Pro Tools by @grovebit in https://github.com/storytold/soundcraft/pull/209\n* Plugin safety: read plugin state off the audio thread, keep refused settings, contain NaN plugins by @grovebit in https://github.com/storytold/soundcraft/pull/306\n* Create MIDI clips with the Pencil, Consolidate and the MIDI Editor by @grovebit in https://github.com/storytold/soundcraft/pull/296\n* Keep corrupt sessions and imports from hanging, crashing or filling memory by @grovebit in https://github.com/storytold/soundcraft/pull/332\n* Type to search as soon as a plugin or bus menu opens by @grovebit in https://github.com/storytold/soundcraft/pull/338\n* Fix clip fade editing and add live waveform previews by @reoniazx in https://github.com/storytold/soundcraft/pull/335\n* Complete routing folder management by @Jafz2001 in https://github.com/storytold/soundcraft/pull/219\n* File › Open Recent: the last 10 sessions, newest first by @woodgrain816 in https://github.com/storytold/soundcraft/pull/390\n* Plugin editor windows on Windows (VST3 and embedded CLAP) by @Limestudio90 in https://github.com/storytold/soundcraft/pull/315\n* Sampler UI: load samples, waveform with loop points, instrument sliders by @scottcampbelldata in https://github.com/storytold/soundcraft/pull/334\n* Mix in a separate window: Edit and Mix on screen at once by @Limestudio90 in https://github.com/storytold/soundcraft/pull/322\n* Audio device settings (system, devices, rate, buffer) and opt-in ASIO by @Limestudio90 in https://github.com/storytold/soundcraft/pull/319\n* Draw faders and meters more like Pro Tools by @grovebit in https://github.com/storytold/soundcraft/pull/380\n* Require the Pencil tool to insert MIDI notes by @vbasky in https://github.com/storytold/soundcraft/pull/407\n* Double-click a MIDI clip with the Grabber to open it in the MIDI Editor by @grovebit in https://github.com/storytold/soundcraft/pull/414\n* Transient detection: find quiet and legato onsets, place them on the attack by @grovebit in https://github.com/storytold/soundcraft/pull/416\n* Tab to Transient: every selected track, Alt+Tab back, Shift+Tab extends by @grovebit in https://github.com/storytold/soundcraft/pull/415\n* Fall back to a system Hangul font so Korean names render in the UI by @Momentum96 in https://github.com/storytold/soundcraft/pull/417\n* Mix: delay compensation covers the master faders' inserts (#351) by @Silvertree2010 in https://github.com/storytold/soundcraft/pull/409\n* Mix: a bus bounce compensates the aux returns onto it (#246) by @Silvertree2010 in https://github.com/storytold/soundcraft/pull/408\n* Engine: mix.instrument takes the instrument's parameters and refuses unknown fields (#265) by @Silvertree2010 in https://github.com/storytold/soundcraft/pull/410\n* Drag across checkboxes to check or uncheck several (#399) by @mikkelkonyher in https://github.com/storytold/soundcraft/pull/413\n\n## New Contributors\n* @marcoarnulfo made their first contribution in https://github.com/storytold/soundcraft/pull/269\n* @lunar-me made their first contribution in https://github.com/storytold/soundcraft/pull/311\n* @TheMojoMan made their first contribution in https://github.com/storytold/soundcraft/pull/264\n* @sajibsrs made their first contribution in https://github.com/storytold/soundcraft/pull/358\n* @webdevtodayjason made their first contribution in https://github.com/storytold/soundcraft/pull/379\n* @Limestudio90 made their first contribution in https://github.com/storytold/soundcraft/pull/327\n* @Claudio911015 made their first contribution in https://github.com/storytold/soundcraft/pull/401\n* @mroxso made their first contribution in https://github.com/storytold/soundcraft/pull/342\n* @iannitram made their first contribution in https://github.com/storytold/soundcraft/pull/324\n* @Silvertree2010 made their first contribution in https://github.com/storytold/soundcraft/pull/260\n* @isaac-levine made their first contribution in https://github.com/storytold/soundcraft/pull/309\n* @SteamSmith made their first contribution in https://github.com/storytold/soundcraft/pull/215\n* @woodgrain816 made their first contribution in https://github.com/storytold/soundcraft/pull/390\n* @Momentum96 made their first contribution in https://github.com/storytold/soundcraft/pull/417\n* @mikkelkonyher made their first contribution in https://github.com/storytold/soundcraft/pull/413\n\n**Full Changelog**: https://github.com/storytold/soundcraft/compare/v0.6.1...v0.7.0","assets":[{"name":"SHA256SUMS.txt","size_bytes":2589,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/SHA256SUMS.txt","sha256":"7ca90f57ace264080e1ed9f9bf0042dd69825308304a678b8edf1756e3d7b7b1","platform":null},{"name":"soundcraft-0.7.0-freebsd-x86_64.tar.gz","size_bytes":16284142,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-freebsd-x86_64.tar.gz","sha256":"da81d020293b6a587c5983941a57d65851aafd68ea19bb8c7b96e332cab6395d","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"soundcraft-0.7.0-linux-aarch64.AppImage","size_bytes":14547464,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-linux-aarch64.AppImage","sha256":"49ea38572f8269cf5527d8fa7bc03cb8ba1e3d36c7a282bd626fc48f371b3646","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"soundcraft-0.7.0-linux-aarch64.AppImage.zsync","size_bytes":49977,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-linux-aarch64.AppImage.zsync","sha256":"4476f688cafe1cde24e6eeffb481ce6273093fd799b11bb626458af24f5d29ac","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"soundcraft-0.7.0-linux-aarch64.deb","size_bytes":15676018,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-linux-aarch64.deb","sha256":"d516caa580a1d32a752d985ca997db757c568e2443c2c290b208533dd4142dd7","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"soundcraft-0.7.0-linux-aarch64.flatpak","size_bytes":9809104,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-linux-aarch64.flatpak","sha256":"c164fd7dfdfa30a86ab98792cd57b94ebaf6373be8940ec3020e97e0f3db9f28","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"soundcraft-0.7.0-linux-aarch64.rpm","size_bytes":15523224,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-linux-aarch64.rpm","sha256":"91d42426344fa9f1e85e3a3381f4420f468809761e8efae88be1dc525dab2132","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"soundcraft-0.7.0-linux-aarch64.tar.gz","size_bytes":14975129,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-linux-aarch64.tar.gz","sha256":"5b5152464bd6a3ae6c48be026d80e0c4e0da58d581a45fe4b5803d6fcfbbe006","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"soundcraft-0.7.0-linux-riscv64.deb","size_bytes":15954178,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-linux-riscv64.deb","sha256":"7fd370ca6f2742cce81b50f4021d0b2cd6f2175fbe10efa62dc95f2849f4e30e","platform":null},{"name":"soundcraft-0.7.0-linux-riscv64.rpm","size_bytes":15916506,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-linux-riscv64.rpm","sha256":"c1817b07555c5d0298b82f97a9dd6b44622973924f721407cad025fcdd793da9","platform":null},{"name":"soundcraft-0.7.0-linux-riscv64.tar.gz","size_bytes":15623074,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-linux-riscv64.tar.gz","sha256":"fa2275efab636d258b4e0164e48e237f8c7d157d0fa89b90b8b6565e2370049a","platform":null},{"name":"soundcraft-0.7.0-linux-x86_64.AppImage","size_bytes":15833592,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-linux-x86_64.AppImage","sha256":"80f2fecd132b9a9c3ac2391664b0a0214169c8cc0e27be917a3704553a914d81","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"soundcraft-0.7.0-linux-x86_64.AppImage.zsync","size_bytes":54371,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-linux-x86_64.AppImage.zsync","sha256":"578555a0b37056aadb46e95bf7d7a39ac1f9897264839e63a53a84c9a9491ae1","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"soundcraft-0.7.0-linux-x86_64.deb","size_bytes":16770784,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-linux-x86_64.deb","sha256":"be53aae385772b74deff397c235342081ffbbe62f6926265ac99a85f5d07c6ab","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"soundcraft-0.7.0-linux-x86_64.flatpak","size_bytes":11284744,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-linux-x86_64.flatpak","sha256":"fd5ae3ddc65ebd27a16df7a9a483f968092382f91ad6727c6376f1bcbdee3c14","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"soundcraft-0.7.0-linux-x86_64.rpm","size_bytes":16661781,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-linux-x86_64.rpm","sha256":"9e6d7e79de13f3f19d966a3f50f48786e8313c1a205fd5ec26acca0993731446","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"soundcraft-0.7.0-linux-x86_64.tar.gz","size_bytes":16365271,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-linux-x86_64.tar.gz","sha256":"8d7afbe5fe433cb338b7ccee0820285d6ce1bfc8c006d551ca8840c27a911ab2","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"soundcraft-0.7.0-macos-universal.dmg","size_bytes":23094327,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-macos-universal.dmg","sha256":"a362eb5a4284262010f76a8ea7c838e88c3da71a796ac2600604db0d7660a464","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"soundcraft-0.7.0-windows-arm64-portable.zip","size_bytes":13669606,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-windows-arm64-portable.zip","sha256":"4c86f046a71b82b142ed17fee361f80ef08b6d029eb2d768af8ed12ae50c74db","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"soundcraft-0.7.0-windows-arm64.msi","size_bytes":10182656,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-windows-arm64.msi","sha256":"890d933225040fa7a3238e83a07eac489acd3a7229efaa8636909f110b327c3c","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"soundcraft-0.7.0-windows-x64-portable.zip","size_bytes":14963129,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-windows-x64-portable.zip","sha256":"8ef3c5fd89c5a3e797b01afdcf3398a81743f518d8978cac766cbd3665e6861d","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"soundcraft-0.7.0-windows-x64.msi","size_bytes":11431936,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-windows-x64.msi","sha256":"e103a99ddf0a846a3b756ae488425f4bafb14582b48b54698e4bd327ddf7e16a","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"soundcraft-0.7.0-windows-x86-portable.zip","size_bytes":13907111,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-windows-x86-portable.zip","sha256":"7eb91aa88b02af40623a8e81114ab26fe59b7a24b300c96812769f844d2a464a","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"soundcraft-0.7.0-windows-x86.msi","size_bytes":10985472,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-0.7.0-windows-x86.msi","sha256":"ced01219d9caa2a39c32f9c563ad2bc5104697a21cf2c4d47ba1ebc1ed8785ae","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"soundcraft-cli-0.7.0-macos-universal.zip","size_bytes":6733366,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-cli-0.7.0-macos-universal.zip","sha256":"a4272112e9ab6e489cfab1b169741f70a5fc151ce1c1b2300cd92d66fa6f9d3d","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"soundcraft-web-0.7.0.zip","size_bytes":5939077,"download_url":"https://github.com/storytold/soundcraft/releases/download/v0.7.0/soundcraft-web-0.7.0.zip","sha256":"b735de61fbdc21716977ace2649709bd307de832eda2d848f94d1868acef7c45","platform":{"os":"web","arch":null,"package_type":"web_zip"}}]},"app_last_fetched":"2026-10-15T15:40:52.803765188Z"},"vectorcraft":{"name":"VectorCraft","repo":"storytold/vectorcraft","latest_release":{"tag":"v0.11.0","version":"0.11.0","name":"VectorCraft v0.11.0","published_at":"2026-10-14T14:54:46Z","html_url":"https://github.com/storytold/vectorcraft/releases/tag/v0.11.0","prerelease":false,"notes_markdown":"## What's Changed\n* Artboards: art flush with an artboard moves with it despite a rounding error by @bflatastic in https://github.com/storytold/vectorcraft/pull/1375\n* Fonts: a character no font covered is looked for again after a font rescan by @bflatastic in https://github.com/storytold/vectorcraft/pull/1376\n* Docs: ROADMAP 2026-10-12 adds #1239–#1374 (community PRs of the day) by @bflatastic in https://github.com/storytold/vectorcraft/pull/1378\n* PDF import: a PDF saved with its editing data opens on its artboard with its bleed by @bflatastic in https://github.com/storytold/vectorcraft/pull/1379\n* Fix #1367: a dialog opened from a menu takes the keyboard focus every time by @bflatastic in https://github.com/storytold/vectorcraft/pull/1382\n* Fix #1264: placed (linked) files in a .ai file's editing data come in as linked images by @bflatastic in https://github.com/storytold/vectorcraft/pull/1381\n* .ai import: a gradient with stops in the middle runs its whole ramp (follow-up to #1264) by @bflatastic in https://github.com/storytold/vectorcraft/pull/1390\n* .ai import: type goes to its own text object across looks, hidden layers and artboards (follow-up to #1264) by @bflatastic in https://github.com/storytold/vectorcraft/pull/1391\n* .ai import: area type shows its first line in a substituted font (follow-up to #1264) by @bflatastic in https://github.com/storytold/vectorcraft/pull/1392\n* Fix #1373: --control without a valid port stops the desktop before it starts by @Nael-Nathanael in https://github.com/storytold/vectorcraft/pull/1383\n* Fix #1257: a dragged object reuses its filter and shadow rasters by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1384\n* Render: the placed art of symbol instances and inline graphics is kept between frames by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1386\n* Isolation mode: double-clicking a single object isolates it by @AyberkA0 in https://github.com/storytold/vectorcraft/pull/1393\n* Part of #1377: Rectangular Grid and Polar Grid tool options (skew, frame, compound path, fill) by @bflatastic in https://github.com/storytold/vectorcraft/pull/1394\n* A just-opened dialog gives its focus to the first enabled field, not a greyed-out one by @bflatastic in https://github.com/storytold/vectorcraft/pull/1395\n* Docs: ROADMAP 2026-10-12 adds #1375–#1395 (community PRs of the day) by @bflatastic in https://github.com/storytold/vectorcraft/pull/1405\n* Fix #1388: PDF and .ai import and file.place keep overprint by @bflatastic in https://github.com/storytold/vectorcraft/pull/1413\n* Fix #1387: a .ai whose PDF part draws only text opens from it by @bflatastic in https://github.com/storytold/vectorcraft/pull/1414\n* Report compound-path paint and a non-normal blend in document summaries. by @vbasky in https://github.com/storytold/vectorcraft/pull/1397\n* object.isolate: an id that doesn't exist says so by @bflatastic in https://github.com/storytold/vectorcraft/pull/1415\n* Hide the selection bounds while a corner-radius drag is underway. by @vbasky in https://github.com/storytold/vectorcraft/pull/1402\n* Paste the picture when the clipboard text beside it is blank. by @vbasky in https://github.com/storytold/vectorcraft/pull/1404\n* Fix #1396: a stroke wider than its closed shape paints solid by @vbasky in https://github.com/storytold/vectorcraft/pull/1409\n* Docs: sync mcp.md with acting prefs and shipped command families by @Messhias in https://github.com/storytold/vectorcraft/pull/1418\n* Fix #1410: an .ai compound path takes its last path's paint, and paths grouped in it stay its paths by @bflatastic in https://github.com/storytold/vectorcraft/pull/1426\n* Fix #1408: the Transform tools and commands act on the anchors selected with Direct Selection by @bflatastic in https://github.com/storytold/vectorcraft/pull/1427\n* Fix #1412: the Transform dialogs preview on the canvas, and arrow keys step their angles and percentages by @bflatastic in https://github.com/storytold/vectorcraft/pull/1428\n* PDF import: an editor's .ai keeps its RGB numbers, and a fill faded or masked by its group keeps its stroke apart by @EricKuck in https://github.com/storytold/vectorcraft/pull/1434\n* SVG export: knockout groups of opaque art draw in order, without masks by @EricKuck in https://github.com/storytold/vectorcraft/pull/1435\n* .ai import: radial and skewed gradient matrices, focal points and stop order, gradient meshes and artboard names from the editing data by @EricKuck in https://github.com/storytold/vectorcraft/pull/1438\n* .ai import: art styles, a clipping path's own fill, compound paths of looks and a group's own transparency from the editing data by @EricKuck in https://github.com/storytold/vectorcraft/pull/1439\n* .ai import: editingData \"always\" and convert --editing-data open a file from its editing data even where its page draws differently by @EricKuck in https://github.com/storytold/vectorcraft/pull/1440\n* Docs: ROADMAP 2026-10-12 adds #1397–#1428 (later merges of the day) by @bflatastic in https://github.com/storytold/vectorcraft/pull/1447\n* Part of #1429: Edit and Object commands on many objects take time linear in the document by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1430\n* Image Trace: a quality harness and the baseline for every preset by @bflatastic in https://github.com/storytold/vectorcraft/pull/1455\n* Fix #1423: an Affinity text frame too short for its first line is made taller instead of showing nothing by @bflatastic in https://github.com/storytold/vectorcraft/pull/1449\n* Fix #1444: text.fitHeadline sees wrapping in a frame one line tall by @giang17 in https://github.com/storytold/vectorcraft/pull/1445\n* Type: frames and paths beyond 1,000,000,000 pt hold no text, and layout limits its search for room by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1451\n* Render: raster effects are made again when patterns, symbols, images, settings or fonts change by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1452\n* Effect › 3D and Materials: Extrude & Bevel, Inflate and Rotate by @AyberkA0 in https://github.com/storytold/vectorcraft/pull/1453\n* Image Trace: edges to a fraction of a pixel in Black and White, Grayscale and Color by @bflatastic in https://github.com/storytold/vectorcraft/pull/1478\n* i18n(cs): catch up with strings added since the Czech catalog by @Losminek in https://github.com/storytold/vectorcraft/pull/1461\n* Plug-ins: numeric defaults stay in their declared range by @webdevtodayjason in https://github.com/storytold/vectorcraft/pull/1463\n* Part of #1429: Alt-drags with the selection and transform tools copy the objects once per drag by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1464\n* Fix #1462: Split Into Grid has its row and column sizes, gutters, totals, Add Guides and Preview by @bflatastic in https://github.com/storytold/vectorcraft/pull/1488\n* Part of #1466: grayscale TIFFs with an alpha channel or extra channels can be placed by @bflatastic in https://github.com/storytold/vectorcraft/pull/1489\n* Part of #1465: selected text in value fields is readable by @bflatastic in https://github.com/storytold/vectorcraft/pull/1490\n* Fix #1450: the Pathfinder panel works on a group selected alone by @bflatastic in https://github.com/storytold/vectorcraft/pull/1493\n* Fix #1448, #1460: Transform Objects in the Transform dialogs and Transform Each, and Reflect across an angle by @bflatastic in https://github.com/storytold/vectorcraft/pull/1494\n* Part of #1459: the window's surface may be as large as the graphics adapter allows by @bflatastic in https://github.com/storytold/vectorcraft/pull/1495\n* Fix #1442: an unknown parameter key is an error naming it and the nearest accepted key by @bflatastic in https://github.com/storytold/vectorcraft/pull/1496\n* Fix #1457: a focused field follows its value when a slider or preview changes it by @bflatastic in https://github.com/storytold/vectorcraft/pull/1497\n* i18n(hu): informal address in a row added on merge by @Skaywalker in https://github.com/storytold/vectorcraft/pull/1474\n* 3D and Materials: curves follow a tolerance, and Rotate takes large outlines by @AyberkA0 in https://github.com/storytold/vectorcraft/pull/1481\n* Docs: ROADMAP 2026-10-12 adds #1430–#1497 (later merges of the day) by @bflatastic in https://github.com/storytold/vectorcraft/pull/1501\n* Fix #1471: making and restyling type reports text that doesn't fit its frame by @bflatastic in https://github.com/storytold/vectorcraft/pull/1500\n* Image Trace: colour presets trace flat art with its own colours (no shattering, no slivers) by @bflatastic in https://github.com/storytold/vectorcraft/pull/1504\n* Fix #1486: a template layer stays in Preview in Outline view by @bflatastic in https://github.com/storytold/vectorcraft/pull/1505\n* Fix #1483: sliders in dialogs show their rail by @bflatastic in https://github.com/storytold/vectorcraft/pull/1506\n* Tabs panel: drag a tab stop from where the press landed by @itrycodinganditsbad in https://github.com/storytold/vectorcraft/pull/1487\n* Graph Data: the CSV keeps each value exactly, not rounded to two decimals by @webdevtodayjason in https://github.com/storytold/vectorcraft/pull/1485\n* Image Trace: photos trace into smooth tones (smoothing first, stacked layers by lightness) by @bflatastic in https://github.com/storytold/vectorcraft/pull/1516\n* Image Trace: progress docs for the palette and photo changes by @bflatastic in https://github.com/storytold/vectorcraft/pull/1520\n* CLI: perf on Windows reports the cores busy and its working set, and the help lists --deep by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1502\n* G16: Vietnamese interface (vi) by @duydev in https://github.com/storytold/vectorcraft/pull/1507\n* Direct Selection: a selected path's anchor is picked before one of an object above it by @marcoarnulfo in https://github.com/storytold/vectorcraft/pull/1509\n* i18n: complete the French (fr) UI catalog (423 entries) by @Atalantis in https://github.com/storytold/vectorcraft/pull/1511\n* Decode print-size rasters in Crop Image trim and the renderer; say when an export is missing an image by @fastmikey99 in https://github.com/storytold/vectorcraft/pull/1517\n* Part of #1429: Layers panel and artboard commands on many rows take time linear in the document by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1515\n* Part of #1429: path, Pathfinder and live-object commands add and remove many objects in one pass by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1519\n* macOS: the app no longer reads the menus at every step of a move, scale or shape drag by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1523\n* 3D and Materials: Extrude & Bevel's Twist runs 0° to 360°, as documented by @AyberkA0 in https://github.com/storytold/vectorcraft/pull/1524\n* 3D and Materials: twisted Extrude & Bevel walls keep their faces by @AyberkA0 in https://github.com/storytold/vectorcraft/pull/1525\n* 3D and Materials: Inflate takes Twist, Taper and Cap by @AyberkA0 in https://github.com/storytold/vectorcraft/pull/1526\n* README.md: add clone instructions to quick start by @anders94 in https://github.com/storytold/vectorcraft/pull/1522\n* Image Trace: abutting regions share one curve along their edge (no gaps, no overlaps) by @bflatastic in https://github.com/storytold/vectorcraft/pull/1535\n* Native save: documents whose JSON is large are written compact by @switch87 in https://github.com/storytold/vectorcraft/pull/1492\n* i18n: add Polish (pl) interface language by @lewandowskit in https://github.com/storytold/vectorcraft/pull/1498\n* Make Compound Path: the compound path of a group takes its backmost path's paint by @bflatastic in https://github.com/storytold/vectorcraft/pull/1537\n* Fix #1499: PDF and EPS another app copied paste as editable vector art by @bflatastic in https://github.com/storytold/vectorcraft/pull/1538\n* Part of #1479: an image too large to decode is reported on Open, Place and in the Links panel by @bflatastic in https://github.com/storytold/vectorcraft/pull/1540\n* Docs: ROADMAP 2026-10-12 adds #1474–#1525 (late merges of the day) by @bflatastic in https://github.com/storytold/vectorcraft/pull/1545\n* .ai import: a page's art past its artboard no longer lies over the page before it by @fortesnow in https://github.com/storytold/vectorcraft/pull/1528\n* AI import: gradient stops listed upwards aren't reversed, so a midpoint stays on the stop that starts its part of the ramp by @EricKuck in https://github.com/storytold/vectorcraft/pull/1530\n* SVG import: <textPath> follows basic shapes (circle, ellipse, rect, line, polyline, polygon) by @switch87 in https://github.com/storytold/vectorcraft/pull/1531\n* Image Trace: a 16 megapixel photo is traced in 0.9 GB, not 3.9 by @bflatastic in https://github.com/storytold/vectorcraft/pull/1546\n* Fix #1512: round corners next to curves stay inside the corner, and the Smooth tool smooths what is under the drag by @bflatastic in https://github.com/storytold/vectorcraft/pull/1547\n* Fix #1529: Linux reads the font folders fontconfig is set up with by @bflatastic in https://github.com/storytold/vectorcraft/pull/1548\n* Image Trace: thin lines in blurred and scanned art keep smooth edges by @bflatastic in https://github.com/storytold/vectorcraft/pull/1563\n* PDF import: images in an alpha soft mask count by their alpha by @switch87 in https://github.com/storytold/vectorcraft/pull/1551\n* EPS/PS import: Type 42 fonts set type at their size by @switch87 in https://github.com/storytold/vectorcraft/pull/1553\n* Image Trace: Ignore Color, and the Auto Color and Outline presets by @bflatastic in https://github.com/storytold/vectorcraft/pull/1574\n* Keyboard Shortcuts: Duplicate is listed, so it can be given a shortcut by @marcoarnulfo in https://github.com/storytold/vectorcraft/pull/1549\n* Render: effect rasters drawn after a pattern fill keep their place and size by @switch87 in https://github.com/storytold/vectorcraft/pull/1541\n* Guides: Lock Guides locks the paths made into guides too by @marcoarnulfo in https://github.com/storytold/vectorcraft/pull/1543\n* PDF/EPS import: a clip only counts as covering the page when it does by @switch87 in https://github.com/storytold/vectorcraft/pull/1544\n* Keyboard Shortcuts: the commands outside the menus that run without params are listed too (#1539) by @bflatastic in https://github.com/storytold/vectorcraft/pull/1580\n* Fix #1533: Join merges the selected anchors that lie on one another (after Average) into one by @bflatastic in https://github.com/storytold/vectorcraft/pull/1582\n* Fix #1534: guide paths take the guide colour and style, and a dragged selection snaps to ruler guides with Smart Guides on by @bflatastic in https://github.com/storytold/vectorcraft/pull/1583\n* Zig Zag: ridges are spaced evenly along each segment's length, so a straight line gets a regular wave by @marcoarnulfo in https://github.com/storytold/vectorcraft/pull/1558\n* SVG import: CSS transforms in CSS syntax move objects; the font shorthand styles type by @switch87 in https://github.com/storytold/vectorcraft/pull/1565\n* Replace linear scan in CSS class dedup with a HashMap lookup by @excited-raccoon in https://github.com/storytold/vectorcraft/pull/1567\n* Symbols panel: New Symbol asks for Symbol Options before making the symbol by @marcoarnulfo in https://github.com/storytold/vectorcraft/pull/1566\n* Image Trace: Snap Curves To Lines levels lines a degree or two askew by @bflatastic in https://github.com/storytold/vectorcraft/pull/1593\n* Image Trace: stroked centre lines lie in the middle of their ink and are as wide as it by @bflatastic in https://github.com/storytold/vectorcraft/pull/1595\n* SVG import: percentage lengths in a symbol with a viewBox are of the viewBox by @bflatastic in https://github.com/storytold/vectorcraft/pull/1596\n* Image Trace: Shapes, and corners whose pixel is mostly outside the shape by @bflatastic in https://github.com/storytold/vectorcraft/pull/1609\n* Docs: ROADMAP 2026-10-13 adds #1492–#1583; Average and Join corrected to missing, Polish row count by @bflatastic in https://github.com/storytold/vectorcraft/pull/1612\n* Pathfinder: Trim, Merge and Crop remove strokes by @switch87 in https://github.com/storytold/vectorcraft/pull/1572\n* SVG import: Inkscape flowed text (flowRoot) becomes area type by @switch87 in https://github.com/storytold/vectorcraft/pull/1569\n* Warp › Arc: bend in the object's real proportions by @switch87 in https://github.com/storytold/vectorcraft/pull/1581\n* Commands: objects given as ids stand in for the selection by @switch87 in https://github.com/storytold/vectorcraft/pull/1577\n* Select Behind: test each object once instead of re-hitting the whole document by @excited-raccoon in https://github.com/storytold/vectorcraft/pull/1571\n* Palette nearest-colour lookup: branch-and-bound index over the linear scan by @excited-raccoon in https://github.com/storytold/vectorcraft/pull/1576\n* ICC profiles written here have their tags 4-byte aligned by @switch87 in https://github.com/storytold/vectorcraft/pull/1589\n* Offset Path: an empty result says the offset leaves nothing by @switch87 in https://github.com/storytold/vectorcraft/pull/1591\n* Image Trace: Auto Grouping by @bflatastic in https://github.com/storytold/vectorcraft/pull/1618\n* PDF/.ai import: evenly tracked type on a path keeps its length by @p0lyg0n in https://github.com/storytold/vectorcraft/pull/1586\n* PDF/.ai import: type stroked glyph by glyph stays one object by @p0lyg0n in https://github.com/storytold/vectorcraft/pull/1585\n* Effects: effect.apply and effect.setParams refuse parameters the effect doesn't take (#1592) by @bflatastic in https://github.com/storytold/vectorcraft/pull/1623\n* Image Trace: Gradients by @bflatastic in https://github.com/storytold/vectorcraft/pull/1627\n* Image Trace: progress docs for the edge, stroke, memory and options work by @bflatastic in https://github.com/storytold/vectorcraft/pull/1628\n* Save: a network drive on macOS that refuses the full flush gets a plain fsync by @marcoarnulfo in https://github.com/storytold/vectorcraft/pull/1625\n* Strokes: a zero-length subpath draws its round or projecting cap as a dot by @marcoarnulfo in https://github.com/storytold/vectorcraft/pull/1619\n* Area type: a word too wide for the top lines of a shape moves down instead of breaking by @marcoarnulfo in https://github.com/storytold/vectorcraft/pull/1617\n* Render: pattern tiles at different scales are kept between frames by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1621\n* Object: Lock and Hide › All Artwork Above go through each top-level layer once by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1622\n* i18n(pl): confirm the maintainer-added Polish rows by @lewandowskit in https://github.com/storytold/vectorcraft/pull/1614\n* Part of #1620: a save falls back when a folder refuses the temporary file or the rename by @bflatastic in https://github.com/storytold/vectorcraft/pull/1649\n* Fix #1616: a tool flyout is as wide as its longest translated row by @bflatastic in https://github.com/storytold/vectorcraft/pull/1650\n* Image Trace: levelling moves no end of a line by more than 1.6 px by @bflatastic in https://github.com/storytold/vectorcraft/pull/1647\n* Image Trace: Flat Logo takes the tones of an unevenly lit colour for one colour by @bflatastic in https://github.com/storytold/vectorcraft/pull/1657\n* Type: stylistic sets, alternates, titling, figure styles, superscript and subscript by @switch87 in https://github.com/storytold/vectorcraft/pull/1611\n* Open by a relative path finds relative links; convert reports import warnings by @switch87 in https://github.com/storytold/vectorcraft/pull/1606\n* SVG import: an unsupported filter's warning names the filter and the object by @switch87 in https://github.com/storytold/vectorcraft/pull/1599\n* SVG import: Inkscape's pages become artboards by @switch87 in https://github.com/storytold/vectorcraft/pull/1603\n* Scripts: Check Script… reports what a .jsx script needs and does, without running it by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1608\n* Fix #1602: drawn points snap to where paths and guides intersect by @bflatastic in https://github.com/storytold/vectorcraft/pull/1658\n* Fix #1597: the Transform panel shows and sets a selected ruler guide's X or Y by @bflatastic in https://github.com/storytold/vectorcraft/pull/1659\n* Align: anchor points of one path align to each other, not to the artboard by @marcoarnulfo in https://github.com/storytold/vectorcraft/pull/1641\n* Pathfinder panel: a group selected alone counts its nested shapes, so an expanded stroke keeps the Shape Modes enabled by @marcoarnulfo in https://github.com/storytold/vectorcraft/pull/1642\n* Roughen (Smooth): a turn-back stays smooth instead of becoming a cusp by @switch87 in https://github.com/storytold/vectorcraft/pull/1646\n* Scribble: one zig-zag per region, no lines across holes and notches by @switch87 in https://github.com/storytold/vectorcraft/pull/1651\n* EPS import: a stitched shading keeps its hard colour changes by @switch87 in https://github.com/storytold/vectorcraft/pull/1654\n* Cursors: paint the tool cursors on Wayland, where the compositor showed the bitmap twice too big by @marcoarnulfo in https://github.com/storytold/vectorcraft/pull/1652\n* Control: replies are buffered, so a 17 MB reply is sent in 0.09 s instead of 34 s on Windows by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1684\n* Fix #1710: ruzstd 0.9.1 (RUSTSEC-2026-0344) by @AyberkA0 in https://github.com/storytold/vectorcraft/pull/1807\n* Refuse to package over the source document or its linked files (#1696) by @MarekSpodBiedry in https://github.com/storytold/vectorcraft/pull/1786\n* Keep Export for Screens suffix inside the export folder (#1713) by @MarekSpodBiedry in https://github.com/storytold/vectorcraft/pull/1777\n* Create the staging file owner-only when replacing a document (#1712) by @MarekSpodBiedry in https://github.com/storytold/vectorcraft/pull/1778\n* Fix #1698: entries read from memory obey the size limits too, not only streamed ones (#1698) by @MarekSpodBiedry in https://github.com/storytold/vectorcraft/pull/1783\n* Check embedded PNG/JPEG bitmap size from the header before decoding (#1716) by @MarekSpodBiedry in https://github.com/storytold/vectorcraft/pull/1776\n* Fix scatter X axis ticks looping forever on data near the f64 maximum (#1707) by @MarekSpodBiedry in https://github.com/storytold/vectorcraft/pull/1780\n* Cap Liquify dabs while expanding a segment, not only before it (#1708) by @MarekSpodBiedry in https://github.com/storytold/vectorcraft/pull/1779\n* Search each shared name tree node once when finding the editing file (#1702) by @MarekSpodBiedry in https://github.com/storytold/vectorcraft/pull/1781\n* Stamp File Info dates only after a save succeeds (#1721) by @MarekSpodBiedry in https://github.com/storytold/vectorcraft/pull/1774\n* Do not journal a failed live preview at commit (#1720) by @MarekSpodBiedry in https://github.com/storytold/vectorcraft/pull/1775\n* Linked files: a change during a drag is applied after the drag, not lost (#1722) by @MarekSpodBiedry in https://github.com/storytold/vectorcraft/pull/1773\n* Fix numeric fields reverting a typed value when clicking away instead of pressing Enter (#1637) by @MarekSpodBiedry in https://github.com/storytold/vectorcraft/pull/1787\n* Fix #1758: keep the custom title bar window borderless on Windows by @AyberkA0 in https://github.com/storytold/vectorcraft/pull/1791\n* Delete removes every selected anchor and keeps the remainder selected by @turtwig in https://github.com/storytold/vectorcraft/pull/1674\n* Direct Selection stays inside isolation mode by @turtwig in https://github.com/storytold/vectorcraft/pull/1666\n* Fix #1743: Escape cancels a Direct Selection drag by @AyberkA0 in https://github.com/storytold/vectorcraft/pull/1803\n* Fix #1686: Escape in type editing goes to the Selection tool by @AyberkA0 in https://github.com/storytold/vectorcraft/pull/1802\n* Fix #1679: a filled pencil path keeps a stroke of None by @AyberkA0 in https://github.com/storytold/vectorcraft/pull/1804\n* Part of #1661: [ and ] reach the tools that take them by @AyberkA0 in https://github.com/storytold/vectorcraft/pull/1734\n* Fix #1757: arrow keys move through the command search results by @AyberkA0 in https://github.com/storytold/vectorcraft/pull/1798\n* Fix #1662: slider rails show on Medium Dark by @AyberkA0 in https://github.com/storytold/vectorcraft/pull/1808\n* Fix #1756: Object → Expand expands repeats by @AyberkA0 in https://github.com/storytold/vectorcraft/pull/1765\n* Select > Same: type matches on its characters' fill and stroke by @marcoarnulfo in https://github.com/storytold/vectorcraft/pull/1746\n* Fix #1748: text.create takes justify for point type alignment by @switch87 in https://github.com/storytold/vectorcraft/pull/1752\n* Color panel: the mode picked last comes back after a restart by @marcoarnulfo in https://github.com/storytold/vectorcraft/pull/1677\n* CI: isolate text import fuzzing from installed fonts by @sanyamsingh001 in https://github.com/storytold/vectorcraft/pull/1785\n* Fix race over font database in tests by @danngreen in https://github.com/storytold/vectorcraft/pull/1795\n* Pen: drag threshold, Precise Cursors command and tests by @ham9zah in https://github.com/storytold/vectorcraft/pull/1663\n* Fix control sockets retaining connection slots indefinitely by @DWAA1660 in https://github.com/storytold/vectorcraft/pull/1797\n* Fix #1727: cap MCP framing input, batches and kept command_batch results by @fahrim in https://github.com/storytold/vectorcraft/pull/1764\n* Fix #1728: require the JSON-RPC 2.0 envelope and correlate control replies by @fahrim in https://github.com/storytold/vectorcraft/pull/1768\n* MCP: reconnect closed control sockets before sending requests by @KnottyDyes in https://github.com/storytold/vectorcraft/pull/1739\n* Render: objects that share an appearance keep their own stroke outlines between frames by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1667\n* Render: the canvas no longer draws its picture back for each non-isolated group that blends by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1687\n* Render: live objects are evaluated again when patterns, symbols, fonts or color settings change by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1688\n* Render: Outline view draws paths and clipped art from geometry kept between frames by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1689\n* Render: the ink planes of CMYK documents with transparency are composed on several threads by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1755\n* SVG import: the style cascade looks up each element's rules by id, class and type by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1690\n* Symbols: instances of imported symbols are measured by their art by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1744\n* Open: the opening thread also reads linked files and lays out type by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1767\n* Type: an edit copies a threaded story only when it changes one of its frames by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1792\n* 3D and Materials: Perspective runs 0° to 160°, as documented by @AyberkA0 in https://github.com/storytold/vectorcraft/pull/1669\n* 3D and Materials: the light takes the documented settings by @AyberkA0 in https://github.com/storytold/vectorcraft/pull/1670\n* Corner Radius: a field per corner of a live rectangle, with a link toggle by @Gamedirection in https://github.com/storytold/vectorcraft/pull/1682\n* Part of #394: Appearance of Black › Printing / Exporting by @Messhias in https://github.com/storytold/vectorcraft/pull/1750\n* Part of #394: Identify Objects By (Object Name / XML ID) by @Messhias in https://github.com/storytold/vectorcraft/pull/1809\n* G1: honor Shift-double-click in Width Point Edit by @sanyamsingh001 in https://github.com/storytold/vectorcraft/pull/1630\n* G1: create width points through Width Point Edit by @sanyamsingh001 in https://github.com/storytold/vectorcraft/pull/1814\n* G1: switch new ruler-guide orientation with Alt by @sanyamsingh001 in https://github.com/storytold/vectorcraft/pull/1782\n* G4: show mixed paragraph alignment without a selected button by @sanyamsingh001 in https://github.com/storytold/vectorcraft/pull/1784\n* G4: propagate character-style Auto-leading resets by @sanyamsingh001 in https://github.com/storytold/vectorcraft/pull/1633\n* G4: capture character styles from selected text by @sanyamsingh001 in https://github.com/storytold/vectorcraft/pull/1634\n* G1: keep Artboard deletion consistent across controls by @sanyamsingh001 in https://github.com/storytold/vectorcraft/pull/1631\n* SVG import: style sheet rules with :not() selectors apply (#1557) by @switch87 in https://github.com/storytold/vectorcraft/pull/1799\n* DXF export: strokes as zero-width centerlines, a 3ds Max preset, and one VPORT view direction by @osamaamin2011 in https://github.com/storytold/vectorcraft/pull/1789\n* G13: offer TIFF in Export for Screens and Asset Export by @sanyamsingh001 in https://github.com/storytold/vectorcraft/pull/1632\n* Docs: ROADMAP 2026-10-14 adds #1558–#1808 and Image Trace #1647, #1657; guide position in the Transform panel is a convenience by @bflatastic in https://github.com/storytold/vectorcraft/pull/1837\n* Bound synthetic control input and per-frame request processing by @DWAA1660 in https://github.com/storytold/vectorcraft/pull/1815\n* Verify pinned PngSuite downloads before publishing corpus files by @DWAA1660 in https://github.com/storytold/vectorcraft/pull/1825\n* Fonts: a missing font's name is looked up once until fonts are added or rescanned by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1820\n* Render: type with transparency, a blend mode or raster effects keeps its layout between frames by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1817\n* Canvas: the last frame turns with the view until the frame at the new angle is ready by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1819\n* Type: Show Hidden Characters keeps each text object's marks between frames by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1823\n* Image Trace: Shapes finds rounded rectangles and shapes in aliased, blurred and scanned art by @bflatastic in https://github.com/storytold/vectorcraft/pull/1845\n* Image Trace: stroked lines get square caps where their ink is cut square by @bflatastic in https://github.com/storytold/vectorcraft/pull/1846\n* Image Trace: enhanced versions of the presets by @bflatastic in https://github.com/storytold/vectorcraft/pull/1847\n* Image Trace: gradients grown over noise and soft rims by @bflatastic in https://github.com/storytold/vectorcraft/pull/1848\n* Importers: nesting is capped, so a deeply nested file can't overflow the stack by @bflatastic in https://github.com/storytold/vectorcraft/pull/1852\n* Fix #1629: an action clicked in the Actions panel stays selected, so Play and Delete act on it by @bflatastic in https://github.com/storytold/vectorcraft/pull/1853\n* Fix #1736: toolbar without group labels, and an All Tools drawer with flyout groups, shortcuts, menu and Show section by @AyberkA0 in https://github.com/storytold/vectorcraft/pull/1751\n* Docs: Image Trace Shapes rework, stroke caps, enhanced presets, gradients over noise by @bflatastic in https://github.com/storytold/vectorcraft/pull/1851\n* fix(svg): memoize descendant selector matching to stop combinatorial backtracking (#1703) by @saadkhantareen in https://github.com/storytold/vectorcraft/pull/1834\n* Global swatch edits reach opacity-mask art (#1735) by @switch87 in https://github.com/storytold/vectorcraft/pull/1830\n* Native reopen: type in symbols gets its layout bounds back (#1738) by @switch87 in https://github.com/storytold/vectorcraft/pull/1833\n* feat: marquee selection selects unlocked ruler guides by @Muratv07 in https://github.com/storytold/vectorcraft/pull/1836\n* Fix #1719: Redo keeps a drag in progress as a step, as Undo does by @bflatastic in https://github.com/storytold/vectorcraft/pull/1856\n* Fix #1747: Preferences are written when confirmed, not only at exit by @bflatastic in https://github.com/storytold/vectorcraft/pull/1857\n* Fix #1800: macOS Save As shows its sheet again by @bflatastic in https://github.com/storytold/vectorcraft/pull/1855\n* Docs: G15 and the parity doc cite budget runs and slowness reports since 2026-10-11 by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1850\n* fix(snap): snap Direct Selection anchor drags to grid intersections (#1816) by @mjohnson7cd in https://github.com/storytold/vectorcraft/pull/1840\n* Transform panel: X/Y/W/H edit the anchors selected with Direct Selection by @marcoarnulfo in https://github.com/storytold/vectorcraft/pull/1839\n* Fix #1718, #1697, #1725, #1717: id exhaustion, batch rollback, timed-out control requests, RGBA size before decoding by @bflatastic in https://github.com/storytold/vectorcraft/pull/1862\n* Fix #1715, #1714, #1704, #1699, #1695: bounded ASCII85 and unpacking, EPS cycles, Affinity pixel allowance, save fallback by @bflatastic in https://github.com/storytold/vectorcraft/pull/1863\n* Fix #1706, #1705, #1724, #1723, #1683: shadow raster budget, Transform copies, 3D fill rule, pattern tiles, template Dim Images by @bflatastic in https://github.com/storytold/vectorcraft/pull/1864\n* Fix #1693, #1694, #1685: a failed save is reported in a dialog that stays; failed downloads; opens under a dialog by @bflatastic in https://github.com/storytold/vectorcraft/pull/1865\n* Importers: an SVG's linked files are read within the automation roots again by @bflatastic in https://github.com/storytold/vectorcraft/pull/1870\n* Importers: PDF nesting inside compressed streams no longer crashes (hayro 0.8) by @bflatastic in https://github.com/storytold/vectorcraft/pull/1871\n* Importers: a brush that draws itself by name no longer crashes by @bflatastic in https://github.com/storytold/vectorcraft/pull/1872\n* Importers: PDF streams the reader would fail on are refused (#1700, #1701) by @bflatastic in https://github.com/storytold/vectorcraft/pull/1873\n* PDF: krilla without its text shaping, so rustybuzz and ttf-parser don't ship (#1730) by @bflatastic in https://github.com/storytold/vectorcraft/pull/1874\n* xtask: the wasm check compiles the web app; the web's SVG depth cap follows from its stack by @bflatastic in https://github.com/storytold/vectorcraft/pull/1875\n* Docs: ROADMAP and parity docs for the later 2026-10-14 merges (#1630–#1875); gaps noted for reporters by @bflatastic in https://github.com/storytold/vectorcraft/pull/1890\n* Type: Show Hidden Characters keeps no text nodes while it is off or no document is open by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1861\n* Web: the status bar shows measured render and UI times instead of 0.0 ms by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1860\n* Render: the art prepared for Separations Preview and Overprint Preview is kept between frames by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1859\n* Shape Builder: the gaps closed paths enclose are regions (#1691) by @bflatastic in https://github.com/storytold/vectorcraft/pull/1891\n* Text: draw tab leaders in the tab's gap by @marcoarnulfo in https://github.com/storytold/vectorcraft/pull/1880\n* Fix #1866: Preferences and Save PDF highlight the section shown by @bflatastic in https://github.com/storytold/vectorcraft/pull/1895\n* Pattern tiles after brush edits and Color Settings; MCP docs on failed batches by @bflatastic in https://github.com/storytold/vectorcraft/pull/1896\n* Fix #1881: a Ctrl/Cmd drag while typing keeps what was typed by @bflatastic in https://github.com/storytold/vectorcraft/pull/1897\n* Keyboard Shortcuts: Import… and File › Open read text shortcut sets (.kys) by @dotCooCoo in https://github.com/storytold/vectorcraft/pull/1223\n\n## New Contributors\n* @Nael-Nathanael made their first contribution in https://github.com/storytold/vectorcraft/pull/1383\n* @EricKuck made their first contribution in https://github.com/storytold/vectorcraft/pull/1434\n* @giang17 made their first contribution in https://github.com/storytold/vectorcraft/pull/1445\n* @duydev made their first contribution in https://github.com/storytold/vectorcraft/pull/1507\n* @marcoarnulfo made their first contribution in https://github.com/storytold/vectorcraft/pull/1509\n* @Atalantis made their first contribution in https://github.com/storytold/vectorcraft/pull/1511\n* @anders94 made their first contribution in https://github.com/storytold/vectorcraft/pull/1522\n* @lewandowskit made their first contribution in https://github.com/storytold/vectorcraft/pull/1498\n* @fortesnow made their first contribution in https://github.com/storytold/vectorcraft/pull/1528\n* @excited-raccoon made their first contribution in https://github.com/storytold/vectorcraft/pull/1567\n* @turtwig made their first contribution in https://github.com/storytold/vectorcraft/pull/1674\n* @danngreen made their first contribution in https://github.com/storytold/vectorcraft/pull/1795\n* @ham9zah made their first contribution in https://github.com/storytold/vectorcraft/pull/1663\n* @Gamedirection made their first contribution in https://github.com/storytold/vectorcraft/pull/1682\n* @osamaamin2011 made their first contribution in https://github.com/storytold/vectorcraft/pull/1789\n* @saadkhantareen made their first contribution in https://github.com/storytold/vectorcraft/pull/1834\n* @mjohnson7cd made their first contribution in https://github.com/storytold/vectorcraft/pull/1840\n\n**Full Changelog**: https://github.com/storytold/vectorcraft/compare/v0.10.0...v0.11.0","assets":[{"name":"SHA256SUMS.txt","size_bytes":2433,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/SHA256SUMS.txt","sha256":"d0ecc25703ece5e18436e2d4f59cec5de4479942d92e71e9c6e5020940f5824c","platform":null},{"name":"vectorcraft-0.11.0-freebsd-x86_64.tar.gz","size_bytes":120026947,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-0.11.0-freebsd-x86_64.tar.gz","sha256":"851ac797b5df369584723c9a7a7fb8d003a5bcde7cf6b73c4a1b45bd163644e5","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"vectorcraft-0.11.0-linux-aarch64.AppImage","size_bytes":109361672,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-0.11.0-linux-aarch64.AppImage","sha256":"9d4577e61d6cc6728c1874ffa0f797b7311a9694134bad23282cdfd9dfbc889b","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"vectorcraft-0.11.0-linux-aarch64.AppImage.zsync","size_bytes":187154,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-0.11.0-linux-aarch64.AppImage.zsync","sha256":"39f153d30f71dc995a439cfc26c1eb5700eb48dab9042e08d12bf59dbd35503e","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"vectorcraft-0.11.0-linux-aarch64.deb","size_bytes":118267208,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-0.11.0-linux-aarch64.deb","sha256":"ce23c2b29aed3df9fe622d86a195b2660568882d2a4c845d6091c804d35dbe45","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"vectorcraft-0.11.0-linux-aarch64.flatpak","size_bytes":78830936,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-0.11.0-linux-aarch64.flatpak","sha256":"d1064a6beb1b178d7603c9965e5af3a66f62cee205b54af46b505da4f4fead93","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"vectorcraft-0.11.0-linux-aarch64.rpm","size_bytes":117286563,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-0.11.0-linux-aarch64.rpm","sha256":"d7709e90e2c6d1c494d15cbb45762cb89a78373ad04444eb19f979f995cd6862","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"vectorcraft-0.11.0-linux-aarch64.tar.gz","size_bytes":115307344,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-0.11.0-linux-aarch64.tar.gz","sha256":"fd594494e2f1498cb7dab01a3a10a70ec8ee69e8dd26a8ed468219a0f4192b53","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"vectorcraft-0.11.0-linux-riscv64.tar.gz","size_bytes":118377652,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-0.11.0-linux-riscv64.tar.gz","sha256":"f41d2e5bf18099e3ac3a8993f7caa1fc7405ce416c8b89bae01923d31c8fa97f","platform":null},{"name":"vectorcraft-0.11.0-linux-x86_64.AppImage","size_bytes":113854968,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-0.11.0-linux-x86_64.AppImage","sha256":"0ab5126f9b2f9591bc27a10e20ea1b2f239384b1a16fec88288ed3de6dbf831c","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"vectorcraft-0.11.0-linux-x86_64.AppImage.zsync","size_bytes":194831,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-0.11.0-linux-x86_64.AppImage.zsync","sha256":"bf188fb2091e2159360917a308064ef09f48f823c11326ed3b2c5d07d7472c4a","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"vectorcraft-0.11.0-linux-x86_64.deb","size_bytes":121965510,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-0.11.0-linux-x86_64.deb","sha256":"8bf2236631969a48ce4a580324d71f0499e793f349c6e9419c3da6f7efb36ce8","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"vectorcraft-0.11.0-linux-x86_64.flatpak","size_bytes":83715912,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-0.11.0-linux-x86_64.flatpak","sha256":"896a97d43723bf9d3e23662b98823cb5ac0efc76b90796457974a5d3201578b6","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"vectorcraft-0.11.0-linux-x86_64.rpm","size_bytes":121167101,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-0.11.0-linux-x86_64.rpm","sha256":"92ad06d4aadde5255c6f7906c3f24ce550d92b7e77fdbcbb3070b83aeaf019b7","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"vectorcraft-0.11.0-linux-x86_64.tar.gz","size_bytes":120177805,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-0.11.0-linux-x86_64.tar.gz","sha256":"83ca62a455bbb1d1c61c6b05133bc41ceda1d1d99e4be7509d287c364ceb8f39","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"vectorcraft-0.11.0-macos-universal.dmg","size_bytes":132417486,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-0.11.0-macos-universal.dmg","sha256":"dc5eb8c02ecdff801876d4b511f2d2a9bd3af7700853ec8cbe81063221827d6b","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"vectorcraft-0.11.0-windows-arm64-portable.zip","size_bytes":116866658,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-0.11.0-windows-arm64-portable.zip","sha256":"027e767fe630579bb8bcd6876ce9ef3df6892470cd6af662b8c7903173899032","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"vectorcraft-0.11.0-windows-arm64.msi","size_bytes":93704192,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-0.11.0-windows-arm64.msi","sha256":"86514292e6aea4c529bc178664a2fb47103d3ef310df4b65ee0f44a61c5174d4","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"vectorcraft-0.11.0-windows-x64-portable.zip","size_bytes":122431888,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-0.11.0-windows-x64-portable.zip","sha256":"699a2a257819b7c8a064839b594dc81653a59cc6d10fde5496aae6f1dd294728","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"vectorcraft-0.11.0-windows-x64.msi","size_bytes":99418112,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-0.11.0-windows-x64.msi","sha256":"35ae11a4d22932842076d4f8dd1023504398194e0cf45a9c8246122838d5560a","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"vectorcraft-0.11.0-windows-x86-portable.zip","size_bytes":117706658,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-0.11.0-windows-x86-portable.zip","sha256":"5aceb30fdb76fc0f23e90ae80cffbd78b69478652447896264a4c4f59f77e087","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"vectorcraft-0.11.0-windows-x86.msi","size_bytes":96522240,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-0.11.0-windows-x86.msi","sha256":"d60b50c1618ce91f9200d0c1e156424f4c35a8369d977b2184c7c7f2dfb903c6","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"vectorcraft-cli-0.11.0-macos-universal.zip","size_bytes":106115486,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-cli-0.11.0-macos-universal.zip","sha256":"e8044f9f14a29b81d9563bd0b90cb655a9d7511b0f4a2e4e0c1e23ad552032af","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"vectorcraft-web-0.11.0.zip","size_bytes":24687078,"download_url":"https://github.com/storytold/vectorcraft/releases/download/v0.11.0/vectorcraft-web-0.11.0.zip","sha256":"b14014b9f65d5649bd52298b2c34954ddaa2fddf4f6b81e0b4289c31f4e31265","platform":{"os":"web","arch":null,"package_type":"web_zip"}}]},"app_last_fetched":"2026-10-15T15:40:42.681216255Z"},"wordcraft":{"name":"WordCraft","repo":"storytold/wordcraft","latest_release":{"tag":"v0.7.0","version":"0.7.0","name":"WordCraft v0.7.0","published_at":"2026-10-14T13:56:11Z","html_url":"https://github.com/storytold/wordcraft/releases/tag/v0.7.0","prerelease":false,"notes_markdown":"## What's Changed\n* Font list previews no longer keep every family in memory (#848) by @dkhlapov in https://github.com/storytold/wordcraft/pull/874\n* Layout: blank pages put sections on the right side, and paragraph spacing is the larger of after and before (#733, rebased) by @echelon in https://github.com/storytold/wordcraft/pull/964\n* Insert › Picture takes WMF and EMF metafiles (#802) by @dkhlapov in https://github.com/storytold/wordcraft/pull/869\n* Wingdings, Webdings and Symbol text draws as Unicode symbols (#776) by @dkhlapov in https://github.com/storytold/wordcraft/pull/876\n* Fonts: treat Windows charset names (Times New Roman Cyr, Arial CE…) as the font itself by @xmaks82 in https://github.com/storytold/wordcraft/pull/904\n* i18n: French wording fixes after #729 by @tellebma in https://github.com/storytold/wordcraft/pull/901\n* Open RTF in its code page, and Word/RTF files whose extension is wrong by @xmaks82 in https://github.com/storytold/wordcraft/pull/896\n* RTF: read page size and margins, lay tables out on their cell edges by @xmaks82 in https://github.com/storytold/wordcraft/pull/902\n* M15: Polish catalog covers style names, watermarks, paper sizes and the equation gallery by @witkowski01 in https://github.com/storytold/wordcraft/pull/871\n* Print: select printers and submit jobs through craft-print by @skylartaylor in https://github.com/storytold/wordcraft/pull/783\n* styles.modify takes the hex colours format.color takes (#865) by @marcoarnulfo in https://github.com/storytold/wordcraft/pull/881\n* Docs: list the CharProps and ParaProps fields (#865) by @marcoarnulfo in https://github.com/storytold/wordcraft/pull/899\n* Drawing ink no longer jumps the view back to the caret (#859) by @marcoarnulfo in https://github.com/storytold/wordcraft/pull/892\n* fix(doc): count generated numbered-list labels as words by @NavidZamanKhan in https://github.com/storytold/wordcraft/pull/908\n* Track Changes: Accept All no longer joins an extra paragraph after a tracked delete from a paragraph end (#864) by @Silvertree2010 in https://github.com/storytold/wordcraft/pull/914\n* ribbon: remove no-op drop(run) flagged by clippy::drop_non_drop by @Nael-Nathanael in https://github.com/storytold/wordcraft/pull/1431\n* DOCX: keep Word ink placed directly in a run when saving (gap #2) by @rp6186030 in https://github.com/storytold/wordcraft/pull/1098\n* Props colours take RRGGBB too: shading, underlineColor, border colour by @itrycodinganditsbad in https://github.com/storytold/wordcraft/pull/1089\n* wordcraft-cli text keeps bullet and number labels on list items (#1080) by @MarekSpodBiedry in https://github.com/storytold/wordcraft/pull/1094\n* Save as Word 2003 XML Document (#1081) by @vangel76 in https://github.com/storytold/wordcraft/pull/1088\n* Italian proofing: it_IT and it_CH spelling, suggestions, grammar and hyphenation (#951) by @regalf in https://github.com/storytold/wordcraft/pull/1090\n* Table selection arrow stays visible on dark paper (#1078) by @MarekSpodBiedry in https://github.com/storytold/wordcraft/pull/1095\n* Shapes: the drag preview shows the shape alone, not what was behind it by @marcoarnulfo in https://github.com/storytold/wordcraft/pull/1097\n* LaTeX: a \"[\" after a line break or at the start of a list item stays text by @webdevtodayjason in https://github.com/storytold/wordcraft/pull/1099\n* Markdown: list items that start like a block keep their text by @webdevtodayjason in https://github.com/storytold/wordcraft/pull/1100\n* Charts of undrawn types (radar, stock...) show a placeholder by @itrycodinganditsbad in https://github.com/storytold/wordcraft/pull/1092\n* Layout: a picture after a content control's start stays on its line (regression from #392) by @naxvog in https://github.com/storytold/wordcraft/pull/1102\n* Export: page images draw headers and footers at full strength by @przemek-arch in https://github.com/storytold/wordcraft/pull/1106\n* Canvas: handle keys before laying out, so a keystroke shows in its own frame by @przemek-arch in https://github.com/storytold/wordcraft/pull/1107\n* Tools: ui.wheel control method and a headless perf_probe example by @przemek-arch in https://github.com/storytold/wordcraft/pull/1108\n* Tools: cargo xtask visual-diff compares two PDFs of a document page by page by @przemek-arch in https://github.com/storytold/wordcraft/pull/1112\n* Expand sample-text formulas on Enter (#1067) by @lokinmodar in https://github.com/storytold/wordcraft/pull/1101\n* Backstage: add Close to the side menu, after Export by @marcoarnulfo in https://github.com/storytold/wordcraft/pull/1125\n* Regression test: DrawingML shapes survive saving a .docx (#886) by @dkhlapov in https://github.com/storytold/wordcraft/pull/1130\n* Add Croatian spelling and grammar support by @mbaksa in https://github.com/storytold/wordcraft/pull/1114\n* Drawings: VML text boxes keep their margins, fit and alignment; hidden drawings are kept but not shown by @naxvog in https://github.com/storytold/wordcraft/pull/1118\n* Canvas: middle-click scrolls the document, like Word by @marcoarnulfo in https://github.com/storytold/wordcraft/pull/1121\n* Honour Remove personal information / date and time on save (#1062) by @dkhlapov in https://github.com/storytold/wordcraft/pull/1131\n* Comment balloon buttons work, so an empty comment can be deleted (#1085) by @dkhlapov in https://github.com/storytold/wordcraft/pull/1132\n* Start screen: no blank document behind File › Home (#1129) by @dkhlapov in https://github.com/storytold/wordcraft/pull/1134\n* Caret contrasts with the page colour, shading or highlight under it (#299) by @dkhlapov in https://github.com/storytold/wordcraft/pull/1137\n* Clicks on ribbon and status-bar chrome keep typing in the document (#1093) by @dkhlapov in https://github.com/storytold/wordcraft/pull/1138\n* A dragged shape anchors in the column it lands in, so that column's text wraps around it (#884) by @dkhlapov in https://github.com/storytold/wordcraft/pull/1139\n* Keep a paragraph's space after clear of the footnote separator (#1116) by @dkhlapov in https://github.com/storytold/wordcraft/pull/1140\n* A chosen interface size is absolute; Auto keeps the display scale (#822) by @dkhlapov in https://github.com/storytold/wordcraft/pull/1142\n* Copied equations reach other programs as MathML (#816) by @dkhlapov in https://github.com/storytold/wordcraft/pull/1147\n* Equation pictures share a few atlas textures instead of hundreds (#1002) by @dkhlapov in https://github.com/storytold/wordcraft/pull/1149\n* Read Aloud starts PowerShell without a console window (#1122) by @dkhlapov in https://github.com/storytold/wordcraft/pull/1150\n\n## New Contributors\n* @xmaks82 made their first contribution in https://github.com/storytold/wordcraft/pull/904\n* @tellebma made their first contribution in https://github.com/storytold/wordcraft/pull/901\n* @skylartaylor made their first contribution in https://github.com/storytold/wordcraft/pull/783\n* @marcoarnulfo made their first contribution in https://github.com/storytold/wordcraft/pull/881\n* @NavidZamanKhan made their first contribution in https://github.com/storytold/wordcraft/pull/908\n* @Silvertree2010 made their first contribution in https://github.com/storytold/wordcraft/pull/914\n* @Nael-Nathanael made their first contribution in https://github.com/storytold/wordcraft/pull/1431\n* @rp6186030 made their first contribution in https://github.com/storytold/wordcraft/pull/1098\n* @webdevtodayjason made their first contribution in https://github.com/storytold/wordcraft/pull/1099\n* @przemek-arch made their first contribution in https://github.com/storytold/wordcraft/pull/1106\n* @lokinmodar made their first contribution in https://github.com/storytold/wordcraft/pull/1101\n* @mbaksa made their first contribution in https://github.com/storytold/wordcraft/pull/1114\n\n**Full Changelog**: https://github.com/storytold/wordcraft/compare/v0.6.1...v0.7.0","assets":[{"name":"SHA256SUMS.txt","size_bytes":2564,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/SHA256SUMS.txt","sha256":"f4e12325b3dd22701ef7603f52e6ed2ec11a8ae6fdea000d899d881b02d86cb2","platform":null},{"name":"wordcraft-0.7.0-freebsd-x86_64.tar.gz","size_bytes":100149921,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-freebsd-x86_64.tar.gz","sha256":"de25b6ea4368fbd91cc7a122a7d97834be75dc36e1165545dc799457c58f51b1","platform":{"os":"freebsd","arch":"x64","package_type":"tar_gz"}},{"name":"wordcraft-0.7.0-linux-aarch64.AppImage","size_bytes":90278408,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-linux-aarch64.AppImage","sha256":"872c8fc671c60c5d86eb5ff36ea91cf61ec8ce0f0adca344b13d1f10c145ff0c","platform":{"os":"linux","arch":"arm64","package_type":"app_image"}},{"name":"wordcraft-0.7.0-linux-aarch64.AppImage.zsync","size_bytes":308821,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-linux-aarch64.AppImage.zsync","sha256":"359ccb63c52b172595884e3d0c1c8ac72bc8deb5334798f8f73fce282b987462","platform":{"os":"linux","arch":"arm64","package_type":"app_image_zsync"}},{"name":"wordcraft-0.7.0-linux-aarch64.deb","size_bytes":96642496,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-linux-aarch64.deb","sha256":"844901d6fc32d5bcaacac5d27eb0ebf1d77fe2fe4489dc86019d848ee7a95261","platform":{"os":"linux","arch":"arm64","package_type":"deb"}},{"name":"wordcraft-0.7.0-linux-aarch64.flatpak","size_bytes":67423944,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-linux-aarch64.flatpak","sha256":"2a0e6ac64ad929d9ab9fd5930313560283a2f33d61d32b288e1374f76eae1e36","platform":{"os":"linux","arch":"arm64","package_type":"flatpak"}},{"name":"wordcraft-0.7.0-linux-aarch64.rpm","size_bytes":96006928,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-linux-aarch64.rpm","sha256":"2f79551485f2a099952942cdda2e118a442bb22357a5fa66ff4e5107e0f1bb0b","platform":{"os":"linux","arch":"arm64","package_type":"rpm"}},{"name":"wordcraft-0.7.0-linux-aarch64.tar.gz","size_bytes":94686149,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-linux-aarch64.tar.gz","sha256":"b5fce7f31bbbf38828c1714d7d43244ae85f034bbe761dfa401e044f976ba45e","platform":{"os":"linux","arch":"arm64","package_type":"tar_gz"}},{"name":"wordcraft-0.7.0-linux-riscv64.deb","size_bytes":97453800,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-linux-riscv64.deb","sha256":"17c2b8d70b54f6622f6ccc845e0a8325be841236b3155ed3b5388f9cb813ebb9","platform":null},{"name":"wordcraft-0.7.0-linux-riscv64.rpm","size_bytes":97098942,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-linux-riscv64.rpm","sha256":"54c0277bb6e9cede7489dedd9ed395cdc763a6df9d977ea87dae212f3835ee80","platform":null},{"name":"wordcraft-0.7.0-linux-riscv64.tar.gz","size_bytes":96299516,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-linux-riscv64.tar.gz","sha256":"82b629a04b45314e2f04bc8e8503d04a8f7a63c5275ec001fb3802eb977a52e6","platform":null},{"name":"wordcraft-0.7.0-linux-x86_64.AppImage","size_bytes":92838392,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-linux-x86_64.AppImage","sha256":"7dc86ff3025f185be39bf19822af24f2c504ddead3f52ed99c3d6960bce58d4d","platform":{"os":"linux","arch":"x64","package_type":"app_image"}},{"name":"wordcraft-0.7.0-linux-x86_64.AppImage.zsync","size_bytes":317569,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-linux-x86_64.AppImage.zsync","sha256":"59cad7b0e7cad3d7f754b9e99ec95b79ac32d7e45d365ed1a5d7d13e45357165","platform":{"os":"linux","arch":"x64","package_type":"app_image_zsync"}},{"name":"wordcraft-0.7.0-linux-x86_64.deb","size_bytes":98624900,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-linux-x86_64.deb","sha256":"8ff1e2557956a279f56f7d79ee15aa5403aaac26197b1868ea3dc0b61a23344c","platform":{"os":"linux","arch":"x64","package_type":"deb"}},{"name":"wordcraft-0.7.0-linux-x86_64.flatpak","size_bytes":70256568,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-linux-x86_64.flatpak","sha256":"3a957a7c5f25623ca3b644475f8078e2e05e95c06676dad18613e6c7d5c0c0f7","platform":{"os":"linux","arch":"x64","package_type":"flatpak"}},{"name":"wordcraft-0.7.0-linux-x86_64.rpm","size_bytes":98083058,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-linux-x86_64.rpm","sha256":"23624be24b1abcdb9271b3b3ae92a10048fa054a83772577b047ae914e89bf3c","platform":{"os":"linux","arch":"x64","package_type":"rpm"}},{"name":"wordcraft-0.7.0-linux-x86_64.tar.gz","size_bytes":97305034,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-linux-x86_64.tar.gz","sha256":"63009f88e3dbaea70ac1378fabc8555ae14775d32829175c5da2551abe03932f","platform":{"os":"linux","arch":"x64","package_type":"tar_gz"}},{"name":"wordcraft-0.7.0-macos-universal.dmg","size_bytes":104956247,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-macos-universal.dmg","sha256":"682eedce8ed59e370f0e86451ce46d359361bfbb1e87bc4a1a2ef044016410ea","platform":{"os":"macos","arch":"universal","package_type":"dmg"}},{"name":"wordcraft-0.7.0-windows-arm64-portable.zip","size_bytes":93718625,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-windows-arm64-portable.zip","sha256":"8c92c3fe5fd5dc5b488db293f5d5609246f61e309b28415002c9434ee856fdfb","platform":{"os":"windows","arch":"arm64","package_type":"portable_zip"}},{"name":"wordcraft-0.7.0-windows-arm64.msi","size_bytes":76791808,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-windows-arm64.msi","sha256":"bf938b54bda65a5aac635b7561209f28e7ad6211b3dd1fe722add8971c78c87c","platform":{"os":"windows","arch":"arm64","package_type":"msi"}},{"name":"wordcraft-0.7.0-windows-x64-portable.zip","size_bytes":96323926,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-windows-x64-portable.zip","sha256":"e6c8be9bb8ff815ed96974b8a25773d1e476301dcd5b242a267b88347185cc4f","platform":{"os":"windows","arch":"x64","package_type":"portable_zip"}},{"name":"wordcraft-0.7.0-windows-x64.msi","size_bytes":79564800,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-windows-x64.msi","sha256":"a01fd7b62f4953e72bf2ecefbb4177746f6433eee2dc58ba7d87adbb68f7ca19","platform":{"os":"windows","arch":"x64","package_type":"msi"}},{"name":"wordcraft-0.7.0-windows-x86-portable.zip","size_bytes":93510140,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-windows-x86-portable.zip","sha256":"78763e7527b9cfffbe56e6d8819e13d2a9aaa2642b7853687308a395d984d45b","platform":{"os":"windows","arch":"x86","package_type":"portable_zip"}},{"name":"wordcraft-0.7.0-windows-x86.msi","size_bytes":78225408,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-0.7.0-windows-x86.msi","sha256":"b518bb971086196129ea5d831b911bec14f049b2a6278dfd0a5f526868e74a5c","platform":{"os":"windows","arch":"x86","package_type":"msi"}},{"name":"wordcraft-cli-0.7.0-macos-universal.zip","size_bytes":86171216,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-cli-0.7.0-macos-universal.zip","sha256":"56bda3406af0aa1c96cece8ad145ab2602d2f7f8919d758d4292c5c75f2dfb50","platform":{"os":"macos","arch":"universal","package_type":"cli_zip"}},{"name":"wordcraft-web-0.7.0.zip","size_bytes":15009187,"download_url":"https://github.com/storytold/wordcraft/releases/download/v0.7.0/wordcraft-web-0.7.0.zip","sha256":"98df7c68a0ac788a9ac0f531fd34c31ab7d89965abb4935f57168d287dab3189","platform":{"os":"web","arch":null,"package_type":"web_zip"}}]},"app_last_fetched":"2026-10-15T15:40:48.750262801Z"}},"last_fetched":"2026-10-15T15:40:41.668271564Z"},"app_renames":[],"repo_renames":[],"important_notices":{"announcements":[],"alerts":[]}}