bflatastic
de333340a5
Merge #4532 : M6: list boxes show and pick the option /I names, and a single-select list shows one value ( #4531 )
...
# Conflicts:
# crates/automation/src/tools.rs
# crates/forms/src/lib.rs
# crates/forms/src/tests.rs
# crates/forms/src/values.rs
# crates/ui-egui/src/tools/forms_ui.rs
# crates/ui-egui/tests/it/forms.rs
2026-11-09 18:17:35 +07:00
BFlat
9ee213eff7
Fix main's build and tests after the latest merges ( #6706 )
2026-11-09 19:12:07 +08:00
Dylan M. Taylor
8f29ed66f9
fix(engine): open linked documents without blocking and check the handle is a regular file ( #5982 )
2026-11-09 18:37:30 +08:00
pat26-dotcom
8f5373a7d1
M12: turn a layout table into Div and P tags in one call ( #4105 ) ( #4250 )
2026-11-09 18:33:01 +08:00
oracola91
12a9b23394
Create PDF from text takes Cyrillic and Greek, and reports no longer escape them ( #5403 )
2026-11-09 18:31:29 +08:00
Dylan M. Taylor
5f4003e562
fix(engine): summarizing comments requires copying permission ( #6039 )
2026-11-09 18:19:15 +08:00
Dylan M. Taylor
4791327701
fix(engine): unknown permissions on an encrypted document refuse copying and printing ( #6011 )
2026-11-09 18:18:28 +08:00
.CooCoo
17425b0147
fix(automation): XFA clicks and form edits return only the script output they produced ( #4559 )
2026-11-09 18:13:50 +08:00
Eric Kaden
7fa6f10720
M12: an XFA date field keeps what its patterns don't read as typed, and reads its own patterns first ( #4511 )
2026-11-09 18:13:08 +08:00
mtlcl410
e142d30dfd
M3: web and email addresses written as page text open like links ( #4207 ) ( #4472 )
2026-11-09 18:12:05 +08:00
regendorf-ux
08c3d3a5ab
feat(ui): split view: two panes, one document or two ( #2518 )
2026-11-09 18:11:13 +08:00
mtlcl410
bd5db5dc35
M2: a page whose content was cut at the renderer's limits says so ( #623 ) ( #2113 )
2026-11-09 18:09:37 +08:00
regendorf-ux
e63736d2e7
Print production: Fix hairlines (dialog, edit, tool) ( #1906 )
2026-11-09 18:08:46 +08:00
ljkx
930b441312
fix(redact): Remove Hidden Information reads only what the chosen categories need (part of #5873 ) ( #6021 )
2026-11-09 18:01:36 +08:00
mtlcl410
d920c8bdf3
Merge main into fix/listbox-selected-indices
...
crates/forms/src/values.rs: the read imports take both listed_indices and
selected_options (list selection) and main's listing_fields_named (radio
fields sharing a name).
2026-11-09 12:20:42 +08:00
mtlcl410
43393f0b41
Merge upstream/main into fix/listbox-selected-indices
2026-11-09 11:47:28 +08:00
mtlcl410
8e07d67eb6
M6: fill in the list selection fields in the engine's XFA test helper
...
Main's new engine test builds a pdfcraft_forms::Field literal; give it
the selected and single_value_is_array fields this branch adds.
2026-11-09 11:47:28 +08:00
bflatastic
6b6531ff03
Merge remote-tracking branch 'origin/main' into tmpup
...
# Conflicts:
# crates/engine/src/tests.rs
2026-11-09 10:31:59 +07:00
bflatastic
6bfc0af05d
Merge remote-tracking branch 'origin/main' into tmpup
2026-11-09 10:12:20 +07:00
bflatastic
75a370c202
Merge remote-tracking branch 'origin/main' into tmpup
2026-11-09 10:12:17 +07:00
BFlat
d8c2b9ffe8
Revert "fix(ui): show creation and modification dates in Document Properties ( #5534 ) ( #5536 )" ( #6671 )
2026-11-09 11:09:22 +08:00
bflatastic
08c0a59212
Merge main into merge/redact-forms-misc
...
# Conflicts:
# ROADMAP.md
# crates/render/src/text/tests.rs
2026-11-09 09:56:59 +07:00
bflatastic
8ed1e1e155
Merge origin/main into merge/preflight-pdfa-checks
2026-11-09 09:55:52 +07:00
Nate Glasby
b02765b6a1
fix(ui): show creation and modification dates in Document Properties ( #5534 ) ( #5536 )
2026-11-09 10:06:03 +08:00
Ethunxxx
fdffff7b85
M7: links that go to a page open at a chosen zoom (edit.action-goto) ( #5277 )
2026-11-09 10:04:00 +08:00
bflatastic
fbff06bd83
Merge main into merge/redact-forms-misc
...
# Conflicts:
# crates/engine/src/tests.rs
# crates/render/src/inspect/tests.rs
# crates/render/src/text/tests.rs
2026-11-09 09:03:20 +07:00
bflatastic
8dfb3bdc5b
Merge origin/main into merge/preflight-pdfa-checks
...
# Conflicts:
# crates/engine/src/tests.rs
2026-11-09 09:01:00 +07:00
bflatastic
0de09d6ee7
Merge remote-tracking branch 'origin/main' into tmp-53380
2026-11-09 08:43:28 +07:00
BFlat
bfed7bbabe
Fix main's build after the latest merges ( #6660 )
2026-11-09 09:43:17 +08:00
bflatastic
cf10038885
Merge #6650 : fix(edit): editing an OCR phrase redraws only the words it changes (refs #3313 )
...
# Conflicts:
# crates/edit/src/text.rs
# crates/edit/src/text_regions.rs
2026-11-09 08:21:42 +07:00
bflatastic
a7bc9c5301
Merge #6620 : M5: comments keep their formatting and appearance through XFDF and FDF (comment.import-fdf-xfdf, comment.export-fdf-xfdf)
...
# Conflicts:
# crates/xfdf/src/xfdf.rs
2026-11-09 08:21:11 +07:00
bflatastic
2992146abb
Merge #6312 : M1: a document that encrypts only its embedded files opens without a password (core.attachment-only-encryption)
...
# Conflicts:
# crates/render/src/inspect/tests.rs
# vendor/README.md
2026-11-09 08:12:28 +07:00
bflatastic
870d56a77d
Merge #6231 : fix(measure): snap on heavy sheets, off the window thread
...
# Conflicts:
# crates/measure/src/snap.rs
2026-11-09 08:10:45 +07:00
bflatastic
e2417e1561
Merge #6206 : M11: PDF/A verify checks the file header and Save as PDF/A rewrites it (optimize.pdfa-validate)
...
# Conflicts:
# crates/preflight/src/tests.rs
# parity/acrobat-features.toml
2026-11-09 08:07:05 +07:00
bflatastic
56f1f3689e
Merge #6463 : Combine and Insert bring only the bookmarks and attachments of the pages chosen
...
# Conflicts:
# crates/organize/src/tests.rs
2026-11-09 08:04:31 +07:00
mtlcl410
d65ae4268e
M6: a calculate script that sets its own field through the field object keeps that value (form.custom-scripts) ( #6616 )
2026-11-09 08:59:19 +08:00
eliets2
a2f155e4df
Deduplicate pages in ocr_job and use a set for page lookup ( #6586 )
2026-11-09 08:58:19 +08:00
mtlcl410
3e437b7bd4
M10: comments and fields without an appearance print as the page shows them ( #6367 )
2026-11-09 08:56:16 +08:00
mtlcl410
c67c44bf21
M10: applying recognized words refreshes only the page content they add ( #6310 ) ( #6316 )
2026-11-09 08:55:14 +08:00
quincy-jc
d0b2a32744
perf(optimize): work out pictures on threads and skip needless page reads ( #6230 )
2026-11-09 08:53:27 +08:00
oracola91
3c26e2e3eb
Apply Redactions replaces the recovery snapshot at once ( #6454 )
2026-11-09 08:50:55 +08:00
mtlcl410
1a28606c64
M10: a layer the document marks screen-only stays off the printed sheet (print.print-ready-pdf) ( #6387 )
2026-11-09 08:48:28 +08:00
quincy-jc
0b9c7fb821
fix(canvas): find a page's pictures off the window thread ( #6228 )
2026-11-09 08:47:47 +08:00
mtlcl410
0a029f0aad
M12: floating fields show the values scripts give them, and the sheet number and count ( #6160 ) ( #6166 )
2026-11-09 08:45:03 +08:00
Harrison Booth
3b731f9458
Expose widget rectangles to field scripts ( #6093 )
2026-11-09 08:42:39 +08:00
Dylan M. Taylor
ee6ae8eac4
fix(engine): coalesce script resetForm requests and bound console output per edit ( #5975 )
2026-11-09 08:41:24 +08:00
mtlcl410
6062cd6a44
M5: Replace Text keeps its replacement on the group's primary, the caret (comment.replace-text) ( #5689 )
2026-11-09 08:38:25 +08:00
jonathanwxh-cell
1f48670fce
refactor(cos): consolidate duplicate civil_from_days onto pdfcraft_cos::civil_from_days ( #6540 )
...
Fixes #6466
2026-11-09 08:32:08 +08:00
jonathanwxh-cell
90def111c9
fix(engine): map URL text line rects with view_rect_to_user and filter non-finite coordinates ( #6536 )
...
* fix(engine): map URL text line rects with view_rect_to_user and filter non-finite coordinates
* test(engine): assert concrete rotated user rects and overflow guards (#6469 )
2026-11-09 08:31:41 +08:00
3ae9093d61
M2: info lists the repairs made while opening, as Document Properties does (misc.cli-inspect) ( #6518 )
...
* M2: `info` lists the repairs made while opening, as Document Properties does (misc.cli-inspect)
`pdfcraft-cli info` now prints a `repairs` array: the notes about damage
repaired while opening that the app shows in Document Properties and
doc_info reports. It opens the document as the app does, once (the session
the dynamic XFA summary already used), so notes the app adds after reading
the objects, such as a page tree rebuilt from the pages found by scanning,
are listed too. A file the app cannot open for editing falls back to what
reading its objects repaired; a sound file prints an empty array.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Pq7HyDBXygTf7jcqdsjcfn
* M2: `info` runs none of the document's scripts while inspecting it (misc.cli-inspect)
The session `info` opens to read the app's repair notes and the dynamic XFA
layout now has JavaScript turned off, so an XFA form's initialize and
calculate scripts, which the app runs on opening, do not run during
inspection of an untrusted file. Before this branch the session was opened
for dynamic XFA forms only, and their scripts ran there too.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Pq7HyDBXygTf7jcqdsjcfn
* M2: `info` reads the standards and repairs from the session it opens, and a laid-out form keeps its repair notes (misc.cli-inspect)
`info` now takes the declared standards (`Document::standards`, as the
Standards panel reads them) and the repair notes from the session it
opened, and reads the file once more only when the app cannot open it.
When opening lays out a dynamic XFA form, or writes any other revision,
the notes about damage repaired while reading the file now stay with the
re-read document, so Document Properties and `info` both list them.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Pq7HyCHD1R3rywQBPCHXZA
---------
Co-authored-by: mtlcl410 <chuanlin@niar.org.tw >
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-09 08:30:37 +08:00