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
ruchirguitar and Claude 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