bflatastic
52b6543c2e
Docs: the ROADMAP's 2026-10-18 row includes the second batch
2026-10-18 13:26:54 +07:00
bflatastic
1e3ab306d4
Tests: the dropdown keyboard test clears the texture updates it doesn't apply ( #2824 )
2026-10-18 13:26:54 +07:00
bflatastic
1b4c421bc4
.ai import: the variable-library note reads its counts after a colon and is translated in every complete language ( #2842 )
2026-10-18 13:26:54 +07:00
BFlat
73f40e3fd3
Merge pull request #2840 from KaboomFox/plugin-dialog-scrolls
...
Dialogs: a plug-in's parameters scroll when they don't fit the window
2026-10-18 13:26:39 +07:00
BFlat
049739b85e
Merge pull request #2824 from MarekSpodBiedry/issue-2789
...
Close a dropdown list after an option is picked with the keyboard (#2789 )
2026-10-18 13:26:24 +07:00
BFlat
dcad0878c5
Merge pull request #2802 from fabian-co/perf/cmyk-gradient-mesh
...
Render: gradient meshes in CMYK documents draw several times faster
2026-10-18 13:26:12 +07:00
BFlat
08c21446b4
Merge pull request #2564 from fabian-co/feat/export-progress-dialog
...
Export progress dialog with Cancel, on the shared cancel token
2026-10-18 13:25:58 +07:00
BFlat
d4a68dd73f
Merge pull request #2771 from VL420/feat/justification
...
G4: Paragraph panel menu › Justification… (word and letter spacing, glyph scaling, auto leading, single word justification)
2026-10-18 13:25:41 +07:00
BFlat
45ca05e7b2
Merge pull request #2852 from dotCooCoo/chore/parity-doc-duplicate-lines
...
Docs: target-app-parity.md lists seven Evidence items once each
2026-10-18 13:25:26 +07:00
BFlat
14d1667a7e
Merge pull request #2851 from dotCooCoo/fix/live-commands-refuse-text-numbers
...
Blends, meshes and envelopes: a number given as text is refused
2026-10-18 13:25:16 +07:00
BFlat
5a2510576f
Merge pull request #2846 from dotCooCoo/fix/slice-drags-snap
...
Slices: resizing a slice snaps as drawing one does
2026-10-18 13:25:00 +07:00
BFlat
47b5e886f8
Merge pull request #2845 from dotCooCoo/fix/shift-move-snaps-along-its-line
...
Selection: a Shift-constrained move that snaps stays on its line
2026-10-18 13:24:46 +07:00
BFlat
650e938b68
Merge pull request #2844 from dotCooCoo/fix/path-bounds-with-huge-control-points
...
Paths: a curve with a handle near f64::MAX is measured by its control points
2026-10-18 13:24:32 +07:00
BFlat
36d751b72f
Merge pull request #2843 from dotCooCoo/feat/history-clear-history
...
History: the panel menu clears the history
2026-10-18 13:24:18 +07:00
BFlat
c40718fafa
Merge pull request #2842 from dotCooCoo/feat/ai-import-warns-unread-variables
...
.ai import: opening a file with a variable library warns that its variables weren't read
2026-10-18 13:24:02 +07:00
BFlat
d9d1a1aba3
Merge pull request #2839 from dotCooCoo/fix/export-for-screens-example-name
...
Export for Screens: the dialog's example names the file the export writes
2026-10-18 13:23:47 +07:00
BFlat
2c4f059444
Merge pull request #2838 from dotCooCoo/fix/pdf-export-keeps-created-date
...
PDF export: PDF and .ai files keep the document's creation date
2026-10-18 13:23:33 +07:00
BFlat
dba668240c
Merge pull request #2829 from dotCooCoo/fix/freeform-gradients-keep-cmyk
...
Color: freeform gradients keep CMYK inks when expanded, meshed or edited
2026-10-18 13:23:18 +07:00
BFlat
a0657c9a22
Merge pull request #2836 from dotCooCoo/fix/drag-budget-test-threads
...
Tests: the drag-budget test sets its thread count, and no render test changes the default
2026-10-18 13:23:04 +07:00
BFlat
5f20ef194b
Merge pull request #2783 from dotCooCoo/fix/linux-save-picks-chosen-type
...
Save As: on Linux the file type picked in the save dialog decides the format
2026-10-18 13:22:50 +07:00
BFlat
eb8eaa7aa0
Merge pull request #2825 from dotCooCoo/fix/pattern-rename-refuses-swatch-names
...
Patterns: Pattern Options refuses a name another swatch has
2026-10-18 13:22:35 +07:00
BFlat
1d6daaefcc
Merge pull request #2819 from dotCooCoo/fix/template-refuses-legacy-ai
...
Save as Template: aiVersion 7 is an error for a .ait, and the dialog shows no Version
2026-10-18 13:22:20 +07:00
BFlat
78b7ffe1fb
Merge pull request #2813 from dotCooCoo/fix/export-ait-names-save-as-template
...
Export: a .ait export names file.saveAsTemplate, and the CLI's convert writes the template
2026-10-18 13:22:06 +07:00
BFlat
31df7aee9a
Merge pull request #2812 from dotCooCoo/fix/cmyk-document-converts-rgb-everywhere
...
Color: type, gradient, mesh and swatch commands store RGB input as color-managed CMYK in a CMYK document
2026-10-18 13:21:51 +07:00
BFlat
2909972140
Merge pull request #2803 from dotCooCoo/fix/history-template-step-names-translated
...
i18n: the History panel translates the step names that contain a style's name
2026-10-18 13:21:36 +07:00
BFlat
cfe77f1706
Merge pull request #2805 from dotCooCoo/fix/marquee-intertwine-by-members
...
Selection: a marquee selects an Intertwine group or a repeat only where it meets their art
2026-10-18 13:21:22 +07:00
BFlat
69dad83148
Merge pull request #2782 from dotCooCoo/fix/tools-skip-shaper-sources
...
Shaper: the Lasso, Smart Guides and the anchor tools skip a Shaper Group's original shapes
2026-10-18 13:21:08 +07:00
BFlat
5646fa7253
Merge pull request #2796 from dotCooCoo/fix/appearance-inline-3d-and-channel-dropdowns
...
Appearance: the inline effect editor shows 3D, Warp, Rasterize and channel choices as dropdowns
2026-10-18 13:20:53 +07:00
BFlat
545e935e0c
Merge pull request #2794 from dotCooCoo/fix/color-sliders-report-values
...
Accessibility: color and channel sliders report their values to screen readers
2026-10-18 13:20:39 +07:00
BFlat
46a1d9f175
Merge pull request #2785 from dotCooCoo/fix/panel-fields-shift-enter
...
Fields: Shift+Enter applies a pattern, layer, artboard or asset name and keeps the field active
2026-10-18 13:20:24 +07:00
BFlat
f794069fbd
Merge pull request #2797 from dotCooCoo/fix/whole-selected-group-anchors-drawn-selected
...
Direct Selection: a group selected whole shows its anchors as selected
2026-10-18 13:20:10 +07:00
BFlat
c2bd5b4a52
Merge pull request #2795 from dotCooCoo/fix/caret-steps-past-zero-width-clusters
...
Type: Left and Right reach both sides of a character drawn with no width
2026-10-18 13:19:55 +07:00
BFlat
2623e95a13
Merge pull request #2809 from dotCooCoo/fix/repeat-tab-from-left-indent
...
Tabs: Repeat Tab measures the first stop from the left indent
2026-10-18 13:19:40 +07:00
BFlat
ced933af47
Merge pull request #2815 from dotCooCoo/fix/rtf-rtl-justify
...
Place: justified RTF paragraphs marked right to left end their last line on the right
2026-10-18 13:19:24 +07:00
BFlat
c29701f65b
Merge pull request #2806 from dotCooCoo/fix/place-bounding-skips-hidden-art
...
Place: Bounding Box measures only the art that shows
2026-10-18 13:19:13 +07:00
BFlat
44e7be8b04
Merge pull request #2781 from dotCooCoo/fix/grid-images-count-decode-failures
...
Render: raster exports warn about an undecodable image drawn from a kept Rasterize image
2026-10-18 13:18:57 +07:00
BFlat
2c93a290e8
Merge pull request #2790 from dotCooCoo/fix/pdf-export-skips-undecodable-images
...
PDF export: an image that can't be decoded is left out with a note instead of failing the export
2026-10-18 13:18:43 +07:00
BFlat
646a5cc9a3
Merge pull request #2801 from dotCooCoo/fix/issue-2692
...
Legacy .ai export: images are written in the form the version 7 specification shows
2026-10-18 13:18:28 +07:00
BFlat
20c8296b5a
Merge pull request #2807 from dotCooCoo/fix/issue-2687
...
Legacy .ai export: radial gradients are written with their highlight (Bh)
2026-10-18 13:18:14 +07:00
BFlat
eb5bf7b828
Merge pull request #2817 from dotCooCoo/fix/legacy-ai-warns-undecodable-image
...
Legacy .ai export: warns when an image in art it flattens or expands can't be decoded
2026-10-18 13:18:03 +07:00
BFlat
36b85472d2
Merge pull request #2808 from dotCooCoo/fix/ai-import-covered-type-spells-text
...
.ai import: page type over a text object is left out only when that object's text has its letters
2026-10-18 13:17:47 +07:00
BFlat
e69a08c1a6
Merge pull request #2799 from dotCooCoo/fix/issue-2034
...
EPS and .ai import: the note for editing data of another page size gives both sizes and the scale
2026-10-18 13:17:31 +07:00
BFlat
602b3b34bc
Merge pull request #2800 from dotCooCoo/fix/ai-undecodable-editing-data-note
...
.ai import: a file whose editing data can't be decompressed says why its layers weren't read
2026-10-18 13:17:16 +07:00
BFlat
9361a3b3f1
Merge pull request #2810 from dotCooCoo/fix/pdf-layer-names-pdfdocencoding
...
PDF import: PDF and .ai layer names without a byte order mark are read as PDFDocEncoding
2026-10-18 13:17:02 +07:00
BFlat
dfb1a86a23
Merge pull request #2816 from dotCooCoo/fix/xmp-nesting-limit
...
PDF import: an XMP packet nested more than 256 deep is skipped instead of overflowing the stack
2026-10-18 13:16:47 +07:00
BFlat
3f673c35eb
Merge pull request #2776 from dotCooCoo/fix/mcp-canned-replies-respect-queue-limit
...
MCP: parse errors and overlong lines wait for room in the 64-line queue
2026-10-18 13:16:30 +07:00
BFlat
2d2698e5fb
Merge pull request #2837 from dotCooCoo/fix/svg-import-paths-on-windows
...
SVG import: hrefs that need no folder stay as written, and images in a non-absolute folder are read
2026-10-18 13:16:15 +07:00
Louise Fox and Claude Opus 5.5
0842941f8d
Dialogs: a plug-in's parameters scroll when they don't fit the window
...
A plug-in's dialog (Effect › Plug-ins, Object › Plug-ins) lays out each
parameter of its manifest as a row, and a manifest may declare up to 64.
With many of them the dialog ran off the top and the bottom of the
window, its heading and its OK and Cancel buttons off screen. A plug-in
of 64 number parameters got a dialog 2,329 px tall, its top at y = -755
in a 900 px window.
modal::scrolled_rows() puts rows in a vertical scroll area as tall as
the screen less the rest of the modal window and its edge gaps.
modal::show_at() measures that rest once it has drawn the window, for
the next frame, and asks for that frame at once if the rest changed.
The dialog then fits without waiting for input. schema_fields() puts the
parameter grid in it, for filters and effects alike. A dialog of a few
parameters is as tall as before.
a_plug_in_dialog_of_many_settings_fits_the_window opens an effect's and
a filter's dialog of 64 parameters in a 1280 × 900 window, and one of 4.
Before the change it failed with "effect: the dialog is at
[[457.0 -755.0] - [823.0 1574.0]] in the [1280.0 900.0] window".
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01HhvnnnD5fTFupK8WWq35un
2026-10-18 12:41:25 +07:00
MarekSpodBiedry
df1bf3fe32
Close a dropdown list after an option is picked with the keyboard ( #2789 )
2026-10-18 12:41:25 +07:00
Louise Fox and Claude Opus 5.5
dbb6b470b3
Menus: leave installed plug-ins' names out of the strings to translate
...
menu_strings() lists the strings a complete language catalog has to
cover, and it leaves out names that are user data: fonts, recent files,
saved views and libraries. An installed plug-in's name stayed in.
Plug-ins are installed for the whole process, and a test that installs
one before complete_languages_translate_every_menu_string runs made that
test fail with the plug-in's name as an untranslated menu string.
lists_plugin() tells an Object › Plug-ins filter or an Effect ›
Plug-ins effect by its command and params. Those are part of the menu
item itself and stay right while another test installs or removes
plug-ins. menu_strings() uses it, and so does
menu_catalogs_translate_every_menu_label in place of its own copy of the
rule.
plugins_are_listed_in_the_object_and_effect_menus checks it. Before the
change it failed with "Desaturate… is a menu string to translate".
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01HhvnnnD5fTFupK8WWq35un
2026-10-18 12:41:25 +07:00