Skip to content

Releases: harshalambani/ChatMailSync

v3.0.2

Choose a tag to compare

@harshalambani harshalambani released this 29 Oct 03:38
e744712

Help and docs brought up to date with the latest releases.
Store text names WhatsApp again.
Build checks that the bundled notice file is reproducible.

v3.0.1

Choose a tag to compare

@harshalambani harshalambani released this 26 Oct 06:16
c4406d6

Build fix so the app builds on newer Java versions; no change in how the app works.

Chat Mail Sync 3.0.0

Choose a tag to compare

@harshalambani harshalambani released this 25 Oct 13:01
cc036d2

Chat Mail Sync 3.0.0 redesigns Settings and tidies up a few screens. Your settings, history and syncs carry on exactly as before.

  • Settings and Advanced (UX-01): each setting is a row with an icon and a one-line summary of its value; choices that were dropdowns open as small dialogs with Cancel. Help and the privacy policy have their own Help screen, and Run setup again has a back button.
  • Me row (UX-03): Home shows your name as soon as a sync learns it, not only after the sync ends.
  • Health cards (UX-04): the battery and notification cards say plainly what is wrong and how to turn them off; they stay hidden when automatic sync is off.
  • Licences (UX-05): the open-source licences text now names the GPL-3.0 LICENSE file instead of a Settings section that does not exist.

Needs Android 11 or newer.

Install: download ChatMailSync-3.0.0.apk below, or let Obtainium pick it up. It is signed with the same key as 2.9.2, so it installs over it directly. Moving between builds signed with different keys (for example to F-Droid) needs a backup first: see Switching builds.

Chat Mail Sync 2.9.2

Choose a tag to compare

@harshalambani harshalambani released this 23 Oct 01:57
4994b8d

Chat Mail Sync 2.9.2 recognises renamed contacts. When a chat export looks like an earlier chat under a new name or a newly saved contact, the app asks once whether it is the same chat, and nothing is mailed twice.

  • Renamed chats (BUG-05/06): linked to their earlier history after you confirm.
  • Failed answer (BUG-17): if saving your answer fails, you now see a message and can answer again.
  • Waiting chat (UX-02): a background sync that is waiting for your answer shows one notification.
  • Question stays put (BUG-18): a tap outside no longer hides the question; a waiting chat shows on Home with an "Answer now" button, and a sync you start yourself says when it held a chat.
  • Leftover space (CUT-05): space left over from older versions is freed on the first start.

Needs Android 11 or newer.

Install: download ChatMailSync-2.9.2.apk below, or let Obtainium pick it up. It is signed with the same key as 2.9.1, so it installs over it directly.

Chat Mail Sync 2.9.1

Choose a tag to compare

@harshalambani harshalambani released this 22 Oct 06:52
2617c7d

Chat Mail Sync 2.9.1 is a much smaller download: about 3 MB instead of 23 MB. The Python runtime the old sync engine needed is no longer packed into the app. Nothing else changes for you; your settings, history and syncs carry on exactly as before.

  • The Open-source licences screen (Settings) now lists only the components the app still uses.

Needs Android 11 or newer, as 2.9.0 did.

Install: download ChatMailSync-2.9.1.apk below, or let Obtainium pick it up. It is signed with the same key as 2.9.0 and 2.2.0, so it installs over either directly.

v2.9.0

Choose a tag to compare

@harshalambani harshalambani released this 21 Oct 12:38
1047421

Chat Mail Sync 2.9.0 replaces the app's sync engine. The engine is now written entirely in Kotlin, and no Python runs inside the app any more.

Needs Android 11 or newer. Phones on Android 7 to 10 stay on 2.2.0, which keeps working.

Upgrading keeps your history. The app keeps its record of what it has already sent, so nothing is mailed twice. Backups made with 2.2.0 restore into 2.9.0.

What changes for you:

  • Photos and files sent with a caption are now attached. Before, the caption reached your mailbox but the file did not. Messages already synced are not sent again.
  • Cancel stops promptly. A sync now stops between emails instead of finishing the whole chat first. The stopped run shows how many messages went out, and it is not counted as a failure.
  • A force close after Cancel stays stopped. The sync does not start again on its own.
  • Each chat export is deleted from your phone once its sync completes. An export that turns out to hold no messages is kept, and the app tells you so.
  • The end-of-sync notification stays until you dismiss it.
  • Multi-part days are easier to find: each email's subject carries its "Part k/N" label.
  • Restoring a backup is stricter: an oversized or malformed backup is refused instead of half-restored, and the message cut-off date comes across with it.
  • A new Open-source licences screen (Settings) lists the open-source components the app uses.
  • The privacy policy is rewritten to describe what 2.9.0 keeps, where it keeps it, and how to delete it. It is in the app and at https://chatmailsync.ambani.tech/privacy.html

Install: download ChatMailSync-2.9.0.apk below, or let Obtainium pick it up. It is signed with the same key as 2.2.0, so it installs over 2.2.0 directly.

v2.2.0

Choose a tag to compare

@harshalambani harshalambani released this 17 Sep 09:37
56fc41f

Six batches of work since the 2.1.5 / windows-final tag:

  • Batch 1 -- chat-sender tracking and a self-sender state field, the
    groundwork for working out which name in an export is the app user's own.
  • Batch 2 -- a Me row on the masthead, Me name entry moved into its own
    screen, a Me strip on the chat detail screen, and a one-time Home banner
    the first time the app learns the user's name from an export.
  • Batch 3 -- easier app-password entry during setup, and promoting the
    common mail providers (with AOL added) ahead of the rest of the list.
  • Batch 4 -- a four-step first-run setup that replaces the earlier,
    longer walkthrough.
  • Batch 5 -- Basic and Advanced settings sections, with follow-up polish
    (back-button labels, chip wrapping) and a bounded "Test connection" that
    always returns instead of being able to hang.
  • Batch 6 -- "Save & connect" made to share that same bounded,
    exactly-once connection check as "Test connection"; the dead
    fadingEdgesHorizontal helper removed; the FAQ kept in sync between
    HelpScreen.kt and docs/user-guide.md, and the user guide's leftover
    Windows-desktop wording corrected to describe the Android app; version
    bump to 2.2.0 (versionCode 42).
  • Batch 7 -- Backup & restore moved out of the Settings row list into its
    own screen, reached the same way as Mail account, Me and Advanced; its
    Settings row now carries a status pill ("Backed up <date>", "Backup due"
    or "No backup") so the state is visible without opening the screen.
  • Batch 7 follow-up -- fixed a bug (confirmed on the Nord) where the Mail
    account screen and Settings kept showing the pre-restore mailbox (e.g.
    Gmail with a blank email) right after a successful restore, even though
    the restored settings were already correctly saved -- reopening the app
    was the only workaround, and pressing "Save & connect" without it would
    have overwritten the restored account with defaults. Also added a "Moving
    from another phone? Restore from a backup" option on the very first screen
    of a fresh install, so setting up a new phone from a backup no longer
    means clicking through to Settings first; a successful restore there can
    continue straight into mail setup with the restored provider and email
    already filled in.
  • Batch 7b -- a restore during first-run setup no longer walks the user
    through "Step 3 of 4" and "Step 4 of 4"; it finishes at the app-password
    step and lands on Home, the same as skipping mail setup for later. Every
    successful restore, on first run and on the Backup & restore screen, now
    shows an inline summary of what came back (chats, already-sent count,
    cutoffs, mail account and the settings the bundle carried) and what still
    needs redoing (app password, watched folder) -- never a dialog or toast.

The Windows desktop app is not part of this or any future release; it ended
at v2.1.5 (tag windows-final), per docs/RELEASING.md.

🤖 Generated with Claude Code

v2.1.5 - Your own messages now appear as yours

Choose a tag to compare

@harshalambani harshalambani released this 12 Sep 12:16
db46f85

Your own messages now appear as yours

Until this release, every message in an archived chat was drawn as if somebody
else had sent it — the whole conversation collapsed onto one side.

A WhatsApp export does not mark your own messages. It writes your profile name
in the sender position exactly as it writes everybody else's, and the app was
looking for the literal word "You" instead.

What changed. The app now works out which name is yours from a one-to-one
chat: that export names the other person in its own filename, so whichever name
is left over is necessarily yours. Sync any one-to-one chat and it is worked out
once and used everywhere afterwards, group chats included. Group chats never
decide this on their own, and nothing is ever guessed from how often a name
appears.

You can see it, and you can change it. Settings now has a Your messages
section that states the name the app is treating as yours and where that name
came from. Type your WhatsApp profile name there to set it by hand; clear the
box to hand the decision back to the app.

Emails already sent are not redrawn. Setting the name changes how future
emails are laid out, and the app will not re-send a message it has already
archived. To lay a chat out again correctly, use Reset on that chat after
setting the name.

Also in this release

  • A new FAQ entry covering all of the above, on Windows, Android and the website.
  • Privacy policy "Last updated" line refreshed for this version. No policy text
    changed.

Downloads

Android ChatMailSync-2.1.5.apk
Windows installer ChatMailSyncPortable_2.1.5_English.paf.exe
Windows portable zip ChatMailSyncPortable_2.1.5.zip

v2.1.4 - Outlook.com removed

Choose a tag to compare

@harshalambani harshalambani released this 11 Sep 02:33
c729c18

Outlook.com is gone, because it never worked

Chat Mail Sync offered Outlook.com as a destination and said so in the app, the docs, the website and every store listing. That claim was false for the entire 2.x line.

Microsoft switched basic authentication off for personal Outlook.com, Hotmail, Live and MSN mailboxes on 16 September 2024; work and school Microsoft 365 lost it earlier. They all accept OAuth2 only for IMAP now, and this app does no OAuth at all — the Google sign-in that used to be here was removed in 2.0.0. Choosing Outlook produced a login failure that no app password could fix, and the old error message sent the user to an administrator who has no setting that would help.

What changed

  • Outlook.com removed from the provider list on Windows and Android.
  • If you had Outlook saved, your settings now read as Custom, with the host you already had left in place and the field unlocked — nothing is swapped for another provider's server behind your back. It still will not connect; nothing can make it connect. Use a mailbox that still issues an app password.
  • A Microsoft mailbox now fails honestly. The connection test says the mailbox cannot be used with this app and names the ones that can, instead of suggesting an administrator can fix it. Matching is on whole domain names, so a lookalike host does not trigger it.
  • Every claim corrected — in-app Help & FAQ, in-app privacy text, README, user guide, website, and the store listings.

Working destinations

Gmail, Yahoo, iCloud, Fastmail, or any IMAP server that issues an app password.

Downloads

File Size SHA-256
ChatMailSync-2.1.4.apk 21,407,339 22be1aa1a358e61913276f523f1cad234ed37be8c7b3eb0e191776f378a6d699
ChatMailSyncPortable_2.1.4_English.paf.exe 12,762,765 43273fb0792f41a3d27a0eca52455fcdc109499351ddcaf014457a3492b56e51
ChatMailSyncPortable_2.1.4.zip 16,431,076 9284f745ff3ee96f496ebb06e8c47b08851ecff00770b0f509455e4c1f40f1ac

APK versionCode 40, signed with the same certificate as every previous release (SHA-256 096ca121e8de29d466cc2f55e20e6f4d045c0ffefc72cd39e5758eb8fb905095), so it installs as an update.

Python suite 553 passed; Android unit tests green.

v2.1.3 - the privacy policy is in the app

Choose a tag to compare

@harshalambani harshalambani released this 10 Sep 14:19
2fe0d74

The privacy policy is now carried in the app, not linked to

Indus Appstore held the previous build twice on the identical reason: the privacy policy link is "not accessible inside the app". The link was there, in Settings, and the hosted page answers 200. That points at reachability rather than at the address, so this release closes every route to that report.

The policy is in the app. A new Privacy policy screen renders the full ten-section policy from text the app ships with. No browser, no network, no permission. The hosted page is still offered underneath it, as the copy rather than the original.

Two ways in. Settings > About and Help & FAQ, on both Android and Windows.

A crash is fixed. Every "open a link" action was unguarded, and the app declares no browser query. On a device with no browser installed the app did not fail to open the link - it crashed. It now shows the address instead.

Windows is at parity. The same screen, the same ten sections, the same words. The Windows copy is generated from the Android source rather than transcribed, and a test re-parses both, plus the hosted page's headings, so they cannot drift apart unnoticed.

Downloads

File For
ChatMailSync-2.1.3.apk Android, arm64. Requires Android 7.0 or later.
ChatMailSyncPortable_2.1.3_English.paf.exe Windows, PortableApps.com installer.
ChatMailSyncPortable_2.1.3.zip Windows, portable zip - unpack and run.

Signed with the same key as every previous release: SHA-256 09:6C:A1:21:E8:DE:29:D4:66:CC:2F:55:E2:0E:6F:4D:04:5C:0F:FE:FC:72:CD:39:E5:75:8E:B8:FB:90:50:95.

versionCode 39. Python 538 tests passed, Android 47 passed.