All Versions
26
Latest Version
Avg Release Cycle
59 days
Latest Release
1303 days ago

Changelog History
Page 1

  • v0.26.0 Changes

    September 29, 2020

    โž• Add

    • Add as_str, as_str_mut methods to Object (#107)

    Dtoa

    • dtoa may write real number in exponential format which is not allowed in PDF

    Genericize

    • Genericize Content to allow AsRef<[Operation]> (#111)

    ๐Ÿ‘‰ Make

    • 0๏ธโƒฃ Make pom dependency optional (but default) (#112)
    • ๐Ÿ‘‰ Make rayon dependency optional (#108)

    ๐Ÿ”€ Merge

    • ๐Ÿ”€ Merge document PDF logic with some fixes (#117)

    Various

    • โšก๏ธ Various improvements, updated libraries and image features (#118)
  • v0.25.0 Changes

    June 25, 2020

    โž• Add

    • โž• add indexing checks (#98)

    โž• Add

    • โž• Add a test for #93 (#95)

    ๐Ÿ›  Bugfix

    • ๐Ÿ›  Bugfix for xref_start. (#105)

    Check

    • check that the buffer is big enough for startxref (#93)

    Create

    • Create rust.yml (#104)

    Extend

    • extend recursion limit to non-local references (#100)

    ๐Ÿ›  Fix

    • ๐Ÿ›  Fix compilation error&test error (#102)

    Keep

    • keep looking for the last pattern (#94)

    Limit

    • limit recursion to the number of objects (#92)

    Limit

    • Limit allowed bracket depth. (#97)

    ๐Ÿšš Move

    • ๐Ÿšš Move bracket depth checking into parsers. (#101)

    ๐Ÿš€ Release

    • ๐Ÿš€ Release 0.25

    Return

    • Return Result from as_array_mut() (#106)

    โšก๏ธ Update

    • โšก๏ธ Update itoa and linked-hash-map (#91)
  • v0.24.0 Changes

    February 17, 2020

    Compute

    • Compute an accurate iterator size when the page tree is sane.

    ๐Ÿ›  Fix

    • ๐Ÿ›  Fix datetime parser (#89)

    More

    • ๐Ÿ“œ More permissive datetime parsing (#90)

    ๐Ÿš€ Release

    • ๐Ÿš€ Release 0.24

    Validate

    • ๐Ÿ“œ Validate expected id in pom parser.
    • Validate the expected id when reading indirect objects.
  • v0.23.0 Changes

    July 14, 2019

    Adapt

    • ๐Ÿ“œ Adapt pom parser.

    โž• Add

    • โž• Add error descriptions.
    • โž• Add a proper error type and remove some more panics.

    ๐Ÿ‘ Allow

    • ๐Ÿ‘ Allow loading a document from a memory slice.

    Avoid

    • Avoid allocating an intermediate collection for iteration.
    • Avoid unwraps when already returning an Option for failure.

    Error

    • ๐Ÿšฆ Error signaling around compression and image handling.

    Escape

    • Escape fix (#68)

    Export

    • Export dereference function as it is useful for PDF consumers.
    • Export filters module.

    Get_font_encoding

    • get_font_encoding seems more at home with Dictionary.

    ๐Ÿ– Handle

    • ๐Ÿ– Handle stream filter chains (#66)

    Hex

    • Hex fix (#67)

    Implement

    • Implement LZW decompression.

    ๐Ÿ‘Œ Improve

    • ๐Ÿ‘Œ Improve hex parsing performance.

    ๐Ÿ‘‰ Make

    • ๐Ÿ‘‰ Make a page iterator.
    • ๐Ÿ‘‰ Make Reader::read consume the Reader.
    • ๐Ÿ‘‰ Make content operations faillible.

    Protect

    • Protect against reference loops.
    • Protect against a corrupted page tree.

    ๐Ÿ”จ Refactor

    • ๐Ÿ”จ Refactor a bit to allow a utility function.

    ๐Ÿš€ Release

    • ๐Ÿš€ Release 0.23.0

    โœ‚ Remove

    • โœ‚ Remove intermediate assignation.
    • โœ‚ Remove unsafe code around FilterType.
    • Remove unsafe code on get_object_mut.
    • โœ‚ Remove some 'if let' for readability.
    • โœ‚ Remove more panic paths in xref parsing.

    Replace

    • Replace unwraps in processor.rs.

    Return

    • Return results when appropriate.

    Separate

    • Separate decompression into two functions.

    Take

    • Take care of panic that I actually hit on the pom side.
    • Take care of creator.rs.

    Unify

    • Unify buffer creation.

    ๐Ÿ‘‰ Use

    • ๐Ÿ‘‰ Use lifetime ellision.
    • ๐Ÿ‘‰ Use TryInto.
    • ๐Ÿ‘‰ Use writeln where appropriate.
    • ๐Ÿ‘‰ Use error enum in reader.
    • ๐Ÿ‘ฏ Use stable cloned.
  • v0.22.0 Changes

    May 13, 2019

    โž• Add

    • โž• Add parsing benchmark.
    • โž• Add nom dependency.

    Also

    • โœ… Also test with nom parsing feature enabled.

    Array

    • ๐Ÿ“œ Array and dictionary parsing.

    Avoid

    • Avoid using format! when writing.

    Be

    • Be explicit about trait objects.

    Boolean

    • ๐Ÿ“œ Boolean and null parsing.

    Content

    • ๐Ÿ“œ Content parsing.

    Duplicate

    • ๐Ÿ“œ Duplicate pom parser for incremental replacement with nom 5.

    Ease

    • Ease off on rayon a bit.

    Escape

    • ๐Ÿ“œ Escape sequence parsing.

    Extern

    • extern crate is not required anymore with 2018 edition.

    ๐Ÿ›  Fix

    • ๐Ÿ›  Fix last ugly parser.
    • ๐Ÿ›  Fix octal parser.
    • ๐Ÿ›  Fix pdfutil build

    Float

    • ๐Ÿ“œ Float parsing.

    Header

    • ๐Ÿ“œ Header parsing.

    Hex

    • ๐Ÿ“œ Hex string parsing.

    Indirect

    • ๐Ÿ“œ Indirect object and stream parsing.

    Literal

    • Literal string syntax.

    ๐Ÿ‘‰ Make

    • ๐Ÿ‘‰ Make sure Stream.start_position is relative to the whole file.

    ๐Ÿ”€ Merge

    • ๐Ÿ”€ Merge remote-tracking branch 'upstream/master' into nom5
    • ๐Ÿ”€ Merge remote-tracking branch 'upstream/master' into nom5

    More

    • ๐Ÿ‘• More 2018 edition lints.
    • More cleanup.
    • More cleanup.
    • More simplifications.

    Object

    • ๐Ÿ“œ Object id and reference parsing.

    Octal

    • ๐Ÿ“œ Octal and hexadecimal parsing.

    Parallel

    • ๐Ÿ“œ Parallel object stream parsing.

    Rayon

    • Rayon usage proof of concept.

    ๐Ÿš€ Release

    • ๐Ÿš€ Release 0.22.0

    โœ‚ Remove

    • โœ‚ Remove pom dependency in tests.

    Replace

    • ๐Ÿ“œ Replace name parser.

    Resolve

    • Resolve name collisions.

    Simplify

    • Simplify lifetime annotations.

    Slowly

    • ๐Ÿ“œ Slowly replace the cute pom parser with nom.

    Trailer

    • Trailer and xref start.

    Turns

    • Turns out "contained" already exists in nom.

    Unify

    • ๐Ÿ“œ Unify both variants of the parsing functions.

    ๐Ÿ‘‰ Use

    • ๐Ÿ‘‰ Use a BufWriter when saving to path.
    • Use parse_at(&self.buffer, offset) to read indirect_object
    • โœ… Use nom digit testing functions.
    • ๐Ÿ‘‰ Use lifetime ellision.
    • ๐Ÿ‘‰ Use nom sequence operators.

    ๐Ÿ‘‰ Useless

    • ๐Ÿšš Useless move.

    Xref

    • ๐Ÿ“œ Xref stream and trailer parsing.
    • ๐Ÿ“œ Xref parsing.
  • v0.21.0 Changes

    April 26, 2019

    Avoid

    • Avoid allocating a String.

    Check

    • Check offsets read from file to avoid panics
    • Check and correct Size entry of trailer dictionary

    Clean

    • Clean up bytes_to_string, string_to_bytes iterators

    ๐Ÿ›  Fix

    • ๐Ÿ›  Fix clippy warnings
    • ๐Ÿ›  Fix .editorconfig

    ๐Ÿ›  Fixed

    • ๐Ÿ›  fixed finally

    Redundant

    • Redundant imports with 2018 edition.

    ๐Ÿš€ Release

    • ๐Ÿš€ Release 0.21.0

    โšก๏ธ Update

    • โšก๏ธ Update example
    • โšก๏ธ Update Cargo.toml

    ๐Ÿ‘‰ Use

    • ๐Ÿ‘‰ Use env_logger in pdfutil
  • v0.20.0 Changes

    March 07, 2019

    ๐Ÿš€ Release

    • ๐Ÿš€ Release 0.20.0

    Replace

    • ๐Ÿ–จ Replace println with log macros

    ๐Ÿ‘‰ Use

    • ๐Ÿ‘‰ Use Rust 2018
    • ๐Ÿ‘‰ Use pom 3.0
  • v0.19.0 Changes

    October 24, 2018

    ๐Ÿ‘ Allow

    • ๐Ÿ‘ Allow xref section has zero entries

    Dictionary

    • Dictionary key type changed to Vec

    Format

    • Format code with rustfmt

    ๐Ÿ‘Œ Improve

    • ๐Ÿ‘Œ Improve codestyle (simplify loops, remove closures, use is_empty() etc.)

    ๐Ÿšš Move

    • ๐Ÿšš Move image dependency to embed_image feature

    ๐Ÿš€ Release

    • ๐Ÿš€ Release 0.19.0

    Skip

    • Skip corrupt deflate stream
  • v0.18.0 Changes

    October 05, 2018

    Able

    • Able to read stream when it's length is in object stream

    Adress

    • Adress timezone formatting problem from #34

    Insert

    • insert image on page
  • v0.17.0 Changes

    September 19, 2018

    ๐Ÿ‘‰ Make

    • ๐Ÿ‘‰ Make chrono crate optional

    ๐Ÿš€ Release

    • ๐Ÿš€ Release 0.17.0

    โšก๏ธ Update

    • โšก๏ธ Update add_barcode example