🛠 Fix: Fixed an issue where HTTP artifacts before the beginning of a PDF file / string would prevent the PDF from being parsed. This should fix issue #78 reported by @robvitaro.
🛠 Fix: Fixed an issue where updating a page's rotation might raise a
NoMethodErrorexception. Credit to Danny (@dikond) both for discovering the issue and for PR #77 that fixes this.
🛠 Fix: Fixed an issue related to page stumping, which was introduced when the Rubocop beautification changed the logic of an
ifstatement in the Resource merger. Credit to Leon Miller-Out (@sbleon) for noticing the issue, testing and opening PR #76.
🛠 Fix: Fixed an issue where a
niloutline count would cause PDF merger to fail.
🛠 Fix: Fixed an issue where
nildata would cause the named destination rebuilding process to quit early, leaving some of the data unprocessed. Credit to Stefan Leitner (@sLe1tner) for exposing the issue.
🔋 Feature: PDF outlines are now merged and named destination links are preserved (both in the outlines and the page content). Credit to Stefan Leitner (@sLe1tner) for this feature.
🛠 Fix: Merged PR #72, fixing a typo in the parser that caused incorrect byte substitution to corrupt certain PDF data (adversely effecting encrypted PDFs). Credit to Gyuchang Jun (@gyuchang) for the fix.
🛠 Fix: Fixed issue #71, merging PDF outline that exist but have 0 entries fails and raises an exception. Credit to @Kagetsuki for exposing the issue.
🛠 Fix: Fixed an issue with PDF Catalog and PDF Page property inheritance that could cause corrupted PDF output (invalid PDF data). Credit to @Kagetsuki for opening an issue that let to this discovery.
🛠 Fix: Fixed an issue with the parser where (ignored) empty strings would cause incorrect alignment when converting PDF dictionary objects from an Array to a Hash, mixing up keys and values. Credit to @Kagetsuki for opening an issue that let to this discovery.
🛠 Fix: more fixes and refinements to the PDF Names dictionary with better named destination support and document navigation support.
🛠 Fix: fixed an issue introduced in v.0.2.22, where name dictionary conflict resolution would result in corrupted PDF files. The issue was caused because the name conflict resolution wasn't updated to handle the changes in the new reference linking algorithm used by the parser. During this fix, the whole name dictionary algorithm was re-written, providing better support for named destinations, links and (future feature) ToCs. Credit to Kevin Shen (@kevshin2) for exposing the issue.
🛠 Fix: fixed an issue with PDF font importing (registering).
🛠 Fix: fixed issue #65 where some form data (radio buttons) could be lost. Credit to @joshirashmics for exposing the issue.
🛠 Fix: fixed an issue where empty names would be ignored by the parser (who knew they existed...).
🛠 Fix: Possible fix for issue #66 (similar to PR #61)... Credit to Serafeim Maroulis (@Reyko) and Kevin Shen (@kevshin2) for exposing the issue.
⚡️ Update: Rewrote some internal algorithms, avoiding recursive logic and optimizing against excessive stack stress.
🔋 Feature: Credit to Joel Williams (@joelw) for providing
CombinePDF.parsecustomization, allowing optional content errors to be ignored - taking the risk of a corrupt PDF instead of raising an exception (hey, loading PDF data with optional content sometimes works).
🛠 Fix: fix for issue #54 and #59 (duplicate), discovered by @iggant (Anton Kolodii), related to name conflict resolution and page resources. The issue would cause and error (exception) to occur when attempting to merge pages with specific resource structures. Credit to @cw6365 (Chris Ward) and @DenKey (Den) as well.