Commit Graph
11530 Commits
Author SHA1 Message Date
BFlat 4bc612f983 Merge pull request #6673 from dotCooCoo/fix/clipboard-quit-waits-for-probe
Clipboard: quitting waits for the paste check so copied data reaches the clipboard manager
2026-11-12 09:23:11 +07:00
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
dotCooCoo a8989aff6d Commands: app and control channel params of the wrong type are refused
view.setZoom, view.screenMode, window.panel, file.revert, file.close,
ui.newSwatch, ui.symbolOptions, ui.batchDialog and file.exportSelection
read a number or switch of the wrong type as its default and went on, so
`view.setZoom {"zoom": "200"}` set 100%. They now refuse it and change
nothing.

The control channel's ui.key, ui.move, ui.wheel, ui.click, ui.drag,
ui.pointer, ui.resize, ui.screenshot, ui.render and ui.set, and the
headless session's key, pointer and render calls, do the same for their
numbers, switches and mods, before any input is queued. Omitting a param
or giving null keeps its default.
2026-11-11 18:22:01 -08: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 925300c159 HP-GL: a .plt file needs at least one instruction the reader knows
A file read as HP-GL by its extension that holds only instructions of
another set (`GC5;`) is now refused as "not an HP-GL file" instead of
opening as an empty plot. At least one of the instructions the check
reads must be one the reader knows.
2026-11-11 18:05:05 -08:00
dotCooCoo 7c90c6e93d Shape tools: a press scales only on the drawn handle square
A shape tool now takes a press as a bounding-box handle's only on the
drawn handle square, kept square to the screen: 3 screen points from the
handle's centre along each axis at the default Anchor Size, a half point
more or less per step. A press just beside a handle draws a new shape.

drawing_gestures_snap_to_smart_guides started its second rectangle on the
first rectangle's corner handle, which stays selected; it now deselects
first.
2026-11-11 17:57:08 -08:00
dotCooCoo 912610eb60 Open: the status bar names what the file left out first, and its hover lists the notes
After File > Open the status bar showed only the first of the import's
notes. A file whose layers weren't read could give another note first:
the EPS reader adds its note about brushes left out of the Brushes panel
before the note that the file came in as its page, so the status bar
named the brushes and not the page.

The status bar now names the first note that says reading the file left
something out (the notes that make Save ask before writing over the
file), else the first note, and still counts them all. When there are
several, hovering the message lists them in that order, translated where
the catalogs have them, as many as fit in the window and at most 30,
then how many more. Screen readers get the list after the message. The
status bar shows the list only while it shows the open's message. The
open's reply keeps its notes in the import's order.

Docs: docs/control-protocol.md (app.open), docs/target-app-parity.md.
2026-11-11 17:52:53 -08:00
dotCooCoo 73c7c7511b 3D and Materials: shadows behind or below the object, with Distance and Bounds
Revolve, Extrude & Bevel, Inflate and Rotate take a Shadows switch on the
Lighting tab, with Position (Behind Object or Below Object), Distance from
Object (0 to 100%) and Shadow Bounds (10 to 400%), saved in the effect as
shadow, shadowPosition, shadowDistance and shadowBounds.

With shadows on, the first light casts a hard-edged vector shadow of the
solid: every face of every solid of the object projected along the light
onto a plane behind the object (square to the view) or below it (square to
its own vertical axis and turned with it), filled black with the nonzero
rule at 50% times the opacity of the art that casts it, in that art's
blending mode, and drawn behind the solids. Distance moves the plane away
by a share of the object's largest size; Bounds ends the plane at a square
about the foot of the object's center, four times that size across at
100%. No shadow is drawn while Shading is off, when the first light's
intensity is 0, or when it does not reach the plane. A member's opacity
mask and blending mode apply to the part of the shadow it casts. A shadow
is cast from at most 327,680 faces; past that, commands are refused and a
loaded file draws the source path. The canvas, SVG and PDF exports draw the
shadow, and Expand Appearance keeps it as a path. Values out of range are
refused before the document changes.

Docs: docs/three-d.md, docs/mcp.md, docs/effects-parity.md and the
docs/target-app-parity.md evidence list.
2026-11-11 17:50:33 -08:00