Commit Graph
2729 Commits
Author SHA1 Message Date
dotCooCoo 7af608276e Merge main into fix/plugin-stale-grant 2026-11-08 21:00:56 -08:00
BFlat a32bd3dc92 Merge pull request #6234 from dotCooCoo/fix/save-screens-unknown-options
Save: the save commands and Export for Screens refuse an unknown option key
2026-11-09 12:49:37 +08:00
BFlat baa7248e76 Merge pull request #5158 from dotCooCoo/fix/ai-os23-2831
.ai import: names that aren't UTF-8 can be read in a legacy code page
2026-11-09 12:46:30 +08:00
dotCooCoo 9e655ae2e6 Merge main into fix/plugin-stale-grant 2026-11-08 20:38:46 -08:00
dotCooCoo 6cce39dd7f Plug-ins: a grant that can't be removed stops counting for the session
When loading the plug-in store can't remove the grant of an id whose stored
module lists no permissions, or can't read grants.json, the entry stays on
disk and still approved the bytes it covers. plugin.install has the same case
when the grant can't be removed and no earlier module can be put back.

The session now keeps those ids and does not count their grants in
plugin.inspect, plugin.install, plugin.reload or a later load of the store. A
successful update of the grant for the id ends that, and so does attaching a
different store.
2026-11-08 20:38:03 -08:00
BFlat 5402f17f15 Merge pull request #6276 from dotCooCoo/fix/plugin-last-error-origin
Plug-ins: lastError keeps a failed run's error, and hit tests follow swatch changes
2026-11-09 12:26:56 +08:00
dotCooCoo 0b19003214 Merge main into fix/save-screens-unknown-options 2026-11-08 20:13:09 -08:00
BFlat 6b978fea4f Merge pull request #6223 from dotCooCoo/feat/plugin-filter-inputs
Plug-ins: filters can ask to read type, images and symbol instances
2026-11-09 12:09:05 +08:00
dotCooCoo 5635abd00a Merge main into fix/plugin-stale-grant 2026-11-08 19:52:08 -08:00
dotCooCoo 3258785476 Merge main into fix/ai-os23-2831 2026-11-08 19:44:24 -08:00
BFlat cc369817fd Merge pull request #6273 from dotCooCoo/fix/tool-options-reload-keep-drag
Tools: setting another tool's option leaves a drag's options alone
2026-11-09 11:43:23 +08:00
dotCooCoo 623d8fdd83 Plug-ins: the settings file test passes remove_plugin_storage its callback 2026-11-08 19:37:01 -08:00
dotCooCoo 5d715a5051 Plug-ins: an effect that paints nothing clears a refused reference's error
Only a painted effect's references are checked, so a refusal recorded for a painted effect stayed in plugin.info after an effect that paints nothing replaced it under the same id.
2026-11-08 19:35:50 -08:00
dotCooCoo 5cb09720a4 Merge main into feat/plugin-filter-inputs 2026-11-08 19:34:12 -08:00
dotCooCoo 9f9cf9e7ea Merge main into fix/plugin-stale-grant 2026-11-08 19:29:45 -08:00
dotCooCoo 93f98257e4 Plug-ins: test a grants file over its size limit and the unread case
The unread grants test replaces the plain module it installed earlier,
as plugin.install now asks. A grants file over 1 MiB approves nothing,
so the new module stays in the store.
2026-11-08 19:27:47 -08:00
BFlat 8eb3d4166a Merge pull request #2552 from dotCooCoo/feat/print-copies-per-sheet
Print: Copies per Sheet prints as many copies of each artboard as fit the sheet
2026-11-09 11:17:48 +08:00
BFlat 0089e494f5 Merge pull request #6269 from dotCooCoo/fix/plugin-storage-kept-settings
Plug-ins: settings and the cache total stay in memory between storage calls
2026-11-09 11:13:41 +08:00
dotCooCoo 3123b4af74 Plug-ins: a passed reference check keeps a failed run's error
A painted effect's cached result passed its swatch and pattern check and cleared the error of a failed run, so plugin.info reported none while the effect still failed on another object. A run and a reference check now record their errors separately, and each clears only its own.
2026-11-08 19:13:37 -08:00
dotCooCoo 67e3d6f13f Merge main into fix/save-screens-unknown-options 2026-11-08 19:13:11 -08:00
dotCooCoo 529dcb5c64 Merge main into feat/plugin-filter-inputs 2026-11-08 19:06:11 -08:00
dotCooCoo e1281c0266 Merge main into fix/plugin-stale-grant 2026-11-08 18:59:23 -08:00
dotCooCoo 63a483492b Plug-ins: a grants file that can't be read keeps the grant it may hold
A grants file that can't be opened or read may name the old module once
it reads again. plugin.remove and an install of a module listing no
permissions now fail on it and keep the module. A file over 1 MiB or one
that doesn't hold a list still approves nothing and doesn't stop them.
2026-11-08 18:59:22 -08:00
dotCooCoo d3a323284c Merge main into fix/ai-os23-2831 2026-11-08 18:52:59 -08:00
BFlat 3b92bef27c Merge pull request #2606 from dotCooCoo/feat/jxl-import
File formats: JPEG XL (.jxl) images open and place
2026-11-09 10:50:56 +08:00
BFlat c5c1913f48 Merge pull request #6265 from dotCooCoo/feat/plugin-effect-paint
Plug-ins: live effects at API level 2 can paint the pieces they return
2026-11-09 10:50:46 +08:00
dotCooCoo 36622feda4 Tools: setting another tool's option leaves a drag's options alone
tool.setOption on another tool reloaded every saved option of the active tool. During a shape drag that reload rewrote the options Escape restores, so Escape kept a side count an arrow key had changed. The active tool now reloads only the stores it shares with the tool that was set.
2026-11-08 18:48:41 -08:00
BFlat 8ace539ac8 Merge pull request #5042 from dotCooCoo/fix/issue-3526-docs
Fix #3526: the bounding box follows a resize drag
2026-11-09 10:46:34 +08:00
BFlat bf0ceb661f Merge pull request #2780 from dotCooCoo/feat/visibility-variables-drive-locked-art
Variables: a visibility variable shows and hides locked art
2026-11-09 10:25:00 +08:00
dotCooCoo 9f2fb7a915 Print: test that print presets keep Copies per Sheet and older presets leave it off 2026-11-08 18:22:12 -08:00
dotCooCoo bf4ec4253d Merge main into fix/save-screens-unknown-options 2026-11-08 18:13:32 -08:00
BFlat c09c597e75 Merge pull request #4536 from dotCooCoo/feat/recolor-reports-skipped-art
Recolor: report the locked and hidden art a recolor of everything left out
2026-11-09 10:12:57 +08:00
BFlat 04aedc87e5 Merge pull request #6268 from dotCooCoo/fix/freeform-mixes-in-point-model
Gradients: freeform points that share a color model mix in that model
2026-11-09 10:08:22 +08:00
dotCooCoo d56a598c88 Merge main into fix/issue-3526-docs 2026-11-08 18:05:41 -08:00
dotCooCoo 0fc62c2cf3 Merge main into feat/jxl-import 2026-11-08 18:04:51 -08:00
dotCooCoo e064698086 Merge main into feat/jxl-import 2026-11-08 18:04:45 -08:00
dotCooCoo ec3f0a2288 Merge main into feat/plugin-effect-paint 2026-11-08 17:59:42 -08:00
dotCooCoo bd5ea2a1bf Merge main into feat/plugin-effect-paint 2026-11-08 17:59:33 -08:00
BFlat f6b29a6e72 Merge pull request #5213 from dotCooCoo/fix/shape-escape-restores-options
Drawing tools: Escape on a polygon, star or rounded rectangle drag puts back the option it changed
2026-11-09 09:52:16 +08:00
dotCooCoo e82ed4642e Merge main into feat/plugin-filter-inputs 2026-11-08 17:50:28 -08:00
dotCooCoo 969d1cb725 Merge main into fix/plugin-stale-grant 2026-11-08 17:45:48 -08:00
dotCooCoo e1798597f3 Fix as_png calls after merging main 2026-11-08 17:43:33 -08:00
dotCooCoo c603030252 Merge main into feat/visibility-variables-drive-locked-art 2026-11-08 17:31:05 -08:00
dotCooCoo 3ccc919936 Merge main into feat/visibility-variables-drive-locked-art 2026-11-08 17:30:32 -08:00
dotCooCoo d6a91b6142 Merge main into feat/plugin-effect-paint 2026-11-08 17:26:35 -08:00
dotCooCoo e20610a2d8 Merge main into fix/plugin-stale-grant 2026-11-08 17:25:30 -08:00
dotCooCoo bd71f24da8 Merge main into feat/recolor-reports-skipped-art 2026-11-08 17:25:13 -08:00
dotCooCoo b79e89de1d Plug-ins: a grant that can't be removed keeps the module it covers
plugin.install of a module that lists no permissions ignored the result
of removing the id's grant. When grants.json could not be updated, the
formerly approved bytes could still be installed without approval. The
store now gets the old module back, so the grant and the module it
covers stay together. The new module stays when the old one can't be
read back and when grants.json can't be read, since such a file approves
nothing. Deleting the last grant now reports a failure.

plugin.remove had the same fault. It now moves the settings and cache
aside and removes the grant before anything is deleted. When the grant
can't be removed, the folder is moved back, the command returns an
error and the plug-in stays installed.
2026-11-08 17:25:09 -08:00
BFlat b652599548 Merge pull request #6264 from dotCooCoo/feat/plugin-importers
Plug-ins: importer plug-ins open file types VectorCraft does not read
2026-11-09 09:24:07 +08:00
BFlat 59e485614c Merge pull request #6267 from slafebre/fix/6252-new-art-follows-selection
Fix #6252: selecting an object gives new art its fill, stroke and weight
2026-11-09 09:23:02 +08:00