## [v0.34.0](https://github.com/J-F-Liu/lopdf/compare/v0.33.0...v0.34.0) (2024-08-31)
### Add
* Add ASCII85 decoding ([#317](https://github.com/J-F-Liu/lopdf/issues/317))
* Add text extraction based on ToUnicode cmap ([#314](https://github.com/J-F-Liu/lopdf/issues/314))
* Add error handling to object stream ([#299](https://github.com/J-F-Liu/lopdf/issues/299))
* Add PDFDocEncoding ([#296](https://github.com/J-F-Liu/lopdf/issues/296))
### Cleanup
* Cleanup comments and cargo fmt ([#290](https://github.com/J-F-Liu/lopdf/issues/290))
### Detect
* Detect reference cycles when going through trailers ([#308](https://github.com/J-F-Liu/lopdf/issues/308))
* Detect reference cycles when parsing streams (with nom_parser) ([#300](https://github.com/J-F-Liu/lopdf/issues/300))
* Detect reference cycles when collecting page resources ([#298](https://github.com/J-F-Liu/lopdf/issues/298))
### Fix
* Fix unicode fonts extraction in extract text example. ([#315](https://github.com/J-F-Liu/lopdf/issues/315))
* Fix clippy warings
### Implement
* Implement encoding and decoding of text strings (PDF1.7 section 7.9.2.2) ([#297](https://github.com/J-F-Liu/lopdf/issues/297))
### Improve
* Improve error handling ([#307](https://github.com/J-F-Liu/lopdf/issues/307))
### Refactor
* Refactor get_or_create_resources() ([#291](https://github.com/J-F-Liu/lopdf/issues/291))
### Release
* Release 0.34
### Replace
* Replace unwrap with returning error ([#310](https://github.com/J-F-Liu/lopdf/issues/310))
* Replace LinkedHashMap with IndexMap ([#293](https://github.com/J-F-Liu/lopdf/issues/293))
### Update
* Update dependencies ([#309](https://github.com/J-F-Liu/lopdf/issues/309))
* Update readme of pdfutil ([#295](https://github.com/J-F-Liu/lopdf/issues/295))
## [v0.33.0](https://github.com/J-F-Liu/lopdf/compare/v0.32.0...v0.33.0) (2024-08-31)
### Accept
* Accept comments in content parsing ([#261](https://github.com/J-F-Liu/lopdf/issues/261))
### Added
* Added a new feature to get images info from the pdf page. ([#275](https://github.com/J-F-Liu/lopdf/issues/275))
### Async
* Async Examples ([#266](https://github.com/J-F-Liu/lopdf/issues/266))
### AsyncReader
* AsyncReader ([#265](https://github.com/J-F-Liu/lopdf/issues/265))
### Fix
* Fix parse outline failed, the key āDā might be an object id ([#274](https://github.com/J-F-Liu/lopdf/issues/274))
* Fix parse outline failed([#270](https://github.com/J-F-Liu/lopdf/issues/270)) ([#271](https://github.com/J-F-Liu/lopdf/issues/271))
### Indexmap
* indexmap use in TOC for sorted TOC ([#267](https://github.com/J-F-Liu/lopdf/issues/267))
### Release
* Release 0.33
### Replace
* Replace md5 with md-5 ([#272](https://github.com/J-F-Liu/lopdf/issues/272))
## [v0.32.0](https://github.com/J-F-Liu/lopdf/compare/v0.31.0...v0.32.0) (2024-08-31)
### Add
* Add debug format for hexadecimal ([#240](https://github.com/J-F-Liu/lopdf/issues/240))
### Added
* Added big generation value parsing ([#257](https://github.com/J-F-Liu/lopdf/issues/257))
### Added
* added object parse to get_page_fonts ([#249](https://github.com/J-F-Liu/lopdf/issues/249))
* added meta info decryption ([#237](https://github.com/J-F-Liu/lopdf/issues/237))
### Fix
* Fix clippy warning and format code
* Fix clippy warnings
* Fix typo in README.md ([#251](https://github.com/J-F-Liu/lopdf/issues/251))
### Fixed
* Fixed parsing of the PDFs with incorrect xrefs to indirect objects ([#254](https://github.com/J-F-Liu/lopdf/issues/254))
### Fixed
* fixed clippy issues ([#238](https://github.com/J-F-Liu/lopdf/issues/238))
### Handle
* Handle references to arrays in get_page_contents() ([#245](https://github.com/J-F-Liu/lopdf/issues/245))
### Object
* Object and related types implement PartialEq ([#236](https://github.com/J-F-Liu/lopdf/issues/236))
### Release
* Release 0.32
## [v0.31.0](https://github.com/J-F-Liu/lopdf/compare/v0.30.0...v0.31.0) (2023-05-10)
### Add
* Add example of page rotation ([#230](https://github.com/J-F-Liu/lopdf/issues/230))
* Add decryption of documents using RC4 encryption. ([#228](https://github.com/J-F-Liu/lopdf/issues/228))
### Annotate
* Annotate feature usage ([#229](https://github.com/J-F-Liu/lopdf/issues/229))
### Fix
* Fix typo in README.md ([#233](https://github.com/J-F-Liu/lopdf/issues/233))
### PDF
* PDF 2.0 is now a free specification
### Release
* Release 0.31
### Remove
* Remove extraneous `Q` operation from insert_image ([#227](https://github.com/J-F-Liu/lopdf/issues/227))
## [v0.30.0](https://github.com/J-F-Liu/lopdf/compare/v0.29.0...v0.30.0) (2023-04-09)
### Add
* Add support for extracting TOC, Outlines and NamedDestinations ([#211](https://github.com/J-F-Liu/lopdf/issues/211))
* Add example extract_text ([#212](https://github.com/J-F-Liu/lopdf/issues/212))
* Add get_encrypted and is_encrypted ([#210](https://github.com/J-F-Liu/lopdf/issues/210))
* Add load_filtered method ([#198](https://github.com/J-F-Liu/lopdf/issues/198))
* Add as_string method to Object ([#196](https://github.com/J-F-Liu/lopdf/issues/196))
### Adding
* Adding Comments to examples ([#220](https://github.com/J-F-Liu/lopdf/issues/220))
### Fix
* Fix clippy warning
* Fix cliippy warnings
* Fix datetime using time crate
* Fix Cargo.toml ([#213](https://github.com/J-F-Liu/lopdf/issues/213))
* Fix ci build issue ([#209](https://github.com/J-F-Liu/lopdf/issues/209))
* Fix extract_text to split text at word boundaries.
* Fix embed_image feature
### Make
* Make some more objects public. ([#199](https://github.com/J-F-Liu/lopdf/issues/199))
### Readd
* Readd accidently deleted pdf files in assets ([#204](https://github.com/J-F-Liu/lopdf/issues/204))
### Release
* Release 0.30
### Remove
* Remove obsolete lifetime
### Replace
* Replace unmaitained encoding crate with encoding_rs ([#222](https://github.com/J-F-Liu/lopdf/issues/222))
### Set
* Set default to nom_parser and rayon ([#208](https://github.com/J-F-Liu/lopdf/issues/208))
### Update
* Update time dependency ([#206](https://github.com/J-F-Liu/lopdf/issues/206))
* Update nom dependency
* Update time dependency
* Update edition and some dependencies.
## [v0.29.0](https://github.com/J-F-Liu/lopdf/compare/v0.27.0...v0.29.0) (2023-04-09)
### Add
* Add function get_page_annotations and include an example ([#184](https://github.com/J-F-Liu/lopdf/issues/184))
### Added
* Added documentation and improved tests ([#178](https://github.com/J-F-Liu/lopdf/issues/178))
### Allow
* Allow mutable access to the document catalog ([#189](https://github.com/J-F-Liu/lopdf/issues/189))
### Extend
* Extend match layout change and Full bookmark example in merge. ([#179](https://github.com/J-F-Liu/lopdf/issues/179))
### Fix
* Fix nom parser
* Fix clippy warnings
* Fix add_barcode example
* Fix Incremental.pdf
* Fix documentation issues and make README testable ([#171](https://github.com/J-F-Liu/lopdf/issues/171))
* Fix pdfutil build error
* Fix `extend` definition confusion bug ([#161](https://github.com/J-F-Liu/lopdf/issues/161))
### Fixed
* Fixed [#175](https://github.com/J-F-Liu/lopdf/issues/175) and some clippy issues. ([#182](https://github.com/J-F-Liu/lopdf/issues/182))
### Guard
* Guard example based on if the "parser" feature is enabled ([#173](https://github.com/J-F-Liu/lopdf/issues/173))
### Made
* made XREF parser accept an optional space character after 'xref' ([#167](https://github.com/J-F-Liu/lopdf/issues/167))
### Make
* Make add_xobject follow references ([#187](https://github.com/J-F-Liu/lopdf/issues/187))
* Make xref public ,fix line endings and Fix Xref output so Adobe will open them again. ([#181](https://github.com/J-F-Liu/lopdf/issues/181))
### Merge
* Merge branch 'master' of https://github.com/J-F-Liu/lopdf
### Release
* Release 0.29
* Release 0.28
### Remove
* Remove --no-default-features test
### Remove
* remove unneccessary time 0.1 dependency ([#163](https://github.com/J-F-Liu/lopdf/issues/163))
### Reorder
* Reorder Pages before Renumbering Objects. ([#193](https://github.com/J-F-Liu/lopdf/issues/193))
### Support
* Support Incremental Updates ([#176](https://github.com/J-F-Liu/lopdf/issues/176))
### Switch
* switch to single-precision floating point ([#190](https://github.com/J-F-Liu/lopdf/issues/190))
### Update
* Update itoa dependency to 1.0 ([#162](https://github.com/J-F-Liu/lopdf/issues/162))
## [v0.27.0](https://github.com/J-F-Liu/lopdf/compare/v0.26.0...v0.27.0) (2021-12-16)
### Add
* Add GitHub Actions build matrix ([#127](https://github.com/J-F-Liu/lopdf/issues/127))
* Add Change Log
### Added
* Added Object::as_float() to convert numerical values to float. ([#124](https://github.com/J-F-Liu/lopdf/issues/124))
* Added Object::as_bool ([#123](https://github.com/J-F-Liu/lopdf/issues/123))
### Avoid
* Avoid panic when encounters negative stream length
### Bookmarks
* Bookmarks ([#135](https://github.com/J-F-Liu/lopdf/issues/135))
### Change
* Change indent_style to space
### Check
* Check stream length
### Do
* Do not limit Real precision to two digits ([#155](https://github.com/J-F-Liu/lopdf/issues/155))
### Fix
* Fix document save race in parser_aux::load_and_save and creator::create_document ([#151](https://github.com/J-F-Liu/lopdf/issues/151))
* Fix clippy warnings & add clippy build job ([#128](https://github.com/J-F-Liu/lopdf/issues/128))
### Preserve
* Preserve the eol characters in literal strings ([#131](https://github.com/J-F-Liu/lopdf/issues/131))
### Reduce
* Reduce allocation by reusing the iterator ([#129](https://github.com/J-F-Liu/lopdf/issues/129))
### Release
* Release 0.27
* Release pdfutil 0.4
### Replace
* Replace lzw with weezl ([#140](https://github.com/J-F-Liu/lopdf/issues/140))
### Return
* Return early on error in `Stream::filters` ([#130](https://github.com/J-F-Liu/lopdf/issues/130))
### Unwrap
* Unwrap the text ([#119](https://github.com/J-F-Liu/lopdf/issues/119))
### Update
* Update nom to 6.0 ([#126](https://github.com/J-F-Liu/lopdf/issues/126))
## [v0.26.0](https://github.com/J-F-Liu/lopdf/compare/v0.25.0...v0.26.0) (2020-09-29)
### Add
* Add as_str, as_str_mut methods to Object ([#107](https://github.com/J-F-Liu/lopdf/issues/107))
### Dtoa
* dtoa may write real number in exponential format which is not allowed in PDF
### Genericize
* Genericize Content to allow AsRef<[Operation]> ([#111](https://github.com/J-F-Liu/lopdf/issues/111))
### Make
* Make pom dependency optional (but default) ([#112](https://github.com/J-F-Liu/lopdf/issues/112))
* Make rayon dependency optional ([#108](https://github.com/J-F-Liu/lopdf/issues/108))
### Merge
* Merge document PDF logic with some fixes ([#117](https://github.com/J-F-Liu/lopdf/issues/117))
### Various
* Various improvements, updated libraries and image features ([#118](https://github.com/J-F-Liu/lopdf/issues/118))
## [v0.25.0](https://github.com/J-F-Liu/lopdf/compare/v0.24.0...v0.25.0) (2020-06-25)
### Add
* add indexing checks ([#98](https://github.com/J-F-Liu/lopdf/issues/98))
### Add
* Add a test for [#93](https://github.com/J-F-Liu/lopdf/issues/93) ([#95](https://github.com/J-F-Liu/lopdf/issues/95))
### Bugfix
* Bugfix for xref_start. ([#105](https://github.com/J-F-Liu/lopdf/issues/105))
### Check
* check that the buffer is big enough for startxref ([#93](https://github.com/J-F-Liu/lopdf/issues/93))
### Create
* Create rust.yml ([#104](https://github.com/J-F-Liu/lopdf/issues/104))
### Extend
* extend recursion limit to non-local references ([#100](https://github.com/J-F-Liu/lopdf/issues/100))
### Fix
* Fix compilation error&test error ([#102](https://github.com/J-F-Liu/lopdf/issues/102))
### Keep
* keep looking for the last pattern ([#94](https://github.com/J-F-Liu/lopdf/issues/94))
### Limit
* Limit allowed bracket depth. ([#97](https://github.com/J-F-Liu/lopdf/issues/97))
### Limit
* limit recursion to the number of objects ([#92](https://github.com/J-F-Liu/lopdf/issues/92))
### Move
* Move bracket depth checking into parsers. ([#101](https://github.com/J-F-Liu/lopdf/issues/101))
### Release
* Release 0.25
### Return
* Return Result from as_array_mut() ([#106](https://github.com/J-F-Liu/lopdf/issues/106))
### Update
* Update itoa and linked-hash-map ([#91](https://github.com/J-F-Liu/lopdf/issues/91))
## [v0.24.0](https://github.com/J-F-Liu/lopdf/compare/v0.23.0...v0.24.0) (2020-02-17)
### Compute
* Compute an accurate iterator size when the page tree is sane.
### Fix
* Fix datetime parser ([#89](https://github.com/J-F-Liu/lopdf/issues/89))
### More
* More permissive datetime parsing ([#90](https://github.com/J-F-Liu/lopdf/issues/90))
### Release
* Release 0.24
### Validate
* Validate expected id in pom parser.
* Validate the expected id when reading indirect objects.
## [v0.23.0](https://github.com/J-F-Liu/lopdf/compare/v0.22.0...v0.23.0) (2019-07-14)
### 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](https://github.com/J-F-Liu/lopdf/issues/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](https://github.com/J-F-Liu/lopdf/issues/66))
### Hex
* Hex fix ([#67](https://github.com/J-F-Liu/lopdf/issues/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](https://github.com/J-F-Liu/lopdf/compare/v0.21.0...v0.22.0) (2019-05-13)
### 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](https://github.com/J-F-Liu/lopdf/compare/v0.20.0...v0.21.0) (2019-04-26)
### 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](https://github.com/J-F-Liu/lopdf/compare/v0.19.0...v0.20.0) (2019-03-07)
### Release
* Release 0.20.0
### Replace
* Replace println with log macros
### Use
* Use Rust 2018
* Use pom 3.0
## [v0.19.0](https://github.com/J-F-Liu/lopdf/compare/v0.18.0...v0.19.0) (2018-10-24)
### 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](https://github.com/J-F-Liu/lopdf/compare/v0.17.0...v0.18.0) (2018-10-05)
### Able
* Able to read stream when it's length is in object stream
### Adress
* Adress timezone formatting problem from [#34](https://github.com/J-F-Liu/lopdf/issues/34)
### Insert
* insert image on page
## [v0.17.0](https://github.com/J-F-Liu/lopdf/compare/v0.16.0...v0.17.0) (2018-09-19)
### Make
* Make chrono crate optional
### Release
* Release 0.17.0
### Update
* Update add_barcode example
## [v0.16.0](https://github.com/J-F-Liu/lopdf/compare/v0.15.3...v0.16.0) (2018-09-18)
### Add
* Add form xobject to page
* Add extract_stream subcommand
### Compress
* Compress created Form xobject
### Compress
* compress page content after change
### Fix
* Fix collect_fonts_from_resources for referenced resources
* Fix add xobject to page resources as direct object
## [v0.15.3](https://github.com/J-F-Liu/lopdf/compare/v0.15.0...v0.15.3) (2018-09-14)
### Decompress
* Decompress Form XObject
### Disable
* Disable auto format markdown
### Fix
* Fix bug in reading incremental updated document
* Fix build warning
* Fix string_to_bytes method
### Hexadecimal
* Hexadecimal strings can contain white space.
### Remove
* Remove println in extract_text
### Update
* Update example code
* Update example
## [v0.15.0](https://github.com/J-F-Liu/lopdf/compare/v0.14.1...v0.15.0) (2018-02-04)
### Add
* add `get_object_mut`
* add method as_array_mut
### Extract
* Extract text from specified pages
### Replace
* Replace text of specified page
## [v0.14.1](https://github.com/J-F-Liu/lopdf/compare/v0.13.0...v0.14.1) (2017-11-03)
### Add
* Add `impl From<_> for Object` for more numeric types
* Add an Object::string_literal constructor
* Add a `dictionary!` macro that creates a Dictionary
* Add `impl From for Object` creating Object::Reference
### Derive
* Derive Clone for lopdf::Document
### Release
* Release 0.14.0
### Remove
* Remove the Seek bound on Document::save_to
## [v0.13.0](https://github.com/J-F-Liu/lopdf/compare/v0.11.0...v0.13.0) (2017-10-02)
### Avoid
* Avoid decompress flate stream which has Subtype
### Debug
* Debug with lldb
### Fix
* Fix get_object for created document
### Ignore
* Ignore invalid objects when reading all object in xref table
### Impl
* impl fmt::Debug for Object
### Pdfutil
* pdfutil add extract_pages command
### Read
* Read optional space at the end of xref subsection header line
### Release
* Release 0.13.0
* Release 0.12.0
### Store
* Store compressed stream objects and normal objects together
## [v0.11.0](https://github.com/J-F-Liu/lopdf/compare/v0.10.0...v0.11.0) (2017-08-21)
### Release
* Release 0.11.0
### Use
* Use itoa and dtoa to improve writing performance
## [v0.10.0](https://github.com/J-F-Liu/lopdf/compare/v0.9.0...v0.10.0) (2017-07-20)
### Added
* Added optional allows_compression for Stream object
### Release
* Release 0.10.0
## [v0.9.0](https://github.com/J-F-Liu/lopdf/compare/v0.8.0...v0.9.0) (2017-05-24)
### Add
* Add pdfutil readme
### Added
* Added unit test for load_from() and save_to()
* Added Document::with_version + refactored save() and load()
* Added Debug trait for lopdf::Document
### Apply
* Apply multiple operations in one command
### Build
* Build with Rust stable
* Build with Rust beta
### Fix
* Fix delete_zero_length_streams
### Fixed
* Fixed unit tests
* Fixed breaking API changes
### Release
* Release 0.9.0
## [v0.8.0](https://github.com/J-F-Liu/lopdf/compare/v0.7.0...v0.8.0) (2017-03-16)
### Change
* Change Name(String) to Name(Vec)
### Delete_object
* delete_object and delete_unused_objects
### Get_pages
* get_pages and delete_pages
### Handle
* Handle zero length stream
### Release
* Release 0.8.0
### Traverse
* Traverse objects from trailer recursively
## [v0.7.0](https://github.com/J-F-Liu/lopdf/compare/v0.6.0...v0.7.0) (2017-03-07)
### Add
* Add Content::decode() function
### Build
* Build on Rust 1.17
### Create
* Create String object for DateTime
### Parse
* Parse PDF datetime value
### Read
* Read xref stream in hybrid-reference file
### Update
* Update create_document example
* Update README
## [v0.6.0](https://github.com/J-F-Liu/lopdf/compare/v0.5.0...v0.6.0) (2017-02-16)
### Add
* Add Stream::decompressed_content() method
### Read
* Read previous Xrefs of linearized or incremental updated document
## [v0.5.0](https://github.com/J-F-Liu/lopdf/compare/v0.4.0...v0.5.0) (2017-02-10)
### Add
* Add size field to Xref
* Add Xref struct
### Decode
* Decode PNG frame after FlateDecode
### Read
* Read compressed objects from object stream
* Read xref stream
### Update
* Update README
### Use
* Use pom 0.9.0
### XrefEntry
* XrefEntry as enum type
## [v0.4.0](https://github.com/J-F-Liu/lopdf/compare/v0.3.0...v0.4.0) (2017-01-29)
### Add
* Add Operation constructor
* Add modify_text test
* Add travis-ci build status
* Add FAQ in Readme
* Add print_xref_size() for debuging
### Decode
* Decode content stream
### Encode
* Encode content operations
### Fix
* Fix load_document test
* Fix https://github.com/rust-lang/rust/issues/39177
### Optimize
* Optimize parser code
### Solve
* Solve mutual reference problem between Pages and Page objects
### Trigger
* Trigger new release to pass build on docs.rs
### Update
* Update create PDF example
## [v0.3.0](https://github.com/J-F-Liu/lopdf/compare/v0.2.0...v0.3.0) (2017-01-18)
### Add
* Add compress/decompress subcommands to pdfutil
### Create
* create PDF parser using pom instead of nom
### Dictionary
* Dictionary preserve key insert order
### Update
* Update README
* Update parser to use pom 0.6.0
### Use
* Use reader to get stream length if it is a reference object
## [v0.2.0](https://github.com/J-F-Liu/lopdf/compare/v0.1.0...v0.2.0) (2017-01-05)
### Add
* Add pdfutil program
### Fix
* Fix parsing PDF array error
### Improve
* Improve documentation
## v0.1.0 (2016-12-23)
### Editor
* Editor config
### Impl
* impl Document add_object method
### Improve
* Improve Document::save functional type
### Initial
* Initial commit
### PDF
* PDF objects and document definition
### Parse
* Parse and load PDF document
### Read
* Read objects from xref table instead of sequentially from file stream
### Save
* Save PDF document to file
### Store
* Store max_id as a field of document