lopdf v0.22.0 Release Notes

Release Date: 2019-05-13 // almost 5 years ago
  • ➕ 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.