-
Notifications
You must be signed in to change notification settings - Fork 0
Releases: fulgur-rs/flpdf
Releases · fulgur-rs/flpdf
v0.1.6
@github-actions
github-actions
595a7d4
This commit was created on GitHub.com and signed with GitHub’s verified signature.
- fix(outline_dest_remap): saturating /Count accumulation (flpdf-35z) by @mitsuru in #273
- feat(default_appearance): /DA parser (font/size/color) [flpdf-9hc.9.3] by @mitsuru in #274
- feat(standard_font_metrics): Adobe Core14 glyph width tables [flpdf-9hc.9.4] by @mitsuru in #275
- feat(appearance): Tx text-field appearance stream renderer [flpdf-9hc.9.5] by @mitsuru in #276
- feat(outline): OutlineDocumentHelper — Pdf::outline() iterable outline tree handle (flpdf-9hc.18.5) by @mitsuru in #287
- feat(appearance): Btn checkbox/radio/pushbutton appearance renderer [flpdf-9hc.9.6] by @mitsuru in #277
- feat(appearance): Ch combo/list appearance renderer [flpdf-9hc.9.7] by @mitsuru in #278
- feat(page_annotation_enum): per-page annotation enumeration + widget→field linkage [flpdf-9hc.9.2] by @mitsuru in #279
- feat(page_annotation_flatten): flatten annotations into page content [flpdf-9hc.9.8] by @mitsuru in #280
- feat(cli): --flatten-annotations / --generate-appearances / --flatten-rotation [flpdf-9hc.9.10] by @mitsuru in #281
- test(cli): observable-equivalence suite for AcroForm/annotation transforms [flpdf-9hc.9.11] by @mitsuru in #282
- feat(filters): passthrough codecs + show-stream binary marker (flpdf-9hc.7.4) by @mitsuru in #283
- fix(outline): resolve indirect /Title + decode UTF-16BE titles [flpdf-289y] by @mitsuru in #288
- feat(filters): explicit passthrough + LZWEncode-unsupported in dispatch (flpdf-9hc.7.5) by @mitsuru in #284
- test(filters): multi-filter chains for LZW/passthrough codecs (flpdf-9hc.7.6) by @mitsuru in #285
- test(cli): --stream-data x {LZW,DCT,JBIG2,JPX,CCITT} coverage (flpdf-9hc.7.7) by @mitsuru in #286
- fix(resources): degrade gracefully on undecodable page /Contents [flpdf-s9s] by @mitsuru in #289
- fix(cli): requires-password returns 3 for weak-crypto file with correct password (flpdf-63g) by @mitsuru in #290
- docs(signed-pdf): add signed-PDF policy & scope doc [flpdf-9hc.22.9] by @mitsuru in #291
- docs(rules): add public-API documentation review patterns [flpdf-l90q] by @mitsuru in #292
- docs: sweep internal tracker noise from public-API doc comments [flpdf-cmlw] by @mitsuru in #294
- fix(linearization): share QPDF_BINARY_MARKER so --linearize emits qpdf marker [flpdf-9hc.30] by @mitsuru in #295
- feat(extract): single-page extract primitive [flpdf-5h5.3] by @mitsuru in #293
- docs: complete public-API doc — # Errors / # Examples / intra-doc links [flpdf-xvv5] by @mitsuru in #297
Full Changelog: v0.1.5...v0.1.6
Assets 2
v0.1.5
@github-actions
github-actions
5b4986b
This commit was created on GitHub.com and signed with GitHub’s verified signature.
- feat(reader): add borrowed object resolution by @mitsuru in #246
- Refactor internal resolve call sites to borrow objects by @mitsuru in #247
- fix(linearization): match qpdf nbits_shared_identifier formula (flpdf-9hc.20.22) by @mitsuru in #248
- fix(linearization): always populate shared_hints to match qpdf (flpdf-vvl) by @mitsuru in #249
- fix(json,cli): apply DecodeLevel to inline/file stream payloads (flpdf-5st) by @mitsuru in #207
- feat(page_closure): per-page transitive object closure walker by @mitsuru in #250
- feat(page_splice): surgical /Pages /Kids splice with /Count maintenance by @mitsuru in #251
- Add signature field inspection API by @mitsuru in #252
- feat(object_copy): cross-document object copier (renumber + cycle handling) by @mitsuru in #253
- [codex] Add signature rewrite impact checks by @mitsuru in #254
- Add AcroForm document helper by @mitsuru in #255
- feat(signatures): /AcroForm /SigFlags read, preserve, surface, clear (flpdf-9hc.22.6) by @mitsuru in #256
- feat(signatures): assert incremental write preserves signed /ByteRange (flpdf-9hc.22.4) by @mitsuru in #259
- Strip signatures with remove-restrictions by @mitsuru in #258
- Refuse full rewrites of signed PDFs by @mitsuru in #257
- CLI: signed-PDF flag plumbing — Error::Signed mapping + AC matrix (flpdf-9hc.22.7) by @mitsuru in #260
- docs: add Gemini review pattern rules (.claude/rules) by @mitsuru in #262
- fix(signatures): resolve indirect /FT in walk_signature_rewrite_field (flpdf-967) by @mitsuru in #264
- Add AcroForm field metadata traversal by @mitsuru in #261
- /Rotate flattening (CTM + box transform) (flpdf-9hc.9.9) by @mitsuru in #263
- fix(acroform): bound reference-chain depth in collect_reachable_refs (flpdf-qjx) by @mitsuru in #265
- perf(page_closure): use resolve_borrowed in BFS to avoid full clone (flpdf-do3) by @mitsuru in #266
- feat(name_number_tree): generic name/number tree iteration (flpdf-9hc.18.4) by @mitsuru in #267
- feat(page_labels): PageLabelDocumentHelper + build_number_tree (flpdf-9hc.18.6) by @mitsuru in #268
- docs(flpdf-5h5.8): page-op API rustdoc + runnable examples by @mitsuru in #269
- test(outline_dest_remap): recursion-guard regression tests (flpdf-ypq) by @mitsuru in #270
- docs(flpdf): fix broken rustdoc intra-doc links under -D warnings (flpdf-q8w) by @mitsuru in #271
Full Changelog: v0.1.4...v0.1.5
Assets 2
v0.1.4
- flpdf-9hc.12.1: Content stream tokenizer (operators + operands) by @mitsuru in #140
- flpdf-9hc.12.2: --normalize-content writer by @mitsuru in #141
- flpdf-9hc.12.3: --coalesce-contents (combine /Contents array) by @mitsuru in #142
- flpdf-9hc.12.4: --remove-unreferenced-resources=auto/yes/no by @mitsuru in #143
- flpdf-9hc.12.5: --compress-streams=y/n by @mitsuru in #144
- flpdf-9hc.12.6: --newline-before-endstream emitter by @mitsuru in #145
- flpdf-9hc.12.7: CLI wiring for 5 optimization flags by @mitsuru in #146
- flpdf-9hc.12.8: E2E optimization flag matrix tests by @mitsuru in #147
- [8.1] Page range syntax parser (:odd/:even position-based, qpdf-verified) (flpdf-9hc.8.1) by @mitsuru in #148
- [8.4] /Rotate manipulation (set/add, i64-normalized) (flpdf-9hc.8.4) by @mitsuru in #161
- [8.2] Page selection plan (single document) (flpdf-9hc.8.2) by @mitsuru in #150
- [8.5] --rotate flag parser (flpdf-9hc.8.5) by @mitsuru in #151
- [8.3] Multi-input page list combiner (flpdf-9hc.8.3) by @mitsuru in #152
- [8.7] --split-pages chunked output (flpdf-9hc.8.7) by @mitsuru in #153
- [8.8] Page tree rebuild after extraction/merge/rotate (flpdf-9hc.8.8) by @mitsuru in #154
- [8.6] --collate combinator (round-robin) (flpdf-9hc.8.6) by @mitsuru in #155
- [8.9] Resource pruning on extracted subsets (flpdf-9hc.8.9) by @mitsuru in #156
- [8.10] Outline / named-destination remap (indirect/dict/direct forms) (flpdf-9hc.8.10) by @mitsuru in #157
- [8.11] AcroForm field preservation across extract (flpdf-9hc.8.11) by @mitsuru in #158
- [8.12] CLI: --pages/--rotate/--split-pages/--collate plumbing (flpdf-9hc.8.12) by @mitsuru in #159
- [8.13] Tests: page-op matrix vs qpdf 11.9.0 (flpdf-9hc.8.13) by @mitsuru in #160
- flpdf-9hc.18.1: PageDocumentHelper (pages traversal/mutation API) by @mitsuru in #162
- flpdf-9hc.18.3: PageObjectHelper (per-page typed accessors) by @mitsuru in #163
- flpdf-9hc.18.7: FileSpec + EmbeddedFileStream typed helpers by @mitsuru in #164
- flpdf-9hc.18.8: Annotation + FormField typed object helpers by @mitsuru in #165
- [flpdf-9hc.10.1] /Names /EmbeddedFiles name tree reader by @mitsuru in #166
- [flpdf-9hc.10.2] /Names /EmbeddedFiles name tree writer (insert/delete with rebalance) by @mitsuru in #167
- [flpdf-9hc.10.3] /Filespec dict construction (/F /UF /Type /EF /Params /Desc /AFRelationship) by @mitsuru in #168
- [flpdf-9hc.10.4] Add attachment from disk (FlateDecode, observable-equivalent) by @mitsuru in #169
- [flpdf-9hc.10.5] Remove attachment by key (reachability-based GC, /AF cleanup) by @mitsuru in #170
- [flpdf-9hc.10.6] List attachments (with --verbose detail) by @mitsuru in #176
- [flpdf-9hc.10.7] Show / extract attachment to stdout or file by @mitsuru in #172
- [flpdf-9hc.10.8] Copy attachments from another document (with --prefix) by @mitsuru in #173
- [flpdf-9hc.10.9] CLI: --add/-remove/-list/-show/-copy-attachments flags by @mitsuru in #174
- [flpdf-9hc.10.10] Tests: attachment lifecycle round-trip + qpdf cross-check by @mitsuru in #175
- remove_attachment GC: replace ad-hoc exclude-set logic with /Root mark-and-sweep (flpdf-eg3) by @mitsuru in #177
- page_split: --split-pages=1 emits single-number -N.pdf (qpdf parity, flpdf-s5e) by @mitsuru in #178
- Support Unicode attachment filenames by @mitsuru in #179
- ci: mirror fulgur test platform matrix (arm Linux, macOS, coverage) by @mitsuru in #180
- flpdf-9hc.13.1: --min-version / --force-version honored on incremental path by @mitsuru in #181
- flpdf-9hc.13.2: default /ID is fresh random per save (ISO 32000-1 §14.4) by @mitsuru in #182
- flpdf-9hc.13.4: --static-id warns it is test-only; pin qpdf byte parity by @mitsuru in #183
- flpdf-9hc.13.5: accept --no-original-object-ids (top-level + rewrite) by @mitsuru in #184
- [sub-1] flpdf-9hc.6.1 — Stream decompression in QDF mode (safe filters) + LZWDecode + WriteOptions::qdf by @mitsuru in #196
- [sub-2] flpdf-9hc.6.2 — Force ObjectStreamMode::Disable in QDF by @mitsuru in #185
- [sub-4] flpdf-9hc.6.4 — Emit %QDF-1.0 header marker by @mitsuru in #186
- [sub-5] flpdf-9hc.6.5 — Emit %% Original object ID comments (qpdf wording) by @mitsuru in #187
- [sub-6] flpdf-9hc.6.6 — Force classic xref table in QDF by @mitsuru in #188
- [sub-3] flpdf-9hc.6.3 — QDF body+trailer formatting (sorted keys, multiline) by @mitsuru in #189
- [sub-7] flpdf-9hc.6.7 — fix_qdf library (Length/xref/Size/startxref repair) by @mitsuru in #190
- [sub-12] flpdf-9hc.6.12 — QDF writer indirect /Length H 0 R + holder by @mitsuru in #191
- [sub-m41] flpdf-m41 — parser recovers indirect /Length via endstream scan by @mitsuru in #192
- [sub-13] flpdf-9hc.6.13 — qdf_fix.rs token-aware hardening by @mitsuru in #193
- [sub-8] flpdf-9hc.6.8 — CLI --qdf flag + qdf-fix subcommand by @mitsuru in #194
- [sub-9] flpdf-9hc.6.9 — QDF round-trip + qdf-fix end-to-end matrix by @mitsuru in #198
- [sub-10] flpdf-9hc.6.10 — QDF framing parity (object-0 suppression + inter-object blank line) by @mitsuru in #197
- QDF followups: write_qdf canonical, fix_qdf holder validation, xref-authoritative indirect /Length (flpdf-9hc.24/.25/.27) by @mitsuru in #199
- QDF followups 2: per-invocation temp dirs + whole-file QDF detection (flpdf-9hc.26/.28) by @mitsuru in #200
- fix(cli): silence --static-id warning on top-level qpdf-shaped alias (flpdf-4x6) by @mitsuru in #201
- feat(writer): incremental generate-mode ObjStm packing (flpdf-9hc.5.9) by @mitsuru in #202
- [flpdf-jcd.4] feat(filters): add PNG predictor encode path by @mitsuru in #203
- [flpdf-jcd.6] feat(writer,cli): add --stream-data flag by @mitsuru in #204
- fix(linearization/plan): propagate /Parent-walk resolve errors (flpdf-ws2) by @mitsuru in #206
- [flpdf-jcd.7] test: multi-filter chain coverage by @mitsuru in #205
- fix(cli,json_inspect): side-file naming uses bare object number (flpdf-rq1) by @mitsuru in #208
- fix(test,ci): tolerate qpdf 12 zero-page --check crash, re-enable qpdf on Windows/macOS CI (flpdf-d4k) by @mitsuru in #209
- test(compat_matrix_baseline): scope /ID elision to trailer/xref-stream dicts (flpdf-d6j) by @mitsuru in #210
- chore(license): align LICENSE-APACHE with canonical Apache 2.0 text by @mitsuru in #212
- feat(linearization): variable-width param dict integers (flpdf-9hc.20.25) by @mitsuru in #211
- test(writer): combined-paths regression for incremental Generate ObjStm (flpdf-9hc.5.12) by @mitsuru in #213
- test(json-diff): qpdf JSON v2 schema-diff corpus runner (flpdf-9hc.11.14) by @mitsuru in #215
- docs(linearization): correct shared-hint table to "1-object-per-group" (M=N) (flpdf-9hc.20.21) by @mitsuru in #214
- fix(json-inspect): emit b: for non-text PDF strings per qpdf JSON v2 by @mitsuru in #216
- feat(linearization): populate per-page content_length hint fields (flpdf-602) by @mitsuru in #217
- docs(spec): align core design with shipped decrypt + deferred re-encrypt (flpdf-p64.8) by @mitsuru in #218
- feat(security): /Encrypt dictionary builder for V=1/V=2 (flpdf-9hc.4.1) by @mitsuru in #219
- feat(security): /Encrypt di...
Assets 2
v0.1.3
- Move flpdf publish dry-run from CI to release-prepare by @mitsuru in #92
- flpdf-9hc.5.1: ObjStm eligibility predicate (per-object) by @mitsuru in #93
- flpdf-9hc.5.2: ObjStm packing planner: group eligible objects into batches by @mitsuru in #94
- flpdf-9hc.5.3: ObjStm body emitter (header pairs + object bodies) by @mitsuru in #95
- flpdf-9hc.5.4: ObjStm stream wrapping with /FlateDecode by @mitsuru in #96
- flpdf-9hc.5.5: Mode dispatch: WriteOptions.object_streams field by @mitsuru in #97
- flpdf-9hc.5.6: Writer integration: route eligible objects through ObjStm packer by @mitsuru in #98
- flpdf-9hc.5.7: Force-upgrade xref form to Stream when ObjStm batches are present by @mitsuru in #99
- flpdf-9hc.5.10: CLI: --object-streams=preserve|disable|generate flag by @mitsuru in #100
- flpdf-9hc.5.11: Tests: 3 modes vs multi-ObjStm fixtures + qpdf cross-check by @mitsuru in #101
- Add pages::page_content_bytes helper (flpdf-avm.1) by @mitsuru in #102
- Add pages::resolve_inherited_resources helper (flpdf-avm.2) by @mitsuru in #105
- Add Pdf::open_mem / open_mem_owned in-memory openers (flpdf-avm.3) by @mitsuru in #104
- Fix encode_stream_data Array filter order (flpdf-fh8) by @mitsuru in #106
- Add flpdf::json emitter with order-preserving objects (flpdf-9hc.11.1) by @mitsuru in #107
- Add qpdf JSON v2 envelope builder (flpdf-9hc.11.2) by @mitsuru in #108
- Add pdf_object_to_json + build_qpdf_key (flpdf-9hc.11.3) by @mitsuru in #109
- Add /pages serializer (flpdf-9hc.11.4) by @mitsuru in #110
- Add /pagelabels serializer + composite build_qpdf_json_v2 (flpdf-9hc.11.5) by @mitsuru in #111
- Add /outlines serializer (flpdf-9hc.11.6) by @mitsuru in #112
- Add /acroform serializer (flpdf-9hc.11.7) by @mitsuru in #116
- Add /attachments serializer (flpdf-9hc.11.8) by @mitsuru in #114
- Add /encrypt serializer + owner/user password tracking (flpdf-9hc.11.9) by @mitsuru in #115
- Add StreamDataMode for qpdf JSON v2 stream payloads (flpdf-9hc.11.10) by @mitsuru in #117
- Add JsonKey + filter_json_keys for --json-key (flpdf-9hc.11.11) by @mitsuru in #121
- Add JsonObjectSelector + filter_json_objects (flpdf-9hc.11.12) by @mitsuru in #119
- Wire --json and friends into flpdf-cli (flpdf-9hc.11.13) by @mitsuru in #120
- flpdf-9hc.5.8.1: LinearizationPlan Part3/Part4 ObjStm batch planner by @mitsuru in #122
- Resilient stacked-merge workflow: design + stacked-merge skill (flpdf-418, flpdf-1oe) by @mitsuru in #128
- flpdf-9hc.5.8.2: Thread ObjStm batch plan into linearized Part3/Part4 emission by @mitsuru in #129
- stacked-merge: standardize on --rebase merge + plain rebase (method B) (flpdf-b0o) by @mitsuru in #130
- flpdf-9hc.5.8.3: Shared Object Hint Table ObjStm-awareness; defer Part-3 packing by @mitsuru in #124
- flpdf-56u: Split first-page/main xref streams + RenumberMap ObjStm slots by @mitsuru in #125
- flpdf-9hc.5.8.4: ObjStm-aware linearization check; keep Part-3 plain (qpdf-clean) by @mitsuru in #126
- flpdf-9hc.5.8.5: Epic acceptance-gate integration tests + factual corrections by @mitsuru in #127
- roborev-fix: apply_static_id values[1] guard + real /E placement assert (504/777 + stale triage) by @mitsuru in #131
- flpdf-9hc.23.2: qpdf-compatible --check exit codes (0/2/3) [stack 1/6] by @mitsuru in #132
- flpdf-9hc.3.21: V=5 auth error parity (BadPassword before weak-crypto) [stack 2/6] by @mitsuru in #133
- flpdf-9hc.3.20: owner/user password-match test matrix [stack 3/6] by @mitsuru in #134
- flpdf-9hc.3.17: encryption inspection CLI subcommands [stack 4/6] by @mitsuru in #135
- flpdf-9hc.3.18: rewrite --remove-restrictions [stack 5/6] by @mitsuru in #136
- flpdf-9hc.3.19: --password-is-hex-key / --suppress-password-recovery [stack 6/6] by @mitsuru in #137
- Fix release-prepare dry-run failing on uncommitted version bump by @mitsuru in #138
Full Changelog: v0.1.2...v0.1.3
Assets 2
v0.1.2
- Release automation: release-prepare.yml + release.yml + CHANGELOG seed by @mitsuru in #88
- release: v0.1.1 by @github-actions[bot] in #90
New Contributors
- @github-actions[bot] made their first contribution in #90
Full Changelog: v0.1.0...v0.1.2
Assets 2
v0.1.0
Initial release of flpdf and flpdf-cli — pure-Rust PDF toolkit modeled on qpdf.
Published to crates.io 2026年05月13日 via manual bootstrap (cargo publish). Tag created retroactively to anchor future PR-based release notes; this release is intentionally minimal and the development history up to this point is summarised in CHANGELOG.md.
Subsequent releases use the automated release-prepare -> release workflow pair added in PR #88.