BFlat
b207e3f7a9
Merge pull request #6000 from mockydevs/fix/eps-bind-readonly-procs
...
EPS import: bind leaves the procedures it already bound alone (Ghostscript eps2write files open)
2026-11-07 09:35:04 +08:00
BFlat
fde645e32e
Merge pull request #5993 from dotCooCoo/fix/mcp-save-warning-labels
...
Save: notes on unread save options name the legacy or non-PDF-compatible .ai, in every save command
2026-11-07 09:34:47 +08:00
BFlat
c38f1cc1ee
Merge pull request #5990 from dotCooCoo/fix/ai-mask-lone-object
...
.ai import: opacity mask art of one object opens as that object
2026-11-07 09:34:37 +08:00
BFlat
6cf98654f6
Merge pull request #5989 from dotCooCoo/fix/pdf-password-docs
...
Docs: PDF password export says when the file ID and the bytes vary
2026-11-07 09:34:22 +08:00
BFlat
4dbc16acf8
Merge pull request #5986 from dotCooCoo/fix/artboards-menu-new-active
...
Artboards: the panel menu's New Artboard makes the new artboard active
2026-11-07 09:34:06 +08:00
Don Omondi
06a035e86b
EPS import: bind leaves the procedures it already bound alone
...
bind makes each procedure it goes into read-only and ignores read-only
procedures (PLRM 3rd ed., bind). The reader bound them again, so a prolog
that binds a procedure holding an earlier-bound one, after defining a name
such as M as an operator, turned that procedure's own variable M into
setmiterlimit. Ghostscript's eps2write prolog does this, and its files with
sampled functions (transfer, black generation) failed to open.
2026-11-07 08:19:29 +07:00
dotCooCoo
1e2ff653b5
Save: the save commands' params text names the notes on options
...
document.save's params text, which file.saveAs, file.saveCopy and
file.saveAsTemplate share, now says that the warnings also name each key
given in `options` that the format doesn't read.
2026-11-07 08:19:25 +07:00
dotCooCoo
7ee6b429ba
MCP: save_file notes name the legacy or non-PDF-compatible .ai
...
save_file's note for a key in `options` that the written format doesn't
read named every .ai file a PDF-compatible .ai, also when the save wrote
a version 7 file (`aiVersion: "7"`) or one without PDF content
(`pdfCompatible: false`).
The save itself now writes that note, beside its note on a top-level
`compress`, `version`, `preview` or `precision`, and names the file it
writes, including when it reuses the options the document was last saved
with. save_file returns the save's reply unchanged, and
`run_command document.save` and the other save commands give the same
notes.
2026-11-07 08:19:24 +07:00
dotCooCoo
3d7dda200e
.ai import: opacity mask art of one object opens as that object
...
The reader put an opacity mask's art in a group every time, so a mask
made from one path came back from a saved .ai as a group holding the
path, while Make Opacity Mask keeps one object as the art. This also
changes how existing files with single-object masks open, because
the editing data of a .ai, an EPS and a PDF goes through this reader:
the art is the object.
A hidden object or a guide stays in a group, because the canvas draws
the art's root whether it is shown or not and whether guides show. A
clipping path alone stays a clipping group.
The editing copy writes a plain group of one object as a group (u, the
object, U), so it reads back as a group. Its other plain groups are
still written as their members. Hidden mask art is written shown,
because the canvas draws it and a group read back would not.
2026-11-07 08:19:20 +07:00
dotCooCoo
ad5ef55b30
Docs: PDF password export says when the file ID and the bytes vary
...
Encryption keeps the /ID already in the trailer and draws one from the
seed only when there is none. A PDF 1.3 export draws no random bytes, so
it repeats with SOURCE_DATE_EPOCH set, while PDF 1.4 and later differ
between runs. Their random bytes are in the encryption dictionary and,
at PDF 1.6 and later, in the AES initialization vectors.
2026-11-07 08:19:16 +07:00
dotCooCoo
f4576de615
Artboards: the panel menu's New Artboard makes the new artboard active
...
The panel menu's item added the artboard and left the active artboard
where it was, while the panel's button, the Control bar and Properties
made the new one active. All four now call one helper. With the Artboard
tool, the new artboard is then the only one selected.
2026-11-07 08:19:12 +07:00
BFlat
9592b6a5ca
Merge pull request #5982 from dotCooCoo/fix/link-watch-worker-gone
...
Links: a link check whose worker ends without a result no longer stops later checks
2026-11-07 09:11:28 +08:00
BFlat
60f1bff1d8
Merge pull request #5978 from dotCooCoo/fix/ai-image-knockout-shape
...
.ai import: images, meshes, blends and styled objects keep the knockout shape flag
2026-11-07 09:11:07 +08:00
BFlat
d0d915a721
Merge pull request #5977 from kylekanouse/fix/svg-textpath-anchor
...
SVG: centred and right-aligned type on a path keeps its place
2026-11-07 09:10:51 +08:00
BFlat
4e16340f2c
Merge pull request #5946 from ruchirguitar/fix/4947-indic-hyphenation
...
Add hyphenation for eleven Indian languages
2026-11-07 09:10:37 +08:00
BFlat
4b29225c30
Merge pull request #5965 from dotCooCoo/feat/ai-editing-data-s5
...
.ai save: the editing copy keeps type as type
2026-11-07 09:10:24 +08:00
BFlat
51aea90f07
Merge pull request #5972 from dotCooCoo/fix/selection-overlay-per-frame
...
Canvas: selection outlines and anchors are reused between frames
2026-11-07 09:10:03 +08:00
BFlat
afdc490d3a
Merge pull request #5971 from slafebre/fix/5964-gradient-dash-corner
...
Part of #5964 : stroke gradients cover an arrowhead to the end of its reach
2026-11-07 09:09:47 +08:00
BFlat
073923ee30
Merge pull request #5969 from dotCooCoo/fix/eyedropper-keeps-story-selection
...
Type: switching to the Eyedropper keeps a whole-story selection
2026-11-07 09:09:33 +08:00
BFlat
085bbf5495
Merge pull request #5968 from slafebre/fix/5714-smooth-width-profiles
...
Fix #5714 : widths run smoothly between width points
2026-11-07 09:09:19 +08:00
BFlat
ee4f711fbe
Merge pull request #5967 from dotCooCoo/fix/ai-brushed-paths
...
.ai import: paths with an Art brush open with the brush on their stroke
2026-11-07 09:09:01 +08:00
BFlat
7adc7fa40c
Merge pull request #5966 from dotCooCoo/fix/ai-envelope-stroked-box
...
.ai import: envelopes map from their stroked box when the file saves its size
2026-11-07 09:08:45 +08:00
BFlat
9950bde2e7
Merge pull request #5963 from dotCooCoo/fix/pdf-export-cost
...
PDF export: members of a plain group or layer are measured once to leave out off-page art, and the link walk measures only what it reads
2026-11-07 09:08:28 +08:00
BFlat
e940a55cb6
Merge pull request #5959 from dotCooCoo/fix/ai-symbol-section-strings
...
.ai import: ASCII85 data in a section does not hide the section's end
2026-11-07 09:08:13 +08:00
BFlat
aeb697c8ea
Merge pull request #5958 from FractalEncrypt/fix/shape-tool-centre-and-rotate
...
Shape tools: move the selection from its centre point and turn it outside a corner
2026-11-07 09:07:57 +08:00
BFlat
b59e31203e
Merge pull request #5957 from FractalEncrypt/fix/transform-fields-tab-order
...
Transform fields: Tab moves from one field to the next, one press each
2026-11-07 09:07:42 +08:00
BFlat
5a07696a8e
Merge pull request #4732 from SofiaAFigueredo/feat/4684-unify-home-screen-ui
...
UI: centre the Home screen and use the accent for the Discord button (#4684 )
2026-11-07 09:07:26 +08:00
BFlat
4244b96afc
Merge pull request #5955 from dotCooCoo/fix/open-text-layout
...
Type: layout keeps each font face's shaping plans
2026-11-07 09:07:10 +08:00
BFlat
8df48df103
Merge pull request #5953 from mockydevs/fix/legacy-ai-smooth-image-clip-5264
...
Legacy .ai export: a flattened transparent image's clip follows its edge smoothly
2026-11-07 09:06:50 +08:00
BFlat
4db8bbc97c
Merge pull request #5952 from dotCooCoo/feat/ai-pathfinder-effect-commands
...
.ai import: the other Effect › Pathfinder operations open as live effects on a group
2026-11-07 09:06:14 +08:00
BFlat
3bceade119
Merge pull request #5951 from dotCooCoo/fix/ai-active-artboard
...
.ai save: the editing copy names the active artboard
2026-11-07 09:05:42 +08:00
BFlat
76eca8e98e
Merge pull request #5950 from mockydevs/feat/progress-indicator-5930
...
Opening a slow file shows a progress window with Cancel and Continue in Background
2026-11-07 09:05:27 +08:00
BFlat
b497793902
Merge pull request #5948 from Hamza0101/feat/bulgarian-text-language
...
Languages: Bulgarian, with its quote marks and the fonts' Bulgarian forms (#5945 )
2026-11-07 09:05:15 +08:00
BFlat
98c6e8ab5d
Merge pull request #5947 from mockydevs/fix/grid-snap-anchors
...
Direct Selection: with Snap to Grid, a dragged straight segment lands its anchors on the grid
2026-11-07 09:04:57 +08:00
BFlat
0ebce55584
Merge pull request #5942 from mockydevs/feat/paste-spreadsheet-table
...
Paste: cells copied from a spreadsheet paste as a table of type over gridlines
2026-11-07 09:04:38 +08:00
BFlat
d79c3574af
Merge pull request #5940 from dotCooCoo/fix/paint-without-bounds
...
Appearance and Eyedropper: reading an object's paint does not measure its bounds
2026-11-07 09:04:16 +08:00
BFlat
af4f590b6b
Merge pull request #5939 from mockydevs/feat/alt-numpad-codes-5108
...
Type: Alt + numeric-keypad codes (Alt+0176 → °) type their character on Windows; type.insert takes a code
2026-11-07 09:03:59 +08:00
BFlat
84fc4b74ac
Merge pull request #5938 from mockydevs/feat/3d-effects-on-groups
...
3D effects: Extrude & Bevel, Inflate and Rotate apply to groups, turned about one shared axis
2026-11-07 09:03:47 +08:00
BFlat
e688fbea0e
Merge pull request #5937 from mockydevs/feat/glyph-bounds-corners-5112
...
Snap to Glyph: each glyph's bounding-box corners are snap points, and the box turns with rotated type
2026-11-07 09:03:27 +08:00
BFlat
bc57bdaee3
Merge pull request #5932 from Hamza0101/fix/paste-into-new-type-keeps-formatting
...
Type: pin that a Type-range paste into new point type keeps its formatting (#5929 )
2026-11-07 09:03:09 +08:00
BFlat
8029748283
Merge pull request #5931 from mockydevs/fix/perspective-plane-offsets
...
Perspective grid: a grid dragged off its preset reports no preset name
2026-11-07 09:02:47 +08:00
BFlat
c14ec164a2
Merge pull request #5928 from adikshan11/fix/library-untitled-format-copies
...
Don't copy a library on every save when its format keeps no title
2026-11-07 09:02:27 +08:00
BFlat
d074756192
Merge pull request #5927 from mockydevs/fix/transform-effect-copies-5920
...
Effects: a Transform effect's copies of a filled and stroked path stack one above another
2026-11-07 09:02:10 +08:00
BFlat
0f0ded95b4
Merge pull request #5924 from jayzed80/fix/text-huge-gutter-stall
...
fix(text): a gutter too huge to step past no longer stalls area type layout
2026-11-07 09:01:34 +08:00
BFlat
145a10c2db
Merge pull request #5922 from Hamza0101/fix/find-whole-word-across-runs
...
Find Whole Word: a change of style inside a word is not a word boundary (#5901 )
2026-11-07 09:01:14 +08:00
BFlat
9ef87c19e5
Merge pull request #5921 from Hamza0101/fix/find-replace-respects-group-lock
...
Find and Replace: type inside a locked or hidden group is left alone (#5900 )
2026-11-07 09:00:51 +08:00
BFlat
4166d31a54
Merge pull request #5918 from mockydevs/feat/drop-shadow-colour-picker
...
Drop Shadow: a swatch beside Color opens the Color Picker (#5364 )
2026-11-07 09:00:28 +08:00
BFlat
c0a40216ce
Merge pull request #5917 from mockydevs/fix/boolean-area-check
...
Path booleans: check the windings against the operands' areas and resolve the operands when they don't add up (#5478 )
2026-11-07 08:59:49 +08:00
bflatastic
53b40161f3
Docs: record kept selection marks in the parity status
2026-11-07 07:36:26 +07:00
bflatastic
ccdccb1299
Tests: an image next to type keeps its knockout shape flag
2026-11-07 07:36:26 +07:00