• v0.8.0-rc8 136658bc18

    another.im 0.8 Pre-release

    ann released this 2026-11-08 03:06:19 +00:00 | 120 commits to develop since this release

    Signed by ann
    SSH key fingerprint: SHA256:W5M34SUfd1n6UVfu3dIKsi8wVTbvCykT2F7caAghIFU

    another.im 0.8 · 2026-11-08 · tag v0.8.0-rc8

    The line built on libtacky 1.2. 0.8.0-rc8 runs on libtacky 1.2.2. The eighth release candidate of 0.8.

    0.8.0-rc8 — 2026-11-08

    • Auto-download: pictures and stickers download by themselves only from contacts. Settings, Chats' "Auto-download stickers" (Everyone, Contacts, Never) is now one switch, "Auto-download stickers from contacts", on by default; off, every sticker waits for a tap. A stored Everyone (or libtacky's anyone) becomes Contacts when the app starts. A room's member is not a contact for this, even one in your contacts, so a room's pictures and stickers, and those of its private messages, wait for a tap. Your own server's services count as contacts: the sticker catalogue (pubsub.) and the packs it serves show their stickers by themselves; another server's services, and people on your server who are not your contacts, wait for a tap.
    • Rooms: a destroyed room says so. "This room was destroyed" under its name in the header and in the row menu, its name struck through in the list, and over the composer Remove (the bookmark removed, the chat closed) and, when the owner named a new room, "Go to the new room", in place of Join, which would make the room again. A room found gone at sign-in says so too, and is not made again.
    • Chats: clicking the chat that is already open no longer reloads it.
    • From libtacky 1.2.2: auto-download from contacts only in the library too (a room's occupant no contact, your server's services counted); a destroyed room is no longer made again empty at sign-in; a room joined while the link was down waits for it instead of giving up; the room with the newest message still catches up first; a draft holding a character XML cannot carry is published without it.

    0.8.0-rc7 — 2026-11-08

    • Encryption: "Only devices with modern encryption", a switch on a room's details and a contact's info while the chat is encrypted with OMEMO: on, messages go only to devices with OMEMO 2; off, the chat speaks both as before.
    • Privacy: "Keep metadata for legacy clients", on by default: devices with only the old OMEMO get a file's name, size and type unencrypted; off, files arrive unnamed there.
    • My profile: "Who sees my profile", one choice of Contacts only, Picture and nickname public, or Everyone, in place of the profile editor's "Who can see this" (Contacts, Everyone).
    • Profile picture: made small enough to publish (libtacky 1.2.1 refuses one over 72 KiB); "The picture is too large to publish" when it cannot fit.
    • Account: "Change password…" in a new "Password on the server" card changes the password at the server; the Password field above it is now "Stored password" (#94).
    • Sign-in: a refused first sign-in stays on the sign-in screen with its error (#89); the Provider screen's "Use this provider" comes back up when the fields above it fold (#90).
    • Status: Extended away and Free to chat in their own colours on the chat list's header dot, the line under your name, a chat's header and a contact's info, as in Set status (#91).
    • Chats: reactions sit inside the bubble as chips, one per emoji with its count, yours filled; a tap still adds or takes back yours.
    • Chats: with messages picked, a right click on the empty space opens the Selected bar's actions (#93); "Clear history…" and "Delete locally" take messages off this device alone, after asking; a stranger's message dropped with messages from strangers off shows in the chat list with Add contact and Dismiss (#85); a code block's fence lines no longer show in the row's preview.
    • Media viewer: Full screen over a playing video goes on from the same moment and the bubble's player stops, one playback (#87).
    • Badges: a contact on another network has the presence dot back at the bottom right and the network's badge at the top left; Telegram's "Last seen …" is coloured by presence.
    • Rooms: "You in this room" keeps a long nick inside its card; the inactive "Start secret chat" says "Not available".
    • Settings: Expert settings' Log and Secret chats cards are one card, Experimental: "Telegram secret chats" (on), "Matrix E2E encryption" (off; arrives with libtacky 1.3), "Allow foreign E2EE in XMPP" (was "Allow MTProto secret chats with XMPP contacts", off).
    • Linux: Copy image no longer freezes the app for seconds on a photo.
    • Builds: make <goal> XML_LOG=1 makes a test desktop build with an XML console log; released builds do not have it.
    • From libtacky 1.2.1: a bounced message clears its failure when the peer's receipt comes (#20); rooms without a bookmark name take their disco#info name (#21); in a chat on OMEMO, call invites and answers go inside the OMEMO 2 envelope and meetings are refused where nothing can read them; the interop issue's security and correctness fixes; a Matrix send no longer goes twice after a catch-up, a message MongooseIM archives twice shows once, and bookmark writes of a room land in order.

    0.8.0-rc6 — 2026-11-07

    • Sign-up: after the server refuses an account ("already exists", too soon after another), Create account asks for a fresh form and sends the name and password with it, instead of the spent one that answered "The CAPTCHA verification has failed" from then on.
    • Sign-up: a name with capitals no longer leaves the screen on "Connecting…" once the account is made; it opens as any other.
    • Media viewer: the Share button (Android only) is now Forward… on every platform; it opens the forward picker for the message the picture, video or sound came in, and closes the viewer. Share stays in the message's menu.
    • Badges: a contact on another network shows only the network's badge on their picture, no presence dot beside it, in the Forward and New chat picker, the Contacts window and a room's members too, as the chat list already did.
    • Badges: Telegram's paper plane fills more of its badge, as heavy as the presence dot next to it.
    • Android: sharing to another.im from another app's Share menu brings up "Share to…" again when the phone was locked since the app was last open; the app reloads at that unlock, and the share went with the old page, so the app just opened.
    • Push (Android): a chat read or answered on another device now takes its notice off a phone whose app is frozen or closed, with a server that sends the read push (anotherim-server's mod_apush); such a push never makes a sound, a notice or a connection, even one that cannot be opened.
    • Push (Android): a new push token or distributor address that came while the app was closed and could not be sent to the server at once (no network yet after a reboot, the phone's store locked) is tried again later instead of waiting for the app to be opened, so pushes keep coming.
    • Push: a changed push address no longer withdraws the old registration before the new one is taken; a refusal left the account with none.
    • Notifications (Android): with the messages locked, a chat's "N new messages" counts from this lock on top of what its notice showed, not again what an earlier lock counted ("7 new messages" for 4).
    • From libtacky 1.2.0-rc5: catch-up no longer loses messages under clock skew, dropped connections and trimmed archives; a short absence fetches about the missed rows instead of megabytes (bounded peeks, no room history replay); the open chat draws its stored rows at once after an unlock instead of "Loading"; a room read on another device while the phone was locked is told read; Matrix sessions run on vodozemac 0.11.2.

    0.8.0-rc5 — 2026-11-06

    • Addresses: an address typed with capitals is the same account or chat as its lowercase spelling (RFC 7622); nothing in the app depends on the case any more.
    • Rooms: after you change your nick in a room on one device, your other devices show those messages as yours, not as another member's, unread, and take the new nick too.
    • Messages: the app keys messages by libtacky's message id, not the stamp; edits, reactions, replies and read marks no longer chase a message whose stamp moved.
    • Chats: switching chats no longer reads the new chat up to the newest message of the one left.
    • Chats: a forwarded message's "Forwarded from" line goes back to the original, your own forwards included, and never leaves an empty pane under the composer.
    • Status: an away or extended away you set stays yellow or red in the chat with yourself, and the chat list's header asks for your status again each time the account connects instead of staying on a green "Online".
    • Notifications: a picture, video, file, sticker or voice message without a caption says so ("Picture", "Voice message"...) instead of arriving with no text, on Android's background notices too.
    • Android: the backend starts at the top of the window's creation, on its own thread, while the app and the page load; the first answer comes some 250 ms sooner on the emulator.
    • Android: a store split by the fingerprint opens again on a phone whose system gives the app no temporary directory (the backend's temporary files go to the app's cache); a start can be timed with adb shell setprop debug.anotherim.trace 1 (docs/android.md).
    • From libtacky 1.2.0-rc4: addresses are normalised to lowercase, and accounts and chats stored with capitals are migrated once, duplicate chats merged; every message carries a stable id; interop fixes for the stream-error loop, Bind 2 features and roster versioning, unregister, SASL2 channel-binding rules, the vCard echo, the forward namespace, empty uploads, forged stanza-ids, stream limits and the happy-eyeballs/IAP settings; your own nick change reaches your other devices; a forward of a forward keeps the original's sender; a forwarded picture opens; a status you set is kept while the device is locked; a pinned certificate holds after a restart. Test results are in the tag message.

    0.8.0-rc4 — 2026-11-05

    • Chats: locking the device while typing tells the contact you paused; Telegram contacts no longer see typing for minutes.
    • Chat list: no network mark on a gateway contact's picture until the gateway's network is known; the plain bridge glyph no longer shows at a start before the account connects.
    • Settings: an "Ignore for 7 days" certificate exception is bound to the certificate shown; another certificate on that host asks again (libtacky 1.2.0-rc3).
    • From libtacky 1.2.0-rc3: at a catch-up the newest messages draw within one archive answer, then history fills in behind; calls from strangers can be dropped before any answer (calls_from_strangers); a disappearing-message timer travels inside the OMEMO 2 envelope; no link-preview page is fetched for a send that cannot carry it, OMEMO 0.3 above all. Test results are in the tag message.

    0.8.0-rc3 — 2026-11-05

    • Chats: a picture with a caption fills the bubble again; the rc2 change for #77 is reverted.
    • Chat list: the filter and sort button and the folder button are gone; tags do the filtering: the People, Groups, Channels and Bots tags, and a tag's "Offline contacts" switch to leave them out (kept on this device for now, not synced). "Show tags" and "Sort by name" live in the account row's right-click menu.
    • Chat list: one ring, a pixel thinner and a shade lighter, on the status dot and the network badge.
    • Account menu: a left click holds Set status… through Service discovery, and Change account only with several accounts; a right click (or a long press) holds the account switcher, XML console, Disconnect and Log out…; Set status offers Offline.
    • Desktop: typing no longer repaints the whole window on Linux (the message field is contained, the chat wallpaper is one raster tile).
    • Desktop: where WebKit draws with GL and typing still costs much, try GTK_OVERLAY_SCROLLING=0 or ANOTHERIM_WEBKIT_DAMAGE=1.
    • Android: a room's "N new messages" count starts again once the room is read here or on another device; your own room messages written on another device no longer count as new. Test results are in the tag message.

    0.8.0-rc2 — 2026-11-04

    • Chats: the padlock menu of a chat that is not end-to-end encrypted is one line, "Not end-to-end encrypted", and the secret chats to start: "Start secret chat…" with a Telegram contact, OTR or MTProto with an XMPP contact by what their client announces.
    • Chats: replies, mentions and room names in the theme's palette again; a picture with a long caption is as wide as its caption (#77); Ctrl+C and Ctrl+F work on messages picked by a drag (#75, #76).
    • Rooms: every device of your account is marked "(you)" (#78); a message that went to the others but not to some members no longer shows "Not sent", the row says "Not delivered to …" with their names.
    • Calls: on Android a connected Bluetooth headset takes the call (#79).
    • Android: contacts' pictures stay in place across the lock's reload.
    • Settings: Expert settings has "Allow MTProto secret chats with XMPP contacts"; the Read receipts switch flips at once (#74); five presence states, five dots (#73); Message on a stranger's contact card opens their chat (#72). Test results are in the tag message.

    0.8.0-rc1 — 2026-11-04

    • Chats: a secret chat shows a plain lock coloured by its protocol (green for OTR, blue for Telegram, Element's green for Matrix); the paper-plane lock is gone.
    • Chats: the chat list's search row is hidden until the search button brings it out, or Ctrl+F outside a chat.
    • Rooms: an owner has "Room settings…" in the room menu and a Room settings card in the room's details: name, description, members only, listed publicly, keep when empty, moderated, who sees real addresses, invites, subject, message history, and the rest of the room's form under More settings.
    • Settings: an "Expert settings" page holds the version information and the log ("Advanced" is gone); the database encryption note is gone from Settings. Test results are in the tag message.

    0.8.0-beta5 — 2026-11-04

    • Chats: a chat row swiped to the left by touch closes the chat (a room you are in asks first), on every platform with a touchscreen; the search's cross is always there while the search is out.
    • Tags: folders by kind: People, Groups, Channels and Bots in place of "Private"; People no longer shows bots, and a Telegram channel is told from a group by the gateway's mark (#84).
    • Android: the back gesture closes the search before it leaves the app. Test results are in the tag message.

    0.8.0-beta4 — 2026-11-04

    • Chats: reactions are one small pill under the bubble with a count; a disappearing message's timer is a pie after the time, and "⏱ 1d" under the chat's name (Signal's look).
    • Chats: a contact on Telegram or another network wears the network's badge where the status dot sits; one setting, "Show status dots and network badges", rules both. A tags button (a folder) before the sort button; a notice never names a chat "jid (jid)".
    • Calls: the Camera button in an audio call adds video, on every platform (the peer accepts or refuses with a quiet word; Telegram contacts cannot receive video); Share screen on the Linux desktop and the web (Android, Windows and Mac later).
    • Android: tapping a room's notification opens the room (a tap that starts the app, a room named with capitals and the lock's reopen no longer lose it). Linux: the call window moves on a touch drag. Test results are in the tag message.

    0.8.0-beta3 — 2026-11-03

    • Android: locking and unlocking the phone keeps the connection: no reconnect, contacts stay online, a message sent right after the unlock goes at once.
    • Android: no online-then-offline flap when the network changes (the app waits for Android to say whether it may use the new one); one network watcher.
    • Android: a room read on another device withdraws the phone's notice for it; reconnects are far lighter (3 IQs before the presence, no duplicate disco, refused OMEMO bundles left alone for a week).
    • All platforms: contacts keep their last known presence, dimmed, until fresh presence arrives after a reconnect.
    • All platforms: a dead link is found sooner, and the offline wait redials after 5, 10 and 20 s. Test results are in the tag message.

    0.8.0-beta2 — 2026-11-03

    • Settings: Accounts (was "Accounts & connection"), Data and storage (was "Media and storage") and Advanced (the log) again; the database and attachments encryption sit on Privacy and security. Link previews is one switch; "Use tags" in Appearance hides the tags tabs.
    • Chat list and chat: no Tags button in the header (New tag… from the All chats tab's menu); "Not encrypted" replaces "No end-to-end encryption"; "Stickers…" is "Stickers"; a second click on the chat header puts the contact info away; a reply from a notice that could not be sent goes back into the message field.
    • Linux: no freezes while the notification service or push distributor is slow; --background keeps the app hidden; an opaque window where nothing is transparent (ANOTHERIM_OPAQUE=1 keeps it so); no header blink; fewer wakeups.
    • Windows: opening links and files no longer freezes the window; a manual upgrade keeps "Start with Windows"; other apps' xmpp: handlers respected; a proper taskbar badge; each --profile keeps its own notifications; the backend's errors reach the log. Still unsigned and not run on Windows.
    • macOS: the shell log stays small while running. Android: a reply from a notice is kept until sent; a call ringing while the app is closed can be answered or declined from the notice; "Stay connected" no longer wakes the phone four times a second.
    • The 28 fixes of the 2026-11-03 native shell audit. Test results are in the tag message.

    0.8.0-beta1 — 2026-11-03

    • Tags as tabs over the chat list (New tag…, Edit tag…, Delete tag…).
    • One "Start secret chat": OTR with SMP for XMPP contacts, an MTProto secret chat with forward secrecy between two another.im apps (experimental), a Telegram contact's own secret chat.
    • Dialogs can open beside the chat (Settings › Chats › "Where dialogs open"); "Media and storage" replaces "Data and storage", and database encryption can be turned off; "OMEMO keys" lists each key with its own trust.
    • Polls speak urn:fluux:poll:0 and say when they end; the app-wide offline mode is gone (Disconnect an account instead); faster start, catch-up and long chat lists.
    • Linux: a push keeps its notice until read and opens the chat, calls ring as their own notice with Answer and Decline, windows come to the front on Wayland, the AppImage runs on Wayland, Start with the system everywhere, Flatpak drag and drop and Save… to any folder.
    • Windows: one notification per chat with Reply, Start with the system, xmpp: links, a log file, an installer page with "Start with Windows". Not run on Windows yet; the files are unsigned.
    • Android: notices with Reply and Mark read, shortcuts, direct share and Android Auto, calls through the system's Telecom, Stay connected survives a reboot or an update.
    • Desktop: a daily update check named at the foot of Settings; nothing downloads by itself.
    • Fixes: Telegram linking no longer ends in "Cancelled." (#71), albums with disappearing messages, the 2026-11-02 reviews. Test results are in the tag message.

    Upgrading: the web client image is dev.another.im/another-im/anotherim-js-web:0.8 (now 0.8.0-rc8; :latest stays on 0.7 until 0.8.0).

    Downloads: Android (apk, and a build with Google Play services), Windows (installer and portable zip), Linux (Flatpak and AppImage); no macOS build here. Checksums in SHA256SUMS.

    Downloads