Skip to content

Releases: ReagentX/imessage-exporter

Foothill Clover

16 Sep 00:28
d704653

Choose a tag to compare

iMessage Exporter 3.1: Foothill Clover contains the following fixes and improvements:

  • New Features
    • iOS 26 and macOS Tahoe Support
      • Translated messages for #546
        • Support parsing translated data, source language, and translation language
      • Polls and Votes for #545
        • Render polls, poll updates, votes, and totals in exports
      • Support chat backgrounds for #547
        • Support chat background change announcement messages
        • Support new plist metadata
  • Bug Fixes
    • Support arbitrary key types in NSKeyedArchiver parser
    • Address #582
    • Improve backwards compatibility for #573
  • API Changes
    • Add poll and translation helper methods to Message struct
  • Miscellaneous
    • Reduce String allocations in exporter
    • Exporter trait updates
      • Move write_to_file to Exporter
      • Rename Writer to MessageFormatter
    • Fixes for Rust 1.89
    • Bump dependencies
    • Build with latest rustc

Sierra Bluecup

26 Jun 22:45
b20e008

Choose a tag to compare

Version 3.0.1 Sierra Bluecup contains the following fixes and improvements:

  • Use crabstep for typedstream deserialization
    • +5% performance boost
    • Fix overlapping format ranges in #567
    • Ensure Attachment metadata is correctly parsed for #570 and #477
      • Caused by an ordering error in the old BubbleComponent assembler
    • Correctly render malformed URL messages for #571
  • Optimizations
    • Avoid hashing message column names on row creation
      • +20% performance boost
    • Use cached SQL queries
      • +17% performance boost
    • imessage-exporter now exports messages faster than 100k/s!
  • API Updates
    • BubbleComponents now own their data
    • Add generate_text_legacy() for faster message parsing against older databases
    • Move GetBlob trait methods into to Table trait
  • Bug Fixes
    • Improve backwards compatibility for #573
  • Miscellaneous
    • Bump dependencies
    • Add some missing documentation
    • Build with latest rustc

Sierra Bluecup

26 Jun 00:52
ed8bd68

Choose a tag to compare

Version 3.0.0 Sierra Bluecup contains the following fixes and improvements:

  • Use crabstep for typedstream deserialization
    • +5% performance boost
    • Fix overlapping format ranges in #567
    • Ensure Attachment metadata is correctly parsed for #570 and #477
      • Caused by an ordering error in the old BubbleComponent assembler
    • Correctly render malformed URL messages for #571
  • Optimizations
    • Avoid hashing message column names on row creation
      • +20% performance boost
    • Use cached SQL queries
      • +17% performance boost
    • imessage-exporter now exports messages faster than 100k/s!
  • API Updates
    • BubbleComponents now own their data
    • Add generate_text_legacy() for faster message parsing against older databases
    • Move GetBlob trait methods into to Table trait
  • Miscellaneous
    • Bump dependencies
    • Add some missing documentation
    • Build with latest rustc

Spotted Hideseed

20 Jun 00:34
43a6fce

Choose a tag to compare

Version 2.8.0 Spotted Hideseed contains the following fixes and improvements:

  • Improvements
    • Refactor typedstream deserializer to increase performance by 12%
      • Return indexes out of get_type() instead of Type clones
      • Defer Archivable clones into branches where the are necessary
      • Pre-allocate most vectors with common item sizes
      • Inline some hot functions
    • Refactor ffmpeg integration to address #247, #475, #502, and #541
      • Video conversion is now 90% faster on supported platforms
  • Bug Fixes
    • Support multiple bubble type matches for #556
    • Properly decode UTF-16 character ranges for #558
    • Correctly render overlapping/nested text format ranges for #561
      • Add support cached format ranges parsed from NSAttributedString instances
  • API Changes
    • Add Table::stream() method, simplifying table iteration
      • Zero-allocation table iteration via callback-based streaming
      • Removes need for rusqlite boilerplate from library consumers
    • Support chat properties plist BLOB for #548
    • Unify query error types under a single TableError variant; remove unused variants
  • Miscellaneous
    • Lots of code cleanup
    • Add some missing documentation
    • Bump dependencies
    • Build with latest rustc

Canyon Sunflower

09 Jun 23:47
05c49e2

Choose a tag to compare

Version 2.7.1 Canyon Sunflower contains the following fixes and improvements:

  • New Features
    • Encrypted iOS device backup support for #521
      • Uses our new crabapple crate to decrypt iOS backup data
      • Pass -x with the backup's password to automatically decrypt message data and attachments
    • Message deep links (contributed by @vergenzt)
      • Clicking the message's date in HTML exports will open the message in the Messages app on macOS or iOS
  • Improvements
    • Support amr format Audio Messages for #509
    • Add warning for iOS backup paths for #526
    • Better file name sanitization logic for #533
    • Refactor ffmpeg integration to address #247, #475, #502, and #541
      • Video conversion is now 90% faster on supported platforms
  • Bug Fixes
    • Include missing file name extensions for #504
    • Properly render kept and expired audio message announcements for #508
  • API Changes
    • Attachment::filename() now returns Option<&str> instead of &str
  • Miscellaneous
    • Lots of code cleanup
    • Refactor CLI validation logic
    • Simplified error handling using new error implementations
    • Bump dependencies
    • Add Windows (.exe) build script
    • Build with latest rustc

Canyon Sunflower

31 May 23:34
dba4975

Choose a tag to compare

Version 2.7.0 Canyon Sunflower contains the following fixes and improvements:

  • New Features
    • Encrypted iOS device backup support for #521
      • Uses our new crabapple crate to decrypt iOS backup data
      • Pass -x with the backup's password to automatically decrypt message data and attachments
    • Message deep links (contributed by @vergenzt)
      • Clicking the message's date in HTML exports will open the message in the Messages app on macOS or iOS
  • Improvements
    • Support amr format Audio Messages for #509
    • Add warning for iOS backup paths for #526
    • Better file name sanitization logic for #533
  • Bug Fixes
    • Include missing file name extensions for #504
    • Properly render kept and expired audio message announcements for #508
  • API Changes
    • Attachment::filename() now returns Option<&str> instead of &str
  • Miscellaneous
    • Lots of code cleanup
    • Refactor CLI validation logic
    • Simplified error handling using new error implementations
    • Bump dependencies
    • Add Windows (.exe) build script
    • Build with latest rustc

Coastal Lotus

13 May 03:24
392fd26

Choose a tag to compare

Version 2.6.2 Coastal Lotus contains the following fixes and improvements:

  • Improvements
    • Implemented enhanced progress bar with improved status messaging
      • Added specific feedback during video encoding operations
    • Improve CSS used in HTML exports
      • Refactored stylesheet to use CSS variables
      • Optimized duplicate style rules
      • Enhanced dark mode support
    • Better audio message handling
      • Properly render kept and expired audio message announcements for #508
      • Support amr format Audio Messages for #509
  • Bug Fixes
    • Ensure files without file name extensions are copied correctly for #495
    • Remove a duplicate insertion leading to incorrect typedstream deserialization for #497
      • Messages with large numbers of attachments are now correctly handled
    • Add missing file name extensions for #504
  • Miscellaneous
    • Refactor progress bar module
    • Simplified error handling for BLOB operations
    • Improve type inference
    • Bump dependencies
    • Build with latest rustc

Coastal Lotus

15 Apr 18:23
0118329

Choose a tag to compare

Version 2.6.1 Coastal Lotus contains the following fixes and improvements:

  • Improvements
    • Implemented enhanced progress bar with improved status messaging
      • Added specific feedback during video encoding operations
    • Improve CSS used in HTML exports
      • Refactored stylesheet to use CSS variables
      • Optimized duplicate style rules
      • Enhanced dark mode support
  • Bug Fixes
    • Ensure files without file name extensions are copied correctly for #495
    • Remove a duplicate insertion leading to incorrect typedstream deserialization for #497
      • Messages with large numbers of attachments are now correctly handled
    • Add missing file name extensions for #504
  • Miscellaneous
    • Refactor progress bar module
    • Simplified error handling for BLOB operations
    • Improve type inference
    • Bump dependencies
    • Build with latest rustc

Coastal Lotus

15 Apr 05:20
a1faabb

Choose a tag to compare

Version 2.6.0 Coastal Lotus contains the following fixes and improvements:

  • Improvements
    • Implemented enhanced progress bar with improved status messaging
      • Added specific feedback during video encoding operations
    • Improve CSS used in HTML exports
      • Refactored stylesheet to use CSS variables
      • Optimized duplicate style rules
      • Enhanced dark mode support
  • Bug Fixes
    • Ensure files without file name extensions are copied correctly for #495
    • Remove a duplicate insertion leading to incorrect typedstream deserialization for #497
      • Messages with large numbers of attachments are now correctly handled
  • Miscellaneous
    • Refactor progress bar module
    • Simplified error handling for BLOB operations
    • Improve type inference
    • Bump dependencies
    • Build with latest rustc

Sierra Coffeeberry

30 Mar 03:25
ff3e7ed

Choose a tag to compare

Version 2.5.0 Sierra Coffeeberry contains the following fixes and improvements:

  • New Features
    • Support Auxiliary CSS for #467
      • Create style.css in the export directory to customize export files
      • Details and examples are located here
    • Support Directory attachments for #470
      • Added support for displaying folder attachments in exports
      • Added check to prevent setting file extensions for directories
      • Enhanced copy_raw function to handle copying directories recursively
  • Miscellaneous
    • Rework control flow for announcement messages
    • Resolve #484
    • Bump dependencies
    • Build with latest rustc