What's new
Every release of the apps and the relay, newest first. Written for people using Flamenet Messenger; the parts that only matter if you run your own relay are at the bottom of each release.
2026-09-14
android 0.19
Calls end when somebody ends them, and a report in a group actually sends.
- Fixed, An answer could be thrown away. Two loops watch your mailbox, one while the app is on screen and one while it is not, and whichever asks first gets the message. The second one knew what to do with a ringing call and a hang-up and quietly discarded everything else, so an answer it happened to pick up was lost and the person calling sat on Calling for forty-five seconds before giving up. Whichever loop receives a call signal now hands it to the call.
- Fixed, An answer took twenty seconds to arrive. While a call is being set up the app asked the server to hold its request open for twenty seconds at a time, which is right for messages and wrong for the two things somebody is watching a screen for. Measured on a real pair of phones: a call offered at one second past and answered at nine seconds past, and the answer reaching the caller twenty-one seconds later. It now asks once a second for the length of a call, and the same pair measures under three.
- Fixed, Being called while you were already ringing answered the caller busy. The same message can reach you twice, and the second copy was mistaken for a second caller: your phone told the person calling that you were busy while it was ringing at you about them. Every message now carries an identifier so a repeat is recognised as a repeat, which also stops duplicates in conversations and in the call log.
- Fixed, Reporting somebody in a group sent nothing at all. You could choose a reason and press send and the form would close, having sent nothing and said nothing. It reports whoever wrote the message now, and Block in the same place blocks them rather than doing nothing.
- Changed, Report and Block are in the conversation menu, at the top. Reporting used to be reachable only by pressing and holding a message, and blocking only from the banner shown for somebody who is not yet a contact, so once you had kept somebody there was no way to block them from the conversation at all.
- Changed, Closing the app during a call ends it for the other person too, rather than leaving them talking to a call that is already over.
2026-09-14
iPhone beta 0.22.0
Signing a phone out no longer looks like somebody impersonating you.
- Fixed, Removing one of your own devices made everybody who talks to you see a key change, and their app refused to send until they accepted keys that were not new. Signing a phone out is offered on your own Devices screen, so the app was setting a trap in one place and springing it in another, with nothing to connect the two events for the person on the other end. A key that goes away can only reduce who is able to read a message, so it is now read as what it is and settles by itself. A key that arrives is still a key change and still asks.
- Fixed, A call refused because somebody's keys had changed told the caller nothing. They sat on Calling for forty-five seconds and were then told there was no answer, which is not what happened and sends them to check their signal over a decision the other phone made. It now says that the person needs to check their security code first.
- Fixed, Accepting somebody's new keys was possible in one place while the warning appeared in three. Their profile showed the warning and the security code to compare, then told you to go and accept in the chat. You can accept from the profile now. Accepting in the chat also left the warning on screen until you left the chat and came back.
- Fixed, A group had no way to report anything at all, which is the place it is most needed, because a group is where somebody who is not your contact can reach you. Reporting a person is now in the conversation menu beside Block, rather than only behind a press and hold on a message, and reporting a story is beside the reactions where the safety page has been saying it is.
- Fixed, The wallet forgot which receiving address it was on and went back to the first one at every launch, so somebody who tapped New address precisely so as not to reuse one was handed the old one again. It remembers now.
2026-09-14
iPhone beta 0.21.0
Messages survive a locked phone, and nobody is told you are busy by a phone that is ringing at them.
- Fixed, Messages that arrived while your iPhone was locked were lost at the next launch, and the app said it did not have permission to save them. It did not: history was stored under a rule that makes the file unopenable while the phone is locked, which never came up until this was the first build that could wake for a call while locked. History already on the phone is moved to the new rule on the way past, so a phone that has been losing messages stops rather than only stopping for new ones.
- Fixed, A call offer could reach you twice. The second copy arrived while your phone was already ringing for the first, was taken for a second caller, and answered that you were busy, so the person calling was told you were busy by the phone ringing at them. Everything sent now carries an identifier the far end can recognise as a repeat. Both apps had always refused a repeat and neither had ever sent the identifier on the ordinary route, so the check had been asked about nothing since the day it was written, and messages and call log entries have been doubling the same way, where there is no ringing phone to make it obvious.
- Fixed, Closing the app during a call now ends the call on both phones within a few seconds, rather than leaving the other person on a call with nobody.
2026-09-14
iPhone beta 0.20.0
The first build a locked iPhone can be rung on.
- Fixed, A locked iPhone could not be rung at all, and no amount of testing would have shown why. A build installed from Xcode is issued a different kind of push token from one installed through TestFlight, and this relay sends to the second kind. Every attempt to ring such a phone was refused and the token forgotten, and the app registered another of the wrong kind at the next launch, round and round. Nothing in the app was wrong. Calls only ever worked with the app already open, which is not how anybody uses a phone.
- Changed, When the server refuses something, the app tries to put it right before telling you anything is wrong. It fetches a working credential, registers the device again and sends its push tokens again, in that order, and only asks you to do something once all of that has failed. It then says which failure it was, because signing in again and checking your connection are not the same advice.
- Fixed, The call buttons in a conversation went grey after one call and stayed grey until you left and came back. Two separate causes: the screen was never told the call had finished, and a call refused because somebody's keys changed stayed unfinished until you dismissed the key review, which accepting the keys from the conversation never did.
- Fixed, An account already at its device limit now says so, and says to remove one in Settings. It used to come up looking signed in and quietly unable to send or receive anything, which is indistinguishable from the app being broken.
2026-09-13
iPhone beta 0.19.0
Answering a call on iPhone sends the answer.
- Fixed, An answer never left the phone. Answering from the lock screen made the phone fetch the waiting call and stop there, so the person calling heard nothing and eventually gave up. Proved four times against a real handset, with the relay recording the call arriving and nothing coming back.
- Fixed, Hanging up rang the other phone instead of waking it. Every end-of-call message was marked as time critical, which is the marking that makes a phone ring, so ending a call could start one.