Commit Graph
7848 Commits
Author SHA1 Message Date
BFlat ed6bfddf75 Merge pull request #5410 from storytold/fix/sec-pdf-import-bounds
PDF: bound marked-content lookup, ASCII85, editing-data hashing, image decodes and ink warnings
2026-11-03 23:53:24 +07:00
BFlat 97d440ebe6 Merge pull request #5408 from storytold/fix/sec-svg-css-string-escapes
CSS export: line breaks and angle brackets in names can't end a CSS string
2026-11-03 23:53:08 +07:00
BFlat e3fc6c4339 Merge pull request #5407 from storytold/fix/sec-svg-glyph-raster-only
SVG glyphs: keep only typed raster data URLs, and no links
2026-11-03 23:52:53 +07:00
BFlat a4f614f3d3 Merge pull request #5406 from storytold/fix/sec-svg-entity-estimate
SVG: the entity expansion cap counts every declaration and refuses names it can't follow
2026-11-03 23:52:38 +07:00
BFlat caf6e2baf9 Merge pull request #5405 from storytold/fix/sec-svg-name-suffixes
SVG: CSS class names and imported symbol names take linear work
2026-11-03 23:52:22 +07:00
Dylan M. Taylor c3f1a17ad1 test(pdf): keep the offsets for the trailer 2026-11-03 23:29:32 +07:00
Dylan M. Taylor bcc26d28a6 fix(pdf): bound marked-content lookup, ASCII85, editing hash, image decodes and ink warnings 2026-11-03 23:29:32 +07:00
Dylan M. Taylor cfd31b5010 CSS export: line breaks and angle brackets in names can't end a CSS string
Squashed from #5408 onto main.
2026-11-03 23:29:31 +07:00
Dylan M. Taylor 0086c85bc7 fix(svg): glyphs keep only typed raster data URLs and no links 2026-11-03 23:29:09 +07:00
Dylan M. Taylor c972c15d0f fix(svg): entity expansion estimate counts every declaration and refuses long names 2026-11-03 23:29:08 +07:00
Dylan M. Taylor 6b0a434c32 perf(svg): CSS class and imported symbol names go on from the last suffix 2026-11-03 23:29:06 +07:00
BFlat 408f38ea2a Merge pull request #5402 from ruchirguitar/feat/type-on-path-preview
Fix #5360: Type on a Path Options has a Preview checkbox
2026-11-03 23:14:26 +07:00
BFlat 78f573e979 Merge pull request #5399 from storytold/fix/sec-followup-5301
Copy: a PNG too large to make is not offered, and the status bar says why
2026-11-03 23:14:09 +07:00
BFlat 82db762d51 Merge pull request #5400 from storytold/fix/sec-followup-5305
Export for Screens: settings saved without their PDF passwords don't export unprotected
2026-11-03 23:13:51 +07:00
BFlat 1f73e07761 Merge pull request #5397 from storytold/fix/sec-followup-5288
DXF import: charge every dash copy and symbol name, name the block-work limit
2026-11-03 23:13:35 +07:00
BFlat d1878189ce Merge pull request #5396 from storytold/fix/sec-followup-5303
Threads: a frame left alone by a dropped repeat is flowed again
2026-11-03 23:13:19 +07:00
BFlat 5363321a5f Merge pull request #5398 from storytold/fix/sec-followup-5293
Brushes: a brush name the library lacks doesn't make art draw a brushed stroke
2026-11-03 23:13:02 +07:00
bflatastic 28b87faeee Type on a Path Options: docs say where the Preview checkbox comes from 2026-11-03 22:54:12 +07:00
bflatastic 9f6c7d621f Copy: the too-large-for-PNG status message in every catalog 2026-11-03 22:53:39 +07:00
ruchirguitarandClaude Opus 5.5 f53ebdf7c0 Fix #5360: Type on a Path Options has a Preview checkbox
With Preview on, the selected type on a path follows Effect, Flip, Align
to Path and Spacing while the dialog is open. Cancel puts it back with no
history step; OK keeps the previewed values as one undo step. Preview
starts off. The public pages list no Preview for this dialog, so this is
a VectorCraft choice, recorded as such in the parity docs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 22:53:39 +07:00
Dylan M. Taylor ce5d99c363 Copy: a PNG too large to make is not offered, and the status bar says why
Follow-up to #5301. flavour_types (and clipboard.flavours) still listed PNG for art too large to render at the smallest scale, and the omission was only logged. PNG eligibility is now shared, and flavours_with_warnings returns a warning the status bar shows.
2026-11-03 22:52:31 +07:00
Dylan M. Taylor 1ce015de86 Export for Screens: settings saved without their PDF passwords don't export unprotected
Follow-up to #5305. Stripping passwords from remembered settings made the next export of a password-protected PDF row write an unencrypted file without a word. The stripped settings now keep a non-secret passwordRequired flag, and an export refuses them until a password is given again (or security without the flag is given).
2026-11-03 22:52:30 +07:00
Dylan M. Taylor ac391b0f85 DXF import: charge every dash copy and symbol name, name the block-work limit
Follow-up to #5288. A dashed compound path keeps its dash pattern on the compound node and on each loop, so the dash budget is charged for every copy. A symbol's name is charged against the text budget before the symbol is kept. Running out of block work now says so instead of reporting more than 2,000,000 objects.
2026-11-03 22:52:28 +07:00
Dylan M. Taylor 30ce0e3a42 Threads: a frame left alone by a dropped repeat is flowed again
Follow-up to #5303. When deduplication shortens a thread ([[a, b], [b, c]] -> [[a, b], [c]]) and no frame changed, the fast path dropped [c] without clearing its threaded continuation. A thread that lost a listing now counts as changed and is flowed again.
2026-11-03 22:52:27 +07:00
Dylan M. Taylor f0f3320d39 Brushes: a brush name the library lacks doesn't make art draw a brushed stroke
Follow-up to #5293. draws_brushed rejected masks, symbol instances and pattern paints whose art names a brush the library doesn't have, though such a stroke draws plain. It now counts only brush names that resolve.
2026-11-03 22:52:25 +07:00
BFlat 4612ffb91d Merge pull request #5394 from storytold/fix/sec-followup-5306
Place: a placement read again when it completes stays within the roots it was read in
2026-11-03 22:43:41 +07:00
BFlat f1fdeb0aee Merge pull request #5393 from storytold/fix/sec-arclen-guarded-measures
Geometry: anchor positions and Simplify measure curves through the guarded arc length
2026-11-03 22:43:25 +07:00
BFlat 450a60cc74 Merge pull request #5392 from storytold/fix/sec-mcp-busy-long-id
MCP: busy replies don't repeat a long request id
2026-11-03 22:43:09 +07:00
BFlat 9a47e0bd9d Merge pull request #5391 from storytold/fix/sec-recovery-images-once
Data Recovery: an image entry shared by several keys is written and read once
2026-11-03 22:42:54 +07:00
BFlat 33f2798b80 Merge pull request #5390 from storytold/fix/sec-ai-swatch-names-indexed
Illustrator import: look swatch names up in a set
2026-11-03 22:42:42 +07:00
BFlat b0f3e60ad0 Merge pull request #5389 from storytold/fix/sec-slices-from-guides-cap
Slices: Create from Guides stops at one past the slice limit
2026-11-03 22:42:23 +07:00
BFlat 29764a8f26 Merge pull request #5388 from storytold/fix/sec-graph-design-delete-dedup
Graph designs: Delete Design handles each listed name once
2026-11-03 22:42:09 +07:00
BFlat 095aa0aef9 Merge pull request #5387 from storytold/fix/sec-wmf-full-table-hint
WMF import: a full object table is not rescanned for every creation
2026-11-03 22:41:55 +07:00
BFlat a57251130a Merge pull request #5386 from storytold/fix/sec-name-suffix-linear
Brush and library names number repeats without rescanning
2026-11-03 22:41:39 +07:00
BFlat 912e69bf77 Merge pull request #5385 from storytold/fix/sec-gradient-pixel-stop-search
Gradients drawn pixel by pixel find their stops by binary search (EMF export, Affinity overlays)
2026-11-03 22:41:24 +07:00
BFlat 5ceee9142a Merge pull request #5384 from storytold/fix/sec-preset-import-names-linear
PDF and print presets: imports number duplicate names in linear time
2026-11-03 22:41:08 +07:00
BFlat 5ba2443576 Merge pull request #5383 from storytold/fix/sec-file-access-unc-before-resolve
Automation roots: refuse network paths outside the roots before resolving them
2026-11-03 22:40:53 +07:00
BFlat e662d6bcb4 Merge pull request #5382 from storytold/fix/sec-recolor-cluster-seeds
Recolor: clustering seeds each colour once
2026-11-03 22:40:36 +07:00
BFlat 229ab52c9a Merge pull request #5381 from storytold/fix/sec-atomic-drop-inherited-acl
Atomic save: a replacement takes no inherited ACL the old file lacked
2026-11-03 22:40:19 +07:00
BFlat 97f0012a2a Merge pull request #5380 from storytold/fix/sec-save-paths-exact
Save: the Templates folder needs write access; portal saves keep the exact file name
2026-11-03 22:40:02 +07:00
BFlat 59338194d3 Merge pull request #5379 from storytold/fix/sec-prefs-private
App: keep preference copies, dialog passwords and migrated folders private
2026-11-03 22:39:45 +07:00
BFlat db5d44ef77 Merge pull request #5378 from storytold/fix/sec-app-reads-regular-files
App: open and copied-file paste read only regular files
2026-11-03 22:39:30 +07:00
BFlat 9140334453 Merge pull request #5377 from storytold/fix/sec-placed-art-no-stale-full-read
Placed documents: a refused read shows the preview, not another caller's cached full read
2026-11-03 22:39:15 +07:00
BFlat e236539de3 Merge pull request #5376 from storytold/fix/sec-link-watch-opener-roots
Links: the link watch and Link Info read within the asking caller's roots
2026-11-03 22:39:00 +07:00
BFlat 69100543f1 Merge pull request #5375 from storytold/fix/sec-recovery-read-plain-files
Data Recovery: read only plain files in this account's own areas
2026-11-03 22:38:42 +07:00
BFlat 0af575ffb4 Merge pull request #5374 from storytold/fix/sec-ai-array-depth
Illustrator import: refuse arrays nested past the depth limit
2026-11-03 22:38:24 +07:00
BFlat e82928e40c Merge pull request #5373 from storytold/fix/sec-dash-period-overflow
Dashes: a pattern whose period overflows to infinity draws solid
2026-11-03 22:38:08 +07:00
BFlat ddffae1106 Merge pull request #5371 from Silvertree2010/fix/5351-gradient-mesh-object-disappears
Lasso picks gradient mesh points instead of dropping the mesh
2026-11-03 22:37:52 +07:00
Dylan M. Taylor bc50fa782e Place: a placement read again when it completes stays within the roots it was read in
Follow-up to #5306. A DXF placed off the UI thread against an artboard that changed meanwhile is read again in finish(), on the UI thread, outside the automation roots captured when the read started. Pending now keeps that scope and poll runs finish inside it.
2026-11-03 22:17:45 +07:00
Dylan M. Taylor 1574dfe729 fix: anchor positions and Simplify measure curves through the guarded arc length 2026-11-03 22:17:45 +07:00