Commit Graph
5291 Commits
Author SHA1 Message Date
Jürg Lehni caaccaf5be Type: images in SVG glyph documents draw with the glyph
They were left out because glyph art had no document to keep them in; since #3879 they hold their own pixels until a document takes them in.
2026-10-24 06:00:22 +07:00
NetterSilverandClaude Haiku 5.5 156fe87fdd Reject a leading plus sign in page range numbers
Found while testing crates/doc/src/range.rs:12

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 06:00:21 +07:00
bflatastic 3225315ce1 PDF export: warn about tiles only for a pattern swatch that exists 2026-10-24 05:59:04 +07:00
bflatastic a564fe5d8e PDF export: pattern fills are written as tiling patterns (#3849) 2026-10-24 05:59:04 +07:00
bflatastic b2835c4f2b Tests: engine tests that add fonts to the shared font database take one lock 2026-10-24 05:52:15 +07:00
bflatastic 23d8820898 EMF and WMF export: say when type is written as outlines and pattern fills as their tiles (#3850) 2026-10-24 05:35:12 +07:00
BFlat ece7f6b938 Merge pull request #3899 from storytold/fix/3870-outline-sliver
Pathfinder Outline: junctions a hair apart are one cut, so no sliver path is left (#3870)
2026-10-24 05:30:53 +07:00
bflatastic 5b1528c9b6 Pathfinder Outline: junctions a hair apart are one cut, so no sliver path is left (#3870) 2026-10-24 05:17:06 +07:00
BFlat af6b0b8691 Merge pull request #3897 from storytold/fix/audit-automation-roots
Fix clipboard read-policy bypass and FULL lock held during checks (audit automation roots)
2026-10-24 05:16:36 +07:00
bflatastic 4eec70e5cd Automation roots: rustfmt and clippy (redundant closure) 2026-10-24 05:16:21 +07:00
Dylan M. Taylor 42f8b513a2 Fix clipboard read-policy bypass and lock-held file checks
- copied_file: check the read policy on the real path when it is
  valid UTF-8; skip non-UTF-8 paths while automation roots are
  active instead of checking a lossy name (path traversal via
  symlink, CodeRabbit #3872 thread 1).
- full_bytes_cached: collect matching cache candidates under the
  FULL lock, then run the read checks after releasing it, so
  filesystem walks no longer stall other FULL users (thread 2).
2026-10-24 05:16:20 +07:00
Dylan M. Taylor cd043f650b Tests: the recovery folder needs read access too; the Place queue check runs for any active tool 2026-10-24 05:16:20 +07:00
Dylan M. Taylor c99b77060d Test: the Place queue is checked against the read roots 2026-10-24 05:16:20 +07:00
Dylan M. Taylor e95e8418ed Audit: automation roots follow file.showPackage, the Place queue, headless file methods, clipboard files, placed-document workers and caches, folder searches and the recovery folder 2026-10-24 05:16:20 +07:00
BFlat 8743f63f50 Merge pull request #3898 from storytold/land/3895
G12: ruler guides nudged with art keep to the page's axes at a turned Constrain Angle
2026-10-24 05:01:07 +07:00
Angelo BernardiniandClaude Opus 5.5 52a43eefdb G12: ruler guides nudged with art keep to the page's axes at a turned Constrain Angle
With objects and ruler guides selected together, object.nudge moved the
guides by the art's delta turned through General > Constrain Angle, so at
90 degrees a Right nudge moved a horizontal guide vertically. The guides
in that edit now move by the page-axis delta, as guides selected alone
already did (CodeRabbit finding on #3745).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014gCpjL3yUhaH3jRp7ksufh
2026-10-24 04:59:57 +07:00
BFlat e0c1548049 Merge pull request #3896 from storytold/fix/3869-svg-type-features
SVG export: type with small capitals, superscript, subscript or tab leaders is written as outlines (#3869)
2026-10-24 04:51:54 +07:00
BFlat 8d87932f48 Merge pull request #3891 from aiongg/eps-read-soon-headroom
EPS tests: budget tests wait 120 s for the program to stop
2026-10-24 04:51:38 +07:00
aiongg 6877d6535f Links: resolve stored paths with craft-docpath's resolve_absolute (#3267)
* Links: use resolve_absolute for stored paths

* CI: release only with git dependencies from storytold

* Release: check git sources from the parsed Cargo.lock and cargo config

The grep let any character stand for the dot in github.com, passed a missing or stale
Cargo.lock, and missed source replacement in .cargo/config.
2026-10-23 17:51:28 -04:00
BFlat f02eedd50d Merge pull request #3892 from mercuryVM/fix/3724-new-window-disabled
Fix #3724: Window › New Window is greyed out until it opens a window
2026-10-24 04:51:26 +07:00
BFlat ec2d43a4d5 Merge pull request #3894 from lehni/refactor/colour-key
Renderer: colour caches key colours with Color::key
2026-10-24 04:51:10 +07:00
BFlat 32d81bb04e Merge pull request #3884 from dylanmtaylor/fix/audit-pdf-limits
Security: PDF import, print and export bounds; PDF 1.3 encryption notes
2026-10-24 04:50:54 +07:00
BFlat 83ccffcc9e Merge pull request #3890 from dylanmtaylor/fix/audit-engine-mcp-limits
Security: export names, linked-file ids, MCP prompt arguments and image encoders
2026-10-24 04:50:38 +07:00
BFlat 2084f1a6f9 Merge pull request #3889 from dylanmtaylor/fix/audit-effects-color
Security: Scribble rows, Outer Glow dilation and CSS export names
2026-10-24 04:50:23 +07:00
BFlat 5abf14a1c3 Merge pull request #3886 from dylanmtaylor/fix/audit-cad-limits
Security: DXF export bounds (layer and style names, flattening, entity count, image size) and import dash patterns
2026-10-24 04:50:07 +07:00
BFlat cc44799d08 Merge pull request #3885 from mercuryVM/fix/3716-click-near-anchor-moves
Fix #3716: a click near an anchor selects without moving the object
2026-10-24 04:49:51 +07:00
BFlat c6acc2511d Merge pull request #3879 from lehni/feature/art-owns-pixels
Type: emoji go with type that effects reshape and Expand Appearance
2026-10-24 04:49:33 +07:00
bflatastic 166afce360 SVG export: type with small capitals, superscript, subscript or tab leaders is written as outlines (#3869) 2026-10-24 04:49:08 +07:00
aiongg 88884bcd01 EPS tests: budget tests wait 120 s for the program to stop
search_in_a_loop_runs_out_of_the_budget searches about 3 GB before the operation budget runs
out: 14 s on a fast desktop, over the 20 s limit on the FreeBSD runner. The 20 s limit stays
for the tests that use it as a speed bound.
2026-10-24 04:49:08 +07:00
Gabriel Luís da Silva 60764fb65b Fix #3724: Window > New Window is greyed out until it opens a window
New Window was enabled in the menus and in the control channel's menu
listing, but choosing it opened nothing and answered with the internal
note "multiple windows land with M11.5". It is now disabled, as Window >
Arrange's unimplemented items already are, and a direct call fails with
a message meant for the user, translated in every catalog.
2026-10-24 04:49:07 +07:00
Jürg Lehni 181aeef44c Renderer: colour caches key colours with Color::key
The freeform and dithered gradient grids and the separated inks each built the same exact colour key by hand; they now take the one Color::key gives.
2026-10-24 04:49:07 +07:00
Dylan M. Taylor 5020dc0585 PDF export: past the retry cap, one last run leaves out every image instead of failing 2026-10-24 04:49:07 +07:00
bflatastic 9c8afb09ba Image encoders: rustfmt 2026-10-24 04:49:07 +07:00
bflatastic 028cafa52e Scribble: the row loop's stop compares with partial_cmp (also stops on NaN; clippy) 2026-10-24 04:49:07 +07:00
bflatastic a82bcfe7a5 DXF export: format the far-coordinate check 2026-10-24 04:49:07 +07:00
Gabriel Luís da Silva f0ec1c8506 Fix #3716: a click near an anchor selects without moving the object
A Selection tool press within reach of an anchor or the centre grabs the
object by that point, but the drag threshold was measured from that point
instead of from the press. A press 3-6 px from it was already past the
threshold, so the first pointer wobble started a move and jumped the
object by the offset. The threshold now counts from where the pointer
went down; a real drag still moves the object by the grabbed point.
2026-10-24 04:49:07 +07:00
bflatastic 2e71ab5476 PDF import and export: rustfmt 2026-10-24 04:49:07 +07:00
Dylan M. Taylor 52ceefe906 Audit: Targa and palette encoders check pixel buffer sizes 2026-10-24 04:49:07 +07:00
Dylan M. Taylor b59235e762 Test: sliding-window maximum 2026-10-24 04:49:07 +07:00
bflatastic 62333a2128 DXF export: the far-coordinate check compares with partial_cmp (also refuses NaN; clippy) 2026-10-24 04:49:07 +07:00
Dylan M. Taylor 4b8e69981e Audit: PDF import and export bounds 2026-10-24 04:49:07 +07:00
Dylan M. Taylor 9843d5f1ab Audit: export names, linked-file ids and MCP prompt arguments in one pass 2026-10-24 04:49:07 +07:00
Dylan M. Taylor e3223a419d Audit: Scribble rows counted, Outer Glow dilation in linear time, CSS export names in a set 2026-10-24 04:49:07 +07:00
bflatastic 711b10ca59 Security: DXF export bounds (layer and style names, flattening, entity count, image size) and import dash patterns
Squashed from #3886 onto main.
2026-10-24 04:49:07 +07:00
bflatastic c2ad9f8bbb Type: emoji go with type that effects reshape and Expand Appearance
Squashed from #3879 onto main.
2026-10-24 04:49:06 +07:00
BFlat 94e1fa3ecc Merge pull request #3882 from dylanmtaylor/fix/audit-geom-pathops
Security: geometry, path edit and tool work bounds
2026-10-24 04:48:28 +07:00
bflatastic 0ecef703ef Security: cap the perspective grid's line-loop bounds at 121 a way 2026-10-24 04:34:18 +07:00
Dylan M. Taylor 1bb904c147 Audit: Perspective Grid lines counted not summed; Liquify subdivision stays under its anchor ceiling 2026-10-24 04:13:37 +07:00
Dylan M. Taylor aa160b969b Audit: path edit work bounds (redundant points in one pass, simplify and join budgets) 2026-10-24 04:13:36 +07:00
Dylan M. Taylor f4a30c1a94 Audit: geometry length measurement refuses coordinates the integrator cannot handle 2026-10-24 04:13:36 +07:00