pdfcraft Updates & Release Notes

Follow

8 updates curated from 1 source by the Releasebot Team. Last updated: Oct 13, 2026

Get this feed:
  • Oct 12, 2026
    • Date parsed from source:
      Oct 12, 2026
    • First seen by Releasebot:
      Oct 13, 2026
    storytold logo

    pdfcraft by storytold

    PdfCraft v0.7.1

    pdfcraft releases a major update with expanded PDF editing, forms, printing, accessibility, and OCR capabilities, alongside performance, security, and localization improvements across desktop and web.

    What's Changed

    • Adopt shared panel docking with document-aware visibility by @skylartaylor in #966
    • Print: Windows lists its printers and spools jobs by @Mawfyy in #847
    • M10: Windows printing prints at actual size, off the UI thread (follow-up to #847) by @echelon in #1007
    • ci: refactor workflows to use storytold/craft-common-actions by @dylanmtaylor in #1073
    • Text extraction: word gaps follow position on the line, not drawing order (#1062) by @pauliusiv123-rgb in #1074
    • M7: watermark offset from the page centre (edit.watermark-appearance) by @Byxis in #1076
    • M12: XFA script time limits start when the engine is ready by @arcanii in #1081
    • Linux: draw on the GPU the Wayland compositor draws with by @atoslins in #1088
    • doc_create from text refuses characters Helvetica can't draw (#959) by @sibrash4 in #1030
    • Linux: StartupWMClass is the window's app id by @atoslins in #1087
    • M4, #569: Combine files takes images and text files by @mlkonrad in #1032
    • Return renderer initialization errors to the OpenGL startup fallback by @huferyliu in #1042
    • Forms: encode appearances with the existing simple font by @piero-83 in #1044
    • Forms: keep the accepted value when Tab wraps to the same field by @piero-83 in #1045
    • CLI: reject malformed --root options before dispatch by @piero-83 in #1048
    • Edit images: moving or resizing a clipped image moves its own clip too (#1022) by @MarekSpodBiedry in #1049
    • M2: stream page content past the 256 MiB cap (item 1 of #623) by @cyfung1031 in #797
    • XFA: single-block forms paginate, open in their saved state, and show their signatures by @EULArule in #1098
    • UI: a tool chosen with no document open asks for a file and runs on it by @michelleDeko in #1100
    • M14: Enumerate form fields once on open by @cyfung1031 in #1011
    • Top bar: the Save button names its shortcut instead of "(M4)" (#962) by @DWAA1660 in #1013
    • M14: correct Taiwan Traditional Chinese accessibility and form terms by @MaxTheHaters in #1023
    • M10: Enhance camera image finds the document's edges; rotate, crop or organize after Enhance page (part 3 of #1008) by @magdale76 in #1027
    • M9: stream structure-tree checks without a total-element cutoff by @cyfung1031 in #926
    • fix(macos): close the empty main window with Command-W by @Ni-zav in #930
    • fix(xfdf): combine imported annotation flags with bitwise OR by @Ni-zav in #931
    • feat(macos): declare document icon file for PDFs in Info.plist by @Totopo27 in #933
    • macOS: the tab strip is the 28 pt band the traffic lights are centred in (#789) by @ch0kemeister in #1055
    • Issues #444, #186: a mouse wheel scroll speed preference, faster by default on Windows and Linux by @AutoHenry in #514
    • fix(ui): bookmark, comment and command filters match Turkish İ/ı in any case by @snipeTR in #937
    • fix(annot): create mailto links for bare email addresses by @Ni-zav in #941
    • Fix/noissue hyphenated print label ranges s20261010 t220019 z f82d4 by @Ni-zav in #942
    • macOS: "Reopen the files that were open" starts from the system reopen-windows setting (#871) by @ch0kemeister in #1053
    • Keep Border and Fill color palettes independent in field Properties by @sanyamsingh001 in #1054
    • M2, #1060: axial and radial shadings draw as native gradients (InDesign fades 10× faster) by @mlkonrad in #1061
    • UI: theme picker with light and dark theme cards by @luniiya in #1082
    • Docs: sync the progress docs with issues closed on 2026-10-10 by @Ridzzz0Alam in #1064
    • Fix plural forms for recent document page counts by @neronek22 in #1065
    • Read mode: the rail's Bookmarks and other pane buttons open their panels (#932) by @DWAA1660 in #947
    • Issue #948: the root-confinement test tries the symbolic-link escape only when the link was made by @pauliusiv123-rgb in #949
    • fix(measure): include closing edges of every filled PDF subpath by @Ni-zav in #952
    • demo-pdf: two fixes so xtask demo-pdf and xtask screenshots work on Windows by @pechnikov2026-star in #954
    • M7: shard Japanese Type 3 fallback fonts across large edits by @cyfung1031 in #958
    • Typed signatures draw Cyrillic and Greek letters (#846) by @DWAA1660 in #963
    • M7: shard Arabic generated glyph fonts instead of rejecting large text by @cyfung1031 in #967
    • M9: sign with CAC/PIV smart cards through the macOS Keychain by @sfv9 in #968
    • M10: stream Create Multiple sources without a fixed file-count cutoff by @cyfung1031 in #978
    • M11: strip redundant ASCII stream wrappers during optimization by @cyfung1031 in #989
    • text_find stops reading pages once its limit is reached (#971) by @DWAA1660 in #990
    • M14: a chosen interface size is absolute, as in PhotoCraft by @mitul72 in #1005
    • docs(ocr): add model download step to build instructions by @mjohnson7cd in #1006
    • M2: keep non-interpolated minified images sharp by @cyfung1031 in #635
    • docs: register the MCP server from an installed release by @sawizzle in #643
    • M12: add deterministic snap property tests to the measure crate by @cyfung1031 in #714
    • Windows: Save asks where to keep an Outlook attachment instead of writing its temporary copy by @art804 in #601
    • Chinese UI: draw with an installed Chinese face when the build has none (#826) by @YingQiu0871 in #925
    • fix(ui): preserve scroll position when collapsing or resizing sidebars (#1056) by @omarelders in #1069
    • render: don't let a hostile page-tree /Count abort inspection by @pechnikov2026-star in #956
    • xfa, xfdf: refuse XML nested past 1024 levels instead of aborting the process by @pkibiego in #987
    • M2: overlapping text runs stay whole; placement in arrange, bounded checks by @cyfung1031 in #748
    • pt-BR: lowercase month names in the date picker by @WladmirJunior in #1089
    • M9: visible digital signatures can show a drawn, typed or image graphic (#193) by @kestrel99 in #934
    • Issue #568: honour the document's copy permission (Table 22, bit 5) by @jay-tau in #914
    • Viewer: Continuous scrolling is an independent checkbox over the base layout (#752) by @justinjohn0306 in #896
    • M4: open Organize Pages as a selectable thumbnail overview by @lukashold in #1004
    • Add an opt-in low-disk Cargo profile by @cyfung1031 in #951
    • Select tool: trigger multi-click text selection on pointer press (#1024) by @krinry in #1040
    • M14: scan PdfCraft page-content markers once per document refresh by @cyfung1031 in #1016
    • Open dialog: allow selecting several files at once by @LucasT-dev in #1086
    • Issue #431: reload a document when its file changes on disk by @pauliusiv123-rgb in #459
    • fix(annot): validate finite link areas before add or edit by @Ni-zav in #940
    • Add faux-redaction audit (paint-order and colour-aware, fail-closed) by @ejbarraza in #110
    • fix(ui): prevent translated tool labels from overflowing and align German terminology by @Ni-zav in #939
    • chore: bump github actions to fix Node 20 deprecation warnings by @dylanmtaylor in #641
    • On-page text boxes keep a dark caret on their white backgrounds in the dark theme (#655) by @MarekSpodBiedry in #734
    • Render visible pages before thumbnails and text extraction by @gyurix in #950
    • Print: start PowerShell on Windows by its full path by @jcl-bit in #1106
    • Comments: line breaks saved as CR show in comment text by @nicholasyoannou in #1113
    • Cap unbounded editing and text caches; index form fields once by @chiranjeevi-max in #1115
    • Fix text selection cursor on all tools toggle(View More - View Less Button) by @oussama-dalhi in #1121
    • Print: architectural paper presets and PDF scale controls (#599 follow-up) by @durtyrobbin in #1123
    • M10: Enhance camera image cleans the photo up and chooses its look (part 4 of #1008, closes #1034) by @magdale76 in #1038
    • Security: fix 10 verified audit findings in redaction, signature validation, and untrusted-input handling by @JeremyYao in #1099
    • feat: Scale down large signature images instead of rejecting (#1075) by @mjohnson7cd in #1124
    • Forms: keep tiles and render unbaked field values during page re-render by @Piohrun in #636
    • Issue #995 & #1077: unlock a restricted document with its permissions password by @Ridzzz0Alam in #1127
    • Tests: consolidate safe ui-egui integration targets by @cyfung1031 in #992
    • fix(theme): complete Linux System appearance tracking by @coygeek in #1017
    • Issue #432: global Units preference (mm, cm, in, pt), defaulting to the system region by @bulgariamitko in #463
    • Give dialogs roomier text fields and padding by @bartalos86 in #487
    • i18n: let the layers below hand their sentences over, so they can be translated by @feraremag2680 in #478
    • Improve PDF Navigation with Cursor-Anchored Zoom and Mouse Panning by @mhadidi06 in #504
    • M14: complete the Czech (cs) interface catalog by @Losminek in #1066
    • M14: Italian catalog review: meaning, agreement, consistency (47 entries) by @magdale76 in #1025
    • M14: Slovenian (Slovenščina) interface language by @spacekomet in #1091
    • Add Greek (el) interface localization by @Camthalion77 in #994
    • M14: Kazakh interface language by @pechnikov2026-star in #955
    • feat(i18n): add complete Turkish interface language support by @yeniufuklar-com in #1057
    • Content edits on heavy documents: narrow refresh, cached appearances, per-page invalidation by @MaksPV in #1122
    • M7: Hebrew in Edit text (reading order, writing order, Hebrew glyphs) by @tzagim in #521
    • Heavy pages: cull off-tile images, cache decodes, preview backdrops, calmer queues by @MaksPV in #1117
    • M14: text the fonts can't draw is kept and reported, never written as ? silently by @kekeandzeyu in #1112
    • M7: support shaped Thai text in Add Text and UI fallback fonts by @PuemMTH in #767
    • M7: preserve overlapping text when dragging paragraphs (#594) by @FredApps in #1052
    • Bound materialized text search matches (#971) by @rp6186030 in #1164
    • XFA: import and export data files, and pictures for image fields by @ysrdevs in #1175
    • docs(contributors): add Ufuk Efe to people.toml by @yeniufuklar-com in #1177
    • Issue #1185: Protect refuses passwords that encryption would make empty or equal by @jay-tau in #1186
    • M14: keep structural page order through inspection by @cyfung1031 in #1182
    • Raise workspace rust-version to 1.95 to match the UI crate (#1169) by @MarekSpodBiedry in #1188
    • M5: preserve comment identities during partial XFDF and FDF imports by @MMexicann in #1144
    • Test PDF viewer trackpad pinch zoom by @earlvanze in #1148
    • M4: replace selected pages from organize toolbar and context menus (#786) by @Hathor875 in #1149
    • UI: checkboxes and radio buttons are outlined, and checkboxes are square by @Toddpe in #1173
    • M14: "Edit with PdfCraft" on the File Explorer menu of PDF files (#682) by @jcl-bit in #1180
    • M2: bound the total size of page-label prefixes by @ymote in #1146
    • Windows printing: two-sided binds on the chosen edge; note drivers that ignore Two-sided by @bulgariamitko in #1154
    • Issue #1028: OCR can read pictures on pages that already have text by @rp6186030 in #1184
    • M14: choose Tools panel side in Preferences by @earlvanze in #1130
    • Show annotation actions beside selected text by @earlvanze in #1133
    • i18n(es): add 84 missing rows, consistent tú register by @diegozpy in #1134
    • Linux: prefer server DPI over panel physical DPI in vendored winit by @gyurix in #1150
    • M2: keep doubled short text runs from interleaving by @cyfung1031 in #1198
    • docs: sync Earl Co contributor name from GitHub by @earlvanze in #1199
    • Accessibility: identify structure objects in checker findings by @earlvanze in #1207
    • Accessibility: edit structure tag properties through tools by @earlvanze in #1210
    • Accessibility: export before-and-after review record by @earlvanze in #1204
    • M10.5: Adopt craft-print spooler with Windows printing fixes by @skylartaylor in #1015
    • Preserve source fonts in text editing and resize clipped artwork by @komo1iddin in #1116
    • Polish chrome hover, press, and selection by @bartalos86 in #457
    • Edit text: support Devanagari system font fallback and Indic pre-base matra reordering by @krinry in #1033
    • Fix Word invoice layout and pagination (#773) by @lollinoo in #1126
    • M5.7: Fill & Sign Scan tab for photographed signatures (#1110) by @Bjorneseth in #1111
    • M4: rename colliding form field names when combining (organize.field-name-conflicts) by @edurbs in #1155
    • M10: Create separate PDFs from multiple files by @earlvanze in #1183
    • Comments panel: show Persian and Arabic comments in reading order (#1079) by @itrycodinganditsbad in #1138
    • M10: Presentation (.pptx) export (#1137) by @Hathor875 in #1162
    • Add editable page-range selection to Organize Pages (#1092) by @DWAA1660 in #1174
    • M14: edits let go of the previous working file before writing the next (gap 13) by @rp6186030 in #1279
    • Accessibility: show figure findings on the page by @earlvanze in #1280
    • Fix viewport jitter when annotating with search active (#1254) by @omarelders in #1283
    • Automation tests: isolate workdirs by call site by @cyfung1031 in #1223
    • M0: validate the committed parity manifest in xtask tests by @srt8hellcat2-ui in #1214
    • M7: report unsupported document link actions accurately by @cyfung1031 in #1242
    • M5: Insert text snaps its caret to the text (#345) by @diegozpy in #1249
    • Accessibility: compare checker results after each recheck by @earlvanze in #1250
    • M5: quick-bar colour recolours the selected comment (#1191) by @rp6186030 in #1255
    • Redaction: add case-sensitive and whole-word search options by @earlvanze in #1258
    • control: close the connection on malformed input before auth by @SteamSmith in #1259
    • M10.5: load driver options for CUPS printer instances by @srt8hellcat2-ui in #1226
    • Units: read the Windows measurement system from the registry, not reg.exe by @jcl-bit in #1227
    • Accessibility: reorder sibling structure tags through an undoable tool by @earlvanze in #1229
    • Accessibility: export before-and-after review as HTML by @earlvanze in #1234
    • Refine Greek localization and May abbreviation by @Camthalion77 in #1262
    • Resize exclusive image crops across nested states and content streams by @komo1iddin in #1269
    • honour the /Lab colour space /WhitePoint (#1203) by @Hathor875 in #1237
    • Accessibility: persist human review decisions for an exact PDF revision by @earlvanze in #1239
    • Accessibility: add visual tag properties panel by @earlvanze in #1216
    • M10: print from the web build through the browser's print dialog (gap 4) by @rp6186030 in #1243
    • M7: open local GoToR PDF links natively by @cyfung1031 in #1265
    • M3: follow Windows' Animation effects setting; add an Animation effects preference by @JeremyYao in #1235
    • Reading colours: replace document colours for reading comfort (#897) by @edurbs in #1270
    • Accessibility: keep manual review visible in checker summaries by @earlvanze in #1224
    • Tests: normalize generated streams in Arabic output golden by @earlvanze in #1275
    • Comments: "Other colour…" picker and recent custom colours under the swatches (#1193) by @ngrafton2006 in #1261
    • M3: add PDF tab context menu (fixes #1233) by @srt8hellcat2-ui in #1266
    • M14: tune Windows low-DPI JetBrains Mono hinting by @cyfung1031 in #1264
    • Text extraction: honour /ActualText, so Thai from Chrome PDFs is searchable by @git-monchiant in #1217
    • feat(edit): remove all links command and context menu (#539) by @Hathor875 in #1213
    • M12: say when a form's scripts were turned off by @arcanii in #1251
    • XFA: one script thread per event, and the live form kept up to date in place by @ysrdevs in #1355
    • xtask: stop headless Chrome leaving macOS code-sign clones (#1196) by @MarekSpodBiedry in #1292
    • Issue #1296: hayro-syntax applies SASLprep to AES-256 passwords (PdfCraft patch 16) by @jay-tau in #1345
    • M3: match Greek final sigma in case-insensitive search by @nevicia2010-hub in #1349
    • Clean form tag references by @not-a-feature in #1351
    • M12: accept literal digits in date formats (dd.mm.26) by @aparcar in #1352
    • CI: keep craft-fonts enabled across Linux Rust gates by @cyfung1031 in #1284
    • CI: run dependency layering once per workflow by @cyfung1031 in #1286
    • CI: keep line tables instead of full workspace debug info by @cyfung1031 in #1298
    • test(cli): reject unknown MCP options by @mhmdeve in #1342
    • Refine search match selection and text failure jitter handling by @omarelders in #1291
    • Fill & Sign: choose text and date font size by @earlvanze in #1285
    • fix(xfdf): text data from a one-field form keeps its commas (#1321) by @marcoarnulfo in #1371
    • CLI: audit rejects unknown options before reading the file (fixes #1332) by @umesh429 in #1372
    • fix(preflight): find colour operators after any PDF whitespace (#1334) by @marcoarnulfo in #1373
    • fix(sign): a signature field with a null /V can be signed by name (#1328) by @marcoarnulfo in #1374
    • fix(redact): removing comments keeps non-comment annotations (#1325) by @marcoarnulfo in #1375
    • fix(print): refuse huge posters at the sheet limit instead of overflowing (#1335) by @marcoarnulfo in #1376
    • M7: preserve Arabic text order in copy, search and editing by @YouseifUS in #1369
    • M2: snap shrunk interpolated images to whole pixels so scans stay sharp by @philip-tam in #1377
    • M14: Preserve recovery snapshots without readable metadata by @LabDennis in #1378
    • fix(fonts): a composite /W run past the last CID stops there (#1313) by @marcoarnulfo in #1389
    • fix(ui): the Fields panel lists a field on a missing page as unplaced (#1307) by @marcoarnulfo in #1390
    • fix(automation): content_update refuses text styling on an image (#1331) by @marcoarnulfo in #1391
    • fix(forms): a whole look keeps the rest of an indirect /MK (#1322) by @marcoarnulfo in #1392
    • fix(forms): a literal Off value reads as Off outside buttons (#1320) by @marcoarnulfo in #1393
    • fix(fonts): a /Differences code past 255 no longer encodes as its last byte (#1314) by @marcoarnulfo in #1394
    • Issue #1368: keep text a dragged paragraph passed over by @Ridzzz0Alam in #1381
    • M7: Preserve explicit page ranges across dialog redraws (#1304) by @LabDennis in #1382
    • M3: select an image on the page and copy it by @FrancescoClemeno in #1363
    • fix(cli): edit refuses move/insert destinations past the end (#1330) by @umesh429 in #1400
    • fix(sign): refuse to sign a field whose /V is not a signature (#1328) by @marcoarnulfo in #1402
    • fix(forms): keep a whitespace-only value in a text field without a format (#1323) by @marcoarnulfo in #1403
    • fix(content): skip an inline image with an unreadable key to its EI (#1318) by @marcoarnulfo in #1404
    • fix(automation): doc_save reports a required full rewrite as not incremental (#1329) by @marcoarnulfo in #1405
    • fix(audit): an identity cm between re and fill no longer hides a cover (#1333) by @umesh429 in #1410
    • fix(ui): Current page prints the viewed page, not a page labelled with its number (#1308) by @marcoarnulfo in #1411
    • fix(render): draw Turkish Ğ İ Ş ğ ş in non-embedded fonts by @TheLastRoadRunner in #1409
    • M10: edit OCR text on scanned pages so the change shows by @TanguAchilis in #1397
    • Edit text: support per-font visual-order Indic text and nukta reordering by @krinry in #1380
    • M12: preview text structure proposals for auto-tagging by @earlvanze in #1383
    • M10: Test current-page print previews and saved output by @LabDennis in #1415
    • fix(content): count an unreadable inline image with no EI as skipped (#1318) by @marcoarnulfo in #1418
    • feat(ui): add command palette arrow-key navigation by @Morpheus004 in #1419
    • M4: Fix Combine duplicate warnings and cache their computation by @LabDennis in #1420
    • feat(preflight): verify image resolution and bleed without rewriting the file by @Baltsar in #1408
    • M14: add Lithuanian interface and date localization by @tdslot in #1401
    • M1: write a valid xref when an incremental save has no objects (#1339) by @bartalos86 in #1424
    • Release workflow: pass the Azure signing secrets by @echelon in #1194

    New Contributors

    • @dylanmtaylor made their first contribution in #1073
    • @arcanii made their first contribution in #1081
    • @atoslins made their first contribution in #1088
    • @sibrash4 made their first contribution in #1030
    • @huferyliu made their first contribution in #1042
    • @piero-83 made their first contribution in #1044
    • @EULArule made their first contribution in #1098
    • @michelleDeko made their first contribution in #1100
    • @MaxTheHaters made their first contribution in #1023
    • @magdale76 made their first contribution in #1027
    • @Totopo27 made their first contribution in #933
    • @luniiya made their first contribution in #1082
    • @Ridzzz0Alam made their first contribution in #1064
    • @neronek22 made their first contribution in #1065
    • @pechnikov2026-star made their first contribution in #954
    • @sfv9 made their first contribution in #968
    • @mjohnson7cd made their first contribution in #1006
    • @sawizzle made their first contribution in #643
    • @art804 made their first contribution in #601
    • @YingQiu0871 made their first contribution in #925
    • @omarelders made their first contribution in #1069
    • @pkibiego made their first contribution in #987
    • @WladmirJunior made their first contribution in #1089
    • @kestrel99 made their first contribution in #934
    • @lukashold made their first contribution in #1004
    • @krinry made their first contribution in #1040
    • @LucasT-dev made their first contribution in #1086
    • @ejbarraza made their first contribution in #110
    • @nicholasyoannou made their first contribution in #1113
    • @durtyrobbin made their first contribution in #1123
    • @JeremyYao made their first contribution in #1099
    • @Piohrun made their first contribution in #636
    • @coygeek made their first contribution in #1017
    • @mhadidi06 made their first contribution in #504
    • @Losminek made their first contribution in #1066
    • @spacekomet made their first contribution in #1091
    • @Camthalion77 made their first contribution in #994
    • @yeniufuklar-com made their first contribution in #1057
    • @tzagim made their first contribution in #521
    • @kekeandzeyu made their first contribution in #1112
    • @PuemMTH made their first contribution in #767
    • @FredApps made their first contribution in #1052
    • @rp6186030 made their first contribution in #1164
    • @MMexicann made their first contribution in #1144
    • @earlvanze made their first contribution in #1148
    • @ymote made their first contribution in #1146
    • @diegozpy made their first contribution in #1134
    • @komo1iddin made their first contribution in #1116
    • @lollinoo made their first contribution in #1126
    • @Bjorneseth made their first contribution in #1111
    • @itrycodinganditsbad made their first contribution in #1138
    • @srt8hellcat2-ui made their first contribution in #1214
    • @SteamSmith made their first contribution in #1259
    • @ngrafton2006 made their first contribution in #1261
    • @git-monchiant made their first contribution in #1217
    • @nevicia2010-hub made their first contribution in #1349
    • @not-a-feature made their first contribution in #1351
    • @aparcar made their first contribution in #1352
    • @mhmdeve made their first contribution in #1342
    • @marcoarnulfo made their first contribution in #1371
    • @umesh429 made their first contribution in #1372
    • @YouseifUS made their first contribution in #1369
    • @philip-tam made their first contribution in #1377
    • @LabDennis made their first contribution in #1378
    • @FrancescoClemeno made their first contribution in #1363
    • @TheLastRoadRunner made their first contribution in #1409
    • @TanguAchilis made their first contribution in #1397
    • @Morpheus004 made their first contribution in #1419
    • @Baltsar made their first contribution in #1408
    • @tdslot made their first contribution in #1401

    Full Changelog: v0.6.0...v0.7.1

    Original source
  • Oct 11, 2026
    • Date parsed from source:
      Oct 11, 2026
    • First seen by Releasebot:
      Oct 13, 2026
    storytold logo

    pdfcraft by storytold

    PdfCraft v0.6.0

    pdfcraft releases version 0.6.0 with expanded PDF editing, signing, redaction, OCR, and file-combination tools, plus improvements to rendering and document handling. The update also adds Polish and Arabic interface languages, easier signature adjustments, and a Linux riscv64 build.

    What's Changed

    • M3: tiles skip paths that can't paint them (item 5 of #623) by @cyfung1031 in #670
    • M3: harden render and CLI failure surfaces by @cyfung1031 in #669
    • Print: list driverless CUPS destinations, not only permanent queues by @edurbs in #658
    • Wayland: IME keeps working after a seat loses a capability (winit#4747) by @cyfung1031 in #672
    • Windows: the Korean IME composition caret sits after the syllable (winit#4746) by @cyfung1031 in #673
    • Windows: a window closed maximized reopens without a white flash (winit#4587) by @cyfung1031 in #674
    • X11: the input method follows the text field that has focus (winit#4727) by @cyfung1031 in #675
    • macOS: IME text committed after the marked text is cleared isn't lost (winit#4650) by @cyfung1031 in #676
    • macOS: an unfinished composition doesn't come back in the next text field (winit#4745) by @cyfung1031 in #677
    • macOS: emoji from the emoji picker reach text fields (winit#4749) by @cyfung1031 in #678
    • macOS: Space in Apple Korean with no syllable in progress types one space (winit#4478) by @cyfung1031 in #679
    • macOS: the first Apple Korean key in a fresh PdfCraft composes (winit#4744) by @cyfung1031 in #680
    • M3: document why fixed-zoom sizes differ from Acrobat (no runtime change) by @cyfung1031 in #736
    • Desktop: log renderer details for display-scaling diagnosis by @cyfung1031 in #726
    • M7: normalize PDF font descriptor flags to u32 by @cyfung1031 in #700
    • About dialog test: wait for each control to stop moving before clicking it (#671) by @DWAA1660 in #703
    • M3: cover suspended raster resource ownership by @cyfung1031 in #733
    • M4: audit that undo and redo never replay field scripts by @cyfung1031 in #713
    • M2: pin output across worker counts by @cyfung1031 in #705
    • M2: cover inherited form resource contexts by @cyfung1031 in #707
    • M6: reject out-of-domain field flags by @cyfung1031 in #701
    • M5: unify annotation flag parsing by @cyfung1031 in #698
    • M3: make multi-document raster allowance test deterministic by @cyfung1031 in #723
    • Sign: long digital ID names stay inside the picker by @mmmaarian03-crypto in #743
    • Issue #727: tell the user when GitHub rate-limits update checks by @ShauryaSwarup in #731
    • M2: decouple content tokenization from slices by @cyfung1031 in #706
    • M2: key soft-mask cache by inherited resource context by @cyfung1031 in #716
    • create: lift TIFF decoding buffer limit to allow print-sized images (#665) by @Hathor875 in #681
    • Windows: declare Per-Monitor V2 DPI awareness in the executable manifest by @cyfung1031 in #725
    • CI: require Windows executable resources in Windows builds by @cyfung1031 in #724
    • Close the command palette on outside click by @oussama-dalhi in #696
    • M2: cover form recursion cycles by @cyfung1031 in #709
    • M3: test stitched render partitions against whole-page output by @cyfung1031 in #697
    • M2: cover tiling pattern recursion cycles and finite nesting by @cyfung1031 in #710
    • M5: preserve strokes with malformed interior colors by @cyfung1031 in #708
    • Sign: decide Windows store keys in code every platform builds (follow-up to #646) by @jcl-bit in #690
    • Issue #666: images made into a PDF keep their ICC profile by @LloydNicholson in #729
    • M14: side panels keep their width after a resize by @Toddpe in #704
    • Sign: smart cards and tokens in the Windows store ask for their PIN (#694) by @mmmaarian03-crypto in #742
    • M2: pages with /UserUnit are shown at their size in points, as in Acrobat by @cyfung1031 in #722
    • M2: text turned at any angle reads as lines along its own baseline by @cyfung1031 in #735
    • M2: cancel obsolete in-flight requests by @cyfung1031 in #702
    • PDF/A: no sRGB output intent for CMYK documents, and pdfa_verify checks the intent's colour space (#667) by @DWAA1660 in #732
    • Windows: single instance, launches started together share one window (#282, #317) by @benimaru327 in #715
    • M8: redaction code sets (U.S. FOIA, Privacy Act) as overlay text by @bartalos86 in #741
    • M14: View menu, tooltips and Keyboard shortcuts show Ctrl, not ⌘, off macOS by @Toddpe in #695
    • M14: Arabic interface language by @abdelhaqelamraoui in #692
    • M4: keep the render pool across metadata edits by @cyfung1031 in #750
    • M9: the signer's certificate must allow document signing (key usage, EKU, critical extensions) by @bartalos86 in #749
    • M9: sign and timestamp encrypted documents by @silverhadch in #753
    • Extract pages: a File name field names the extracted files (#737) by @DWAA1660 in #751
    • M4: bookmarks from tagged headings (organize.bookmarks-from-structure) by @bartalos86 in #754
    • M8: redact lists of words or phrases (protect.redact-word-lists) by @bartalos86 in #757
    • M3: make render watchdog regressions deterministic by @cyfung1031 in #699
    • Progress docs: re-measure against Acrobat Pro 26.002, adopt the progress-docs standard by @echelon in #873
    • Measure: snap to the implicit closing edge of filled paths (#803) by @MarekSpodBiedry in #862
    • fix(organize): reject rotation angles that are not multiples of 90 (#801) by @muraa-p in #833
    • Autosave: snapshot a new unsaved document before its first edit (#815) by @MarekSpodBiedry in #850
    • OCR: Recognize text in multiple files refuses paths outside the root by @mlkonrad in #795
    • fix(text): match phrases across repeated whitespace (#814) by @muraa-p in #831
    • fix(edit): keep a comment whose appearance is missing when flattening (#805) by @muraa-p in #838
    • fix(comments): keep a reply to a reply in the comment listing (#806) by @muraa-p in #839
    • Issue #774: keep the catalog out of object streams in encrypted files (Acrobat) by @ch0kemeister in #836
    • fix(edit): refuse a header start number that would wrap the next page (#804) by @muraa-p in #834
    • OCR: a scanned euro sign reads as €, not E by @mlkonrad in #796
    • fix(comments): include replies to replies in the comment summary (#820) by @muraa-p in #840
    • fix(xfdf): drop the replaced note's popup when re-importing a comment (#807) by @MarekSpodBiedry in #860
    • fix(view): check Shift-Command-G before Command-G for find navigation (#810) by @Hathor875 in #835
    • fix(editing): recognize paragraph drafts as unsaved work (#811) by @Hathor875 in #843
    • fix(automation): retain batch results with identical filenames by @Ni-zav in #877
    • M13: preserve desktop Action Wizard batch results by @Tevinhead in #886
    • Fit to width fits the shown page in single-page view (#808) by @MarekSpodBiedry in #859
    • fix(links): find URLs when lowercasing changes the text length (#816) by @muraa-p in #830
    • organize: deleting the opening page drops the catalog OpenAction (#821) by @MarekSpodBiedry in #855
    • fix(text): Turkish dotted and dotless i match in case-insensitive search by @snipeTR in #892
    • XFDF comment exchange keeps polygon and polyline vertices (#809) by @DWAA1660 in #848
    • XFDF keeps a callout's leader, text-box inset, intent and arrowhead (#819) by @MarekSpodBiedry in #854
    • Web: warn before reloading a document with unsaved changes (#812) by @MarekSpodBiedry in #856
    • Issue #813: a cancelled recovery password no longer attaches to the next unlocked document by @ch0kemeister in #858
    • Viewer: touchpad scrolling tracks the finger 1:1 (#759) by @justinjohn0306 in #868
    • Keep every part when bookmark titles repeat in doc_split (#800) by @MarekSpodBiedry in #863
    • Windows: add reproducible security diagnostics for #747 by @cyfung1031 in #769
    • Security notice wraps beside its buttons instead of running under them (#785) by @DWAA1660 in #832
    • M10.2: scan JPEG metadata beyond frame headers by @CQMHV in #764
    • Issue #878: Combine stores an image once when its colour space is an indirect name by @mlkonrad in #883
    • organize: drop named destinations and their links when a page is deleted (#817) by @MarekSpodBiedry in #851
    • JavaScript: limit util.printf widths and output, and array arguments by @haranishi in #770
    • Linux: "Use system setting" asks the desktop, not winit by @gyurix in #881
    • Extract/Combine: a page repeated in one selection gets its own annotations (#818) by @MarekSpodBiedry in #852
    • Fill & Sign tools pick up placed signatures to move and resize them by @LloydNicholson in #822
    • Web: opt-in embedding bridge for host pages (?host=parent) by @CyberFox-81 in #842
    • Print: a scaled annotation appearance no longer prints larger than its rectangle (#802) by @MarekSpodBiedry in #861
    • Single instance: enable tab handoff in Windows portable mode (#889) by @A-viral-dev in #891
    • Issue #390: build the DMG with hdiutil create so the app passes codesign --strict by @ch0kemeister in #823
    • M4: make page-label generation lazy across large documents by @cyfung1031 in #845
    • lopdf: bound compressed-object lookups and object-stream members by @haranishi in #771
    • hayro-syntax: cap the nesting of direct arrays and dictionaries by @haranishi in #772
    • M11: Reduce file size shrinks office scans, and never saves a bigger copy (refs #490) by @taylorandrew07-lab in #849
    • M11: Reduce file size and Optimize PDF drop images nothing draws, such as a deleted image by @taylorandrew07-lab in #894
    • M9: name the Windows store certificates that can't sign (#179) by @EpsilonLLC in #761
    • M12: XFA rows in areas get their instances by @silverhadch in #853
    • Exported images keep their transparency, JPEG cut-outs included (#645) by @DWAA1660 in #763
    • Fill colour for rectangle, oval and polygon comments (#686) by @DWAA1660 in #793
    • M14: localize displayed shortcut key names (#496) by @Tevinhead in #884
    • M3, #740: column select (Alt/Option-drag, or Edit ▸ Column select) by @mlkonrad in #765
    • Combine files: a thumbnail grid, card sizes and card actions (1 of 3, refs #611) by @taylorandrew07-lab in #777
    • Combine files: expand a file into its pages (2 of 3, refs #611) by @taylorandrew07-lab in #788
    • Combine files: move and remove single pages before combining (3 of 3, closes #611) by @taylorandrew07-lab in #790
    • M14: Add Polish interface language by @80aa08 in #782
    • Issue #870: keys leave the document under a dialog alone by @jay-tau in #898
    • fix(redact): Turkish, German, French and Italian month names in the Dates pattern by @snipeTR in #900
    • fix(redact): the Email pattern finds internationalized addresses by @snipeTR in #901
    • fix(create): read UTF-16, byte-order-marked and Windows code page text files by @snipeTR in #903
    • fix(crypt): R2–R4 passwords with non-ASCII characters open (PDFDocEncoding) by @snipeTR in #905
    • M14: interface size preference; Auto follows GNOME text scaling by @mitul72 in #902
    • M7: keep embedded CMap ranges compact instead of truncating expansion by @cyfung1031 in #837
    • M4: traverse large bookmark trees lazily without dropping later items by @cyfung1031 in #876
    • M14: give Windows PDF files a dedicated document icon by @joeabouserhal in #890
    • Edit PDF: select and move multiple objects together (#844) by @Tevinhead in #907
    • Edit text: white or pale text is edited on a dark box instead of vanishing on white (#913) by @DWAA1660 in #921
    • Fill & Sign: Add text keeps what was typed on click-away, and its box grows by @dsskaggs-ai in #918
    • Select tool picks up a signature placed over a form field by @LloydNicholson in #917
    • Drawn signatures and drawings resize from their handles by @LloydNicholson in #920
    • Bump to 0.6.0; add a Linux riscv64 release build by @echelon in #945

    New Contributors

    • @mmmaarian03-crypto made their first contribution in #743
    • @Hathor875 made their first contribution in #681
    • @oussama-dalhi made their first contribution in #696
    • @Toddpe made their first contribution in #704
    • @benimaru327 made their first contribution in #715
    • @abdelhaqelamraoui made their first contribution in #692
    • @silverhadch made their first contribution in #753
    • @muraa-p made their first contribution in #833
    • @ch0kemeister made their first contribution in #836
    • @Ni-zav made their first contribution in #877
    • @snipeTR made their first contribution in #892
    • @gyurix made their first contribution in #881
    • @CyberFox-81 made their first contribution in #842
    • @A-viral-dev made their first contribution in #891
    • @taylorandrew07-lab made their first contribution in #849
    • @80aa08 made their first contribution in #782
    • @jay-tau made their first contribution in #898
    • @mitul72 made their first contribution in #902
    • @joeabouserhal made their first contribution in #890
    • @dsskaggs-ai made their first contribution in #918

    Full Changelog: v0.5.0...v0.6.0

    Original source
  • All of your release notes in one feed

    Join Releasebot and get updates from storytold and hundreds of other software products.

    Create account
  • Oct 10, 2026
    • Date parsed from source:
      Oct 10, 2026
    • First seen by Releasebot:
      Oct 13, 2026
    storytold logo

    pdfcraft by storytold

    PdfCraft v0.5.0

    pdfcraft releases a major update with expanded PDF editing, forms, signatures, OCR, export and CLI capabilities, plus broader language support. It also improves rendering speed and reliability, strengthens security, and adds useful page, navigation and workflow enhancements.

    What's Changed

    • Issue #166: Save, Print and Export include the text still being typed in a form field by @AutoHenry in #278
    • V, H and Space pick the Select and Hand tools by @wstock in #281
    • M14: Arabic and Hebrew file names render in the tab strip, recent files and Properties by @samehelhawary in #285
    • M3: find text in mixed horizontal and vertical PDFs by @midasdf in #287
    • Add a complete French UI catalog by @iMhack87 in #291
    • Run set-layer-visibility actions from links and push buttons by @pauliusiv123-rgb in #292
    • M10: select pages in the Pages panel and print the selection by @samehelhawary in #296
    • Issue #159: open .p12 files with trailing whitespace, PEM armour or base64 by @Mawfyy in #298
    • Issue #173: a failed ?file= startup fetch is reported in the app by @DWAA1660 in #302
    • Sign with digital IDs from the Windows certificate store (#179) by @EpsilonLLC in #304
    • Validate discard_changes before closing clean documents by @sanyamsingh001 in #306
    • XFA: run FormCalc scripts by @ysrdevs in #301
    • M7: preserve ideographic spaces when rewriting paragraphs by @midasdf in #309
    • M14: complete Simplified Chinese About credits and multiline guidance by @Flowershangfromthebranches in #311
    • Windows MSI: reject per-user overrides and retain progress text (#305) by @CQMHV in #310
    • Security: create save staging files with create_new (follow-up to #164) by @jcl-bit in #319
    • M4: Combine files in its own tab, with a sortable table and unlocking of protected files by @mlkonrad in #321
    • Issue #236: the Save-changes prompt shortens very long names to fit the window by @Fazmin in #322
    • Reject invalid page selector types before combining PDFs by @sanyamsingh001 in #329
    • Issue #263: combine, extract and split keep the PDF/X output intent and identification by @Fazmin in #334
    • Security: print jobs, new digital IDs and the --control file no longer write through planted links by @jcl-bit in #338
    • Security: refuse mailto attachments, show link hosts in punycode (follow-up to #104) by @jcl-bit in #337
    • Issue #124: a long page label no longer overlaps its bookmark title by @Mawfyy in #328
    • Add image signatures with placement preview and resize controls by @remesis in #335
    • Issue #290: File ▸ Open Recent lists the recent files by @Mawfyy in #323
    • M13: pdfcraft-cli mcp --compact lists 12 tools and finds the rest by search by @Oldrich333 in #353
    • M14: Telugu (తెలుగు) interface language by @chiranjeevi-max in #349
    • Platform: one save-staging helper for automation and the desktop app (follow-up to #319) by @jcl-bit in #356
    • Clippy: as_chunks in the signature image test (follow-up to #335) by @chiranjeevi-max in #360
    • Update image signatures live during resize and movement by @remesis in #355
    • Issue #157: the Windows portable zip keeps settings, logs and recovery beside pdfcraft.exe by @MarekSpodBiedry in #325
    • M10.2: Create PDF from multiple files, edited as pages in the Organize grid by @samehelhawary in #361
    • Add my contributor name (cyfung1031) by @cyfung1031 in #364
    • render: apply W/W* clipping after every path-painting operator by @cyfung1031 in #362
    • View: page rasters map texel for texel onto the screen (sharp text at any zoom) by @cyfung1031 in #363
    • M11: Optimize PDF and Reduce File Size run in the background with a progress bar by @mlkonrad in #370
    • Forms: round required-field border on radio buttons; Highlight fields is remembered by @cyfung1031 in #372
    • Ink strokes are drawn as smooth curves through their points by @cyfung1031 in #374
    • Fix toast wrapping and the Linux search shortcut hint by @sanyamsingh001 in #376
    • i18n: add Russian (ru) interface translation by @MaksPV in #375
    • render: draw non-embedded Japanese CID fonts with a craft-fonts face by @cyfung1031 in #368
    • Comments without an appearance stream are drawn (display only, never saved) by @cyfung1031 in #371
    • Home: pin folders and list their newest PDFs by @amitabhthakur in #383
    • Issue #295: three clicks select the line, four clicks the page by @pauliusiv123-rgb in #366
    • Linux: accept file:// URI args so desktop launchers recognise pdfcraft as PDF default by @bunakalya in #382
    • M7: report Japanese Type 3 fallback font names by @midasdf in #387
    • FDF: replies and review status keep their parent comment (fixes #333) by @SBaksa in #388
    • Preserve CLI results when diagnostics fail and validate page arguments by @sanyamsingh001 in #391
    • Keyboard shortcut to enter page number to jump to by @aus10d in #393
    • M7: preserve Japanese Gothic fallback family and weight by @midasdf in #394
    • M3: render pool renders each request once when the caller re-sends it by @cyfung1031 in #400
    • CI: no macOS on PRs or main; macOS is built and tested by releases by @echelon in #512
    • M1: enforce decoded limits on unfiltered COS streams by @Streetblock in #477
    • M2: handle Unicode dates and preserve inspection fallback pages by @Streetblock in #469
    • M7: pick a Japanese fallback face that has every glyph of the edited text (#384) by @MarekSpodBiedry in #472
    • Never crash: CMap parsing can't panic, overflow or run away; tokens need no spaces by @AutoHenry in #495
    • tests: pin the interface language so the suite passes outside English by @feraremag2680 in #502
    • Issue #225: a closed Comments panel stays closed when picking comment tools by @AutoHenry in #501
    • Export to Word: detect tables of at most 63 columns, Word's limit (#479) by @Erige005 in #483
    • Comments: a new highlight opens its note for typing (#475) by @MarekSpodBiedry in #481
    • M2.6: non-embedded Mincho fonts draw half-width katakana by @chent11 in #484
    • Phone photos follow EXIF orientation; image signatures stay upright on rotated pages (#434) by @MarekSpodBiedry in #485
    • Issue #425: long file names and paths on Home end in "…" before the row's details by @pauliusiv123-rgb in #443
    • Keep document view state consistent when closing tabs and reverting by @sanyamsingh001 in #439
    • Edit text: fast drags on a paragraph's edge no longer get dropped; add a left-edge handle by @kremit in #436
    • M4.6: search bookmark titles (#257) by @midasdf in #424
    • M3: keep overflowed document tabs reachable (#397) by @midasdf in #416
    • sign: read the .p12 files Windows writes (BER, not DER) by @feraremag2680 in #453
    • Never crash: dash patterns can't exhaust memory or hang the renderer by @jcl-bit in #405
    • M3: renders of a dropped render pool stop at the next operator by @cyfung1031 in #409
    • M3: rendered pixels are moved out of the pixmap, not copied by @cyfung1031 in #404
    • M1: incremental saves are allocated once at their exact size by @cyfung1031 in #402
    • Issue #442: reopen the files that were open when PdfCraft last closed by @pauliusiv123-rgb in #462
    • M14: Bulgarian (Български) interface language by @bulgariamitko in #466
    • M2: bound lopdf predictor scratch to available samples by @Streetblock in #470
    • M5.7: keep natural-size image stamps upright on rotated pages (#434, partial) by @midasdf in #473
    • macOS DMG: branded window background and icon layout by @XusBadia in #272
    • Tests: serialize wgpu rendering in fill_sign.rs (Windows ARM64 crash) by @echelon in #395
    • Never crash: JBIG2 symbol dictionaries can't loop without end by @jcl-bit in #408
    • M7: Arabic in added text (shaping, bidi order, searchable Type 3 glyphs) by @fares111111122 in #403
    • M14: German interface catalog (de) by @schiffer-soft in #471
    • Redact pattern: international phone numbers match whole (refs #525) by @echelon in #543
    • Encode the full WinAnsi 0x80–0x9F range: Š š Ž ž Œ œ Ÿ … (refs #347) by @echelon in #546
    • Keep text colour in Word, HTML and RTF export (fixes #526) by @echelon in #547
    • Pen strokes stay unselected and show no author popup (fixes #429) by @echelon in #549
    • ↓ / ↑ turn pages in single-page view (fixes #273) by @echelon in #550
    • Dependencies keep only line tables in dev builds (fixes #454) by @echelon in #559
    • Shift+click extends the text selection (refs #527) by @echelon in #560
    • Issue #430: clear the recent-files list, or remove one file from it by @pauliusiv123-rgb in #557
    • Typed and drawn signatures stay upright on rotated pages (fixes #299) by @echelon in #562
    • Linux: prefer the discrete GPU on desktops with a monitor on each GPU (fixes #445) by @echelon in #558
    • M1: full saves are allocated at their exact size by @cyfung1031 in #523
    • M3: the watchdog stops the render it gives up on by @cyfung1031 in #522
    • A newly opened document starts at the top, not where the last session scrolled by @LloydNicholson in #554
    • Bookmarks and links go to their destination's position and zoom by @LloydNicholson in #556
    • M7: Type 3 fallback glyphs get a well-formed d1, so Acrobat draws edited text instead of bullets by @bulgariamitko in #548
    • Never crash: fall back to OpenGL when wgpu can't start (#461, #435, #392) by @AutoHenry in #530
    • Issue #537: pdfcraft-cli --help prints the full usage by @LloydNicholson in #540
    • Forms: radio groups and check boxes accept their /Opt export values by @martinjohuber in #532
    • Issue #324: on Windows 11, a window dragged to another monitor takes its scale by @cyfung1031 in #544
    • de: translate labels that reach tl!() through variables; fix name collisions and wrong meanings by @martinjohuber in #541
    • M14: Hungarian interface catalog (hu) by @bartalos86 in #545
    • M1: stream data read from a file points into the file instead of being copied by @cyfung1031 in #552
    • M3: rasters reach egui without a copy on the UI thread by @cyfung1031 in #555
    • M14: refine German labels and prevent translated UI text overlap by @Streetblock in #515
    • i18n: add complete Ukrainian interface translation by @dmatviichuk in #509
    • M6.2: check boxes with non-UTF-8 state names show their mark when clicked by @chent11 in #536
    • M6.2: form fields in Unicode CID fonts show Japanese instead of "?" by @chent11 in #535
    • M7: edit text: Cyrillic/Greek replacement text no longer fails in serif lines, and is spaced proportionally by @bulgariamitko in #528
    • Forms: rotate field widgets with /MK /R by @bartalos86 in #516
    • M5: draw all ten PDF line-ending styles by @bartalos86 in #520
    • Issue #125: page text the standard fonts can't draw is refused, not written as ? by @AutoHenry in #510
    • M2: normalize JPEG2000 samples without overflowing by @Streetblock in #575
    • Never crash: decompression bombs can't exhaust the renderer's memory by @jcl-bit in #411
    • Never crash: mesh shadings can't exhaust memory or run for minutes by @jcl-bit in #412
    • Fix: High-precision float mantissa overflow in hayro-syntax, causing warped display of some PDFs (#199) by @philkwek in #427
    • M2: bound page-label traversal and output by @Streetblock in #480
    • View: keep earlier tiles on screen while a zoom's new tiles render by @cyfung1031 in #415
    • Fix main CI: move the rotated-field render test out of pdfcraft-forms (layering) by @echelon in #591
    • View: the middle button pans instead of drawing with markup tools by @codyvogt in #565
    • Pages panel: keep a short page current; context menu and drag to reorder by @max1e6 in #573
    • M4: zoom the Organize page grid by @samehelhawary in #468
    • Flatten Fill & Sign marks when saving by @bartalos86 in #464
    • Fill & Sign: date format and date language in Preferences (refs #158) by @kisst in #505
    • M10: Print ▸ Properties… opens the printer driver's own settings by @bulgariamitko in #482
    • Reduce large-PDF memory growth (#307) by @skylartaylor in #419
    • pdfcraft-cli --help lists mcp only when the build has it by @LloydNicholson in #574
    • M14: honor Windows display language with neutral launcher locales by @Streetblock in #567
    • D5: READMEs for cos and engine by @tanish2k09 in #332
    • Preserve alternate appearances and indirect push-button values on redraw by @sanyamsingh001 in #417
    • M7: select and edit grouped PDF figures (Form XObjects) by @Flowershangfromthebranches in #450
    • XFA: choice lists, signature, password, image and barcode fields; PNG and GIF pictures by @ysrdevs in #414
    • MCP: common command tools, session resources and client hints by @storybored379 in #451
    • D2, D3: fuzz every tool's arguments, and prove root confinement by @tanish2k09 in #351
    • Fix main CI: remove duplicated forms redraw tests (E0428) by @echelon in #605
    • Parity: cite the MCP resources test by its merged name by @echelon in #608
    • Release: standalone Linux CLI archive (fixes #423) by @echelon in #613
    • Decode outline titles with BOMs and raw UTF-8 consistently (refs #142) by @echelon in #614
    • No form bar for push-button-only documents; Screen annotations aren't comments (refs #169) by @echelon in #615
    • Edit text: lines split across content stream pieces are listed and edited (fixes #155) by @echelon in #628
    • Export to Word/HTML/RTF: read text and images drawn by form XObjects (fixes #314) by @SBaksa in #406
    • tests: pin the interface language in the harnesses added since #502 by @feraremag2680 in #593
    • M14: clarify Ukrainian wording and restore CI by @dmatviichuk in #584
    • M14: correct Hungarian Windows Store and saved-signature labels by @bartalos86 in #595
    • M9: chain building checks CA constraints, key usage, path length and validity by @thorstenhirsch in #620
    • Ship the OCR models in the desktop release packages (refs #103) by @echelon in #630
    • M9: validate a document timestamp that sits in a signature field by @thorstenhirsch in #621
    • M9: read BER signatures (DocuSign, Documenso); classify later changes narrowly by @thorstenhirsch in #144
    • M9: more signature validation algorithms (SHA-3, RIPEMD-160, Ed25519, P-521, brainpool, PSS, rsa_sha1) by @thorstenhirsch in #386
    • M14: complete the French (fr) catalog by @Byxis in #579
    • i18n: complete the Japanese catalog (105 missing strings) and check it like fr/de/ru/zh-hans by @haranishi in #587
    • Tell the user when PdfCraft draws without a GPU (#519) by @jcl-bit in #627
    • M5: name line endings in the comment properties combo by @bartalos86 in #582
    • M3: preserve local work when a startup URL arrives late by @Tevinhead in #583
    • M2: bound PDF functions and reject invalid calculator operations by @Streetblock in #581
    • M2: bound image resampling buffers before allocation by @Streetblock in #592
    • Windows: a window larger than the GPU's texture limit can't close PdfCraft (#577) by @jcl-bit in #609
    • Windows: a GPU that can't set up the window falls back to OpenGL (#519) by @jcl-bit in #617
    • Tab strip: shrink tabs before scrolling, keep Open in sight; ignore about:blank titles by @max1e6 in #612
    • CLI: pdfcraft-cli ui refuses a control file another user could plant by @jcl-bit in #597
    • CLI: pdfcraft-cli.exe carries a Windows version resource by @jcl-bit in #598
    • Fix #378: draw on the GPU that drives the primary display on Windows by @rschuerer in #631
    • Fill & Sign: remove white background from imported signature images by @mrme2tiri-hash in #637
    • Pages panel: delete pages from the thumbnails by @max1e6 in #607
    • Fix non-exhaustive match in Windows signing path by @Dammy196 in #646
    • i18n: add Italian (it) interface translation by @w-valzelli in #494
    • i18n: complete Brazilian Portuguese (pt-BR) interface catalog by @edurbs in #604
    • Never crash & persist: Make Current Properties Default and page-display choices survive a restart (#340, #266) by @Mawfyy in #365
    • View: draw page previews at the resolution they are shown by @bartalos86 in #529
    • D1: pin and verify the pdf.js corpus by @tanish2k09 in #339
    • macOS: add native document integration diagnostics by @cyfung1031 in #653
    • Forms: fields listed only as page widgets join the form by @edurbs in #649
    • M6: bulk form-field properties and selection (#95) by @Tevinhead in #650
    • M2: a ligature stays one glyph in the text layer, in every writing direction by @cyfung1031 in #660
    • M2: a character a substitute font lacks draws .notdef, not an unrelated glyph by @cyfung1031 in #661
    • M2: kanji that Adobe-Japan1 maps to a variation sequence draw in non-embedded fonts by @cyfung1031 in #662

    New Contributors

    • @samehelhawary made their first contribution in #285
    • @iMhack87 made their first contribution in #291
    • @EpsilonLLC made their first contribution in #304
    • @sanyamsingh001 made their first contribution in #306
    • @Flowershangfromthebranches made their first contribution in #311
    • @mlkonrad made their first contribution in #321
    • @Fazmin made their first contribution in #322
    • @remesis made their first contribution in #335
    • @Oldrich333 made their first contribution in #353
    • @MarekSpodBiedry made their first contribution in #325
    • @MaksPV made their first contribution in #375
    • @amitabhthakur made their first contribution in #383
    • @bunakalya made their first contribution in #382
    • @SBaksa made their first contribution in #388
    • @aus10d made their first contribution in #393
    • @Streetblock made their first contribution in #477
    • @feraremag2680 made their first contribution in #502
    • @Erige005 made their first contribution in #483
    • @chent11 made their first contribution in #484
    • @kremit made their first contribution in #436
    • @bulgariamitko made their first contribution in #466
    • @XusBadia made their first contribution in #272
    • @fares111111122 made their first contribution in #403
    • @schiffer-soft made their first contribution in #471
    • @LloydNicholson made their first contribution in #554
    • @martinjohuber made their first contribution in #532
    • @bartalos86 made their first contribution in #545
    • @dmatviichuk made their first contribution in #509
    • @philkwek made their first contribution in #427
    • @codyvogt made their first contribution in #565
    • @max1e6 made their first contribution in #573
    • @kisst made their first contribution in #505
    • @skylartaylor made their first contribution in #419
    • @tanish2k09 made their first contribution in #332
    • @thorstenhirsch made their first contribution in #620
    • @Byxis made their first contribution in #579
    • @haranishi made their first contribution in #587
    • @Tevinhead made their first contribution in #583
    • @rschuerer made their first contribution in #631
    • @mrme2tiri-hash made their first contribution in #637
    • @Dammy196 made their first contribution in #646
    • @w-valzelli made their first contribution in #494

    Full Changelog: v0.4.0...v0.5.0

    Original source
  • Oct 8, 2026
    • Date parsed from source:
      Oct 8, 2026
    • First seen by Releasebot:
      Oct 13, 2026
    storytold logo

    pdfcraft by storytold

    PdfCraft v0.4.0

    pdfcraft releases a major update with expanded PDF editing, form handling, signatures and measurement tools, plus stronger security, broader language support and improvements across Windows, macOS and Linux. New distribution options and CLI enhancements round out the release.

    What's Changed

    • Windows on ARM64: release builds, tested on ARM64 hardware (#61) by @echelon in #66
    • Windows ARM64: fix the intermittent WARP crash in tests, remove the diagnostic job by @echelon in #71
    • Fonts: use craft-fonts as an optional build input; move the Japanese fonts out by @echelon in #75
    • View: next page in two-page view moves a whole spread (#70) by @bflatastic in #77
    • Export to Word: files open in Word again (#72) by @bflatastic in #78
    • ROADMAP: session 14 log by @echelon in #83
    • UI: sharper, higher-contrast text, most visible on Windows (#76) by @bflatastic in #84
    • macOS: open PDFs from Finder, Open With and the Dock (#73) by @bflatastic in #82
    • Add text: clicking elsewhere keeps the text and starts a new box (#74) by @bflatastic in #86
    • ROADMAP: session 15 log by @bflatastic in #88
    • Prepare a form: Detect form fields in the panel, delete several fields at once (#93, #95) by @bflatastic in #116
    • Forms: check box and radio button styles (#94) by @bflatastic in #118
    • Docs: automation README, internal craftrules links, docs/releasing.md (#97, #98, #100) by @bflatastic in #120
    • Windows: register PrintCraft as a PDF handler, so it can be the default (#107) by @bflatastic in #122
    • Rename PrintCraft to PdfCraft by @echelon in #174
    • Redact: operators split across a page's content streams are redacted whole by @EthanSuquet in #153
    • Security: --root confinement leaks and escapes (#136, #137) by @jcl-bit in #164
    • Security: ask before opening links from documents (#90, #91) by @jcl-bit in #104
    • M1: validate object-number ranges before reading cross references by @storybored379 in #92
    • fix: print: read lpstat untranslated so printers show on non-English macOS by @rutkk in #101
    • macOS: declare PDF by UTI so Open With recommends PrintCraft by @ShauryaSwarup in #176
    • Issue #96: on Linux, draw on the GPU that drives the monitors by @cmoro-deusto in #105
    • Edit text: the graphics state carries over between a page's content streams by @Checkov23 in #150
    • Edit text: keep the tokens a content stream shares with its neighbours by @EthanSuquet in #154
    • Automation: file-writing tools no longer advertise read-only (#130) by @itsmunzir in #138
    • CLI: text exits non-zero when a selected page cannot be read (#131) by @itsmunzir in #139
    • Checkboxes with an indirect /AP /N state dictionary are drawn (#180) by @ebastos in #181
    • Select all pages with Ctrl+A in Organize Pages by @Frumpy9 in #113
    • Render: round page rasters up so the last partial row and column are drawn (#102) by @HEOJUNFO in #114
    • M3: Add middle-click autoscroll on Linux by @Frumpy9 in #111
    • Persist default workspace mode for newly opened PDFs by @mjshfrvstj-sys in #172
    • macOS: File ▸ Open and file pickers no longer crash the app by @AutoHenry in #145
    • Fix saved signature replacement and long-name clipping (#163) by @DWAA1660 in #178
    • Forms: run show/hide-a-field button actions by @pauliusiv123-rgb in #192
    • #143: Windows MSI desktop shortcut checkbox, Start Menu fix and install-complete dialog by @DWAA1660 in #183
    • Print: add cut-and-stack page order by @excited-raccoon in #197
    • CI: ARM64 smoke test writes its page render inside --root by @echelon in #198
    • About: contributor and model credits compiled in (grab bag + table, self-submitted names) by @echelon in #196
    • CI: tell actionlint about the macos-release runner label by @echelon in #202
    • CLI: exit cleanly when stdout pipe closes by @excited-raccoon in #203
    • M14: translation catalogs, same system as PhotoCraft by @leblanc-simon in #106
    • i18n: add Brazilian Portuguese (pt-br) UI translation by @RicSchonfelder in #165
    • i18n: Czech interface language by @petrleocompel in #68
    • M14: complete Japanese dialogs, panels, shortcuts and diagnostics by @sakamoto824 in #141
    • M14: expand Traditional Chinese UI, dialogs and language preferences by @sakamoto824 in #140
    • i18n: Simplified Chinese UI language option by @shuiyue-cmyk in #112
    • Signatures: RFC 3161 timestamps, document timestamps, DSS/VRI and revocation verification (non-network half) by @justinjohn0306 in #69
    • Add DPI choices when creating PDFs from images by @DWAA1660 in #206
    • #161: keep the Save-changes prompt inside the screen by @Mawfyy in #207
    • XFA: lay dynamic forms out from their template and keep their data in step (#60) by @ysrdevs in #121
    • M14: complete Simplified Chinese translation catalog by @CQMHV in #209
    • Measure: add distance, perimeter and area tools by @excited-raccoon in #208
    • fix(i18n): follow Windows display language for Chinese UI by @neavo in #216
    • Fix theme controls with shared System, Light and Dark preferences by @CQMHV in #212
    • Fix flaky picker tests: join the worker instead of polling by @echelon in #221
    • #211: guard the macOS PDF file association with a packaging test by @chiranjeevi-max in #226
    • Restore #196, #202, #203 and the macOS release-runner change, reverted by the i18n chain by @echelon in #229
    • CLI: edit rejects unknown options instead of writing an unchanged copy (#133) by @wstock in #227
    • Split: keep only the resources each part draws (#204) by @itsmunzir in #228
    • XFA: run the forms' JavaScript: calculations, validation, rows, visibility (#60) by @ysrdevs in #230
    • CLI: text fails when the document cannot be opened (#132) by @wstock in #233
    • README: install on Gentoo from the ::snakebyte overlay by @switch87 in #237
    • Desktop: write log records to standard error and a rotating log file by @switch87 in #239
    • #214: wheel paging, Page display menu, default layout and zoom by @chiranjeevi-max in #241
    • Automation: doc_info reports annotation and link rects in displayed-page coordinates (#129) by @wstock in #242
    • Automation: doc_protect restrictions need a permissions password — say so, and refuse them without one (#134) by @wstock in #243
    • Pin mixed-size Fit page behavior with regression tests by @chiranjeevi-max in #245
    • Desktop: no eprintln! on the log and panic paths by @switch87 in #246
    • Add Spanish (es) interface catalog by @viator1969 in #251
    • Issue #253: comment_add anchors note and attachment icons at the displayed top-left on rotated pages by @wstock in #254
    • Issue #248: pdfcraft-cli render writes the format its --out name says (.png, .jpg, .tif or .pam) by @wstock in #255
    • Issue #249: pdfcraft-cli split creates --out-dir when it does not exist by @wstock in #256
    • Issue #189: each document tab keeps its own scroll position by @wstock in #259
    • Issue #185: arrow keys and Page Down / Up move through a scrolling document by @wstock in #261
    • macOS: every file picker is non-blocking (Save As, exports, folders, Browse…) by @AutoHenry in #262
    • Add my contributor name (viator1969) by @viator1969 in #264
    • Issue #188: page steps in two-page view take every spread when several fit on screen by @wstock in #265
    • Fix flaky CLI text tests: separate files per protected-PDF test by @echelon in #267
    • Web: Insert/Replace edit the document they started on; Print ▸ Save as PDF downloads (#167, #170) by @AutoHenry in #270
    • render: guard degenerate annotation appearance transforms by @cyfung1031 in #271
    • render: synthesize missing Highlight appearances by @cyfung1031 in #274
    • fonts: keep later widths and the embedded font when /Widths or /FirstChar is malformed by @cyfung1031 in #276
    • render: map annotation appearance boxes onto /Rect corner to corner by @cyfung1031 in #277
    • Release: Flatpak bundles, AppImage zsync updates, README Downloads by @echelon in #275
    • README Downloads: where to get it, then builds (Windows first) by @echelon in #279

    New Contributors

    • @bflatastic made their first contribution in #77
    • @EthanSuquet made their first contribution in #153
    • @jcl-bit made their first contribution in #164
    • @rutkk made their first contribution in #101
    • @ShauryaSwarup made their first contribution in #176
    • @cmoro-deusto made their first contribution in #105
    • @Checkov23 made their first contribution in #150
    • @itsmunzir made their first contribution in #138
    • @ebastos made their first contribution in #181
    • @Frumpy9 made their first contribution in #113
    • @HEOJUNFO made their first contribution in #114
    • @mjshfrvstj-sys made their first contribution in #172
    • @DWAA1660 made their first contribution in #178
    • @pauliusiv123-rgb made their first contribution in #192
    • @excited-raccoon made their first contribution in #197
    • @leblanc-simon made their first contribution in #106
    • @RicSchonfelder made their first contribution in #165
    • @petrleocompel made their first contribution in #68
    • @sakamoto824 made their first contribution in #141
    • @shuiyue-cmyk made their first contribution in #112
    • @Mawfyy made their first contribution in #207
    • @ysrdevs made their first contribution in #121
    • @CQMHV made their first contribution in #209
    • @neavo made their first contribution in #216
    • @chiranjeevi-max made their first contribution in #226
    • @switch87 made their first contribution in #237
    • @viator1969 made their first contribution in #251
    • @cyfung1031 made their first contribution in #271

    Full Changelog: v0.2.1...v0.4.0

    Original source
  • Oct 6, 2026
    • Date parsed from source:
      Oct 6, 2026
    • First seen by Releasebot:
      Oct 13, 2026
    storytold logo

    pdfcraft by storytold

    PrintCraft v0.2.1

    pdfcraft releases v0.2.1 with improved PDF text editing, comment tools, persisted English and Japanese interface languages, and table export to office formats. The update also strengthens document handling and adds Windows and FreeBSD support improvements.

    What's Changed

    • Updates: check only when asked (no check at start) by @echelon in #38
    • Docs: honest parity assessment, gap list and direction by @echelon in #39
    • Never crash: the fuzz job's eleven hangs finish (parser retries, inline images, Type 3 fan-out) by @echelon in #41
    • Fix text editing layout and preserve source PDF font styles by @justinjohn0306 in #36
    • docs: point agents to the shared test corpora by @echelon in #44
    • Never crash: JBIG2 images can't decode billions of pixels by @echelon in #43
    • FreeBSD: build and test the workspace in a FreeBSD VM by @echelon in #45
    • Never crash: Type 1 font programs can't hang or overflow the stack (skrifa 0.47) by @echelon in #46
    • FreeBSD: release tarball, packaging check and docs (builds on #45) by @echelon in #42
    • XFDF: gracefully ignore invalid Unicode annotation colours by @storybored379 in #48
    • Add persisted English/Japanese interface language by @midasdf in #47
    • Tests: full screen and the About dialog get their own tests (parity evidence) by @echelon in #50
    • UI: share the Japanese fallback font (one 8.7 MB copy, not two) by @echelon in #51
    • Issue #37: on Windows, draw with Direct3D 12 (OpenGL fallback), never load Vulkan drivers by @echelon in #49
    • ROADMAP: log session 13's later work by @echelon in #52
    • Tests: drag-and-drop open and comment hover (two features now shipped) by @echelon in #53
    • Comments: Squiggly underline tool by @echelon in #54
    • Comments: opacity control in the quick bar by @echelon in #55
    • Preferences ▸ Identity: the name on new comments, remembered by @echelon in #56
    • Windows: no console window, and the Start Menu shortcut gets its icon (#57) by @echelon in #58
    • Identity test: wait for the page's text before selecting it by @echelon in #64
    • Edit text: move and resize existing text boxes (#40) by @echelon in #59
    • Forms: say so when a document is an XFA form (#60) by @echelon in #65
    • Export detected tables to office formats by @justinjohn0306 in #62
    • Release: PrintCraft v0.2.1 by @echelon in #67

    New Contributors

    • @justinjohn0306 made their first contribution in #36
    • @midasdf made their first contribution in #47

    Full Changelog: v0.2.0...v0.2.1

    Original source
  • Similar to pdfcraft with recent updates:

  • Oct 5, 2026
    • Date parsed from source:
      Oct 5, 2026
    • First seen by Releasebot:
      Oct 13, 2026
    storytold logo

    pdfcraft by storytold

    PrintCraft v0.2.0

    pdfcraft releases an update focused on safer, more reliable PDF editing, with fixes for redaction, page organization, forms, and text editing. It also improves crash resistance and adds an opt-in startup update check.

    What's Changed

    • Redaction: drop /PCAdded from rewritten content streams so redacted added text does not stay in the file by @storybored379 in #1
    • Organize: deleted pages leave the file even when something still points at them by @storybored379 in #2
    • Licensing: standard LICENSE files, NOTICE, ArtCraft brand terms by @echelon in #9
    • CI: as_chunks instead of constant-size chunks_exact (clippy 1.99) by @echelon in #10
    • Optimizer: Audit space usage counts images PrintCraft added as images by @storybored379 in #3
    • Forms: CSV import keeps values that span lines by @storybored379 in #4
    • Edit text: a paragraph's new colour no longer spills into the text after it by @storybored379 in #6
    • Forms: multi-select list values survive XML, CSV and text import by @storybored379 in #5
    • Edit text: a rewritten paragraph keeps its place in the text object it shares by @storybored379 in #7
    • Never crash: agent rules, clippy.toml, forbid unsafe by @echelon in #11
    • Never crash: forms scripts can't overflow the stack or the date arithmetic by @echelon in #12
    • Never crash: hostile form scripts can't overflow the stack by @echelon in #13
    • Never crash: last-resort guard around edits, opens, saves and UI commands by @echelon in #14
    • Never crash: crypt has no panic paths by @echelon in #15
    • Never crash: filters, fonts, js, optimize and a11y deny the panic lints by @echelon in #16
    • Never crash: sign has no expect/unreachable by @echelon in #17
    • Never crash: organize has no expect/unreachable by @echelon in #18
    • Never crash: render has no expect/unreachable by @echelon in #19
    • Never crash: engine denies the panic lints by @echelon in #20
    • Never crash: the automation (MCP/script) tools have no expect/unreachable by @echelon in #21
    • Never crash: UI and app shell have no expect/unreachable by @echelon in #22
    • Never crash: create has no expect calls by @echelon in #23
    • Never crash: deny the panic lints in crates that are already clean by @echelon in #24
    • Never crash: edit and xfdf have no expect calls by @echelon in #25
    • Tests: frame budgets take turns and keep the best of three rounds by @echelon in #26
    • Nightly fuzz: stop the runner's out-of-memory deaths (and the fuzzer's false passes) by @echelon in #27
    • Never crash: absurd image-mask and CCITT sizes are refused before decoding by @echelon in #29
    • Never crash: predictor rows and stroke widths from the input can't exhaust memory by @echelon in #30
    • Issue #8: prefer the integrated GPU; the save prompt answers to the keyboard by @echelon in #31
    • Issue #28: Help ▸ Check for updates (opt-in check at start) by @echelon in #32
    • Release: PrintCraft v0.2.0 by @echelon in #33

    New Contributors

    • @storybored379 made their first contribution in #1
    • @echelon made their first contribution in #9

    Full Changelog: v0.1.1...v0.2.0

    Original source
  • Oct 3, 2026
    • Date parsed from source:
      Oct 3, 2026
    • First seen by Releasebot:
      Oct 13, 2026
    storytold logo

    pdfcraft by storytold

    PrintCraft v0.1.1

    pdfcraft publishes a changelog for the update from v0.1.0 to v0.1.1.

    Full Changelog: v0.1.0...v0.1.1

    Original source
  • Oct 2, 2026
    • Date parsed from source:
      Oct 2, 2026
    • First seen by Releasebot:
      Oct 13, 2026
    storytold logo

    pdfcraft by storytold

    PrintCraft v0.1.0

    pdfcraft links to the Printcraft v0.1.0 changelog, marking an initial release with changes detailed on GitHub.

    Full Changelog: https://github.com/storytold/printcraft/commits/v0.1.0

    Original source

This is the end. You've seen all the release notes in this feed!

Releasebot

Curated by the Releasebot team

Releasebot is an aggregator of official product update announcements from hundreds of software vendors and thousands of sources.

Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.