PrintCraft v0.2.1
- Updates: check only when asked (no check at start) by @echelon in https://github.com/storytold/printcraft/pull/38
- Docs: honest parity assessment, gap list and direction by @echelon in https://github.com/storytold/printcraft/pull/39
- Never crash: the fuzz job's eleven hangs finish (parser retries, inline images, Type 3 fan-out) by @echelon in https://github.com/storytold/printcraft/pull/41
- Fix text editing layout and preserve source PDF font styles by @justinjohn0306 in https://github.com/storytold/printcraft/pull/36
- docs: point agents to the shared test corpora by @echelon in https://github.com/storytold/printcraft/pull/44
- Never crash: JBIG2 images can't decode billions of pixels by @echelon in https://github.com/storytold/printcraft/pull/43
- FreeBSD: build and test the workspace in a FreeBSD VM by @echelon in https://github.com/storytold/printcraft/pull/45
- Never crash: Type 1 font programs can't hang or overflow the stack (skrifa 0.47) by @echelon in https://github.com/storytold/printcraft/pull/46
- FreeBSD: release tarball, packaging check and docs (builds on #45) by @echelon in https://github.com/storytold/printcraft/pull/42
- XFDF: gracefully ignore invalid Unicode annotation colours by @storybored379 in https://github.com/storytold/printcraft/pull/48
- Add persisted English/Japanese interface language by @midasdf in https://github.com/storytold/printcraft/pull/47
- Tests: full screen and the About dialog get their own tests (parity evidence) by @echelon in https://github.com/storytold/printcraft/pull/50
- UI: share the Japanese fallback font (one 8.7 MB copy, not two) by @echelon in https://github.com/storytold/printcraft/pull/51
- Issue #37: on Windows, draw with Direct3D 12 (OpenGL fallback), never load Vulkan drivers by @echelon in https://github.com/storytold/printcraft/pull/49
- ROADMAP: log session 13's later work by @echelon in https://github.com/storytold/printcraft/pull/52
- Tests: drag-and-drop open and comment hover (two features now shipped) by @echelon in https://github.com/storytold/printcraft/pull/53
- Comments: Squiggly underline tool by @echelon in https://github.com/storytold/printcraft/pull/54
- Comments: opacity control in the quick bar by @echelon in https://github.com/storytold/printcraft/pull/55
- Preferences ▸ Identity: the name on new comments, remembered by @echelon in https://github.com/storytold/printcraft/pull/56
- Windows: no console window, and the Start Menu shortcut gets its icon (#57) by @echelon in https://github.com/storytold/printcraft/pull/58
- Identity test: wait for the page's text before selecting it by @echelon in https://github.com/storytold/printcraft/pull/64
- Edit text: move and resize existing text boxes (#40) by @echelon in https://github.com/storytold/printcraft/pull/59
- Forms: say so when a document is an XFA form (#60) by @echelon in https://github.com/storytold/printcraft/pull/65
- Export detected tables to office formats by @justinjohn0306 in https://github.com/storytold/printcraft/pull/62
- Release: PrintCraft v0.2.1 by @echelon in https://github.com/storytold/printcraft/pull/67
- @justinjohn0306 made their first contribution in https://github.com/storytold/printcraft/pull/36
- @midasdf made their first contribution in https://github.com/storytold/printcraft/pull/47
Full Changelog: https://github.com/storytold/printcraft/compare/v0.2.0...v0.2.1
PrintCraft v0.2.0
- Redaction: drop /PCAdded from rewritten content streams so redacted added text does not stay in the file by @storybored379 in https://github.com/storytold/printcraft/pull/1
- Organize: deleted pages leave the file even when something still points at them by @storybored379 in https://github.com/storytold/printcraft/pull/2
- Licensing: standard LICENSE files, NOTICE, ArtCraft brand terms by @echelon in https://github.com/storytold/printcraft/pull/9
- CI: as_chunks instead of constant-size chunks_exact (clippy 1.99) by @echelon in https://github.com/storytold/printcraft/pull/10
- Optimizer: Audit space usage counts images PrintCraft added as images by @storybored379 in https://github.com/storytold/printcraft/pull/3
- Forms: CSV import keeps values that span lines by @storybored379 in https://github.com/storytold/printcraft/pull/4
- Edit text: a paragraph's new colour no longer spills into the text after it by @storybored379 in https://github.com/storytold/printcraft/pull/6
- Forms: multi-select list values survive XML, CSV and text import by @storybored379 in https://github.com/storytold/printcraft/pull/5
- Edit text: a rewritten paragraph keeps its place in the text object it shares by @storybored379 in https://github.com/storytold/printcraft/pull/7
- Never crash: agent rules, clippy.toml, forbid unsafe by @echelon in https://github.com/storytold/printcraft/pull/11
- Never crash: forms scripts can't overflow the stack or the date arithmetic by @echelon in https://github.com/storytold/printcraft/pull/12
- Never crash: hostile form scripts can't overflow the stack by @echelon in https://github.com/storytold/printcraft/pull/13
- Never crash: last-resort guard around edits, opens, saves and UI commands by @echelon in https://github.com/storytold/printcraft/pull/14
- Never crash: crypt has no panic paths by @echelon in https://github.com/storytold/printcraft/pull/15
- Never crash: filters, fonts, js, optimize and a11y deny the panic lints by @echelon in https://github.com/storytold/printcraft/pull/16
- Never crash: sign has no expect/unreachable by @echelon in https://github.com/storytold/printcraft/pull/17
- Never crash: organize has no expect/unreachable by @echelon in https://github.com/storytold/printcraft/pull/18
- Never crash: render has no expect/unreachable by @echelon in https://github.com/storytold/printcraft/pull/19
- Never crash: engine denies the panic lints by @echelon in https://github.com/storytold/printcraft/pull/20
- Never crash: the automation (MCP/script) tools have no expect/unreachable by @echelon in https://github.com/storytold/printcraft/pull/21
- Never crash: UI and app shell have no expect/unreachable by @echelon in https://github.com/storytold/printcraft/pull/22
- Never crash: create has no expect calls by @echelon in https://github.com/storytold/printcraft/pull/23
- Never crash: deny the panic lints in crates that are already clean by @echelon in https://github.com/storytold/printcraft/pull/24
- Never crash: edit and xfdf have no expect calls by @echelon in https://github.com/storytold/printcraft/pull/25
- Tests: frame budgets take turns and keep the best of three rounds by @echelon in https://github.com/storytold/printcraft/pull/26
- Nightly fuzz: stop the runner's out-of-memory deaths (and the fuzzer's false passes) by @echelon in https://github.com/storytold/printcraft/pull/27
- Never crash: absurd image-mask and CCITT sizes are refused before decoding by @echelon in https://github.com/storytold/printcraft/pull/29
- Never crash: predictor rows and stroke widths from the input can't exhaust memory by @echelon in https://github.com/storytold/printcraft/pull/30
- Issue #8: prefer the integrated GPU; the save prompt answers to the keyboard by @echelon in https://github.com/storytold/printcraft/pull/31
- Issue #28: Help ▸ Check for updates (opt-in check at start) by @echelon in https://github.com/storytold/printcraft/pull/32
- Release: PrintCraft v0.2.0 by @echelon in https://github.com/storytold/printcraft/pull/33
- @storybored379 made their first contribution in https://github.com/storytold/printcraft/pull/1
- @echelon made their first contribution in https://github.com/storytold/printcraft/pull/9
Full Changelog: https://github.com/storytold/printcraft/compare/v0.1.1...v0.2.0