Koti – changelog
What changed in each release of Koti, newest first.
Every entry is one line per thing you can notice: a fix you felt, a control that moved, something that used to break and no longer does. The technical account lives in the commit log.
0.86.6 (2026-11-03)
- On phones, a chat keeps the background of the list you opened it from, on every theme.
- On phones, pressing a message no longer darkens the screen behind its menu, and closing the menu no longer brings up the keyboard.
- The selected tab, icons, links and other accent text are now easy to read on Light, Peach, Sage, Lilac, Dune and Glacier, on phones and the desktop.
0.86.5 (2026-11-02)
- On the desktop, reconnecting after a server restart keeps you on the call or chat you were looking at instead of sending you to Friends.
0.86.4 (2026-11-02)
- On the desktop, choosing Rename, Rename channel, Create channel or Add someone from a menu closes the menu instead of leaving it over the dialog.
- The action that gives someone a name of your own now reads Rename.
0.86.3 (2026-11-02)
- Give anyone a name of your own, from their profile. Only you see it, and it follows you to all your devices and notifications.
- On the desktop, clicking Home with a chat open takes you to Friends.
- On the desktop, a group's name lines up with the other chats in the list, with two faces in one avatar's place.
- On phones, pictures, videos and GIFs now fly smoothly between the chat and the viewer, in both directions.
- On phones, a picture stays full size while you pull it away, and letting go early eases it back.
- On phones, Save all saves every photo and video of a message when it has more than one.
- On phones, the media viewer shows who sent the file over the date, as "Oct 31 at 22:14".
- On phones, the viewer's count, caption and video controls are see-through black glass.
- On phones, tapping a message opens its menu where you tapped, without showing a copy of the message.
- On phones, holding a message takes a little longer before it starts selecting.
- On phones, the photo preview has the caption across the screen, with edit, quality and Send below it.
- On phones, the photo editor's tools and labels are clearer: Crop, Draw, Text, Adjust, Filters, Blur and Emoji.
- On phones, notifications, pop-up menus, the reaction row, date labels and notices are glass.
- On phones, saving is one notification that goes from saving to saved or failed.
- On Android, sign-in no longer offers Apple.
0.86.2 (2026-11-02)
- The desktop's sign-in screen now offers Continue with Google and Continue with Apple.
- If your email already belongs to an account with a password, signing in with Google or Apple asks for that password and links them, instead of stopping with an error.
0.86.1 (2026-11-02)
- In the media viewer, moving between pictures is instant, with no fade or flash of black.
- Hold the Left or Right arrow in the media viewer to move through a chat's pictures, faster the longer you hold, and let go to see the one you stopped on in full.
- The media viewer's buttons are see-through, so they cover less of the picture.
- On Android, Koti offers a new version from Google Play when you open it, and restarts into it once it has downloaded.
0.86.0 (2026-11-02)
- Sign in with Google or Apple on every device, or connect them to the account you have in Settings. A first sign-in suggests a username you can keep or change.
- Read ticks in direct messages and groups: one tick when sent, two when read. A message counts as read once it has reached the screen, and a switch in Privacy hides your reads and theirs.
- Forward messages to several chats at once, with "Forwarded from" on each. Messages with a disappearing timer can't be forwarded.
- Pin chats and drag them into order, mute one for a while or for good, mark it unread, clear its history or delete it. A muted chat is silent, calls included, and leaves a missed call in the chat.
- Delete messages for yourself or for everyone, several at a time, and delete a direct message chat for both of you.
- Disappearing messages are now only for chats between two people. Groups lose the timer; what a group already sent keeps the one it had.
- Who is typing shows in the chat list and at the top of the chat, and each chat keeps its own draft, even after a restart.
- On the phone, chats are rebuilt around your thumb: a tap opens a message's menu with reactions, a hold selects, a held drag selects a run, two taps react, a left pull replies and a right pull goes back.
- On the desktop, Ctrl and Shift select messages to copy, forward or delete them, and read ticks show on hover.
- The phone's attach sheet gives the pictures more room, filters photos, videos and GIFs, lists your albums, and a held drag picks several. Holding Send offers sending as files, without grouping, with a spoiler or in high quality.
- Send as many files as you like from the phone or the desktop: past ten they go as several messages, in order.
- The media viewer goes through all of a chat's pictures and videos, on the phone and the desktop.
- GIFs play in chat on the phone, and Settings > Chat has switches for GIFs and videos on Wi-Fi and on mobile data.
- Picking an app icon no longer closes the app: it asks whether to restart now or apply it next time.
- On the desktop, a submenu stays open on the way to it, the call's controls sit in the middle of the stage, every page opens at its top, and on Windows a picked icon reaches the taskbar and shortcuts too.
0.85.0 (2026-10-30)
- Links without http:// work: koti.one, www.example.com or github.com/some/page in a message are links you can click, with a preview, on every device.
- Files in chat are tidy cards: the file's kind, its name on one line, its size and when it expires, and a progress bar while it saves. A file that is already on this computer, because you sent it from here or saved it before, offers Open and Show in folder instead of Download.
- Big files upload much faster from the desktop: several pieces travel at once, and the server stores the finished file faster.
- When an operator lets you send big files, you can send them at once, without restarting the app.
- An operator can let someone send any kind of file, programs included; such files are always downloaded, never opened in the browser.
- On Linux with Wayland, dragging files onto the window attaches them, as it already did elsewhere.
- Uploads in the message box show the same card, with a progress bar while they go up.
0.84.4 (2026-10-30)
- Creating an account no longer ends in "too many attempts" after a few corrections: a username that is taken or a password that is too weak just says so, and the phone app checks both before sending, as the desktop and the browser already did.
- Usernames may contain underscores, like korgi_anonim.
- On a phone or tablet, mute and deafen stay as you left them for the next call, even after the app restarts, so a tablet you keep silent joins silent.
- On a tablet, the chat beside a call slides away with a tap or a swipe on the seam between them, and comes back the same way.
- A screen shared from an iPad or iPhone held sideways no longer arrives upside down.
- In the browser, channels sit under Text and Voice headers, the people in each call are listed under its voice channel with their muted, deafened and sharing marks, and the count beside it is easier to read and says "you + 2" while you are in the call.
0.84.3 (2026-10-29)
- Appearance has themes: Dark, Light or the same as your device, and thirteen color themes with gradients, from Plum and Borealis to Peach and Glacier. Every switch fades over instead of jumping.
- Your own theme takes up to four colors placed along a bar where you want them, drawn as a straight gradient, a smooth one that holds each color before the next, or waves with their own count, height and blur. Text stays readable on whatever you pick.
- An own accent color for buttons, links and highlights works on every theme.
- Your theme follows you to your other devices; turn off "Sync theme across my devices" to keep a device's own.
- An app icon to match: the taskbar, the Dock or the home screen shows the one you pick.
- The You page's band and Discover's covers without a picture take the theme's colors.
- On Android 13 and later, the launch screen takes the theme's color.
- On Linux, picking a window or screen in the system's chooser no longer sometimes leaves sharing stuck for over a minute before the preview shows.
- On the desktop, a friend request waiting for you shows as an orange count on the Home button, Friends and the Pending tab, and at the top of All with Accept and Decline; hide it there, or turn that off in Settings → Notifications. Clicking a request opens the person's profile.
- A friend request that was already waiting no longer plays its sound and notification each time the desktop app starts.
0.84.1 (2026-10-28)
- On the desktop, a friend's whole row in Friends opens your chat with them and lights up under the pointer, and a thin line separates the rows.
0.84.0 (2026-10-28)
- Tapping a chat's name opens its info page: on the phone a full page with the picture, status and quick buttons, on the desktop a panel over the chat. Below that is everything the chat holds: photos and videos, pinned messages, files, links with their previews, music, GIFs and, for a person, the servers and group chats you share.
- On the phone, photos and videos sit three to a row under each month, files show their type, size and date, links show the page's picture and title, music plays in place, and GIFs play in rows of their own shapes. On the desktop, the photo and video grid zooms from two to five a row from its ⋮ menu, and Files and Links have a search field.
- Search on the phone shows pictures in a grid when Images is on, and files and links as rows when those filters are on; a word search shows the message's picture beside it.
- On the phone, a chat's top is three floating glass buttons (back, the name with its status, and call and more) and the message field is one glass pill with emoji, + and a round send button that turns orange once there is something to send. Formatting moved into +, and Search into the ⋮ menu.
- Jumping back to the newest messages from far up the history scrolls smoothly, and jumping to a message lands on it, showing the top of a long one.
- On the phone, a message's time reads as the time for today and as your region's short date and time otherwise, like 28.10.26 18:31, and day dividers say Today or that date.
- Pages outside a chat on the phone are a step lighter, closer to the chat itself.
- On the phone, a sharer's member sheet has their screen's volume beside their voice; on the desktop, a person's Voice and Stream sliders are back in their tile menu, under the mute rows.
0.83.1 (2026-10-28)
- On Linux, pressing Share opens Koti's share picker without the system's window chooser popping up first. The chooser opens when you press "Choose window or screen…", and "Share your screen" reuses your last pick when you have not chosen another.
- A friend's Join button is a soft green that matches the Message button beside it, and Add friend is a quiet button the size of the tabs next to it.
- In your own tile's menu, Stop sharing is red and at the bottom, like Stop watching.
- The share picker's notes on bitrate and sending directly are shorter and no longer wrap a few words onto a second line.
- The text cursor shows only over a message's text, not over the empty space beside it.
0.83.0 (2026-10-28)
- Every context menu has a glyph on each row and one order everywhere: what you do first, then organising, moderation, and anything that removes something last.
- Nested choices open in a submenu beside their row: notifications, time out, roles, disappearing messages, your status, a group's members, Add reaction and a person's volume. A submenu opens when the pointer rests on its row or when you press →, stays open while you move toward it, and closes with ←.
- The camera's arrow in the call dock lists your cameras the way the microphone's arrow lists audio devices, and picking another camera during a call switches to it without turning the camera off.
- A disabled button says why when you hover it, Save waits for a change ("No changes to save"), each view has one main button, and single choices are segmented controls.
- Icon-only buttons show a tooltip that fades in after a short pause; Settings → Appearance can add the keyboard shortcut to it.
- Avatars are larger in direct messages, member lists and friend lists, a person's presence sits on their avatar, and search fields are taller and show their shortcut.
- Toasts appear at the bottom right of the pane with a glyph for their kind.
- Opening a voice channel always shows its full call view, and a 1:1 or group call shown over its chat keeps the room's search and menu closed while it is on screen.
- Hint text under settings and other grey text are lighter, so they stay readable on every background.
- On an incoming call, Decline and Accept are both reachable with Tab, and on Discover each card has a Join or Open button.
0.82.0 (2026-10-27)
- Koti has a new look on the desktop, the phone and the web: navy surfaces from the koti.one logo, orange for buttons, selections and sharing, pink for what wants your attention (unread counts, a mention of you, the new-messages line), and green for who is online and talking.
- Text is set in Manrope, which has Cyrillic, so Russian, Ukrainian and Belarusian messages no longer switch to another font mid-line; sizes and weights follow Material's type roles, so buttons, tabs and names are bolder and body text is heavier and easier to read.
- With one set of colours, the accent picker is gone: Settings → Appearance on the desktop keeps the UI scale, and the phone and the web drop the page.
- Icons are one set on every device and sit centred in their buttons, and the emoji picker's nature tab shows a leaf; on the phone and the web they keep their designed proportions, so a close cross no longer looks as large as a bell.
- A person has the same avatar colour on every device, whatever name they go by.
- In a call shown over a chat, the call takes the place of the room's header, so the call and the conversation get the whole pane.
- The keyboard focus ring is a soft white outline outside the control instead of the accent.
- On the web, the fonts and icons come with the app instead of from your system, so a page looks the same in every browser.
0.81.0 (2026-10-26)
- In a 1:1 or group call, the call sits above its chat, so you can talk and write at once. Taking a call opens the caller's chat with the call on top, and the chat's call button shows the call full size instead of calling again.
- People an admin gives a quota can send files far past 200 MB from the desktop, up to their quota of at most 50 GB: such files stay for 14 days, go up and come down in pieces that pick up where they stopped, and are never held whole in memory. Settings → Storage shows what you keep and opens the chat at the message.
- An upload keeps going when you open another chat, and a toast says when one you left behind finishes or fails.
- A removed or expired file shows its name and size and says what happened, and a very large picture shows as a file instead of being loaded whole.
- The desktop has an admin area for the people who run a Koti server: Overview, the report and support queues, People, Storage, Servers, Groups, Announcements, Audit and Settings, each a page of its own.
- When another app is using your camera, Koti says so once and turns the camera on as soon as it is free, instead of failing.
- On the phone, a shared screen looks much better in games and videos: it starts at a higher bitrate, slows down only when the connection keeps struggling, and on Android raises the bitrate further while the picture needs it.
- On the phone, sharing your screen over mobile data asks each time and says how many gigabytes an hour it can use, and a share that moves from Wi-Fi onto mobile data tells you.
- On the phone, someone who starts watching a still screen sees it at once instead of waiting for it to change.
- On the phone, closing the camera preview without turning the camera on no longer leaves the camera running, and a tap on your own share's card no longer ends the share.
0.80.4 (2026-10-25)
- Windows PCs watch shares in AV1 when their graphics can decode it, and share in AV1 on NVIDIA and Intel graphics as well as AMD: a sharper picture at the same bitrate. A PC that cannot keeps using H.265.
- "Remember this device" at the two-step sign-in now counts its 30 days from the last time you used Koti on that device, not from the code: a device you keep using, signing out and in again included, is not asked for the code again.
- The window opens wide enough for the whole Friends list, its title and tab counts included, with Active now beside it.
- A friend in a call you can join shows where they are, as Active now does, with a Join button in place of Call.
0.80.3 (2026-10-24)
- A server update no longer interrupts a share you are watching: the picture keeps playing, without the stop and start sounds, and if a share does end and come back, Koti watches it again by itself.
0.80.2 (2026-10-24)
- A share watched on the same home network plays with much less delay, picture and sound: one late frame no longer makes Koti hold back a fifth of a second for minutes, on the desktop and the phone.
- Sharing to someone on the same network sends each full picture several times faster, so their view keeps up with yours.
- An expanded share has a button between the picture and the people under it (shown when you point at the stage) that hides them for a bigger picture and brings them back.
- The call panel at the bottom left no longer cuts off "Voice connected" or your name, since the sidebar stops a little wider; with the sidebar collapsed, the call, share and disconnect buttons sit above your picture.
- While a call is on screen, the text channel you had open is no longer shown as selected.
- The "Still in the call?" card is gone from the desktop; the one notification after five minutes alone stays.
0.80.1 (2026-10-24)
- When someone's voice cuts out on a weak connection or over Bluetooth headphones, it fades out and back in instead of clicking or buzzing.
- On a connection with uneven delays, voice keeps a little more in reserve after it cut out or came too late, so it drops and repeats words less; the reserve shrinks again after a few clean minutes. Details shows the target next to the current buffer.
- A share that cannot start at full quality on your connection switches to lower quality by itself and tells you why.
- On the phone, a shared screen the phone cannot play at full quality switches to low quality with a note instead of staying black, and one it cannot play at all says so. The note's Full quality button goes back for that person only.
- On the phone, a shared screen that keeps freezing on your connection switches to lower quality by itself, as on the desktop.
- When the server no longer accepts this version and no newer one is out yet, Koti says so and checks again every minute; the Mac App Store app opens its App Store page.
- Koti is for people aged 16 and over: sign-up asks you to confirm you are at least 16, and the Terms and Privacy Policy say so, with someone under 18 needing a parent's or guardian's agreement.
- On the phone, the Koti picture on a notification is the cat on its own, without a navy square.
0.80.0 (2026-10-24)
- On Windows with AMD graphics, screen sharing uses AV1 when the AMD encoder is the PC's first AV1 encoder: a sharper picture at the same bitrate, with damage from a lost packet repaired as quickly as on the other codecs.
- After a slow server restart, the shares you were watching come back by themselves.
- A shared video that paused and starts again plays smoothly instead of stuttering for a while.
- Watching a share or camera through the relay starts on a clean picture instead of a smeared one.
- A call going on in a direct message or group you are not in shows a "Call in progress" bar under the conversation, with Join (or Switch here, when you are in it on another device).
- Reconnecting after a server restart no longer rings the other person in a direct call.
- A voice channel's member list shows display names even when you are not in the call.
- Sharing a window that is covered or minimised no longer pops a notice; Details → Your share says so quietly.
- On Linux (KDE), clicking the tray icon brings the window to the front with focus.
- When a server stops serving an older Koti, the app updates itself instead of trying to reconnect, and a browser tab reloads.
- On the phone, the call screen and full-screen view are reworked: a tap on the picture hides the header and controls, the controls float in a slimmer bar, landscape keeps them at the bottom with people beside the picture, a watched share can be turned to landscape from its corner, and the settings sheet over a call is see-through.
- On the phone, a call joined right after opening the app has sound from the start, and "Your session ended" no longer appears at launch when the session is fine.
0.79.1 (2026-10-23)
- A new order for channels or servers made just before quitting, signing out or closing the browser tab is saved instead of lost.
- Escape while dragging a channel or server puts the list back as it was.
0.79.0 (2026-10-23)
- Drag channels into a new order in the sidebar, within Text or Voice: with Manage channels the new order is what everyone sees. The rows make room as you drag, and releasing outside the list puts everything back.
- Drag servers into your own order in the server list; it follows you to every device and nobody else's changes. Servers you join later go to the bottom.
- On the phone, long-press a channel or a server and drag it; letting go without moving still opens its menu.
- Sign in with your verified email address as well as your username.
- New accounts no longer join the Koti server on their own. It is the first server in Discover, marked Official, and open to everyone.
0.78.4 (2026-10-22)
- On Linux and Windows the Koti icon in the menu, taskbar and tray is the cat on its own, without the navy square, and larger.
- The sign-in, starting and updating screens show the Koti cat instead of a placeholder dot.
0.78.3 (2026-10-22)
- Koti has a new icon: a bigger, simpler cream cat with orange headphones on a navy tile, easier to spot in the taskbar, tray, launcher and browser tabs, on light and dark panels alike.
0.78.2 (2026-10-20)
- Watching a share in full screen, the window returns to the call view when the last share you watch ends.
- On KDE, Match source finds the sound of a window whose app the desktop does not name, such as a Wine game, when its title matches the app playing it.
- The share picker no longer shows the codec line, and the Match source label is shorter.
0.78.1 (2026-10-20)
- Right-clicking a field on the sign-in and sign-up card opens Cut, Copy, Paste and Select all, and Tab moves to the next field again after a right-click.
- Password fields have an eye to show or hide what you typed.
- Signing up asks for your age first, and the Terms of Service and Privacy Policy open straight from the checkbox label.
0.78.0 (2026-10-18)
- The sound of a shared screen no longer cuts out for a tenth of a second on slower connections, and it now stays in step with the picture instead of running ahead of it.
- A screen shared from Linux at 60 fps no longer sends twice the data it is set to, which kept viewers on long-distance connections freezing and falling behind.
- A viewer whose connection falls more than a second behind jumps back to live instead of watching an ever older picture.
- A share that keeps freezing on your connection switches to the sharer's smaller picture on its own and tells you, then tries full quality again after ten clean minutes; picking the quality yourself turns this off.
- Closing the window you share ends the share with the usual share-ended sound instead of leaving viewers on a frozen picture.
- Your own share tile shows the codec and encoder it is sent with.
0.77.1 (2026-10-16)
- When a shared screen sits still for a while, a viewer that loses a frame recovers within about 45 seconds instead of a minute or more.
0.77.0 (2026-10-13)
- Chats say which day messages are from, and messages someone sends in a row sit under one name; hovering one shows its time, and pinned or edited ones still say so.
- Group conversations have a members list: see who is in a group, add someone, or leave it.
- Clicking a server in Discover first shows what it is about; you join from there.
- A banned account is told "You are banned from <server>" instead of a permission error, and a disabled account is told so when it signs in.
- While you are timed out, Koti no longer offers reactions, edits or pins it would refuse, and the end of a timeout always names the time.
- A computer without speakers or a microphone says so once in a call instead of repeating an error, and the call no longer reads "Healthy" while nobody can be heard.
- Call tiles keep the person's name at the bottom and their status notes in the top corner.
- Moderators and members can look at a server's overview and roles in Server settings, and role chips wrap when a server has many roles.
- "Sign out others" no longer signs this computer out too.
- In the browser, videos and voice clips play in place, and the app fits a phone screen better.
- Smaller things: files show a paperclip, your name in the corner is no longer cut short, the mention list shows display names, search results show emoji and mentions, and deleting a channel or role names it.
0.76.2 (2026-10-11)
- Pictures waiting to be sent show a small preview above the message box, in rooms and direct messages alike.
- For Koti's operators: pasting a picture with Ctrl+V works in a support conversation, through the same preview as in chats.
0.76.1 (2026-10-11)
- Discover looks cleaner: topics sit in a row across the top next to the search, and each server is a card with a cover made from its picture, a short description, its topics and how many people are online and in it.
- When the terms of service change while Koti is open, it asks you to accept them instead of answering every action with "You don't have permission to do that".
- On Windows computers without a graphics card that supports DirectX 12, such as virtual machines, Koti opens its window again instead of starting invisibly.
- A large server's member list and counts are read again when you open it, so they stay right.
- Pictures that failed to load once, for example while you were signing in again, load on their own a little later instead of staying a file until Koti restarts.
- For Koti's operators: the support inbox shows who is waiting for an answer with a badge, notifies you when someone writes, shows the whole conversation with pictures and files, and replies are written with the same message box as any chat, attachments included.
0.76.0 (2026-10-10)
- Servers can be opened to anyone: the owner turns on "Open to join" for one lasting invite link, adds a description and up to three topics, and can ask for the server to be listed in Discover. The compass at the foot of the rail opens Discover, with topics and a search.
- Two-step verification: "Remember this device for 30 days" skips the code on this computer, turning it on offers to sign out your other sessions, and a data export asks for your password as well.
- Large servers stay quick: the member list loads in pages, a long channel loads older messages as you scroll up instead of holding everything, and pictures and profile pictures download at the size they are shown.
- A server's bans and audit log show more than the newest 200 with "Load more".
- Report sits right after Copy text in a message's menu, either person can remove a "Missed call" line, and blocking someone says the friendship ends.
- Rings, shares and friend requests name people by their display name.
- Sign-up links the privacy policy next to the terms.
- A server voice channel holds up to 50 people.
- A 1:1 call no longer starts with about 15 seconds of "No audio".
- On Windows, reopening Koti from the tray no longer crashes it.
- On a Mac, choosing a menu bar item such as About Koti no longer crashes it, and notifications are no longer lost while the window is busy.
- Quitting Koti while sharing your screen no longer crashes it on Linux.
0.75.8 (2026-10-10)
- On Linux with Wayland, the system's screen chooser opens in front of Koti, also when Koti is fullscreen. Before, it could open hidden behind Koti, so "Choose window or screen" seemed to do nothing.
- Koti no longer freezes, and gets closed by the desktop, when the share picker asks the system which apps are playing sound and the answer never comes.
- While the system's chooser is open, the share picker says so. Choosing again replaces a chooser that is not showing, and closing the picker closes it.
- On KDE, sharing a window with "Match source" brings only that app's sound, shown as "Match source: Firefox", instead of the whole computer's. The sound starts once the app plays.
- "Change what you share" on Wayland offers "Match source" again while a window is shared, and a new share keeps following the window's sound.
0.75.7 (2026-10-10)
- Watching a share over a shaky connection no longer turns the picture grey or smeared after a hiccup: when Koti re-sent lost pieces of the video, a burst of them arriving late made it throw away the frames it was holding without noticing, so the picture stayed broken until the next full frame.
0.75.6 (2026-10-09)
- Watching a share over a shaky connection stays smooth: when Koti buffered more to ride out the losses, it showed only a part of the frames, so the picture looked frozen or jumpy even though they all arrived.
0.75.5 (2026-10-09)
- The new icon replaces the old K everywhere after an update: on Linux the taskbar and the app menu, on Windows the desktop and Start Menu shortcuts kept showing the K.
0.75.4 (2026-10-09)
- Koti has its new icon: a cat with headphones, in the taskbar, the Dock, the app menu and the window.
- The tray icon shows the cat's small mark, which stays visible on a dark panel or taskbar.
0.75.3 (2026-10-09)
- On the Mac, sharing your screen works: the picture reaches the people watching, instead of failing after a few seconds while only your own preview showed it. A shared window of any width keeps working.
- On the Mac, when the window you share opens a fullscreen window of its own, such as a video in Safari's fullscreen, the share follows it there and back.
- On the Mac and on Linux, sharing a window brings that app's sound by default ("Match source"), as on Windows. On Wayland, which does not say which app owns a window, it brings the whole computer's sound, without Koti's own.
- The share picker opens on what you are sharing, or on what you shared last, so changing only the sound keeps your window or screen. On Wayland it brings back the window or screen you shared last without asking again; "Choose window or screen" picks another.
- The share picker keeps its list of windows up to date while it is open. On the Mac it also lists windows on other desktops and minimized ones, marked "not on screen".
- A computer without a microphone hears everyone without breaks: the others kept restarting their connection to it every few seconds, which cut their voices in and out.
- Rejoining a call right after Koti closed while you were sharing no longer shows your old share to everyone.
0.75.2 (2026-10-09)
- Updating at start-up no longer signs you out: Koti used to start its sign-in and the update at the same moment, and the new version could start before the renewed sign-in was saved. The sign-in now begins once the update check has answered, which takes a moment longer on a machine without a connection.
- A copy of Koti that cannot update itself, such as one run from a folder you cannot write to, now says so and opens the download page instead of showing a failed update.
0.75.1 (2026-10-09)
- When Koti stops a screen share by itself, because the share failed too often or could not be rebuilt, the share now ends for the app too: the screen-sharing indicator goes away and the share no longer shows as running.
- On Linux, the preview in the share picker runs at the share's frame rate instead of 10 frames per second.
- On Linux, a share that failed while starting no longer keeps capturing the screen in the background.
0.75.0 (2026-10-09)
- Videos and audio play inside Koti: a video in a chat shows its first picture with a play button and its length, and opens a player with play and pause, seeking, the arrow keys to skip 5 seconds, volume, full screen and Save. An audio file plays right in the chat.
- A computer without a microphone hears the call again when people join from a phone: Koti listens and shows the microphone as unavailable, instead of hearing nobody.
- Koti no longer crashes now and then while it lists your microphones, speakers and cameras, which happened when one of the system's audio services would not start.
0.74.4 (2026-10-08)
- On Windows, a notification is headed "Koti" with the Koti icon from the first one after installing; before, the first notifications of a fresh install were headed by the app's internal id without an icon.
0.74.3 (2026-10-08)
- Your servers, friends and groups no longer vanish when Koti reconnects while the server is still coming back after a restart: what is on screen stays, and the lists are fetched again on their own a few seconds later. The web app does the same, and the phone's Servers and Friends screens keep their lists instead of showing an error.
- A failed refresh of the unread counts no longer raises an error toast.
0.74.2 (2026-10-08)
- On Windows, clicking a Koti notification brings Koti in front also when the notification's own window is still on screen at that moment, which is what kept it behind on some machines: Koti asks again for up to a second and a half once the notification has gone. The log now also says when a notification was not raised and why.
0.74.1 (2026-10-08)
- On Windows, clicking a Koti notification brings the window in front again on machines where it only switched the conversation behind other windows; Koti now takes the foreground the way the click left it, and its log says what happened to the window.
0.74.0 (2026-10-08)
- Dropping off the network for a few seconds during a call (a Wi-Fi roam, a knocked cable) no longer makes the others hear you leave and come back: your place in the call is held for 15 seconds while you reconnect, and your screen share stays up.
- Signing a device out from another device shows it offline right away; before, it stayed "online" to everyone until the server restarted.
- Stopping a screen share or a camera while the room is busy no longer leaves a frozen tile on the others' screens, and a tile for a share that ended while you were offline goes away when you are back.
- An incoming call stops ringing on the desktop after 45 seconds even when the word that it ended never arrived, and a call that ended while you were offline no longer shows as ongoing.
- Someone's speaking ring no longer stays lit after they stop talking when the frame that said so was lost.
- "Is typing" means the same on every device: it shows while someone's text is changing, goes away a few seconds after their last key or as soon as their message lands, and no longer shows when they merely tap into the field or open a message to edit it.
- You read as Idle after ten minutes without touching Koti on the desktop or in the browser, and as Online again on the first key or click; a status you picked yourself is never changed, and a phone you are using keeps you Online.
- A new friend, and the members of a server you joined, show who is online right away.
- In the browser, a brief connection drop no longer re-joins the call with a blip for everyone, and a call whose connection stays down for a minute ends, as on the other apps.
- Leaving a group while calling it stops ringing the others.
- Messages raise a notification again while Koti sits in the tray, also when it started there at sign-in, and while the window is open on another conversation or on Friends; only the conversation already open in front of you stays quiet.
0.73.5 (2026-10-07)
- On Windows, clicking a Koti notification brings Koti to the front and opens what it was about, also when Koti was closed to the tray or minimized; before, the click opened nothing.
0.73.4 (2026-10-07)
- A sharer on an AMD card on Windows no longer refreshes the full picture over and over while Koti tries to size its keyframes: after two tries that change nothing, Koti leaves the keyframes as they are.
0.73.3 (2026-10-07)
- Show chat keeps the call on screen: a share or camera keeps playing above the chat as a regular tile you can click to focus, and dragging the edge between the call and the chat sets how much room each gets.
0.73.2 (2026-10-07)
- A share you watch arrives with less delay: the sharer's computer sends each frame's packets in a few short groups instead of one by one, and a backlog behind a keyframe drains in a fraction of a second instead of standing for seconds.
- Watching a share no longer starts with an extra tenth of a second of delay that took a minute to shed.
0.73.1 (2026-10-07)
- A share you watch no longer hitches every few minutes when Koti trims the delay it had added for a slow keyframe; the delay now shrinks too slowly to see.
- A short stall of the Koti window, a heavy page in a browser beside it for instance, no longer drops frames of the share it shows.
- A sharer on an AMD card on Windows no longer sends an extra full-picture refresh every 5 s while Koti sizes its keyframes.
0.73.0 (2026-10-07)
- A share you watch plays as smoothly as it was captured: frames that used to arrive in bunches and lose every second or third one on a 240 Hz screen are now shown one by one at their own time.
- A sharer on an AMD card on Windows no longer refreshes the full picture every time Koti adjusts its bitrate, and full-picture refreshes are sized to pass without a hitch.
- The Details panel's Picture line reads delivered/shown frames per second; shown below delivered now means frames bunched up on the way, not a loss.
0.72.0 (2026-10-07)
- A share you watch while Koti is in the background shows every frame the sharer sends, instead of about two out of three.
- A share hitches for its periodic full-picture refresh every 30 s instead of every 10 s.
- When only phones in low quality watch your share, or nobody does, your computer stops encoding the full-quality picture after 10 s; the next person to watch in full quality waits a moment longer for the first frame.
- A phone that only listens to your share, or has Koti in the background, now gets only its sound, and your computer sends it no picture.
- Someone whose picture fell back to the relay after a hiccup goes back to the direct connection by itself once it works again, instead of staying on the slower relay until they watched again.
- Phones watching in low quality catch up faster after a burst of picture data.
- On Linux, Settings → Advanced offers Automatic, Vulkan and OpenGL; DirectX 12, which Linux does not have, is gone, and a Vulkan choice saved by an earlier version reads as Automatic.
0.71.6 (2026-10-06)
- The "direct to everyone" tooltip on your share explains what it does and what it costs right now, instead of showing "0.0 Mb/s for 0 copies".
0.71.5 (2026-10-06)
- A planned server update no longer interrupts you: Koti reconnects quietly, and while your call keeps working it shows no "Connection lost" bar and plays no sounds.
- The server comes back from an update in seconds instead of about half a minute.
- A screen share you are watching no longer blinks when Koti reconnects to the server.
0.71.4 (2026-10-06)
- Starting a screen share plays a short cue, so you hear that you are live.
- "Someone starts sharing" plays only when you need to click the share to watch it; a share that opens on its own because you watched that person's last one stays quiet.
0.71.3 (2026-10-06)
- When the graphics driver stops Koti's window from updating, Koti notices within seconds and offers to restart; your call keeps running until you say yes.
- On Windows, Automatic now draws with DirectX 12, which copes better with a game switching display modes; Vulkan stays available in Settings → Advanced.
- Choosing a different renderer and pressing "Restart now" uses it straight away, without quitting Koti first.
- Images in chat fit within 360 × 320, so a phone screenshot no longer runs down the whole conversation.
- Hovering a message no longer shrinks its images or rewraps its text, and moving the pointer up the conversation keeps the toolbar on the message under it.
0.71.2 (2026-10-05)
- Someone sending large videos from their phone no longer disconnects everyone from Koti for a moment.
- The Direct connection tick boxes are back in a person's menu, so voice, screen and camera go direct in one click.
0.71.1 (2026-10-04)
- Opening Settings from the "Add an email" card on Home no longer leaves Two-step verification and Sessions on "Loading…".
- "Upload limit for direct streams" has an Automatic box, goes up to 1000 Mb/s, and says when it matters and what one copy of your share costs.
0.71.0 (2026-10-04)
- A message you sent from your phone no longer shows as unread on the desktop, and writing in a room clears it on your other devices.
- Owners can rename a server, give it a picture and delete it from Server settings → Overview.
- A timeout shows until when it runs, the timed-out person is told so in place of the message box, and a moderator can end it early.
- Being kicked or banned names the server, says why when a reason was given, and takes you Home.
- A new account starts with a welcome card: add a friend, join with an invite or create a server.
- Invite links in chat show a card with a Join button instead of opening the browser.
- Koti works with the keyboard alone: a visible focus ring, Tab through the sidebar, the chat and dialogs, and the first field ready for typing.
- You can add an email at sign-up to reset a forgotten password, and the sign-in card has "Forgot your password?".
- A deleted account goes offline and leaves your friends list at once, and reads "Deleted account" in old conversations.
- The Koti support conversation no longer offers a call and says who reads it.
- A friend request shows on screen, not only as a sound, and "Read all" appears only when something is unread.
- With no microphone connected, Koti says so before you join instead of offering "System default".
- Ban and Time out take a reason, Kick is in the message menu, and pinned messages are marked in the timeline.
- Typing a full :shortcode: sends the emoji, and server pictures show in the server list.
0.70.0 (2026-10-03)
- Leaving a server keeps your messages unless you tick "Also erase my messages there", and an owner is told who the server passes to.
- Labels, names and buttons that did not fit now end in "…" instead of being cut mid-letter, and windows that are small or scaled up keep every button reachable, sign-in included.
- Menus, server settings and moderation only offer what you are allowed to do, name the person they act on, and time someone out for 5 min, 10 min, 1 hour, 24 hours or 7 days.
- Errors say what went wrong in plain words ("No one is called bob. Check the spelling.") instead of codes like "404 Not Found".
- People are shown by their display name everywhere, and "Username" is the one word for the name you sign in with.
- Channel timers are called "Disappearing messages", like those in direct messages, and open as their own short list.
- A channel only some people may write in says "Read-only for members" to those who can.
- Switching channels quickly no longer shows a false "check your connection" error.
- Voice and settings texts are plainer: "Just you here", "2 in call", call details in words, units like "100 %" and "0.2 s".
- The quick switcher starts with the rooms you were in last.
- Links in announcements and on the legal pages open, mail addresses included, and the legal pages name support@koti.one.
- On a Mac, the share picker says when macOS has not allowed Koti to see the screen and opens the right settings page.
- Text and controls are easier to see: brighter accent text, readable role colours, and visible checkbox and slider edges.
0.69.8 (2026-10-02)
- After a shaky stretch, a watched screen share catches up with real time within about a minute and a half instead of three to four minutes.
- Closing a screen share and opening it again starts it without the delay the earlier view had built up.
0.69.7 (2026-10-02)
- When you are the only one watching a screen share on a shaky connection, a frozen picture comes back in about two seconds instead of six or seven.
- On Windows with an AMD graphics card, a screen share no longer piles up seconds of delay during fast-moving content such as games.
- On Windows, a shared window that goes full screen no longer breaks the share for about half a minute.
0.69.6 (2026-10-01)
- Screen sharing works as it did in 0.69.4 again. The changes in 0.69.5 made shares look worse on a shaky connection, so they are undone, including its fix for a shared window going full screen on Windows.
- With Do Not Disturb on, messages, mentions and friend requests no longer make a sound, just as they already showed no notification. Calls still ring.
0.69.5 (2026-10-01)
- A screen share freezes less on a shaky connection: lost pieces are asked for again for longer, and a viewer who is the only one watching gets a fresh picture within about two seconds instead of up to seven.
- A new screen share sends less by default (about 17.7 Mb/s at 1440p and 60 fps instead of 26.5), and never bursts above 1.5 times its bitrate to catch up, which Wi-Fi handles better. A bitrate you picked yourself stays as it was.
- On Windows, a shared window that grows, for example a video going full screen, no longer breaks the share for about half a minute.
0.69.4 (2026-09-30)
- Links in messages show a preview card with the page's title, description and picture. Remove the preview before sending from the bar above the text field, or close a card you received with its X; that only hides it for you.
- Clicking a notification brings Koti to the front again with the conversation open, also when Koti was closed to the tray.
- The mouse's Back and Forward buttons move between the places you visited, so Back after messaging someone from a call returns to the call.
- Shift+click extends a selection: in the text field from the cursor, and in the chat across messages.
- Selected text is easier to see.
- Editing your last message with the Up arrow puts the cursor at the end.
- The formatting buttons above the text field are always shown, and links you type there are highlighted.
- Clicking the quote above a reply jumps to the original message.
- On the phone, links are no longer underlined through the letters, and an expired sign-in no longer shows up as a crash report.
0.69.3 (2026-09-30)
- The Windows installer notices an existing Koti: update it and keep your settings and sign-in, or reinstall from scratch. It also asks whether you want a desktop shortcut.
- Installing while Koti is open asks to close it first, and Koti then quits the way Quit in the tray does, leaving a call cleanly.
- Uninstalling on Windows asks whether to also remove your settings and sign-in.
- The Linux install command updates an existing Koti in place instead of adding a second copy, keeps the menu and start-at-login entries pointing at it, offers a desktop shortcut, and restarts a Koti that was still running.
- On the phone, a room you can no longer open says so at once instead of loading for half a minute, pull-to-refresh ends as soon as the lists answer, and anything that failed to load while offline comes back when the connection does.
- The install command on the downloads page has a Copy button.
0.69.2 (2026-09-30)
- On the phone, opening the app no longer flashes "Could not reach the server" while it is still connecting: the list stays loading until it arrives.
- On the phone, a list that could not load comes back by itself once the connection is back, and Retry and pull-to-refresh now reload everything the list is built from.
- The downloads page leads with one download per platform. Linux gets a download that always fetches the current version, and an install command for the terminal; older versions are folded under each platform.
0.69.1 (2026-09-29)
- On the phone, the paperclip opens your recent photos and videos in a grid, with Photo, Video, File and Gallery above it. Pick several in order, tap one to see it full screen, and send them with a caption.
- On the phone, a photo can be cropped, rotated, drawn on, given text or emoji, filtered or blurred before it goes.
- Several photos or videos in one message show together as an album, with the caption under them.
- A video sent from the phone shows a still from it and its length right away, and photos show a blurred preview while they load.
- On the phone, a picture you opened closes with a swipe up or down, and a double tap zooms in.
- In the phone's conversation list, a one-to-one chat no longer starts its last message with "You:", and a photo or file shows as "Photo" or "File" with its icon instead of its file name.
- The downloads page has a "Download for Windows" button whose installer always fetches the current version.
0.69.0 (2026-09-29)
- Choose how photos and videos are sent: Original, High or Data saver. Set it in Settings → Chat on the desktop or You → Chat on the phone, or pick another level for one message beside the files you attach. Location and camera details are removed either way.
- Attachments can be up to 200 MB, and the phone sends iPhone HEIC photos too.
- Photos and files sent from older phone versions go through again, instead of ending as "Not sent". When something does fail, the phone says why and offers Retry only when trying again can help.
- Friend links open straight in the phone app.
- Signing out is quicker, even offline, and leaves nothing of your account behind on the device.
- Quitting or restarting Koti leaves a call right away, and a call whose connection to the server stays lost ends after a minute on the desktop as on the phone.
- A failed update on Windows puts the previous version back.
- Security and privacy fixes: hidden channels stay hidden, a session you sign out elsewhere is cut off at once, and changing your password asks for your two-step code when it is on.
- In the browser, sessions and calls hold up better, each room keeps its own draft, and messages missed during a reconnect are fetched.
- Many smaller fixes, plus improvements and optimizations across the app, the browser version and the server.
0.68.8 (2026-09-29)
- Watching a shared screen that comes through Koti's relay shows the picture within about a second, where it could take from two to ten seconds.
- Calls in the browser carry sound and pictures. Before, a browser joined a call with no sound or picture at all.
- A call in the browser keeps working past ten minutes, when it used to lose everyone's sound and pictures.
- Chrome can share a 1080p screen. Before, it refused anything larger than 720p.
- In the browser, a share that was already running when you joined can be watched, and a moment of lost sound fades out instead of cutting to silence.
- In the browser, a "Low quality" tick box beside each share asks the person sharing for a smaller picture, as on the desktop.
0.68.7 (2026-09-29)
- On Linux with Wayland, "Start Koti in tray with the system" now starts Koti with only its tray icon, and closing the window hides Koti to the tray instead of leaving the window open.
0.68.6 (2026-09-29)
- "Start Koti in tray with the system" replaces "Start Koti with the system": Koti starts at sign-in with only its tray icon, and a new install has it on.
- An update installed while Koti sits in the tray restarts it in the tray, instead of opening the window.
0.68.5 (2026-09-25)
- When Koti's server restarts during a call, you no longer hear everyone leave and rejoin, and their voices and shared screens carry on untouched.
0.68.4 (2026-09-25)
- Watching a share over a shaky connection no longer claims your computer can't decode it, and the share no longer falls back to another video format for the rest of the call.
- The stream's delay, which grows while a connection keeps losing packets, comes back down a few minutes after the connection recovers, even if you switched quality or re-watched in between.
- A shared window going fullscreen, or leaving it, pauses the picture for a moment instead of restarting the share for everyone watching.
- "No video from the sharer yet" no longer runs across the screen icon.
0.68.3 (2026-09-25)
- A microphone or headset plugged into a different USB port keeps working in calls. Koti uses the same device on its new port, or your default one, instead of failing with "Element failed to change its state".
- When the microphone or speakers you picked are not connected, Settings and the call menu show them as "not connected" and name the device Koti uses until they are back.
- A microphone that still cannot be used says why, once per call: for example that Windows is not letting desktop apps use the microphone, or that another app has it to itself.
- Unplugging the microphone or speakers you picked during a call switches to your default device instead of going silent.
0.68.2 (2026-09-24)
- On the phone, a version your server no longer supports shows the update screen when Koti opens, instead of trying to sign in again and again.
0.68.1 (2026-09-24)
- A note from Koti is a small card the size of its text, instead of a big box that is mostly empty. Long notes scroll, and "Got it" always stays in view.
- The terms, the transparency text, the camera preview and a pasted image likewise open at the size of what they show.
0.68.0 (2026-09-24)
- Koti can show everyone a short note when something important changes. It appears once when you open Koti, and after "Got it" it is gone on all your devices. It never interrupts a call, and every note has an end date, so opening Koti after a long break never greets you with a stack of old news.
- In the browser, an account asked to accept updated terms now sees them, instead of "Loading…" forever.
0.67.4 (2026-09-24)
- A message with only a photo, video, voice clip or file in it shows as "Photo", "Video", "Audio" or "File" in the Messages list and in notifications, instead of "sent an attachment" or the file's name.
- Notifications for messages, calls, friend requests and shared screens name people by their display name, and your own display name shows at the bottom of the sidebar, in Profile settings and on a message that is still sending.
- On the phone, a message with a photo or file attached sends again.
- The paste preview no longer shows the "Enter sends · Esc cancels" line.
- A window left drawing at its old size after a resize now redraws itself at the new size.
0.67.3 (2026-09-23)
- In the Messages list, a conversation whose last thing was a call says so: "Outgoing call · 12 min", "Outgoing call · No answer" or a red "Missed call", with the call's arrow.
- On the phone, the status dot on a picture is bigger and shaped as Discord draws it: a moon when idle, a bar on do-not-disturb, a hollow ring when offline.
- On the phone, an incoming call rings as one card, the system's call notification with the caller's picture and red Decline and green Answer buttons, whether Koti is open or closed. The card from inside the app no longer shows under it; it only appears when notifications are off for Koti.
- On the phone, Answer on that card joins the call and opens the call screen, and Decline tells the caller even when Koti is closed.
- On the phone, the attach button sits on the right: where the send button is while you have not typed anything, beside it once you have. The send button is a round accent button that no longer looks switched off.
0.67.2 (2026-09-23)
- On the phone, the Activity card for a call shows the name larger with everyone's pictures, and joining or switching to this phone is a small round button.
- On the phone, a double tap on a shared screen or a camera opens it full screen, and a double tap in full screen goes back. Pinch still zooms.
- On the phone, a big shared screen's close and full-screen buttons appear with a tap and fade away again. A small one is a card like the faces beside it, with no buttons on it.
- On the phone, a call can stop popping out into a small window when you leave the app: Picture-in-picture in the call's More menu. It stays on unless you turn it off.
- On the phone held sideways, the call's buttons run down the right edge and are smaller, and the faces fit the screen in one row.
- On the phone, the screen no longer turns off when something covers the top of it during a call.
- On the phone, the camera preview is larger and fits the screen either way round, and the call notification shows the other person's initials when they have no picture.
- On the phone, the bar for the call you are in sits apart from the tabs below it, and the speaker button no longer looks like a phone.
0.67.1 (2026-09-23)
- A call nobody answers now ends by itself after 45 seconds with "No answer", and one the other person declines ends with "declined the call". It used to keep ringing out forever.
- A call card in a chat calls back when you click anywhere on it. Older call lines, like "started a call that lasted less than a minute", now look like the other call cards.
- On the phone, a watched screen opens as the call screen with the picture filling it: the same controls at the top and bottom, a red button to stop watching, and a swipe up or down to go back. Its corners hold a small close and a full-screen button.
- On the phone, while you are in a chat's call, the chat's header becomes the call bar: "In call" with the time, the microphone and hang up. The chat's other actions moved into a menu next to the call button.
- On the phone, turning the camera on shows a preview first, where you pick the front or back camera and whether you see yourself mirrored.
- On the phone, the app turns sideways with the phone when rotation is allowed, and your camera's preview turns with it.
- On the phone, the call notification shows the other person's picture, and "Switch here" appears everywhere a call you are already in on another device is listed.
0.67.0 (2026-09-23)
- On the phone, the call screen is laid out anew. In a call with one person they fill the screen and you sit small in the corner; tap any picture or face to enlarge it, tap it again to open a picture full screen, and press and hold for that person's volume and settings. The controls are one bar at the bottom, the speaker button sits at the top next to the chat, and the More, sound and person menus are grouped lists.
- On the phone, a watched screen takes the whole stage with everyone else in a row below it. In full screen its controls sit at the top again, stay readable over bright pictures, and a double tap zooms in.
- On the phone, your own camera no longer turns sideways and changes shape when you hold the phone on its side; the other side still sees you upright.
- A call that has ended is a small card in the chat: which way it went, how long it lasted, the time, and a button to call back.
- A finished call no longer raises a notification on the computer or in the browser. A missed call still does, with the caller's name.
- If you are in a call on your phone, the computer offers "Switch to this device" instead of "Join call", and the phone offers "Switch here" the other way round.
- When nobody else is in your call, Koti says so: "Calling Anna…" while it rings, then "You're alone in this call". After five minutes alone it asks whether you want to stay or leave, and never leaves on its own.
- On the phone, an incoming call while the app is open shows only the in-app card, not a system notification on top of it. The call screen no longer says "Relay" before anyone has joined or "Live" when nothing is being shared.
- Opening a server with many members is quick again and no longer strains the server: offline members show a hundred at a time behind "Show more", and pictures load for the rows you can see.
- A 1:1 call on the computer is titled with the other person's name, not the name of the channel you had open.
- On Linux, the AppImage adds itself to the application menu, and the sign-in screen shows the real version number.
0.66.0 (2026-09-22)
- A call in a direct message or group chat leaves a tidy line in the chat when it ends: a phone icon and "Anna started a call · 34 s", or "Missed call from Anna" in red, or "You called · No answer" for the one who called. Short calls now show their seconds instead of "less than a minute", the length counts from when someone answered rather than from the first ring, and the caller is named by their display name.
- On the phone, the call screen has a new row of controls: camera, microphone, where the sound plays, share and More, with a wide End button below. A long press on the microphone deafens. Muted and deafened look the same everywhere, and each press gives a light tap.
- The phone can show its camera in a call. Your own card becomes your camera's preview with a button to switch between the front and back lens. The camera pauses while the app is in the background and comes back when you return.
- On the phone, the sound follows headphones and Bluetooth on its own as before. Tap the sound button to switch to the loudspeaker, or, with a headset connected, pick where the call plays from a list.
- On the phone, a shared screen you are watching keeps playing in a small window when you leave the app, and the controls over a full-screen picture fade away after a few seconds.
- Phone notifications show the sender's round picture, for incoming calls and friend requests too.
- On the phone, answering a call works from any screen: the incoming call card used to be hidden inside chats and on the call screen. A call that rings while you are already in one gives a quiet call-waiting tone instead of the full ringtone, and ringing now vibrates.
- On the phone, messages that arrived while the app was away no longer go missing from a chat you had open, and notifications resume properly after a call that ended in the background.
- On the phone, the screen turns off when you hold it to your ear during a call, and a phone call or alarm that interrupts a Koti call no longer leaves its sound on the wrong speaker.
- On the phone, retrying a failed edit no longer posts it as a new message, and what you were typing survives editing another message and leaving the chat.
- The phone's start screen shows the Koti logo throughout, and text follows the phone's text size setting up to twice the normal size.
0.65.3 (2026-09-22)
- A lost internet connection is noticed within about 20 seconds, and the app says so. It used to take up to two minutes, and until then a call looked alive with "Reconnecting…" beside each person.
- After a server restart, asking to watch a shared screen again could show nothing: the picture kept arriving at the one you had already closed. Watching again now always starts a fresh picture.
0.65.2 (2026-09-22)
- A server update no longer interrupts you. The app used to say "Connection lost" with a sound the moment the server restarted, even though the call carried on untouched. It now reconnects quietly, usually within a couple of seconds, and says nothing unless the connection stays down: 15 seconds after the server announced its restart, 3 seconds after any other drop. The same goes for "Reconnecting…" in a call on the phone and the status dot in the browser.
- "Reconnected" appears only after a loss you were told about.
- Server restarts are over in about a second instead of more than ten.
0.65.1 (2026-09-22)
- On the phone, the question before watching a shared screen on mobile data now carries a "Low quality" tick: up to 720p, about 1 GB an hour instead of 6. It is on by default; untick it to get the full picture for that call. The question used to quote the full picture's cost while fetching the low one, and the full picture could only be had from the voice settings.
- The quality can be changed while watching: the chip at the top of the full-screen picture says "Low quality" or "Full quality", and a tap switches. The choice holds until the call ends and leaves the setting as it was.
- After choosing low quality, leaving mobile data for Wi-Fi offers the full picture in a notice at the top.
- The top of the phone's call screen shows the call's time beside its name, and "Direct" and "Live" side by side under it. They were stacked in a column on narrower phones.
0.65.0 (2026-09-22)
- Opening the phone app after it had been closed for more than an hour could leave it offline without saying so: conversations loaded, but no call could be joined ("Joining…" for good) and nothing arrived live until the app was closed and opened again. The sign-in it had kept was out of date, the live connection was refused once and never tried again. It now renews the sign-in on the spot and connects, and a first connection that fails for any reason is retried like a dropped one.
- The incoming call card on the phone is a small card at the top of the screen. It was stretched over all of it.
- Calls can now connect directly over IPv6. When both people have an IPv6 address (most mobile networks and many home lines do), voice and shared screens can go straight between them even where the older kind of address cannot get through, such as a computer on a phone's hotspot or on mobile data calling someone behind a home router. Those calls used to go through the server every time. Nothing to set up: it follows the same choices as before, friends connect directly, and "Hide my network address from everyone" keeps everything on the server.
- The log now says, a few seconds into a call, which addresses each side offered for a direct connection, which of them answered, and what the call settled on, so a call that stayed on the server can be explained afterwards.
- On the phone, a call could freeze for good while it looked alive: the timer ran and the buttons lit up, but mute, deafen, leave and "Stop sharing" did nothing, nobody's state changed, and the server went on counting you in the call after you had given up on it. It happened the first time a lost video packet had to be repaired, so a shared screen with a viewer on a poor connection set it off, and so did watching a screen that lost packets. It came with 0.64.0 and is fixed.
- On Windows, a shared window whose capture failed to restart after a resize left a broken piece inside the share as it was torn down. The share recovered, but its encoder and GPU memory were never given back, a little more each time. The piece is now removed, and the share closes cleanly.
- On the phone, the call screen's chip says "Direct" when the voices really come straight from the people in the call, and "Direct 1 of 2" when only some do. It used to say "Relay" whatever the route was. The route and the call's health now sit at the top, under the call's name.
- A phone that answered someone's call offer now tells them its address again when it changes: the public address it learns a moment after joining, and the new one after it changes network. Before, a direct connection could only form when the phone happened to be the side that offers, which is decided by the two accounts' ids.
- After the phone reconnects its call socket, it goes on looking for a direct connection with the addresses it already had. It used to stop looking until the other side offered again.
- Allowing a direct connection with someone during a call, or taking a call before the friends list had loaded, now uses the addresses they already sent.
- A call on the phone that stops working inside no longer stays on screen as a live call that takes no taps: it ends, says that it stopped unexpectedly, tells the server you left, and the next call starts normally.
- Opening the app again while its call service kept it alive no longer leaves the old call counted on the server: the old call is left, and the new one is asked for again if the socket was not ready the first time.
- Someone in a call whose connection to you never started is asked again every few seconds instead of reading "Connecting…" for the whole call.
- While the phone shares its screen to a viewer on a bad connection, the repairs it sends are limited to the share's own bitrate, and a full network queue costs packets instead of stalling the call.
- A screen shared from the phone no longer ends the moment someone whose device plays H.265 starts to watch, on a phone whose H.265 encoder will not take the share's size. The phone checks that encoder when the share starts and, if it refuses then or later, goes on in H.264 for everyone. Only an H.264 encoder that will not start ends the share.
- The voice settings opened from the call screen stay below the status bar and above the navigation buttons, and scroll.
0.64.0 (2026-09-21)
- Watching someone's screen on a weak connection or a data plan: right-click their tile and tick "Low quality". The sharer starts a second, smaller encoding (up to 1280×720 at 30 fps, about 2.5 Mb/s) and you get that one, at roughly a sixth of the data; untick it for the full picture again. The line under the tick box shows the size that arrives. Everyone else keeps the full stream, and your connection no longer affects theirs: a low-quality viewer's losses, keyframe requests and codec limits stay with the low stream. The sharer sees the second stream on their share's details card. If the sharer runs an older version, the line says low quality is not available from them.
- The phone asks for a shared screen in low quality by itself on mobile data, and switches the moment it moves between Wi-Fi and mobile data mid-call. Settings → Voice has the choice: on mobile data, always, or never. A picture that arrives in low quality says so in the viewer.
- A screen you start watching shows its first picture at once. Joining within a second of one of the sharer's regular full frames used to leave it black for two seconds.
- Right-click menus keep their inner spacing while you scroll them, the scrollbar no longer sits on top of the volume numbers, and a menu never touches the window's edge.
- The software H.264 encoder used when no hardware encoder works was being asked for a thousandth of its bitrate. It now gets the right number and holds to it.
- In a call of three or more, a phone now hears everyone. It used to find a direct connection with one person only, and anyone else who had found one with it went unheard until the first person left.
- A phone in a group call no longer makes its voice connection on the desktop drop and reconnect every two seconds, and its "late" count stops climbing for packets that were only second copies.
- Someone you cannot hear is asked to send their voice through the server instead, after three seconds of silence.
- A screen share stops moving a viewer back and forth between direct and the server when another viewer's connection wavers, and a viewer who can only watch through the server counts against your upload wherever they are.
- On the phone, mute, deafen, the speaker and leaving stay one tap away while a shared screen fills the display.
- You decide how much of your upload direct copies may use: Settings → Video → "Upload for extra direct copies", in Mb/s. With enough of it, a screen share goes straight to everyone in a group call instead of through the server.
- "Send directly to everyone" in the share picker and on the share's details card does the same for one voice room without touching the setting, shows the upload it needs, and is remembered for that room. If your upload proves too small the share still moves to the server by itself and says so; ticking the box again retries.
- Your camera is routed per viewer like a screen share: one person who can only watch through the server no longer sends everyone's copy there, and a viewer whose direct path dies moves alone and comes back when it works again.
- "direct voice" and "direct video" in the call details count the connections that really are direct right now; who allows one is in the tooltip.
- A codec is only offered to sharers once this machine has decoded a test picture with it and the picture came out right, on a hardware decoder. A decoder that is installed but produces nothing, or garbage, no longer pulls a whole call onto a codec it cannot show, and AV1 or H.265 on a software decoder no longer counts: those viewers get H.264.
- Nothing above H.264 is offered or sent in the first moments after launch, before those checks have finished; the app says what it can do again once they have.
- AV1 is not used on Windows for now, neither to share nor to watch: its decoder there showed artifacts, so a call with a Windows machine in it shares in H.265.
- A decoder that keeps failing on frames, or takes packets and shows nothing, is caught while you watch, and its codec is withdrawn after the second time.
- Hovering a viewer on your share's details card shows what they can decode.
- On the phone, your microphone is live the moment you join; it used to take up to a second.
- The phone notices when it moves between Wi-Fi and mobile data, or to another access point, and reconnects the call at once instead of after seconds of silence.
- When a direct connection from the phone goes quiet, its voice goes through the server again within half a second while the connection is checked, and a person who says they cannot hear the phone is sent through the server straight away.
- The phone follows the call server if its address changes mid-call, and a change of video codec mid-stream no longer has two decoders fighting over one picture.
- On the phone, a voice or a shared screen that never starts is asked for again by itself: a lost request is repeated within a quarter of a second, then the connection is rebuilt, then the other side is asked to offer it again. Meanwhile the call says "Joining…" or "No audio" instead of "Live", and the picture says it is being asked for again instead of spinning in silence.
- A camera that never arrives on the desktop is asked for again the same way a shared screen already was.
- When the phone loses its connection to the server mid-call it says "Reconnecting…" straight away, and a call that ends by itself says why: the connection was lost, it moved to another device, or you could not join.
- A phone call, an alarm or the assistant borrowing the phone's audio no longer makes you look disconnected: the others hear silence until it is given back.
- The phone's call service starts before the microphone does, so joining with the app out of sight no longer risks a muted call.
- The phone checks its video decoders the way the desktop does, by decoding a test picture and looking at what came out, and offers AV1 or H.265 only on a hardware decoder that got it right. It used to claim any format whose decoder merely started, which could pull a whole call onto a format the phone then showed badly.
- A decoder on the phone that fails twice on a real stream stops being offered, and the person sharing switches format by themselves.
- A screen or camera you watch on the phone can come straight from the other person's device, as voice already could: both of you have to allow it (friends do by default), and the person's sheet in a call has a second switch, "Screen and camera directly", with a line saying what is in the way when it is not direct. On the same Wi-Fi this keeps a shared screen inside the house.
- On mobile data pictures always come through the server, and the phone says so.
- If a direct picture stops arriving it moves to the server by itself, and comes back once the direct path answers again.
- A screen shared from the phone is sent at the pace of the quality you chose, and when the network cannot keep up it drops whole frames and asks the encoder for a fresh picture instead of piling up seconds of delay.
- Viewers of the phone's share who ask for a fresh picture at the same moment get one between them, as on the desktop, and a viewer whose picture froze is answered first.
- A picture watched on the phone adapts how long it waits for repairs to the connection it arrives over, the way the desktop does: shorter on a clean direct path, longer through the server or when repairs keep arriving too late.
- The phone's shared screen goes straight to viewers on the same Wi-Fi when both sides allow it, while everyone else keeps watching through the server. A share with sound stays on the server for now.
- The log now says what each person in a call can decode whenever the share's codec is chosen, and a viewer's log says when its first keyframe arrived and when its first frame was decoded.
0.63.0 (2026-09-20)
- Calls with friends skip the server. A voice call with someone on your friends list now connects straight to them, which is faster; everyone else still goes through the server, as before. Each of you sees the address the other's connection uses, which is what going direct means.
- You can send one friend through the server anyway from their name in a call, on either app, and turn direct connections off for everyone with "Hide my network address from everyone" (Settings → Security on the desktop, You → Voice on the phone). Both take effect in the call you are already in.
- Unfriending or blocking someone ends a direct connection with them on the spot.
- A screen or camera shared with friends goes direct too, as long as your upload can carry it: one copy is what you send either way, and a second copy of a big screenshare is more than most connections have, so the group watches through the server instead. Small streams — a camera in a three-person call — go direct to everyone.
- If your upload turns out not to carry it after all, the share moves to the server by itself and says so, for the rest of that share.
- Two-step verification works on the phone: signing in asks for the code, and You → Security turns it on and off.
- "Contact support" writes to us from the desktop, the browser or the phone — as a conversation with Koti if you are signed in, or a form that needs no account. A report you file now gets an answer when it is acted on.
- Two phones on one account stop taking each other's calls and signing each other out; each device is listed by its own name under Sessions.
- A private call stays private when it moves to another of your devices or comes back after a restart.
- On the phone, direct messages and servers are two places again, and the conversation list opens without waiting for every server.
- Watching a shared screen on the phone no longer falls apart into a repair storm on a fast stream.
- A share that starts black is asked for again instead of stared at, and it keeps its place on the server through an upload that comes and goes.
- Smaller things: the chat button on a voice row is legible, and your own paused share preview stops pulsing.
0.62.0 (2026-09-20)
- Two-step verification: Settings → Security sets up an authenticator app, shows ten recovery codes once, and offers to sign out every other device. Signing in then asks for the code after your password, on the desktop and in the browser, and a recovery code works when your phone does not. Changing your email address, downloading your data, creating a bot token and deleting your account ask for a code too. Lose both the app and the codes and an operator can turn it off for you, which ends every session.
- Report a message or a person from the desktop, with a reason and anything you want to add, and block someone from the same menu. What a blocked person writes folds away behind a line you can open, and Settings → Security lists who you blocked, to unblock.
- A private call now leaves a line in the chat: "Missed call" when nobody answered, or how long it lasted when it did.
- Someone added to a group while a call is running sees that call straight away, and someone who leaves the group stops seeing it.
- Someone starting to share their screen notifies the people who can see that call and are not in it, if they have that switched on.
- In the browser, Home lists the messages that named you, newest first; a click opens the room on the message.
- On the desktop, the window no longer pauses while settings are saved, and opening the microphone menu is quicker. Stopping a camera, or leaving a call with the camera on, no longer freezes the window for a moment per person.
- On the phone, a message arrives as its conversation: the sender's picture and name, the last few lines of the room, and Reply and Mark as read on the notification itself. Replying from there sends without opening the app.
- On the phone, a server, channel or group can be set to all messages, mentions only or nothing, or muted, and the choice matches the desktop.
- On the phone, the verification and password-reset links you are mailed open in Koti instead of a browser.
- On the phone, Home is a server rail beside your direct messages, with Home, Activity and You as tabs that carry their own counts; conversations preview their newest message, a NEW line marks where unread messages begin, a pill counts what arrived while you read and takes you back, swiping a message replies to it, and a tapped quote jumps to what it quoted.
0.61.1 (2026-09-19)
- Koti lives at koti.one now. Your app moves there by itself and keeps you signed in, and links to koti.lezio.app keep working.
0.61.0 (2026-09-19)
- On the phone, signing in to a real server works: the app crashed on its first secure request, and a Let's Encrypt certificate read as revoked.
- On the phone, a friend who is online shows as online from the moment you open the app, not only after their status next changes.
- On the phone, a call that is already going on can be joined instead of rung again: the chat shows a "Call in progress" bar with a Join button, the Messages list marks the conversation and offers Join, and the Activity cards join too. A call running on your computer moves to the phone when you join it there.
- On the phone, starting a call from a chat opens the call screen, the call keeps a strip at the top of every chat, and the call is named after the person, the group or the channel instead of "Call". Chat and the voice settings sit at the top right of the call screen.
- On the phone, a call no longer turns rough a few seconds in: the sound you hear stays clean for the whole call.
- On the phone, your microphone gets the desktop's treatment: noise suppression, a gate that fades between words, and echo cancellation that stops the others hearing themselves through your speaker. You → Voice, and the sliders icon in a call, set noise suppression (Off to High), echo cancellation and automatic volume, and a change applies to the call in progress.
- On the phone, a call survives the screen going off or another app coming up: a notification shows who it is with and for how long, a tap returns to it, and End call or Leave call ends it from there.
- On the phone, a call plays through Bluetooth or wired headphones that are connected, follows them when they come or go, and gives the phone's sound back when it ends. Connecting or disconnecting a headset used to cut the call's sound and microphone for good.
- On the phone, settings cards keep their title and switches in line with their rows.
- On the phone, the people in a call are cards in the middle of the screen; tap one to set that person's volume, down to silence. The phone remembers it per person.
- On the phone, a voice channel on a server lists who is in it, with a screen icon on whoever is sharing; tapping it offers Return to the call, the channel's chat, and Leave. From a channel call, Chat opens the server so you can pick a text channel.
- On the phone, the call screen closes by itself when the call moved to another device.
- On the phone, a screen shared in a call can be watched: whoever shares gets a card with a Watch button, the picture plays above the people, a tap opens it full screen, turned either way, with pinch to zoom. AV1, H.265 and H.264 all decode on the phone's own video hardware, so a phone that watches does not pull the share down to an older format for everybody.
- On the phone, a share's sound plays in stereo, apart from the voices, and a long press on the picture sets how loud that person's screen is. With a Bluetooth headset whose microphone is in use, the sound is as narrow as the headset's call link allows.
- On the phone, someone whose camera is on gets a camera button on their card; their picture then fills the card, and a tap opens it full screen.
- On the phone, a watched screen can be kept for its sound alone: a long press on the picture offers Sound only, which stops fetching the video while the sound plays on, and a tap on the card brings the picture back. The video also stops being fetched while the call screen is minimised, the app is in the background or the screen is off.
- On the phone, a share or camera you were watching comes back by itself when its sender restarts it in the same call.
- On the phone, watching over mobile data asks first, once per call. You → Voice turns the question off.
- On the phone, a watched screen or camera appears sooner: the phone used to miss the first full picture its sender sent and wait seconds for the next one.
- On the phone, the full-screen picture has a button that turns it to landscape even with the phone's rotation locked, and at full size it holds still under a finger; it pans once zoomed.
- On the phone, you can share your screen in a call: Share on the call screen asks how sharp and how smooth (up to your screen's own size, 30 or 60 frames a second), Android asks for the screen, and the share goes on while you use other apps. What your other apps play is shared with it unless you turn Share sound off; apps that forbid capture stay silent, and the call itself is left out. It is sent as H.265 when everyone watching can show it and as H.264 otherwise, costs nothing while nobody watches, and asks first on mobile data.
- A call you moved to another device stays there: a phone that was offline during the move used to take the call back silently when it reconnected, leaving both devices showing the call and the first one without sound.
- Watching a share in the browser no longer asks the sharer for a fresh full picture every second: the repair packets a share carries were counted as lost ones. The share looks steadier for everybody while a browser watches.
- "Connect directly" is gone from Settings: calls go through the relay unless you and the other person both allow a direct connection with each other, from their menu in a call or on their profile. If you had the switch on, your calls are relayed again until you allow the people you want.
- On the desktop, a chat whose call is already going on shows a green Join call button with how many are in it, instead of a call button that looks like it would ring everyone again.
- A voice channel's own chat can be opened on the desktop and in the browser: an Open chat button on the channel's row, since clicking the row itself joins the voice.
0.60.1 (2026-09-17)
- A camera that another app is holding, or that the system's privacy settings block, no longer looks switched on while sending nothing: Koti turns it off and says why.
- Watching the share or camera of someone you have not allowed a direct connection with starts over the relay straight away, instead of after a wait for a direct path that could never open.
- Error reports name the Koti version they came from, carry the warnings that led up to the error, and leave out IP addresses. A share that had to fall back from a failing graphics encoder sends one report instead of one per encoder.
0.60.0 (2026-09-17)
- A screen share you are watching stays watched when the sharer changes window, resolution or what they share, or stops and starts again: it comes back without another click, still full size if it was. Stopping to watch, or watching someone else in the meantime, asks again next time.
- A graphics card that claims a codec it cannot actually decode no longer costs you the picture: Koti decodes a test frame at startup and falls through to a decoder that works.
- Starting Koti a second time brings the running window forward instead of opening another copy, and an update waits for the old copy to close before the new one starts.
- The microphone meter in Settings only moves while the mic test runs.
- Every percentage slider – input and output volume, notification volume, UI scale – moves by one percent again instead of jumping between its ends.
- Dragging a slider during a call no longer floods the server with "too many requests"; the settings you change only reach the call when they actually change.
- Settings say less and say it plainly: shorter help under each control, no repeated titles in "What Koti can see", and the accent colours, the restart button and the profile chips speak for themselves.
- "Relay my calls" is now "Connect directly", off by default: turning it on can be faster, shows your IP address to the people in the call, and needs both sides to have it on.
- Your handle is called your nickname everywhere, and a mention keeps pointing at the person it named: after a rename old messages show their new nickname, and someone taking their old name never inherits those mentions.
- A status of Invisible, and the status menu where you are: click yourself at the bottom left to set Online, Idle, Do not disturb or Invisible. The status is kept on your account, so every device shows the same one, and Do not disturb also holds back desktop notifications.
- Each notification sound is a small player: its waveform, its length, play and a repeat button, so a quiet custom sound is visibly quiet.
- Settings → Advanced can start Koti when you sign in to the computer, and holds three setting profiles on your account: save this computer's settings into one, load them on another, and keep the one you follow in sync. Devices and sign-in stay per computer.
- Changing your password asks for the current one on its own, and the button only lights up once the two new ones match.
- Keybinds take combinations (Ctrl+Shift+M) and mouse buttons, and show as keycaps with a Bind button when unset. On Wayland they work in games: keys through your desktop's own shortcut settings, mouse buttons after a one-time permission that never gives Koti your keyboard.
- Closing a dialog fades it out where it stands instead of flicking it into the corner.
- On the phone, everything the desktop does in text and with people: confirm your email, reset a forgotten password, change your address and password, and see the phones your notifications go to; reply, edit, delete and pin messages, see who is typing, and read messages with bold, italic, code, spoilers, quotes and links; react with an emoji picker that knows your servers' own emoji and stickers; attach photos, videos, audio and files, with a viewer to swipe through a message's pictures and videos; a profile picture and a description, a card for any person with message, friend, block and report on it, a friends screen with a link anyone can follow to become your friend, groups you can make and leave, a blocked list, and a status; search a conversation with the same filters as the desktop, @mentions that complete as you type, a jump to any message from a search hit or a mention, and Activity listing every message that named you; a server's members, roles, bans, audit log and emoji, with kick, time out, ban and unban from a member's card; the calls going on right now at the top of Activity.
- On the phone, an out-of-date build shows a button to the store once the server knows where a newer one is.
- On the phone, voice: a voice channel on a server screen shows who is in it, and a tap joins it; a strip above the dock keeps the call in sight with mute and leave while you read elsewhere; leaving the app does not drop a call. Debug builds have a voice loopback under You to hear your own microphone the way a peer would. A call screen shows everyone in the call with a speaking ring, mute and deafen glyphs and a lane badge, health chips for the route and the lanes, a timer, and mute, deafen, speaker, chat and leave. A direct message has a Call button; a call for you rings the phone's own ringtone with a card to answer or decline while the app is open, and stops when the caller gives up or when you answer or decline on another device.
- A call for you rings every device you are signed in on, and answering or declining on one stops the others; the caller hanging up or 45 seconds passing stops them too, and the phone gets a push for the ring and for its end so a locked phone can stop on its own. Someone on do-not-disturb is not rung. Taking a call over on a second device tells the first one the call moved, and the first one leaving no longer hangs the call up. The caller is told when the other person declines.
- Signing up asks for a nickname and a password only; an email address can be added later under You → Account on the phone or Settings → Account in the browser.
- Every message that names you can be listed from the server: the phone's Activity tab reads it, and the browser will.
- The terms, privacy policy, legal notice and "What Koti can see" are written in plain words: who we are, what is stored, who else handles it and where, how long it stays, and whom to complain to. The pages carry a header, links between them and a footer, and follow your system's light or dark setting.
- In the browser, everything the desktop does in text and with people: messages render bold, italic, code, spoilers, quotes and links as on the desktop; @mentions complete as you type and light up the messages that name you; search a conversation with the same filters, and a result jumps to its message however far back; an emoji picker with your servers' own emoji and stickers; profile pictures, and a card for any person with message, friend, block and report on it; groups made from a dialog; leaving a server with the erase tick; server settings with roles, members, kick, time out and ban, bans, emoji and the audit log; channel rename, disappearing messages and delete; verify your email, resend the mail, reset a forgotten password, change your address and your handle; browser notifications on the same switches and per-server levels the desktop uses; settings in tabs; the four accent colours; Ctrl+K to jump anywhere.
- In a browser call: deafen, everyone's mute and deafen glyphs, a Call button on a direct message with a ring card when someone calls you, Active Now on Home, and a small tile for anyone's camera.
- In the browser: the legal pages have their own layout and are linked from the sign-in screen and Settings; creating a server, a channel or a group, inviting people, deleting a message, erasing your messages and deleting your account ask in Koti's own dialogs instead of the browser's; a wrong password on a confirmed action no longer signs you out; message actions can be reached with the keyboard; buttons that are only an icon have names for screen readers.
0.59.7 (2026-09-14)
- Running two copies of Koti on one computer no longer signs you out of both.
- Settings → Security has a switch to keep your sign-in out of the system keyring, so Linux stops asking for your password to unlock it.
0.59.6 (2026-09-14)
- If a newer release comes out while an update is waiting for you, the update button offers the newest one instead of the one it saw first.
0.59.5 (2026-09-14)
- The message box and the panel with your name in the bottom left sit a little higher and line up along the bottom.
0.59.4 (2026-09-14)
- The incoming call card shows only who is calling, without an "Incoming call" heading above it.
- If an update fails to install when Koti starts, you land on the sign-in screen with a notice instead of an "Updating…" spinner that never ends.
- Closing Koti no longer leaves a hidden copy running in the background, which could block the next update until a restart.
0.59.3 (2026-09-13)
- On Windows, clicking a notification brings Koti to the front on what it was about, whether it was behind other windows, minimized or closed to the tray. A notification clicked later from the notification centre works too, and one left over after Koti was closed starts it. Before, the click did nothing at all.
- A message you send right after your own last one appears straight under it, instead of showing your name and picture for a moment first.
0.59.2 (2026-09-12)
- On Windows, clicking a notification opens what it was about. Once a toast slid into the Action Center it stopped being listened to at all, so the click did nothing — for chat messages and for calls alike.
- The people offered under `from:` and `mentions:` while you search are sized like the list of filters above them, rather than half the height.
0.59.1 (2026-09-12)
- Clicking a notification lands you on what it was about. An incoming call puts the answer card back up rather than only raising the window, and Koti comes to the front — flashing its taskbar button where the system will not let it take focus outright.
- A notification for a mention says that it was a mention, instead of reading like any other message.
- The call at the bottom left names the server as well as the channel, and the timer has its own line rather than crowding the corner. Its share and leave buttons are a size up from the microphone and headphones beside them.
- The update badge asks "Update ready. Restart?". Clicking it always did restart and finish the update; it just described waiting for the next launch instead.
0.59.0 (2026-09-12)
- A screenshare you watch through the server no longer dies every ten minutes. The permission the relay checks was quietly expiring while you watched, and leaving the stream and joining it again was the only thing that brought the picture back. Voice through the server had the same fault.
- Joining someone's screenshare takes a few seconds less, and the first picture arrives even when the shared window is perfectly still — before, a motionless screen could leave you looking at nothing until something on it moved.
- Settings has one control for direct connections instead of four. "Force direct connections for group screenshares", "Receive screenshares through the server" and "Prefer direct camera connections" are gone; "Relay my calls" and the per-person "Direct connection" tick are what decide the route now, so what happens is what those two say. The two that overlapped could disagree, and one of them could quietly send every screenshare you watched through the server for months.
- Your card at the bottom left is tighter: share and hang-up sit beside the call rather than in a band of their own.
- Active Now cards are flatter and less rounded, and the tooltip on the top one no longer covers the heading above it.
- Section headings read as headings — "Active now" rather than "ACTIVE NOW".
0.58.0 (2026-09-11)
- Search a conversation. The search box at the top right of every chat finds messages by their words, and filters narrow it down: who wrote it, who it mentions, whether it has a link, a file or an image, before, after or on a date, and pinned messages. Clicking into the box lists the filters; people, content types and dates are offered as you type, and dates can be picked from a calendar. Plain words search as you type.
- Results open in a column beside the chat, newest or oldest first, with the matching words highlighted. Clicking one takes you to that message in the history and lights it up briefly, even when it is months back, and scrolling down from there walks you forward to the present.
- Invite a friend with a link. "Add friend" on the Friends page takes a username or copies a personal invite link; opening it makes you friends straight away, and it works for a whole group chat until it expires after a week.
- Everyone's online status is a small badge on the corner of their picture, in every list.
- Your own card sits at the bottom left under the servers and the sidebar, with mute, deafen and settings on it. Mute and deafen each have an arrow that opens the voice menu.
- Active Now shows calls your friends are in: who is there, where, and whether anyone is streaming. Clicking a card joins that call.
- A side panel the window is too narrow for opens over the content instead of doing nothing.
- On Windows, notifications carry Koti's name and icon. Clicking a notification on any system opens the conversation, request or call it was about.
- The new-message sound is two taps on one note, so it no longer sounds like someone joining a call.
0.57.0 (2026-09-10)
- Voice and screen are now separate choices for a direct connection with someone. Right-click them and you get one tick for voice and one for screen and camera, so a call can stay peer-to-peer while a screenshare still goes through the server. Each line says what it is currently doing, and which of you it is waiting on.
- A direct connection only happens when both of you have ticked it, and each line tells you when it is waiting on the other person rather than leaving you guessing.
- An update no longer installs itself while you are using Koti. It downloads in the background and starts the next time you open the app, instead of closing a call or a half-written message. The badge will still restart straight away if you click it.
- The crash-report question stopped coming back. It was being asked behind the update screen, where it could not be answered, and the update then restarted the app. It is now asked once you are signed in, and your answer is remembered on your account, so a second machine never asks again.
- The server box is gone from the sign-in screen. It was only ever useful for development, and a wrong value there was a way to end up at a server that does not answer.
0.56.0 (2026-09-10)
- Changing who you share a direct connection with now takes effect on the call you are in, instead of waiting for the next one. Ticking or unticking "Relay only with them" mid-call moves that person's voice straight away, and moves a screenshare or camera you have running to them as well.
- The same is true of "Relay my calls" in Settings > Voice: turning it on during a call now actually hides your address for the rest of that call, where before it only applied from the next call onwards.
- "Relay only with them" is a checkbox that shows whether it is on, and stays open while you set it, rather than a menu entry that changed its wording and closed.
- You can set it before you call someone: right-click them in your friends list, not just on their tile in a call.
- The voice route explanation in the Details panel is short enough to read.
0.55.1 (2026-09-10)
- A call in the browser survives the connection to the relay dropping: if the server restarts or your network changes, the browser reconnects and picks the call back up on its own, instead of the picture and the voice going quiet while everything still looked connected. The call now says when it is reconnecting.
0.55.0 (2026-09-09)
- Share your screen from the browser: koti.lezio.app/app can publish a screen or a window into a call, and desktop and browser viewers watch it the same way they watch a desktop share. It is encoded at 1080p30, and the picture steps down while a viewer reports loss it could not repair.
- The disappearing-messages timer moves out of the chat header into the room's own menu, where the channel retention choices already live, with a tick on the current one. The header's tooltips open downwards instead of covering the buttons beside them, and a direct message's header no longer restates that it is a direct message.
0.54.0 (2026-09-09)
- Calls from the browser: koti.lezio.app/app can join a voice channel, hear everyone and watch a desktop share, with the same encryption the desktop uses. Click someone's name in the call to watch what they are sharing; after that their next share plays on its own, while a different person always asks first. Sharing from the browser comes later. Your server operator turns this on — until they do, the app says the server has no relay a browser can reach.
- A browser in a call is always relayed, so nobody in that call learns anyone's address, and a desktop sharing to one stops trying for a direct path it can never have.
0.53.0 (2026-09-09)
- A web version: koti.lezio.app/app signs in with the same account and covers text chat (servers, channels, DMs, groups, friends, files, reactions, pins, presence, invites), settings, data export and account deletion. Calls come next.
- Calls go through the relay by default now, so the other people in a call see only the server's address, never yours. For someone you trust, right-click them in a call or in the friends list and choose "Allow direct connection": a direct path is then tried with them, which shows them your public address. Settings > Voice turns the default off. The voice route tooltip says when a direct path exposes your address.
- A server typed without a scheme is reached over TLS unless its name or address is private (localhost, a LAN or tailnet address, `.local`, `.lan`, `.internal`, `.home.arpa`, `.ts.net`); a port no longer turns TLS off. The sign-in card warns in red when a public server would get your password unencrypted.
- The desktop no longer stores the short-lived access token; a launch always refreshes. Settings > Security says so when no system keyring was found and the refresh token lives in a file only your user can read.
- After a call member leaves, the previous call key is dropped two seconds after the rotation (ten at most while nothing has arrived under the new one) instead of living until the next rotation; a media key for a room you are not in is ignored; a replayed probe ping or pong no longer counts as a path proof.
- Relay grants: the server signs a short-lived, token-bound grant for each call member's relay streams and the relay can be set to accept nothing without one, so a leaked stream token no longer lets a stranger subscribe or inject. The relay's address-echo request is now as long as its reply, so it cannot be used to amplify traffic.
- The signaling connection now sends the sign-in token as its first message instead of in the address (wire 2), so it never lands in a proxy's access log. A client from before this keeps working until the server operator turns the old form off.
- Export your data: Settings > Your data (desktop) or You > Your data (phone) builds a zip of your profile, settings, friends, servers, groups, sessions, every message you wrote and every file you uploaded. One export a day, downloadable for 7 days, a mail when it is ready. The desktop gains the Delete account card there too, and the phone's delete button moves to the same screen.
- Uploaded files lose their metadata: pictures are re-encoded (location, device and editing tags gone, orientation kept), GIF, MP4, MOV and WebM have their metadata blocks blanked. A PDF, archive, AVIF or a video over 256 MB is stored as received and the file card says so. A file whose bytes are a program or another kind than declared is refused.
- Disappearing messages: in a DM or group, anyone can set new messages to leave after 1 hour, 24 hours, 7 days or 30 days (a line in the chat says who changed it); a channel's moderators can set how long it keeps messages, which also applies to what is already there. Expired messages vanish at once and are deleted, files included, shortly after.
- Accounts can carry a display name shown in chat and member lists beside the handle, and can change the handle itself once every 30 days (Settings > Profile on the desktop, You > Change handle on the phone). Renames reach everyone you share a server, group or friendship with at once.
- Leaving a server offers to erase everything you wrote there (ticked by default); a ban shows the same offer, and Settings > Your data (desktop) or You > Your data (phone) lists the servers you left with an Erase button for 30 days after leaving, or any time after a ban. Erasing removes your messages and files for everyone.
- Server member lists no longer show the instance's service account, disabled accounts or retired bots, and the auto-join server stops putting back people who left it. Who is shown as online is limited to people you share a friendship, a server or a group with.
- Creating an account now needs two ticks, the terms and being 18 or older; Koti is for adults only and asks for no ID.
- The terms, privacy policy, legal notice and a new "What Koti can see" page live on the server and open inside the phone app (You > About) and in the browser; when the terms change, both apps show the new text and ask you to accept before going on, or to sign out.
- Crash and error reports are sent only if you say yes: the desktop and the phone ask once on first start, and the choice can be changed later (desktop: Settings > Advanced; phone: You). A report carries a random id instead of the username, and message text, tokens and home paths are scrubbed before anything leaves the machine.
- The wording that called calls "end-to-end encrypted" is corrected in the app and the README: calls are encrypted with a per-call key the relay cannot read, but the server issues that key. What Koti can and cannot see is written down in `docs/SECURITY.md`.
- Passwords need at least 8 characters, may not contain the username and may not be one of the 10,000 most common; existing passwords keep working.
- Five wrong passwords in a row lock the account for a minute, doubling up to an hour; login and registration are rate-limited per source and per account.
- A sign-in token that is used twice ends that session and sends the account a mail. Access tokens now last 15 minutes instead of an hour (renewed silently).
- Push notifications show only the sender by default; a device can opt into message text.
- Bot tokens expire after a year (settable up to two) and are revoked after half a year unused.
- Invite codes are longer, and invite lookups are rate-limited.
0.52.1 (2026-09-07)
- An update restarts Koti the moment it has downloaded, during a call as well; the "restart now" button is gone.
0.52.0 (2026-09-07)
- Koti updates itself at start: an older build downloads the current release and restarts before the sign-in screen appears, so nobody runs a stale version by accident. If the feed cannot be reached within a few seconds, the app starts as before.
0.51.1 (2026-09-06)
- An update that finishes downloading during a call now shows "Update ready — restart now" and installs on that click, instead of a spinner that never ends. Outside a call it still restarts on its own.
0.51.0 (2026-09-06)
- Accounts can carry an email address: registering with one mails a verification link, a forgotten password can be reset from a mailed link, and an unverified address may not create or join servers or post in channels until the link is used. The desktop asks for an address in an upcoming build; existing accounts are unaffected.
- The phone app opens invite links, previews the server and joins it, and can create servers and mint, share and revoke invite links (Android test builds).
0.50.0 (2026-09-06)
- Updates download only what changed: a few megabytes on Windows and about 20 MB on Linux instead of the whole build. This release is still the last one fetched whole; the saving starts with the next.
- The update banner shows how much it is downloading.
- A voice connection that went silent after a network change recovers within seconds instead of a quarter of a minute, on both ends of the call.
- A shared screen that a viewer cannot decode is renegotiated in a codec they can, instead of staying frozen while everything looks connected.
- People who left a call during a connection hiccup no longer linger as ghosts that the call keeps re-offering to every two seconds.
- Logging out or an expired session leaves the call, dismisses a ring and ends the share, so a stale reconnect cannot sign you back in.
- Switching voice rooms leaves the old one first, and a voice join the server refuses no longer leaves you half-joined.
- A staged update mid-call waits for the "Restart now" button instead of ending the call.
- Signing in no longer hangs forever when the server cannot be reached: the connection gives up after 15 seconds.
0.49.3 (2026-09-06)
- Group conversations now show the members' profile pictures in the overlapping avatars of the sidebar row and the chat header, instead of only their initials.
0.49.2 (2026-09-06)
- Dates in the changelog and in the signed-in sessions list are now written the way your system writes them, instead of always year-month-day.
0.49.1 (2026-09-06)
- Starting the app shows "Signing you in…" first and only falls back to the sign-in form once it knows there is no saved session, instead of flashing the form on every launch.
- A message can now carry up to 100 different reactions, up from 20.
- The emoji picker and the `:` list no longer offer emoji that came out after the built-in emoji font, which drew as a smiley with a stray arrow next to it.
- Profile pictures now show in calls: on the stage tiles, in the name chip, in the call's side panel and in the sidebar's list of who is in a voice channel.
0.49.0 (2026-09-02)
- You can react to a message. Hover it for your three most recent emoji and a picker, or open the message menu; reactions show under the message with a count, yours outlined, and hovering one names who reacted. Click a reaction to add or take back your own.
- Emoji have a picker: the smiley next to Send opens it, with search, categories, your recent picks and a skin tone choice. Typing `:` and two letters suggests emoji by name as you write.
- Text faces like `:)`, `:D` and `<3` are offered as an emoji while you type, but never swapped on their own: Enter sends what you wrote, Tab takes the suggestion.
- Emoji look the same for everyone, on Windows and Linux alike.
- Servers can have their own emoji and stickers, under server settings → Emoji. They work in every conversation you are in, including direct messages; a sticker sent on its own shows large, and a message that is only emoji shows them big.
- In the name list after `@`, the arrow keys move, Tab and Enter complete, and Esc closes it. The cursor now lands after the completed name instead of jumping to the start.
- `@` and `:` lists work in the middle of a message, not only at its end.
0.48.0 (2026-09-02)
- You can now set a profile picture and a short description under Settings → Profile. The picture shows wherever your name does: on your messages, in member and friend lists, and in the sidebar. Links are not allowed in the description.
- Clicking someone's name, picture or `@mention` opens their profile card, with their picture, description, and the message, call and friend actions. Names and mentions underline under the pointer so you can tell they are clickable.
- Only names that exist in the room are highlighted as mentions now, both while you type and once sent. `@somebody` who is not there stays plain text.
- With the name list open, Enter completes the top entry instead of sending the message.
0.47.0 (2026-08-31)
- Typing `@` no longer takes the cursor out of the message box. The name list opens and you keep typing; the same applies when someone starts typing at you, and when you attach a file or begin a reply.
- Names you type are highlighted as you write them, the way they will look once sent.
- Mentioning a role now actually reaches the people wearing it. Roles whose name has a space in it are no longer offered, because nothing could ever deliver them.
- Being mentioned is decided by the server rather than guessed from the text, so a mention through a role reaches you and an `@everyone` from someone without the right to send one no longer does.
- Selecting text in a message that mixes writing and code no longer draws the highlight off the words — it used to drift further down the message the longer the message was, and clicking landed on the wrong line.
- Long tooltips wrap instead of stretching a single line across the window.
- Sharing a window and alt-tabbing to another window of the same app freezes the picture for everyone watching, because the app stops drawing. Koti now notices and tells you, instead of leaving you to wonder.
- A shared window whose size flickers — a browser hiding and showing its toolbar — no longer rebuilds the capture each time, which cost every viewer a stutter.
- Fewer of the full-quality frames that a struggling connection cannot absorb: the encoder is no longer told things it already knows, and a repair frame is not sent when one has just gone out anyway.
0.46.8 (2026-08-30)
- The stats card now says which way each thing travels: "voice route" for your voice, "share route" for a screenshare you are watching, and one line per viewer of your own share with the route their copy takes and why. Before, a viewer who had just asked for the relay could read "direct" there and conclude the setting did nothing.
- Attaching a file where you cannot send (no conversation open, no permission, a dialog on top) is refused the same way whether you paste, pick or drop it.
- The Copy button of a code block no longer disappears under the reply/edit toolbar when you hover the message: it now sits below the code.
0.46.7 (2026-08-30)
- Documents attach: Markdown, PDF, Word, Excel, PowerPoint, OpenDocument, plain text, CSV, JSON and more archives. Programs (.exe, .msi, .sh and the like) are still refused, and now say why.
- Files can be dragged onto the window and dropped into the conversation you have open.
- Selecting text no longer highlights past the end of lines that carry trailing spaces, and dragging across Russian text now selects and copies the whole run rather than half of it.
0.46.6 (2026-08-30)
- A message can now be up to 8000 characters, twice what it was.
- In the Direct messages list, a group's faces are now as big as a single person's avatar, so a group no longer looks smaller than the conversation below it.
0.46.5 (2026-08-30)
- A stream that has to rebuild now starts with the buffering its connection had already earned from the very first frame, instead of half a second later.
- Turning "Receive screenshares through the server" off no longer pulls you back to a direct path that the sharer's connection brake had deliberately moved you off.
- While sharing to viewers outside your own network, the app no longer looks up the relay server's address once a second.
0.46.4 (2026-08-30)
- A new setting, "Receive screenshares through the server" (Settings → Video → Network), routes the shares you watch through the relay. Try it when a share keeps freezing for you while it looks fine to the others.
- A bitrate reduction that does not actually reduce a viewer's packet loss is now undone within half a minute and not repeated for a while, instead of holding everyone at lower quality for the rest of the episode. The sharer is told that the loss is on a viewer's connection, not their upload.
- A viewer whose stream had to rebuild no longer loses the extra buffering their connection had earned: the rebuilt stream starts where the old one left off.
- A frozen viewer whose keyframe was lost on the way gets another one within about two seconds instead of waiting up to eight.
- The sharer's log now says which route each viewer got and why.
0.46.3 (2026-08-28)
- Copying text from the chat works again: select, Ctrl+C, and it is on the clipboard. It had been pasting whatever was there before.
- Selecting chat text no longer needs a precise start on the letters: press anywhere on a message, to the right of a short line, on the avatar, or in the space between messages, and drag.
0.46.2 (2026-08-28)
- Undo and redo now work while typing: Ctrl+Z takes back your last words in the message box and in every text field (login, search, channel names, captions), Ctrl+Y or Ctrl+Shift+Z brings them back. In the message box the cursor lands exactly where it was.
- Cut or paste from a text field's right-click menu can now be undone too.
0.46.1 (2026-08-28)
- A viewer whose connection went through a rough patch no longer keeps the extra delay for the rest of the stream: once the connection has stayed clean for about three minutes, the stream's delay winds back down to normal within a minute. A connection that keeps acting up keeps its protection, exactly as before.
- A screenshare now opens at half rate and steps up to full quality over its first 15 seconds, so the start of a stream no longer freezes and stutters for viewers on slower connections while their side warms up.
- Closing the window you were sharing now ends the share cleanly on the first try, instead of retrying a capture that cannot come back.
0.46.0 (2026-08-27)
- Watching a screenshare over a connection that goes dark for a fraction of a second now comes back whole: repairs cover outages up to about half a second instead of a fifth, and the resent packets leave at the stream's own pace rather than in one burst that the same connection drops again. Freezes on a flaky viewer's side should be the exception now, not the rhythm.
- A new setting, Settings → Video → "Prefer the weakest viewer in group screenshares", lets the sharer choose: keep the group's quality and let a struggling viewer repair on their own (the default), or step everyone's bitrate down whenever one viewer's connection shows trouble.
- A shared window whose capture died twice in a row (a browser toggling fullscreen could do it) now rebuilds again instead of leaving the share frozen until you restart it by hand.
- Minimizing the shared window no longer streams a tiny stub of it; viewers keep the last frame and you get a notice until you restore it.
- When the shared window stops drawing while its sound keeps playing (a browser hides behind another window and pauses its painting), you get a notice saying so, with the way out: bring it to the front or share the monitor.
- Share audio that pointed at an app which has since closed now falls back to the entire system's sound instead of ten silent minutes.
- The stream stats' displayed frame rate now means what it says: distinct frames shown. A 30 fps video in a 60 fps share reads 30, and the text no longer blames redraws for it.
- The audio picker's "Match source" says what it captures: every window of that app – Windows has no per-window audio.
0.45.0 (2026-08-26)
- A group conversation shows the people in it: its row in Direct messages and its chat header now lead with up to three overlapping faces instead of one letter taken from the group's name.
- The incoming and outgoing call sounds are new. Incoming is a bell struck twice, twice over, then a pause; outgoing is a low, soft pair that repeats without nagging. Both were flat held tones before.
- A custom sound set for an incoming or outgoing call now actually rings. It played under Test and nowhere else – for the two cues a custom ringtone is most obviously for.
- Test is a play/stop button. Pressing it again stops the sound, starting another cue stops the first, and while a cue plays the row shows how far in it is and how long it runs. Testing twice used to start a second copy over the first with no way to stop either.
- A sound you choose is copied into Koti's own folder, so a cue keeps playing after you move, rename or delete the file you picked it from – and it survives updates, along with the rest of your settings.
- Your cues and notification choices follow your account. Sign in on another machine and they are already there, sounds included; change one anywhere and it travels. Nothing else does: your microphone, speakers, camera and renderer stay per-machine.
- Settings → Advanced can export every setting on this machine to a single file, chosen sounds carried inside it, and import one back.
- A settings file missing a single entry no longer resets every setting you had.
0.44.0 (2026-08-24)
- Servers are joined by invite link. "Invite people" now hands you a link to share; whoever opens it chooses to join, and nobody is put into a server without asking. The link works for 7 days.
- A new "Join a server" prompt sits behind the + button (under Create server): paste an invite link or its code and you are in.
- Settings → Advanced lets Windows users pick the graphics API Koti draws with (Automatic, DirectX 12 or Vulkan) and offers a restart to apply it — the thing to try when the window flickers or shows stale frames.
- A "Restart Koti" button lives on the same page.
0.43.0 (2026-08-22)
- The extra repair data for a connection with recurring packet loss now stays armed as long as the bursts keep coming: a burst that arrives while the protection is already on extends it, so the rough stretch no longer outlives its own shield and meets a late burst unprotected.
- Resizing a shared window mid-share no longer makes the capture pipeline churn out a huge burst of duplicate frames behind the scenes — the re-capture picks up exactly where the picture left off.
0.42.9 (2026-08-21)
- Sharing to several people when one of them has a rough connection no longer drops the quality for everyone: the send queue drains at full speed toward the viewers whose connections are clean, and the emergency bitrate cut now needs evidence that every path is struggling, not just the worst one.
- The extra repair data for a connection with recurring packet loss now really stays on for the whole rough stretch — it could switch off early and meet the next burst unprotected.
- Koti in the background redraws at the video's own rate instead of your monitor's refresh rate, so a 240 Hz screen no longer spends GPU on a hidden window while you play the game you are sharing.
0.42.8 (2026-08-21)
- Watching a screenshare over a connection that keeps dropping packets now buffers a little deeper instead of freezing: repairs get the time they need, so a rough patch shows up as a slightly delayed picture rather than a stuck one asking for a fresh keyframe.
- Repair requests now wait for the answer to travel back before asking again, so a far-away viewer no longer makes the sharer send every lost packet three times over a connection that is already struggling.
- When packet loss keeps coming back every minute or two, the extra repair data now stays on for the whole rough stretch instead of switching off just in time to meet the next burst unprotected.
- The sharer's log now records how uneven the captured frames arrive, so "the game hitched" and "the capture hitched" stop being the same mystery.
0.42.7 (2026-08-21)
- A screenshare that never showed its first picture no longer sits on "Connecting to stream…" until you click away and back: it asks the sharer for a fresh picture on its own, and re-requests the whole stream if that goes unanswered.
- A stream that keeps stuttering on a rough connection now gets the picture it asks for instead of quietly rebuilding the connection every ten seconds, which is what made it look like it was reconnecting over and over.
- The freeze count in the details panel now counts every hiccup, including the ones too short to see, and it clears properly when the person sharing leaves the call.
0.42.6 (2026-08-21)
- Watching a screenshare over a hiccupy connection is quiet again: a freeze that repairs itself in a second or two no longer puts "connection hiccup — recovering…" over the picture. The notice appears only when the picture is really gone and Koti is asking for a fresh one.
- The details panel now says what the picture is doing – live, or recovering – and how many times it has frozen since you started watching, so a run of small hiccups is a number you can read instead of a label that keeps flashing.
0.42.5 (2026-08-20)
- A graphics driver that drops Koti's window – a fullscreen game changing the display mode is the usual cause – no longer leaves you with a frozen window while the call carries on behind it: Koti starts itself fresh and says why.
- The people in a voice channel now read as a list nested under it, with room around them instead of sitting flush against the channel rows.
- Moving the mouse no longer rebuilds the whole interface hundreds of times a second, so hovering and animations stay smooth while you move around.
0.42.4 (2026-08-19)
- Selecting chat text no longer stops at the message it started in: drag across as many messages as you like, through avatars and gaps, and Ctrl+C copies the lot in the order you read it.
- Right-click a text field – the message box, the search box, a dialog input – for cut, copy, paste and select all. In the message box these act on exactly what you highlighted; elsewhere they act on the whole field, and a password field only offers paste.
- Watching a screenshare copies less data per frame.
0.42.3 (2026-08-19)
- A notification, a right-click menu, or a dialog no longer passes your clicks through to whatever it covers: dismissing a toast that sits over the call dock can no longer press a control underneath it, and a near-miss on the dismiss button does nothing instead of something.
0.42.2 (2026-08-19)
- A screenshare no longer freezes for minutes while the connection flaps between relay, VPN, and half-working detours — it now prefers proven direct paths (same network first), and an address proven only one-way can no longer steal a working one.
- A share drowning in loss drops to a low-but-watchable bitrate within seconds instead of staying frozen at a rate the connection cannot carry, and climbs back up once it recovers.
- The update card now also shows in the DM view, not just on servers.
- Being in a call now shows the voice dock in the DM sidebar too.
- The call dock's "+" fits its context: in a server voice channel it invites people to the server (instead of yanking everyone into a new group call), in a group call it adds people to that group, and only a 1:1 call still creates a group.
- Signing in on launch got faster: the app no longer waits on the tray icon, skips a connection attempt it knows will fail, and retries a hiccup in a quarter second instead of three.
- After an auto-update on Linux, the new version no longer starts against the old version's dying runtime, and repeat launches skip a redundant plugin rescan.
0.42.1 (2026-08-18)
- Screenshares shown larger than their source — a 1080p share on a 1440p screen, or any share stretched to fill a bigger tile — now render visibly sharper: text edges stay crisp without halos, and colored text no longer smears at the edges.
0.42.0 (2026-08-17)
- The whole interface gained depth: cards, menus, toasts, and the call dock now float with real shadows, and surfaces separate by shade instead of thin outlines everywhere.
- Buttons press down, hovers read clearly, and the current channel or tab carries an accent marker.
- The server rail animates: entries morph from circle to squircle when you switch, and the side pill grows on hover.
- Side panels slide open and closed instead of snapping; closing a dialog plays its arrival in reverse.
- The speaking ring eases in and out and breathes softly during a stream; the in-call controls fade away when idle over video and return the moment you move.
- Checkboxes, sliders, radio buttons, and device menus finally look like the rest of the app.
- Switching your accent colour crossfades everything that wears it.
- New voices, joins, unread badges, and the typing line fade in instead of popping.
0.41.3 (2026-08-17)
- Long names no longer push buttons off the screen. A long channel topic, server name, file name, or error message used to silently swallow the controls next to it — the call buttons in the chat header, Save on an attachment, Close in server settings, a toast's dismiss.
- Long links and one-word code lines in chat wrap instead of running off the pane unreadably; what you see is also what you can select.
- Names cut for space now end in an ellipsis instead of just stopping.
- Sending a pasted image or opening the camera preview in a short window keeps the buttons on screen; the preview scrolls instead.
- The quick switcher scrolls its results and follows the arrow keys past the fold.
- Windows with a raised UI scale keep the full minimum window size, so nothing clips at the smallest sizes.
0.41.2 (2026-08-16)
- A screenshare whose capture dies now restarts itself. It could sit there looking live while sending nothing, for the rest of the call, with nothing to do but stop and share again (Windows).
- An update waiting for you shows as a card above the voice dock, in one place that keeps its shape and spot while it downloads and installs.
0.41.1 (2026-08-16)
- A screenshare survives the sharer resizing the shared window. It used to go black for everyone with no way back short of restarting the share (Windows).
- Joining a share of a still screen shows the picture instead of waiting for the sharer to move something.
- A share that never sends a picture says so, rather than claiming to be connecting forever.
0.41.0 (2026-08-16)
- The screen no longer turns off or locks while you are in a call.
- Someone talking always lights up now. On some machines a person's speaking ring never appeared for the whole call, even though you could hear them perfectly.
- Calls connect faster: the microphone and speakers are opened while the call is still being set up, instead of after.
- Deafening now silences your microphone too, and undeafening gives you back the mute you had before it.
- The update button says which version is waiting and is hard to miss.
0.40.10 (2026-08-16)
- A screenshare stays sharp after a brief network hiccup, instead of drifting soft for the rest of the call.
- Minimized windows no longer leave the picture coarse once you bring them back.
0.40.9 (2026-08-15)
- Muting is silent. A muted mic used to leak a faint trace of your voice, loudest to anyone who had turned you up.
- Staying muted survives a reconnect, instead of the mic quietly coming back while the icon still says otherwise.
- Someone joining the server appears straight away, without leaving and reopening it.
- Opening a chat puts the cursor in the message box, so you can start typing at once.
- Starting a screenshare no longer pulls you into the window you are sharing (Windows).
- A Changelog page, in Settings and on the download site.
0.40.8 (2026-08-13)
- A third person joining a call now connects on the first try, without anyone rejoining.
- The window no longer wedges after a resize.
- A screenshare recovers on its own when the capture drops out, on both platforms.
- Arrow Up jumps straight to the message box.
- Log files roll over at 10 MB instead of growing without end.
0.40.7 (2026-08-12)
- The call bar and the friends header fit any window width.
- A collapsed side panel no longer blocks the window edge you resize from.
- No more flickering while the graphics card is busy.
0.40.6 (2026-08-09)
- Voice keeps its low latency on headsets that run at 44.1 kHz.
- A screenshare survives an encoder that fails mid-share, and uses NVIDIA hardware properly.
- The codec list offers only what your machine can actually encode.
- Removing a friend moved into the right-click menu, out of reach of a stray click.
0.40.5 (2026-08-09)
- Sharper, steadier screenshare: lost pieces are repaired instead of freezing the picture.
- A shared window is never blown up past its real size.
0.40.4 (2026-08-09)
- The details and chat buttons stay on screen in a narrow window.
0.40.3 (2026-08-09)
- Updating is one click: the badge above your profile downloads the update and restarts when it is ready.
0.40.2 (2026-08-09)
- Steadier screenshare pacing when the capture arrives unevenly.
- The stats panel shows the frame rate sent and the frame rate displayed.
0.40.1 (2026-08-08)
- Linux screenshare and your own preview are sharp again, with no colour fringing.
0.40.0 (2026-08-08)
- A frozen screenshare unfreezes itself instead of waiting for a rejoin.
- A struggling connection says so instead of going quiet.
0.39.1 (2026-08-08)
- Screensharing works again.
- Dialogs close when you click outside them.
- Updates survive a slow connection.
0.39.0 (2026-08-08)
- A cleaner look throughout.
- Smoother chat scrolling.
- Messages send even while the app is reconnecting.
0.38.2 (2026-08-08)
- The join and leave sounds play again.
- A second screenshare no longer freezes the first.
0.38.1 (2026-08-07)
- The friends header keeps its tabs on one line.
0.38.0 (2026-08-07)
- An update arrives when it is published, not up to six hours later.
0.37.0 (2026-08-07)
- The app updates itself.
- Every sound it makes is yours to change or switch off.
0.36.0 (2026-08-06)
- The app tells you when it is out of date, and what it is doing about it.
0.34.5 (2026-08-06)
- A screenshare eases back after congestion instead of cutting out.
0.34.4 (2026-08-06)
- Fixed the congestion handling that 0.34.3 broke.
0.34.3 (2026-08-06)
- Ending a Wayland screenshare ends it, instead of leaving a still frame on screen.
0.34.2 (2026-08-06)
- A shared window keeps being shared when you move or resize it.
0.34.1 (2026-08-05)
- A screenshare on a clean connection is no longer throttled for losses that never happened.
0.34.0 (2026-08-05)
- Six screenshare defects a clean-looking log was hiding.
0.33.10 (2026-08-03)
- A resized window keeps its shape in the share.
- The diagnostics stop repeating themselves.
0.33.9 (2026-08-03)
- Screenshare quality no longer drops itself: the sender stopped throttling its own encoder.
0.33.8 (2026-08-03)
- The mouse pointer gets out of the way of the video.
0.33.7 (2026-08-03)
- A window that grew no longer loses the rows it gained.
0.33.6 (2026-08-02)
- Minimized windows show up in the share picker.
0.33.5 (2026-08-02)
- Cancelling the system picker no longer closes the whole share dialog.
0.33.4 (2026-08-01)
- A brief lag spike no longer latches a share shut for the rest of the call.
0.33.3 (2026-08-01)
- Virtual cameras work.
- Share audio follows the capture endpoint.
0.33.1 (2026-07-29)
- Housekeeping: dependency updates across the app.
0.33.0 (2026-07-29)
- Calmer quality adjustment during a share.
- Pasting an image is one step.
- Voice reconnects by itself when you change audio device.
0.32.0 (2026-07-28)
- Shared audio plays through the native path, in step with the picture.
- Fewer keyframe storms on a lossy connection.
0.31.1 (2026-07-28)
- Five fixes from the 2026-07-27 session, including mutual silence after an audio-device change.
Earlier releases (up to 2026-07-15)
- Early development, from the first build to 0.20.1. No notes were kept.
downloads