Releases: KnugiHK/WhatsApp-Chat-Exporter
Major Release (2024/10/24)
Deprecation
The --iphone flag has been deprecated since 0.9.1 and will be removed in the next major release. Use --ios instead.
If you always use -i
option for iOS, there is no change for you.
Support for Python 3.8 will be dropped in the next release.
As the official security support will be ended on 31 Oct 2024, this will be the last version that supports Python 3.8.
Removal
- Removed
--preserve-timestamp
option.
New Feature
- Added
--decrypt_chunk_size
option. This may be useful if the decryption of iOS backup is slow. - Added
--enrich-from-vcards
option for importing the contacts from vCards files (#106). - Added
--pretty-print-json
option (#106). - Added
--avoid-encoding-json
option to prevent non-ascii characters (#106). - Added
--txt
option for rendering the chats in text format similar to what WhatsApp officially provided (#108). - Added a chat filter using the sender of group messages (#85).
- Added unit conversion (#115).
Bug Fixed
- Fixed the incomplete JSON output on
--per-chat
. The Per-chat files can now be imported with--import
(#86). - Fixed a crash on unclean file name for
--per-chat
(#86). - Fixed the missing message when using
--split
(#114). - Fixed incorrectly recognized URL in
urlize()
(#113). - Fixed empty file name for iOS's outputs.
- Fixed the missing group name in iOS.
- Removed the exit behavior on the missing contact database for iOS (#76).
Improvement
- Added lazy loading for images, which speeds up the loading of the HTML file in browsers (#103).
- Added
<base>
tag to reduce the output file size (#103). - Filter empty chats by default. Use
--dont-filter-empty
to disable the filtering (#106). - Show the caption, if any, even if the message is metadata (#111).
- Better UI for caption (#111).
- Accept units for the
--split
option.
Binary Checksum
ae92eaa82828b9a7697a6c041ae5069b745ce4dc60a03fd8105f1f9ef03d26b9 wtsexporter_linux_x64
f263785465e5b1f2db57e1b88278c615f6f19b874162a2aa886135f047055005 wtsexporter_macos_x64
485a7bdd3dc43d27deeffab68f3b2300ac5aee9f1b3146e6e4280e5c473835b1 wtsexporter_x64.exe
Full Changelog: 0.10.0...0.10.5
Major Release (2024/6/8)
Deprecation
The --iphone flag has been deprecated since 0.9.1 and will be removed in the future. Use --ios instead.
Although if you always use -i
, there is no change for you.
The following modules have been rename:
- extract.py > android_handler.py
- extract_iphone.py > ios_handler.py
- extract_iphone_media.py > ios_media_handler.py
New Feature
- Added support for decrypting contact db from crypt15 backup.
- Added a script for brute-forcing crypt15 offsets.
- Added an option for adjusting the time zone for the displayed time in output (#64).
- Added date and chat (partial) filters.
- Added the ability to separate media for chats (#93).
Bug Fixed
- Fixed an unreliable way to determine chat (#61).
- Fixed same time at a day issue (#64).
- Fixed crashes.
- Fixed incorrect table name for old schema.
- Fixed SQL issue on missing table join.
- Fixed improperly handled vCard (#99).
Improvement
- Refactored some code.
- Ensured all messages are extracted chronologically (#64).
Binary Checksum
a58d4bd0d88ea116aca07c93c635a706beeabdff47fbc3237c19acdeb6202217 wtsexporter_linux_x64
c5324b0f6b54043ef7cac32b89319685636e30212ade05c90439dfb26cb09715 wtsexporter_macos_x64
f4ba5410138e9981a89cc9b8080fe29f3f9d481cea4aa2beb060d68a9e311663 wtsexporter_x64.exe
Full Changelog: 0.9.7...0.10.0
Minor Release 2023/11/12
Deprecation: The --iphone flag has been deprecated since 0.9.1 and will be removed in the future. Use --ios instead.
New Feature
- Added support for extracting WhatsApp Business in iOS backup (#60).
- Added an option to preserve the timestamp for iOS backup (#65).
- Made the vcard output path follow the specified output media directory.
- Made URLs in chats clickable (#69).
Bug Fixed
- Fixed a crash when a call does not belong to any chat (#58).
- Fixed a crash caused by system chat.
- Fixed the incorrect sender in group chat (#67).
Improvement
- Refactored some code.
Binary Checksum
66a35c9bc1c5af0fe243c286083b448e40e0452f512cd88c612fced584358d26 wtsexporter_linux_x64
e89de03492472270c261ffb65bdd9582a397a826b8bf29fa51a9f06cf017ae69 wtsexporter_macos_x64
60f8ece7a41e027cd3cd271e16f615fe241dffd40d802d5cb9505c0127b60144 wtsexporter_x64.exe
Major Release 2023/06/25
Security: This release contains a security fix. You are strongly advised to update the exporter.
Deprecation: The --iphone flag has been deprecated since 0.9.1 and will be removed in the future. Use --ios instead.
New Feature
- Added initial support for reply in iOS/iPadOS (#28).
- Added support for exported chat (#22).
- Added highlighting when navigating to replied message.
- Added support for split outputs (#23).
- Added fallback contact name when contact name is not set.
- Added support for missed call metadata and call logs for Android.
- Added support for importing an outputted JSON file to HTML output.
- Added support for contacts' status.
- Added more aliases to
wtsexpoter
command. - Added support on a lot of metadata in Android (#39).
- Whole WhatsApp directory is now extracted on iOS backup. This change causes the default root directory of iOS media to change.
Bug Fixed
- Fixed "file exists" exception.
- Fixed too-long vCard file name (#51).
- Fixed incorrect media path on iOS (#49).
- Fixed a wrong SQL alias.
- Fixed Cross-Site Scripting vulnerability.†
- Fixed raise of exception when "media_folder" does not exist on the filesystem.
- Fixed the wrong type of
media_wa_type
in the old Android schema. - Fixed only one group chat is rendered when the contact database is not present.
- Fixed wrongly determined metadata as the change of group name.
- Fixed incorrect sender name of group message.
- Fixed missing attribute in the Message class.
Workaround
- Implemented a workaround for non-UTF8 message (#44).
Improvement
- Added checksum on compiled binaries.
- Added new offsets for crypt14 file (#38, #46).
- Made the "not supported" note looks less intimidating (#39).
- Refactored some code.
- Reduced output size.
- Reduced the dimension of the image and sticker rendered in HTML output.
Binary Checksum
6ab39967ca4b4e7ebfab1c6eccced293e24912f48791f2f68260b14044271395 wtsexporter_linux_x64
6a0182c07a3b83bd16029a143d4e567597e4576bd4b974a19947df4b61b660e6 wtsexporter_macos_x64
dbbf81f9fc9691665ca337f3fe0ffaf6ce08c6df3f5c66fb80a5f357aa026d9a wtsexporter_x64.exe
Footnote
† XSS is intended to be mitigated by Jinja's escape function. However, autoescape=True
was missing when setting the environment.
Hot Fix 2023/05/17
Android is not affected by the bug addressed by this release.
Bug Fixed
- Exception is thrown when creating HTML files for iOS (#42).
Binaries Checksum
3e22059fc0f22a4f4f6dbece51607de5c16ec8ba3b4dcb3851584fecc17558a4 wtsexporter_linux_x64
526eb04553372b36963efd4699a35542f0828f0b9be8075e9b56ffc6177ad0d9 wtsexporter_macos_x64
875bd057be2463f801bb03a46062ee6d840462b51283ad27072144ead11c701d wtsexporter_x64.exe
Major Release 2023/05/16
Deprecation: The --iphone flag is deprecated in this release and will be removed in the future. Use --ios instead.
Incompatibility: Copying the media folder to the output directory will be the default starting from this release. For moving, add the -c flag.
New Feature
- Supported new WhatsApp database schema with table name
message
(#9). - Added exporting of the 64-digit encryption key from key file (#20).
- Added an option to allow the Media folder to be copied instead of moved (#25).
Copying the media folder to the output directory will be the default starting from this release.
- Added offline availability of w3css.
- Added an option to disable HTML output.
- Added an option for checking updates.
- Standalone binary will be available from this release (#29).
Bug Fixed
- Duplicated entry in extras_require.
- Empty VCF contact name caused the exporter to crash.
Improvement
- Transited from optparse to argparse.
- Added new common offset (#32).
Binary
Since this release contains a critical bug, the binaries are removed from the release.
Minor Release 2023/01/31
Bug Fix 2022/05/09
Bug Fixed
- Fixed a bug where blank VCard media_name would crash the program (#11).
Minor Update 2022/03/04
Changed
- Added the crypt15 dependency to "android_backup" pip install extra
pip install whatsapp-chat-exporter[android_backup] # alias of crypt15
pip install whatsapp-chat-exporter[crypt12] # support crypt12 & 14
pip install whatsapp-chat-exporter[crypt14] # support crypt14 & 12
pip install whatsapp-chat-exporter[crypt15] # support crypt12,14,15