Skip to content

Releases: ReagentX/imessage-exporter

Live Oak

26 Nov 19:20
0c75df4
Compare
Choose a tag to compare

Version 2.2.1 Live Oak contains the following fixes and improvements:

  • Support filtering conversations to export for #61
    • Adds --conversation-filter CLI arg to filter conversations based on a specified string pattern
    • Supports partial matches and multiple patterns
      • --conversation-filter "[email protected]" exports conversations with [email protected]
      • --conversation-filter "[email protected],+15558675309" exports all conversations with [email protected] or +15558675309
      • --conversation-filter "@apple.com" exports all conversations where the participant info contains @apple.com
      • Group conversations with selected participants are always included
  • Expand compatibility mode for #346 and #365
    • More compatibility conversions supported
      • video/quicktimevideo/mp4
      • audio/x-cafaudio/mp4
      • image/heic-sequenceimage/gif
    • Refactor --copy-method CLI arg:
      • -c clone copies files without converting
      • -c basic converts HEIC files to JPEG
      • -c full converts HEIC files to JPEG, CAF to MP4, and MOV to MP4
  • Improvements
    • Support detecting different types of Digital Touch messages
      • Example display

    • Support Audio Message transcriptions in #374
    • Support Genmoji Prompts in #378
  • Fixes
    • Resolve missing RCS message background color for #361
    • Fix missing TLDs in export file names for #355
    • Resolve a divide by zero error for #360
    • Resolve #390 and #391
  • Miscellaneous
    • Rework test fixtures
    • Refactor file compatibility modules
    • Add diagnostics for detected encoders/converters
    • Bump dependencies
    • Build with latest rustc

Live Oak

24 Nov 21:23
083b83c
Compare
Choose a tag to compare

Version 2.2.0 Live Oak contains the following fixes and improvements:

  • Support filtering conversations to export for #61
    • Adds --conversation-filter CLI arg to filter conversations based on a specified string pattern
    • Supports partial matches and multiple patterns
      • --conversation-filter "[email protected]" exports conversations with [email protected]
      • --conversation-filter "[email protected],+15558675309" exports all conversations with [email protected] or +15558675309
      • --conversation-filter "@apple.com" exports all conversations where the participant info contains @apple.com
      • Group conversations with selected participants are always included
  • Expand compatibility mode for #346 and #365
    • More compatibility conversions supported
      • video/quicktimevideo/mp4
      • audio/x-cafaudio/mp4
      • image/heic-sequenceimage/gif
    • Refactor --copy-method CLI arg:
      • -c clone copies files without converting
      • -c basic converts HEIC files to JPEG
      • -c full converts HEIC files to JPEG, CAF to MP4, and MOV to MP4
  • Improvements
    • Support detecting different types of Digital Touch messages
      • Example display

    • Support Audio Message transcriptions in #374
    • Support Genmoji Prompts in #378
  • Fixes
    • Resolve missing RCS message background color for #361
    • Fix missing TLDs in export file names for #355
    • Resolve a divide by zero error for #360
  • Miscellaneous
    • Rework test fixtures
    • Refactor file compatibility modules
    • Add diagnostics for detected encoders/converters
    • Bump dependencies
    • Build with latest rustc

Prickly Pear

06 Oct 21:03
d254e55
Compare
Choose a tag to compare

Version 2.1.1 Prickly Pear contains the following fixes and improvements:

  • Support new iOS 18 features
    • Custom tapbacks for #274
    • Text Effects for #275
  • Support Handwritten messages for #31
    • Contributed by @trymoose
    • Reverse engineering writeup located here
  • Improvements
    • Make deduplication deterministic for chats and handles
      • As a side effect, this also makes exported filenames deterministic
    • Increase performance of HTML entity sanitization logic
    • Reduced export size with improved attachment handling
      • Only copy attachments in threaded messages once
      • Share attachments across TXT and HTML exports in the same directory
    • Improve file creation error messages
    • Attribute old style sticker reactions to senders
  • Fixes
    • Better Windows support for #318 and #331
    • Display URL balloons that contain malformed payloads
    • Always deserialize typedstream data even if text column is already populated
    • Fix typedstream deserializer object reference handling for embedded data
    • Fix #348
  • Miscellaneous
    • Documentation updates
    • Reaction has been renamed Tapback throughout the library
    • Build with latest rustc

Prickly Pear

19 Sep 20:54
3567424
Compare
Choose a tag to compare

Version 2.1.0 Prickly Pear contains the following fixes and improvements:

  • Support new iOS 18 features
    • Custom tapbacks for #274
    • Text Effects for #275
  • Support Handwritten messages for #31
    • Contributed by @trymoose
    • Reverse engineering writeup located here
  • Improvements
    • Make deduplication deterministic for chats and handles
      • As a side effect, this also makes exported filenames deterministic
    • Increase performance of HTML entity sanitization logic
    • Reduced export size with improved attachment handling
      • Only copy attachments in threaded messages once
      • Share attachments across TXT and HTML exports in the same directory
    • Improve file creation error messages
    • Attribute old style sticker reactions to senders
  • Fixes
    • Better Windows support for #318 and #331
    • Display URL balloons that contain malformed payloads
    • Always deserialize typedstream data even if text column is already populated
    • Fix typedstream deserializer object reference handling for embedded data
  • Miscellaneous
    • Documentation updates
    • Reaction has been renamed Tapback throughout the library
    • Build with latest rustc

California Poppy

03 Aug 22:39
c327e6f
Compare
Choose a tag to compare

Version 2.0.1 California Poppy contains the following fixes and improvements:

  • Implement a custom, pure Rust typedstream deserializer
    • Support parsing message body components from deserialized typedstream data
    • Support interactive message text using deserialized attributedBody range attributes:
    • Refactor EditedMessage design to support multi-part messages
      • Support unsending and editing specific message parts for #277
      • Use new typedstream deserializer for edited message body data
  • Fixes
    • Support legacy shared location message display for #271
    • Fix date filter logic for #286
    • Improve -c compatible with iOS backups for #296
    • Fix Message::date_edited() for #311
    • Increase maximum allowed file handles for #314
  • 2x faster performance:
    • Use BufWriter<File> instead of PathBuf in Exporter structs
    • Improves performance by ≈25% (16k/s to 22k/s)

      Before:
      image
      After:
      image

    • Use column names for messages table queries against most recent table schema
    • Improves performance by ≈50% (22k/s to 33k/s)

      Before:
      image
      After:
      image

  • Miscellaneous
    • Update MIME type parsing logic
    • Significantly improve Windows compatibility
    • Do not emit HEIC converter logs if --copy-method is not compatible
    • Major documentation updates
    • Humanize output of CLI progress bar
    • Better HTML sanitization for message body content
    • Add more FAQs
    • Build with latest rustc

Beach Strawberry

10 Jun 15:09
c694773
Compare
Choose a tag to compare

Version 1.9.0 Beach Strawberry contains the following fixes and improvements:

  • Rework edited message parsing logic
  • Improve accuracy of estimated export size for #246
  • Improve backwards compatibly for #188
  • Improve Windows compatibility by removing dependency on HOME environment variable
  • Add diagnostic docs for #223
  • Support Imagemagick v7 for #263
  • Support legacy location sharing messages for #271
  • Improve SharePlay message display
  • Remove last remaining unwrap() calls in library and binary code
    • The only remaining unwrap() calls are in tests
    • None exist in library or app code
  • Add missing viewport tag to improve mobile display:
    • Example mobile display

  • Add missing documentation to table struct fields
  • Miscellaneous docs updates, code cleanups, and small speedups
  • Build with latest rustc

Velvet Ash

04 Dec 00:25
4deeac9
Compare
Choose a tag to compare

Version 1.8.0 Velvet Ash contains the following fixes and improvements:

  • Upgrade Clap from 3.x to 4.x for #198
  • Use PST timezone for tests for #199
  • Check for available disk space before writing export files for #201
    • Prevents exporting if there is not enough disk space
    • Dismissible with --ignore-disk-warning
  • Use correct date offset in Check In messages for #202
  • Improve html escape logic for text to fix #32 and #217
  • Properly render thread originators that were edited for #220
  • Improve exported data quality
    • Simplify Apple Pay and Apple Cash bubbles in html exports
    • Simplify Find My bubbles in html and txt exports
    • Support parsing Placemark data from shared Maps links
    • Properly handle Handwritten message placeholder
    • Properly handle all unsent message types, not just text
  • Add some new diagnostics:
    • Total number of messages
    • Total database size
    • Attachment size referenced in table
    • Attachment size on disk
    Example output

    iMessage Database Diagnostics
      Message diagnostic data:
          Total messages: 97541
          Messages not associated with a chat: 3406
          Messages belonging to more than one chat: 29
      Attachment diagnostic data:
          Total attachments: 36636
              Data referenced in table: 32.11 GB
              Data present on disk: 27.73 GB
          Missing files: 6231 (17%)
              No path provided: 6132
              No file located: 99
      Global diagnostic data:
          Total database size: 199.43 MB
          Duplicated contacts: 76
          Duplicated chats: 16

  • Miscellaneous docs updates, code cleanups, and small speedups

Laurel Sumac

20 Nov 00:02
f907848
Compare
Choose a tag to compare

Version 1.7.0 Laurel Sumac contains the following fixes and improvements:

  • iOS 17 and macOS Sonoma Support!
    • Support Check In messages for #173
      • Support parsing URL query string metadata
    • Support parsing iOS 17 Sticker Effects for #174
      • Properly copy, convert, and display sticker messages
      • Support converting animated and transparent stickers
  • Emit clearer error if the specified database path exists but is not an iMessage database for #177
  • Support custom attachment root for #178
  • Make chat service_name field Optional for #181
  • Downgrade error to warning when no-lazy flag is set for txt exports for #189
  • Support parsing App Store app links for #196
  • Build with latest rustc

Checker Mallow

18 Sep 22:39
da2f1c9
Compare
Choose a tag to compare

Version 1.6.0 Checker Mallow contains the following fixes and improvements:

  • Make handle_id field optional for #148
  • Make attachment file paths relative to the export directory in #152 (contributed by @mxswd)
  • Add links between threaded messages in HTML exports for #154
  • Make audio messages display properly for #155
  • Resolve bug where multiple ~ in filepaths got replaced with $HOME for #156
  • Add better fallback SQL for backwards compatibility with iOS 14/15 in #157
  • Correct HTML and CSS mistakes in #162 (Contributed by @dviner)
  • Add attachment file size information to diagnostics and exports
  • Update uninstall steps
  • Resolve file name extension bug for #164
  • Build with latest rustc

Arroyo Lupine

29 Jul 19:46
1ec0e93
Compare
Choose a tag to compare

Version 1.5.0 Arroyo Lupine contains the following fixes and improvements:

  • Rework attachment management logic
  • Improve attachment and message table diagnostics
  • Allow attachment backup for txt exports
  • Support diagnostics for iOS backups for #118
  • Automatically detect backup platform for #121
  • Add uninstall steps for #122
  • Add option to keep original image formats for #125
  • Better dedupe logic to fix #135
  • Build with latest rustc