github storytold/vectorcraft v0.13.1
VectorCraft v0.13.1

3 hours ago

What's Changed

  • Fix #866: macOS save sheets have a Format menu again by @dotCooCoo in #2379
  • i18n: add Dutch, Danish, Hindi and Indonesian interfaces by @pechnikov2026-star in #2393
  • Cursors: 36 more tool states get cursors of their own, listed in cursors.toml by @bobtherobot in #2334
  • Part of #394: Highlight Alternate Glyphs paints pink behind OpenType substitutions by @Messhias in #1365
  • Layers: a .ai another app wrote opens with its top-level layers closed, as its groups by @marcoarnulfo in #1510
  • Render: check an image's RGBA size before decoding it by @dotCooCoo in #2442
  • Render: an export no longer warns about images another thread could not decode by @dotCooCoo in #2604
  • Images: sampling and recoloring check an image's RGBA size without overflowing by @dotCooCoo in #2468
  • Crop Image: trim checks the image's RGBA size before decoding it by @dotCooCoo in #2407
  • PDF export: Add Around is clamped when a file opens, and art too large for f64 gets no effect image by @dotCooCoo in #2440
  • Fix graph axis labels saturating beyond the i64 range by @Silvertree2010 in #2610
  • Reject '+' and other non-hex characters in Color::from_hex by @Silvertree2010 in #2470
  • Escape XML ID first characters that cannot start an XML name by @Silvertree2010 in #2447
  • Lint: action_batch.rs compiles without an unused import on wasm32 by @dotCooCoo in #2463
  • Tests: CLI tests do not fail on folders an earlier run left behind by @dotCooCoo in #2605
  • Tests: a language one ui-egui test sets no longer translates the tests running beside it by @dotCooCoo in #2570
  • Wayland: pointer returns over panels and menus after a tool cursor (#2450) by @vangel76 in #2502
  • PNG export: an sRGB chunk marks the colours as sRGB (#2221) by @vangel76 in #2519
  • Character: the Kerning field at a caret kerns the pair, not the whole text (#2217) by @vangel76 in #2518
  • Type: selected overflowing type shows its red out port with any tool (#2323) by @vangel76 in #2517
  • Color: Generic CMYK black round-trips through hex (#2493) by @vangel76 in #2503
  • Overprint Preview: a colour overprinting itself stays that colour (#2415) by @vangel76 in #2514
  • Layers: Merge Selected with a layer and its sublayer highlighted merges into the last top-level layer (#2383) by @vangel76 in #2498
  • Panels: floating panel groups paint an opaque background (#2421) by @vangel76 in #2499
  • Gradient chips: follow the angle and the gradient type (#2494) by @vangel76 in #2495
  • Export: raster document.export takes a page rectangle (#2412) by @vangel76 in #2511
  • Fix #2540: Object → Expand expands Intertwine groups by @odgrim in #2622
  • Part of #2384: imported PDF text keeps its place after wide gaps between words by @dotCooCoo in #2620
  • Libraries: a plain click sets where a Shift-click range starts by @dotCooCoo in #2618
  • Graphic Styles: Shift-click selects a range of styles by @dotCooCoo in #2612
  • Links: Shift-click selects a range of links by @dotCooCoo in #2613
  • View: in Presentation Mode no key but ←, → and Escape acts, and no context menu opens by @dotCooCoo in #2583
  • Rotate View: a Space+Shift drag rotates the view from any tool by @dotCooCoo in #2601
  • Appearance: the inline effect editor's text fields keep what is typed by @dotCooCoo in #2599
  • Document Raster Effects Settings: a file's resolution outside 1 to 2400 ppi opens in range by @dotCooCoo in #2579
  • Quote graph data CSV labels so they round-trip through graph.setData by @Silvertree2010 in #2568
  • Artboards: commands given an index that names no artboard fail instead of editing another one by @dotCooCoo in #2566
  • docs: quick Image Trace presets trace at once; the Image Trace button opens the controls (#2585) by @bflatastic in #2640
  • Effects: skip type tests when built without craft-fonts (#2476) by @vangel76 in #2477
  • Effects: a Transform effect on a group paints each copy with its own gradient (#2451) by @vangel76 in #2486
  • Effects: Zig Zag Smooth points draw a continuous wave (#2343) by @vangel76 in #2475
  • Type: text.create and text.createInPath return the new type's bounds (#2413) by @vangel76 in #2478
  • Type: a tab takes its width when area type breaks and justifies its lines (#2457) by @vangel76 in #2487
  • Dimension tool: Shift preview, snap indicator, clicks snap onto lines and anchors (#2432, #2516) by @vangel76 in #2482
  • Render: Inner Glow on a pattern fill draws along the edges, not at the top left (#2426) by @vangel76 in #2510
  • Fix native font labels when only legacy names are localized by @EuanTop in #2237
  • Live Corners: a corner rounds until its cut reaches its neighbours (#2332) by @vangel76 in #2484
  • Fix Illustrator EPS import to preserve editable vector artwork by @theromis in #2571
  • MCP: scope doc_inspect by ids, kind and page (#2167) by @vangel76 in #2543
  • PDF export: report RGB colours and images in a CMYK document (#2162) by @vangel76 in #2522
  • MCP: cancel long exports, answer while one runs, report progress (#2165, #2171) by @vangel76 in #2546
  • Persistence: saved PDF presets and loaded ICC profiles survive a restart (#2168, #2174) by @vangel76 in #2547
  • Accessibility: buttons, toggles, checkboxes and sliders have names for screen readers by @dotCooCoo in #2611
  • Swatches: Alt-click on a swatch recolors the selected gradient stop by @dotCooCoo in #2623
  • Print: Print, Print Preview and Print Setup take a print preset by name by @dotCooCoo in #2607
  • Variables: Import Data Sets… reads tab-separated files and files without a name column by @dotCooCoo in #2608
  • Type: a click in a Devanagari syllable goes to its nearer end, and shaping is tested by @dotCooCoo in #2602
  • TIFF: planar grayscale files with extra channels, and planar CMYK files, open and place by @dotCooCoo in #2598
  • Docs: type-parity and the roadmap list the Hyphenation options as done by @dotCooCoo in #2580
  • i18n: Simplified Chinese translates status-bar and error messages by @dotCooCoo in #2578
  • SVG export: justified and Mojikumi lines keep their letter spacing in live text by @dotCooCoo in #2574
  • Type: a change of paint, baseline shift or rotation on one character keeps the font's kerning by @dotCooCoo in #2554
  • .ai import: a Drop Shadow with Darkness comes in with its Darkness by @dotCooCoo in #2513
  • Character: Small Caps, Superscript and Subscript buttons and menu items set the text by @dotCooCoo in #2508
  • Actions: Batch keeps files named after data sets inside the destination folder by @dotCooCoo in #2504
  • Type: redefining a text style back to a default updates the text that uses it by @dotCooCoo in #2501
  • Render: every raster export warns about an undecodable image inside a pattern by @dotCooCoo in #2621
  • Effects: effect.apply and effect.setParams refuse a color the effect can't draw by @dotCooCoo in #2617
  • Templates: Save as Template always writes a file with a template extension by @dotCooCoo in #2597
  • i18n: file filters, preset names and mark styles are translated in every complete language by @dotCooCoo in #2590
  • Artboards: Duplicate Artboards, Copy and Cut take every selected artboard by @dotCooCoo in #2567
  • Images: sampling and recoloring decode images past 512 MB, up to 2 GB by @dotCooCoo in #2507
  • Transform panel: the menu's Flip Horizontal and Flip Vertical keep the reference point by @marcoarnulfo in #2400
  • Transform: a percentage typed alone in W or H scales the size it shows by @marcoarnulfo in #2404
  • i18n and docs: rows and ROADMAP entry for the community PRs landed on 2026-10-17 by @bflatastic in #2649
  • View: Show Transparency Grid is saved with the document by @webdevtodayjason in #2488
  • Layers: the panel menu's Save Selection submenu saves, lists and updates saved selections by @dotCooCoo in #2483
  • Character: Reset Panel resets every attribute the panel shows except the font and size by @dotCooCoo in #2479
  • Guides: a Cmd/Ctrl+Shift double-click releases the guide under the pointer by @dotCooCoo in #2467
  • Type: emptying the text while editing keeps its character style by @marcoarnulfo in #2464
  • File formats: PostScript (.ps) and .epsf files open and place by @dotCooCoo in #2461
  • Missing Fonts: a folder the search refuses says why in the dialog, not "Not found" by @marcoarnulfo in #2458
  • Gradient mesh: an opaque patch is backed by its outline, so patches that narrow to slivers leave no holes by @EricKuck in #2456
  • Recolor Artwork: dragging a wheel handle of CMYK art keeps the linked handles in place by @marcoarnulfo in #2454
  • PDF export: a CMYK image's own soft mask is written as its /SMask, not a luminosity mask by @marcoarnulfo in #2448
  • EPS: images encoded with CCITTFaxDecode draw by @dotCooCoo in #2445
  • AI import: a compound path whose subpaths' group is marked like a look keeps its holes by @marcoarnulfo in #2444
  • Effects: Smart Blur's Radius widens the edge search in Edge Only and Overlay Edge by @dotCooCoo in #2443
  • Paragraph: Reset Panel also resets the Hyphenation options by @dotCooCoo in #2438
  • EPS import: an Illustrator 3 file without layers opens its paths on one layer (fixes storytold/photocraft#6036) by @marcoarnulfo in #2436
  • Fields: Shift+Enter applies a panel field's value and keeps the field active by @dotCooCoo in #2431
  • Paths: Shift keeps a reshaped segment's handles perpendicular and equal in length by @dotCooCoo in #2425
  • .ai import: type keeps its own opacity and blend mode by @dotCooCoo in #2420
  • #2405: an envelope's mesh in an .ai isn't read as art by @jmverges in #2410
  • Color effects recolour the points of a freeform gradient by @marcoarnulfo in #2397
  • Image Trace: six fixes from @andeecollard (#2589, #2584, #2387, #2586, #2587, #2588) by @bflatastic in #2658
  • i18n: blend spine errors are translated in every complete language by @dotCooCoo in #2624
  • Blend: Window › Blend opens a Blend panel with the blend's spacing, orientation and commands by @dotCooCoo in #2573
  • Brushes: Shift-click and Ctrl/Cmd-click select several brushes, and Delete Brush deletes them by @dotCooCoo in #2562
  • Place: RTF files place as area type with their formatting by @dotCooCoo in #2524
  • Type: the Touch Type tool moves, scales and rotates single characters by @dotCooCoo in #2469
  • PDF: colours are written in the profiles assigned to the document by @japbcoelho in #2536
  • Save and Export ask before replacing a file that an added extension names by @dotCooCoo in #2619
  • Expand: pattern fills expand into their tiles clipped by the shape by @dotCooCoo in #2616
  • Type: Optical Margin Alignment hangs punctuation and letter edges outside the frame by @dotCooCoo in #2563
  • Control bar: the Artboard tool shows the active artboard's preset, name, X, Y, W and H by @dotCooCoo in #2559
  • Contextual Task Bar: the Artboard tool offers Resize, Duplicate, Rearrange All and Export by @dotCooCoo in #2556
  • Artboards: Alt-click on New Artboard opens Artboard Options for the new artboard by @dotCooCoo in #2496
  • Window: the SVG Interactivity panel attaches JavaScript events and files for SVG export by @dotCooCoo in #2437
  • Live Paint: Gap Options find and close gaps in Live Paint groups by @dotCooCoo in #2424
  • Graphs: Object › Graph › Column draws columns with graph designs by @dotCooCoo in #2406
  • Move dialog opens remembers the last drag or move values by @danngreen in #2542
  • Print: open printing preferences for the selected printer on Windows … by @dennismutuku2005 in #2577
  • i18n and docs: rows and ROADMAP entry for the fifth 2026-10-17 batch by @bflatastic in #2666
  • i18n(fi): review the machine-drafted Finnish rows by @Janiz-zzz in #2472
  • G2: Effect › Artistic › Cutout, Neon Glow and Poster Edges by @VL420 in #2453
  • Rotate View: resize and rotate cursors turn with the view by @dotCooCoo in #2594
  • Appearance: the inline effect editor shows choice parameters as dropdowns with the dialog's labels by @dotCooCoo in #2582
  • G7: View › Rulers › Change to Global / Artboard Rulers by @VL420 in #2416
  • Symbols: Symbol Options › Enable Guides for 9-Slice Scaling (#2342) by @vangel76 in #2512
  • Gradient mesh: Create Gradient Mesh on an embedded image (#1676) by @vangel76 in #2538
  • .ai import: type from the layers opens without the PDF part's outlines warnings by @dotCooCoo in #2667
  • Fix #2276: the Eyedropper and RGB input give color-managed CMYK values in a process document by @dotCooCoo in #2664
  • Object Mosaic: columns and rows that are not whole numbers are refused by @dotCooCoo in #2659
  • Escape quotes and backslashes in exported CSS font-family by @Silvertree2010 in #2657
  • New Document and Document Setup: values out of range in a saved preset or a file are read in range by @dotCooCoo in #2656
  • Part of #2422: a selected clip group shows its clipping path's outline, not its hidden art by @dotCooCoo in #2650
  • Rasterize, Flatten Transparency: commands that replace art with a rendering warn about an undecodable image by @dotCooCoo in #2648
  • Images: the too-large note counts the image's pixels as RGBA by @dotCooCoo in #2647
  • Type: a huge selection of type on a path draws no per-object brackets by @dotCooCoo in #2645
  • Rotate View: a two-finger rotation on a Mac trackpad turns the view about the pointer by @dotCooCoo in #2644
  • Variables: a data set rewrites bound type on hidden layers by @dotCooCoo in #2641
  • Blends, meshes and envelopes: an index or count that is not a whole number is refused by @dotCooCoo in #2638
  • Artboards: Rearrange and Select All on Active Artboard measure a symbol instance by its art by @dotCooCoo in #2614
  • Artboards: art centered on an artboard's right or bottom edge is on that artboard by @dotCooCoo in #2637
  • Print: a Print Tiling origin on an artboard's right or bottom edge is measured from that artboard by @dotCooCoo in #2665
  • Part of #2460: a huge selection of type, images, symbols or meshes shows its bounds by @dotCooCoo in #2635
  • Save: save panels for files other than documents offer the file type they write by @dotCooCoo in #2633
  • Layers panel: drop a layer under the last row to move it to the bottom (#2260) by @MarekSpodBiedry in #2632
  • Variables: Lock Variables stops variables from being defined, deleted or renamed by @dotCooCoo in #2631
  • Part of #2345: a marquee does not select a clip group by its hidden art by @dotCooCoo in #2630
  • Guides: Lock Guides keeps guides deselected after Undo, Exit Isolation Mode and Paste by @dotCooCoo in #2629
  • Export: PDF, EPS, SVG, EMF, WMF and image exports warn about type that doesn't fit its frame by @dotCooCoo in #2628
  • Artboards: Shift-click in the Artboards panel selects a range of artboards by @dotCooCoo in #2626
  • Background save: dropped Puppet Warp pins, ended Edit Text and font scans leave the document saved by @dotCooCoo in #2625
  • Part of #2441: Group Selection picks and moves one path of a compound path; i18n and docs for the sixth batch by @bflatastic in #2686
  • i18n: the History panel translates the undo step names the sources write as literals by @dotCooCoo in #2609
  • Fix #2541: installed plug-ins stay installed after a restart by @bflatastic in #2695
  • Part of #2572: clicking an area type's out port threads its text into a path or a new frame by @bflatastic in #2713
  • Fix #2603: a panel per swatch library, with Persistent by @bflatastic in #2714
  • Create Strokes: skeleton graph with junction merging by @andeecollard in #2705
  • Image Trace: Raster::new returns an error for a buffer of the wrong length by @andeecollard in #2701
  • Image Trace: large images trace with a warning; anchor limit 8,000,000 by @andeecollard in #2700
  • Image Trace: Auto Color keeps rare but distinct colours by @andeecollard in #2702
  • Character: variable fonts get a slider for each axis by @dotCooCoo in #2710
  • Paths: Reshape Segment, Convert Anchor Point and the Pencil refuse values of 1e9 pt or more by @dotCooCoo in #2709
  • Contextual Task Bar: direct-selected anchors offer Connect, Corner and Smooth by @dotCooCoo in #2697
  • Import PDF 0 w strokes as hairlines instead of dropping them by @Silvertree2010 in #2696
  • Effects: Effect › Rasterize draws an object as pixels while its paths stay editable by @dotCooCoo in #2409
  • i18n and docs: Image Trace warnings in every complete language; ROADMAP for the evening's landings by @bflatastic in #2724
  • G4: Paragraph panel menu › Roman Hanging Punctuation by @VL420 in #2775
  • Fix #1876: Artboard Options has X and Y with a reference point by @guillehr2 in #2739
  • Fonts: a variable font's default face is named and weighed by its default instance (#2521) by @vangel76 in #2733
  • Fonts: fallback glyphs keep bold/italic, Bold Italic of a missing family keeps the bold, CJK prefers an installed sans (#2491) by @vangel76 in #2732
  • i18n(nl): complete the Dutch catalog by @nvict-service in #2730
  • Write legacy .ai layer names in Windows Latin-1 and warn when a character is replaced (#2693) by @MarekSpodBiedry in #2722
  • Map the WMF window onto the placeable box (#2673) by @MarekSpodBiedry in #2721
  • Magic Wand: only select objects inside the isolated group (#2655) by @MarekSpodBiedry in #2720
  • Blend: edit spine points and handles with the Anchor Point tool (#2544) by @makesomethingshit in #2643
  • Shadows and glows: each is of the art with the ones before it in the stack, and an Outer Glow blurs a solid silhouette by @EricKuck in #2395
  • 3D effects: one to ten coloured lights (#2706) by @bflatastic in #2787
  • G1: Contextual Task Bar: Join, Edit Path, Release and type conversion by selection by @VL420 in #2471
  • Type: superscript, subscript and small caps proportions out of range in a file are read in range by @dotCooCoo in #2728
  • Type: sizes, scales, leading, indents and spacing out of range in a file are read in range by @dotCooCoo in #2757
  • Type: Optical Margin Alignment is a setting of the whole thread by @dotCooCoo in #2773
  • Shaper: a marquee does not select a Shaper Group by the original shape of an erased face by @dotCooCoo in #2772
  • TIFF: CCITT Group 3 compressed files open and place by @dotCooCoo in #2770
  • Place: Word .docx files place as area type with their formatting by @dotCooCoo in #2766
  • PDF presets: a rename that can't be written keeps the preset under its old name by @dotCooCoo in #2767
  • History: the panel menu has Step Backward, Step Forward and Set History Limit… by @dotCooCoo in #2764
  • Artboards: Ctrl/Cmd+A in the Artboards panel selects every artboard with the Artboard tool by @dotCooCoo in #2761
  • .ai import: the warning that the layers differ from the page gives the art's share or names the type by @dotCooCoo in #2760
  • Actions: Batch's Override Save and Export name files with the format's extension by @dotCooCoo in #2747
  • Part of #2558: a drag draws zoomed-in raster effects at a lower resolution until it ends by @dotCooCoo in #2745
  • Effects: vectorcraft-effects passes clippy on Rust 1.95, the minimum toolchain by @dotCooCoo in #2740
  • Export: names typed into file names follow Windows' naming rules by @dotCooCoo in #2738
  • Export for Screens: exports warn when an image couldn't be decoded or a font is missing by @dotCooCoo in #2737
  • Export: Save for Office, CSS and Copy warn when an image couldn't be decoded or a font is missing by @dotCooCoo in #2762
  • Variables: Import Data Sets… defines the variables a file's header names by @dotCooCoo in #2736
  • Tests: five tests that wait on another thread pass on a loaded machine by @dotCooCoo in #2729
  • Linux Display Server: XWayland when a pen is attached, where a drawing tablet's pen draws by @dotCooCoo in #2717
  • Fix #2054: bounding-box resize handles snap to the grid, pixels, points and ruler guides by @dotCooCoo in #2715
  • i18n: Edit › Undo and Redo name the step as the History panel does by @dotCooCoo in #2774
  • Brushes, patterns and artboards: new and renamed items have their names trimmed by @dotCooCoo in #2746
  • Tabs: Clear All Tabs, Delete Tab and Repeat Tab can be chosen from the panel menu by @dotCooCoo in #2742
  • Character and Paragraph Styles: a new style's name is trimmed as a rename trims it by @dotCooCoo in #2726
  • Save for Web: saving and Preview in Browser warn when an image couldn't be decoded by @dotCooCoo in #2684
  • Docs: ROADMAP entry and parity-row cleanup for the 2026-10-18 community batch by @bflatastic in #2791
  • Open originals and linked files only on this computer or the document's share by @skylartaylor in #2777

New Contributors

Full Changelog: v0.12.0...v0.13.1

Don't miss a new vectorcraft release

NewReleases is sending notifications on new releases.