Releases: tagatac/bagoup
2x faster export to PDF
This version uses WeasyPrint to generate PDFs instead of Wkhtmltopdf. Wkhtmltopdf has been deprecated for years, and it was recently disabled in homebrew. WeasyPrint is much more actively supported.
Two main improvements come with this migration:
- Exporting from Messages to PDF with WeasyPrint appears to be about twice as fast as with Wkhtmltopdf.
- WeasyPrint utilizes OS-native emojis, so PDF exports more closely match what is seen in Messages.
If you prefer Wkhtmltopdf outputs, there is a new flag to keep using it: --wkhtml. This flag (and Wkhtmltopdf support) will likely be removed in the future.
What's Changed
- Use installer to install wkhtmltopdf by @tagatac in #73
- Add a test to compare the versioned example export with a newly generated PDF by @tagatac in #75
- Switch From wkhtmltopdf to WeasyPrint for PDF Exports by @tagatac in #76
- Improve PDF title and creator by @tagatac in #78
Full Changelog: v2.4.11...v2.5.0
Fixed copying attachments with PDF export
What's Changed
- Add option validation by @tagatac in #69
- Track the full paths of attachments in the Attachment object by @tagatac in #71
Full Changelog: v2.4.10...v2.4.11
Fixed setting the open files limit for wkhtmltopdf
What's Changed
Full Changelog: v2.4.8...v2.4.10
Fixed embedding URL-unsafe filenames in PDFs
For example, images with filenames including the unicode character U+202F.
Full Changelog: v2.4.7...v2.4.8
Fixed PDF creation with many images
Fixed emojis in PDFs
MaxCDN is no longer hosting twemoji. See twitter/twemoji#580 for more details and https://github.com/jdecked/twemoji for the functional fork.
What's Changed
Full Changelog: v2.4.5...v2.4.6
Support for exporting specific entities only
New flag:
-e, --entity= An entity name to include in the export (matches the folder name in the
export, e.g. "John Smith" or "+15551234567"). If given, other entities'
chats will not be exported. If this flag is used multiple times, all
entities specified will be exported.
What's Changed
- Remove unnecessary Swift code by @tagatac in #55
- Remove unnecessary dependencies from Makefile targets by @tagatac in #56
- Use the retry-action action to retry the codecov uploader action by @tagatac in #57
Full Changelog: v2.4.1...v2.4.5
Big performance gains
bagoup now uses an Objective-C binary to extract data from the attributedBody column in the chat database. This typically results in a performance improvement for text exports of more than 10x.
pytypedstream is no longer a dependency.
What's Changed
- Move from Travis-CI to Github Actions by @tagatac in #47
- Modernize all dates in the chat_message_join table by @tagatac in #48
- Use an objective C program to decode typedstreams by @tagatac in #51
- Break large chats into multiple PDF files by @tagatac in #53
Full Changelog: v2.3.0...v2.4.1
Support for Mac OS 13
Note
NEW DEPENDENCY: In order to properly export messages on Mac OS 13, bagoup requires that python-typedstream be installed and thatpytypedstreambe in your system path.
What's Changed
Full Changelog: v2.2.0...v2.3.0
Re-run support using copied attachments
What's Changed
- Truncate chat filename if it will exceed 255 characters by @tagatac in #34
- Allow re-runs using copied attachments by @tagatac in #39
Full Changelog: v2.1.2...v2.2.0