Commit Graph
11137 Commits
Author SHA1 Message Date
BFlat b8fb96f40d Merge pull request #6695 from storytold/fix/sec-trace-gif-jpeg
Trace: refuse a GIF frame larger than the pixel ceiling before decoding
2026-11-12 09:23:02 +07:00
BFlat c87ba0c5ef Merge pull request #6681 from dotCooCoo/docs/plugin-budget-line-once
Docs: each progress line appears once in the shipped-features evidence list
2026-11-12 09:22:53 +07:00
BFlat 8719585cc6 Merge pull request #6663 from dotCooCoo/feat/script-target-engine
Scripts: #targetengine runs a script in a named engine that keeps its globals
2026-11-12 09:22:45 +07:00
BFlat e067daef3c Merge pull request #6662 from dotCooCoo/fix/script-finally-return-drops-throw-site
Scripts: a return from a finally block drops the discarded error's throw site
2026-11-12 09:22:36 +07:00
BFlat 9537bd7563 Merge pull request #6684 from dotCooCoo/fix/js-unicode-17-identifiers
JavaScript: characters assigned in Unicode 17 are identifier characters
2026-11-12 09:22:28 +07:00
BFlat d3414f2c75 Merge pull request #6665 from dotCooCoo/fix/custom-toolbar-add-tools
Toolbars: a + button on a new toolbar adds and removes tools from a menu
2026-11-12 09:22:19 +07:00
BFlat ed412fb73b Merge pull request #6661 from dotCooCoo/fix/clipboard-read-time-limit
Clipboard: Linux and BSD reads wait 2 s at most for the app that copied
2026-11-12 09:22:11 +07:00
BFlat 36fa7c561a Merge pull request #6749 from dotCooCoo/fix/edit-guide-params-reject-wrong-types
Commands: Edit, guide and slice params of the wrong type are refused
2026-11-12 09:22:02 +07:00
BFlat 2f9c510ee2 Merge pull request #6664 from dotCooCoo/fix/pdf-export-date-in-ruler-guide-test
Guides: the ruler guide export test leaves out the PDF's dates
2026-11-12 09:18:14 +07:00
BFlat 20af18de73 Merge pull request #6687 from dotCooCoo/fix/menu-list-recent-confined
Scripts: opening a macOS menu reads the Scripts folder again
2026-11-12 09:14:22 +07:00
BFlat ac8c60cad4 Merge pull request #6675 from dotCooCoo/fix/plugin-filter-progress-cancel
Plug-ins: a light filter that reports progress runs in the background with Cancel
2026-11-12 09:14:14 +07:00
BFlat e609a495f8 Merge pull request #6676 from dotCooCoo/fix/sublayer-ruler-guides
Guides: sublayer guides survive layer effects and the canvas check
2026-11-12 09:14:04 +07:00
BFlat 8631f5f1ab Merge pull request #6690 from dotCooCoo/feat/psd-open-layers
PSD import: File › Open converts a PSD file's layers to objects
2026-11-12 09:13:54 +07:00
BFlat 11ebc992ee Merge pull request #6692 from dotCooCoo/fix/torn-off-strips-hide-panels
Panels: a panel floated while the floating panels are hidden opens hidden
2026-11-12 09:13:45 +07:00
BFlat c91dcb7b48 Merge pull request #6691 from dotCooCoo/fix/color-group-takes-swatches-once
Swatches: New Color Group, Delete, Move and Merge take named swatches in one pass
2026-11-12 09:13:38 +07:00
BFlat feac9b5175 Merge pull request #6672 from dotCooCoo/fix/simplify-flat-loop-split-limit
Simplify: a flat closed loop keeps its outline when splitting reaches its limit
2026-11-12 09:13:25 +07:00
BFlat 9a4be17f0c Merge pull request #6680 from dotCooCoo/fix/pdf-points-option-pdfa
PDF: the in-points option leaves PDF/A pages within the standard's size limit
2026-11-12 09:13:17 +07:00
BFlat e9960c71a7 Merge pull request #6703 from dotCooCoo/feat/objects-on-path-move-all
Objects on Path: the Move All widget slides every attached object along the path
2026-11-12 09:13:09 +07:00
BFlat 88e6c71ad2 Merge pull request #6696 from dotCooCoo/fix/batch-file-name-row
Actions: Batch shows the data set File Name row only where it applies
2026-11-12 09:11:57 +07:00
BFlat 2530bf8acb Merge pull request #6698 from dotCooCoo/fix/pathops-exact-merge-lookup
Path ops: rejoining split curves tests only the input curves around the run
2026-11-12 09:11:49 +07:00
BFlat 4c149b70ab Merge pull request #6723 from storytold/fix/sec-png-metadata-and-batch-aliases
Metafile: drop PNG ICC and text chunks before decoding; Folder batch lists aliased folders once
2026-11-12 09:11:35 +07:00
BFlat 0d2cc27890 Merge pull request #6714 from dotCooCoo/fix/i18n-messages-keep-command-ids
i18n: Hindi and Turkish messages keep the command ids they name
2026-11-12 09:11:27 +07:00
BFlat e7a64097a0 Merge pull request #6725 from dotCooCoo/fix/read-roots-other-replies
MCP: library lists leave out paths outside a confined client's read roots
2026-11-12 09:11:19 +07:00
BFlat 53e0969826 Merge pull request #6724 from jmverges/fix/6644-envelope-type-strokes
Envelopes: type's strokes paint at their own weight along the bent outlines
2026-11-12 09:11:09 +07:00
BFlat 25eca9c812 Merge pull request #6711 from dotCooCoo/feat/docinfo-gradient-objects
Document Info: Gradient Objects lists the objects painted with gradients
2026-11-12 09:11:00 +07:00
BFlat 4c64f6206b Merge pull request #6712 from dotCooCoo/fix/plugin-store-test-isolated
Tests: the empty-params command sweeps leave plug-in caches alone
2026-11-12 09:10:52 +07:00
BFlat 62b6eff8f5 Merge pull request #6715 from dotCooCoo/fix/halftone-param-types
Vector Halftone: a parameter of the wrong type is refused
2026-11-12 09:10:43 +07:00
BFlat f42213ec2c Merge pull request #6707 from dotCooCoo/fix/script-case-variant-folder-refused
Scripts: a missing file outside the script's folder is refused like an existing one
2026-11-12 09:10:34 +07:00
BFlat 94b9043325 Merge pull request #6721 from dotCooCoo/fix/safe-mode-lists-plugin-once
Safe Mode: a plug-in found under several files is listed once in Help › Safe Mode
2026-11-12 09:10:22 +07:00
BFlat f1b53928f9 Merge pull request #6736 from dotCooCoo/feat/select-not-pixel-aligned
Select: Object › Not Aligned to Pixel Grid selects paths without the pixel-aligned property
2026-11-12 09:10:13 +07:00
BFlat a7d8a9974c Merge pull request #6719 from dotCooCoo/fix/tabs-indent-targets-story-order
Tabs: indent drags on threaded frames set each story paragraph once, a split paragraph included
2026-11-12 09:10:05 +07:00
BFlat 692818424f Merge pull request #6682 from dotCooCoo/feat/dynamic-text-block
Type: Dynamic Text sets each line of area type to the frame width
2026-11-12 09:09:56 +07:00
BFlat ab4fd17e39 Merge pull request #6727 from dotCooCoo/fix/file-out-param-types
Package, Place, Export: the Package, Place and export commands reject a param of the wrong type
2026-11-12 09:09:46 +07:00
BFlat 6dd99ef1e2 Merge pull request #6741 from dotCooCoo/fix/edit-colors-param-types
Edit Colors: a switch or number of the wrong type is an error instead of the default
2026-11-12 09:09:17 +07:00
BFlat d1a9c5a49c Merge pull request #6728 from dotCooCoo/feat/conic-gradient
Gradients: conic gradients sweep the stops once around the center
2026-11-12 09:09:08 +07:00
BFlat ebc18ffce7 Merge pull request #6742 from dotCooCoo/fix/long-path-frame
Render: a long path is checked against the rasterizer's limits from its kept boxes
2026-11-12 09:08:25 +07:00
BFlat 8f65aaa7fb Merge pull request #6718 from dotCooCoo/fix/issue-6634
Fix #6634: Pen closing drag no longer gives the first anchor symmetric handles
2026-11-12 09:08:12 +07:00
BFlat b8ebfdca09 Merge pull request #6730 from dotCooCoo/fix/ai-mesh-ink-tint-order
.ai/EPS import: gradient mesh corners in several inks take their tints last ink first
2026-11-12 09:07:59 +07:00
BFlat 358a47c559 Merge pull request #6737 from dotCooCoo/feat/control-bar-options-menu
Control bar: the panel menu turns each group of options on or off
2026-11-12 09:07:47 +07:00
BFlat 0cab083612 Merge pull request #6743 from dotCooCoo/feat/paste-on-selected-artboards
Edit: Paste in Place, in Front and in Back put a copy on each selected artboard
2026-11-12 09:07:36 +07:00
BFlat 5f2592e4fa Merge pull request #6732 from dotCooCoo/fix/plugin-removed-rename-back
Plug-ins: a failed rename back of a removed plug-in's settings is reported and undone later
2026-11-12 09:07:24 +07:00
BFlat 30b8a1e8b5 Merge pull request #6733 from dotCooCoo/feat/symbols-sort-and-list-views
Symbols: the panel menu sorts by name and offers Small and Large List views
2026-11-12 09:07:13 +07:00
BFlat b9d056986d Merge pull request #6734 from dotCooCoo/feat/para-style-options-sections
Paragraph Styles: Style Options edits indents, spacing, composition, hyphenation and justification
2026-11-12 09:07:00 +07:00
BFlat 8869c137eb Merge pull request #6735 from dotCooCoo/fix/graph-param-types
Graphs: graph.setType, setData and create refuse params of the wrong type
2026-11-12 09:06:48 +07:00
dotCooCoo 922c1fcae5 Commands: Edit, guide and slice params of the wrong type are refused
These commands read optional numbers and flags with f64_or and bool_or,
so a value such as "10" or "yes" ran the command with the default. They
now return an error and leave the document, the selection and the undo
history as they were. Omitting a key or giving null behaves as before.

- edit.duplicate, edit.paste, guide.move, object.slice.duplicate: dx, dy
- guide.move: copy
- document.node: summary
- edit.undoGroup.end: cancel
- guide.add: vertical
- guide.select, object.slice.select: toggle
- select.editSaved: delete; newName must be a string
- select.save: name must be a string
- file.close: index must be a non-negative integer
2026-11-11 17:45:42 -08:00
dotCooCoo ab91a4a705 Clipboard: a paste after a late answer reads the clipboard again
The app that answers a late read may have lost the clipboard while the
paste waited. Once the answer comes, the paste makes the same read again
and uses the new answer, for arboard's reads and the core protocol's
text read alike.
2026-11-11 17:23:43 -08:00
dotCooCoo 892d87ce55 Clipboard: a paste's reads after a late answer wait as long as the paste
The text and file-list reads that follow a late answer now wait until
10 s after the unanswered read was sent, not 2 s from when they start,
so a slow text answer is still pasted. Text that is blank or names a
picture is replaced by the bitmap only when the paste asks for one.
2026-11-11 17:16:05 -08:00
dotCooCoo 7de42c294d Render: a long path is checked against the rasterizer's limits from its kept boxes
Before drawing a shape, the renderer checks that its control points stay
within the rasterizer's limits. For a long path it measured every point
of the path for this check in each frame. The kept path of a long path
now keeps the box of the points of each run of segments next to the run's
bounds, updates it with the runs an edit changes, and answers the check
from those boxes.

With a closed path of 200,000 anchors and no paint (release build,
single-threaded, medians of 21 frames), the part of the frame redrawn
after one anchor moves took 1.93 ms instead of 2.69 ms, and drawing the
same part again with nothing changed took 0.015 ms instead of 0.343 ms.
2026-11-11 17:11:14 -08:00
dotCooCoo 5187e4b8a1 Edit Colors: a switch or number of the wrong type is an error
The Edit Colors commands read `fill`, `stroke`, `includeImages` and
`includePatterns` with a reader that fell back to the default for any
value that is not true or false, so `edit.colors.toGrayscale
{"fill": "false"}` converted the fills it was asked to leave alone.
These keys, and `convert` and `mode` in `edit.colors.adjustBalance`,
are now read with `switch_or` and `text_param`, and a wrong type is an
error that changes nothing. The same applies to `addon.color.filter`,
which shares the scope.

`edit.colors.overprintBlack` now refuses a `remove`, `fill`, `stroke`,
`includeCmyBlacks` or `includeSpotBlacks` that is not true or false
and a `percentage` that is not a number. `color.harmony` refuses a
`rule` or `variation` that is not a string; a `variation` such as 5
was dropped before.

A null still counts as a key left out. docs/mcp.md describes the
errors.
2026-11-11 17:08:11 -08:00
dotCooCoo 9998f020ac Edit: Paste in Place, in Front and in Back put a copy on each selected artboard
With the Artboard tool selecting several artboards, Paste in Place, Paste
in Front and Paste in Back put a copy of the copied art on each, where it
was on the artboard it was copied from, in one undo step. The three
commands take `artboards: [index...]`; the app passes the Artboard tool's
selection there, and without it the engine uses that selection while the
tool is chosen and records it in the journal. Art copied from no artboard
keeps its place on the first artboard and its offset to it on the others.
Copied artboards still paste once, where they were.

An `artboard` or `artboards` value that is not an artboard index of the
document, a repeated index or an empty list is now an error, and nothing
is pasted. An out-of-range `artboard` used to paste the art where it was.
A batch keeps the `artboards` a paste step names, and a paste step that
names neither pastes on the Artboard tool's selection while that tool is
chosen with several artboards selected.

Help page: https://helpx.adobe.com/illustrator/desktop/create-manage-artboards/organize-manage-artboards/cut-copy-and-paste-artboards.html
2026-11-11 17:00:44 -08:00