Skip to content

Releases

Flock v1.11.0

Choose a tag to compare

@github-actions github-actions released this 11 Nov 15:38

Channels and invite links, a calmer call screen on phones, and a round of polish across the app.

Upgrading: run the installer again or install the new package (config and database are kept). Phones need this APK and the Windows app needs this installer for the new client code. The server migrates its database by itself on start.

📣 Channels

  • New channel from the "+" menu: a broadcast chat where only the owner and admins can post, pin and forward. Everyone else reads and reacts.
  • Subscribers don't see each other: they only see the owner and admins, plus the subscriber count.
  • Channels have their own filter in the chat list, a megaphone badge on the avatar, and no call button. Groups now use their first letter as a picture, with a small two-people badge.

🔗 Invite links for groups and channels

  • Admins and the owner can create an invite link in the info panel and copy it. People open it, see the group or channel, and join in one tap. Opened while signed out, it waits until you have signed in.
  • Only the owner can revoke the link or replace it with a new one, any time. A revoked link stops working immediately.

🎥 Video, calls and phones

  • Video attachments show a real preview frame in the size of the video, and play by streaming (seeking works, nothing is downloaded up front). The file name is no longer repeated under photos and videos without a caption.
  • Video calls on Android use the whole screen: the status bar and navigation buttons hide, and swiping from an edge shows them over the app. (Needs this APK.)
  • Your own preview in a call is positioned with a real layout position, which fixes it staying blank on some Samsung phones after dragging was added.
  • Meeting links work for two guests: guests now get the TURN relay too.
  • The mic, speaker and call-quality menus open right above their own buttons.

🎨 Look and feel

  • Pick any theme color with a color wheel, besides the presets and a hex code. Changing color, theme or language keeps you where you were in Settings instead of flashing the home screen.
  • The chat list column can be resized by dragging its edge (300–520 px) and Calls and Contacts share its width. Less empty space under lists, and titles, segment buttons and the "+" menu no longer get clipped in Persian.
  • Persian placeholders in the message box read right-to-left.
  • The project link always points to the main repository; the admin setting is now an update mirror, used only for checking and downloading updates.

🛠 Server

  • Admin self-update runs through a root systemd path unit, so it works under the service's hardening, and refuses a package without a verified checksum.
  • Calls tab badges count only calls you haven't looked at yet.

Full Changelog: v1.10.1...v1.11.0

Flock v1.10.1

Choose a tag to compare

@github-actions github-actions released this 10 Nov 20:23

A small patch: the update changelog now follows the app's language, and release pages no longer repeat the version.

Upgrading: run the installer again or install the new package (config and database are kept). Phones need this APK and the Windows app needs this installer for the new client code.

🌐 Changelog in your language

  • When the app language is Persian, What's new after an update now shows the change list in Persian. The server package ships RELEASE_NOTES.fa.md next to the English notes and /api/update returns both; the client picks the one matching the app language.
  • Markdown markers and links are cleaned up in the dialog.

🧹 Release housekeeping

  • The release body starts with the summary instead of repeating the release title.
  • The release workflow reads the curated RELEASE_NOTES.md, so re-pushing a tag can no longer add a second "Full Changelog" line.

Full Changelog: v1.10.0...v1.10.1

Flock v1.10.0

Choose a tag to compare

@github-actions github-actions released this 10 Nov 19:39

A large round of chat, call and server improvements, driven by live testing.

Upgrading: run the installer again or install the new package (config and database are kept).
Phones need this APK and the Windows app needs this installer to get the new screens.

💬 Message actions

  • Right-click a message on desktop (or long-press it on a phone) for Reply, Edit, Forward, Copy,
    Saved Messages, Delete and Pin
    , with a quick emoji row and the full emoji picker.
  • Pinned messages show in a banner above the conversation; edited messages get an "Edited" mark.
  • Every message now shows its own time, and hover shows only Reply + More.
  • On phones, long-press starts a Telegram-style multi-select with a top action bar; tapping the
    empty space beside a bubble opens the same menu.

🔎 Search, drafts and files

  • Search inside the conversation from its header.
  • Unsent text is kept per conversation when you switch chats.
  • Pick, paste or drag any file: it is staged with a preview and an optional caption, then Send
    (with an upload progress bar) or Cancel. Large uploads no longer block the composer.
  • Photos and videos show the file name and a download button on the image's top-right, with the
    caption underneath.

📞 Calls

  • Per-device microphone levels, camera switching when several cameras exist, and dock controls
    ordered microphone → speaker → camera.
  • The speaker button mutes all call audio; per-person volume still lives in its panel.
  • Raise hand in group calls (with a "raised a hand" banner), ✨ reaction, and reaction/call-chat
    sounds with a mute toggle.
  • Clear guidance when the mic/camera is blocked, and tooltips on the call controls.
  • The shared screen's Full width option hides the participant strip.
  • A muted participant is marked with a mic-off badge on their tile.

🎨 App shell

  • Sidebar: search icon and a merged "+" menu, right-click actions for chats, real pushpin for pinned
    chats, no duplicate count badge.
  • App info dialog from the logo; Settings gained an accent color picker; the admin can rename the
    app and manage repository links.
  • Update banner with clean release notes (no commit hashes); the admin can update the server to the
    latest GitHub release from the desktop rail or the phone header.
  • Monochrome raise-hand icon so the call dock looks consistent.

🖥️ Server

  • New message APIs (edit/delete/forward/pin/search) and file captions.
  • Branding/update endpoints, release notes inside the server package, and an admin-only self-update
    that downloads the latest GitHub release and re-runs the installer.

Full Changelog: v1.9.0...v1.10.0

Flock v1.9.0

Choose a tag to compare

@github-actions github-actions released this 09 Nov 10:17

Photos and videos in chats now open in a viewer instead of downloading.

Upgrading: run the installer again or install the new package (config and database are kept). Phones need this APK to play videos inside the app.

🖼️ Photo and video viewer

  • Tap to view. Tapping a photo or video in a chat opens it in the middle of a dimmed screen, like Telegram.
  • Sized to fit. On phones it uses the whole screen; on desktop it stays at a comfortable size instead of filling the window.
  • Videos play in place with play/pause, seek and full-screen controls (Android, web and desktop).
  • Close by tapping outside, the ✕ button, Esc, or the phone's back button.
  • Download is still one tap away: from the button in the viewer, or the download icon on the message.

Full Changelog: v1.8.0...v1.9.0

Flock v1.8.0

Choose a tag to compare

@github-actions github-actions released this 08 Nov 18:17

Reactions on messages, calls recorded in the chat, Saved Messages, a proper speaker control with a test sound, and voice meters for everyone in a call.

Upgrading: run the installer again or install the new package (config and database are kept; the database gains new tables on first start). Phones need this APK for the new call controls, reactions and Saved Messages.

📞 Calls

  • Speaker button. The headphone icon is now a speaker with its own arrow, like the microphone. The output list opens right above the button, not in a corner of the screen.
  • Test sound. Switched speakers? Press Test sound in the same box to play a short tone through the one you picked (web and desktop).
  • Microphone choice in one place. The speaker box no longer lists microphones; pick your mic from the microphone button's own menu.
  • Voice meters. Every tile, yours included, has a small bar that fills and empties as that person talks, so you can see whose microphone is picking them up.
  • Reactions behind one button. The in-call reactions no longer sit on screen all the time: press 😊 in the bottom bar to show them.
  • Stream in the minimised call. When the call is minimised and someone shares their screen or camera, a small live preview shows in the mini window. The 👁 button hides it if you'd rather not see it.

💬 Chats

  • Reactions. React to any message with 👍 ❤️ 😂 😮 😢 🙏 (hover the message on desktop, long-press on phones). Tap a reaction under the message to add yours or take it back.
  • Calls in the chat. Every call leaves a line in the conversation and the chat list: voice or video, incoming or outgoing, how long it lasted, or missed / declined / cancelled.
  • Saved Messages, like Telegram: a chat with yourself for notes. Press 🔖 on any message to keep a copy there, with who it came from. (Messages from secret chats can't be saved, so they never leave the encrypted chat.)
  • One call button. The chat header has a single 📞 button; turn the camera on from inside the call. The info panel lost its separate Video button too.
  • Pin looks like a pin. Pinned chats use a pin icon instead of the bookmark, which now means Saved.

👤 Profile, settings and groups

  • Profile is its own page. Your photo opens Profile (photo, name, username, title, bio, Saved Messages); the ⚙ button opens Settings (server, noise suppression, theme, language, About, sign out).
  • Send message in a group's member menu opens a direct chat with that person.

🔤 Persian text

  • Persian in the message box, search and text fields is drawn in Vazirmatn on every platform, and letter spacing is removed from Persian so letters stay joined.

🛠 Under the hood

  • Release builds clear the bundler cache, so the version shown in the app always matches the release.

Downloads

File For
flock-1.8.0.apk Android (signed with the same key as 1.5.1+; installs over the previous version)
flock-1.8.0-windows-setup.exe Windows (not code-signed yet: SmartScreen → More info → Run anyway)
flock-server-linux-x64.tar.gz / -arm64 Server, for the offline install

Full Changelog: v1.7.2...v1.8.0

Flock v1.7.2

Choose a tag to compare

@github-actions github-actions released this 07 Nov 20:10

A new call screen in the style of Google Meet, connection badges that show whose internet is actually weak, and a tidier microphone and speaker list.

Upgrading: run the installer again or install the new package (config and database are kept). Phones need this APK for the new call screen and the Android fixes.

📞 Call screen

  • One tile per person, yourself first, with the photo in the middle and the name in the corner. The tile of whoever is talking gets an amber border, including your own, so you can see that your mic is picking you up.
  • Screen sharing takes the middle. When someone shares, their screen opens in the centre and everyone moves to a strip beside it (below it on phones), you at the top. Minimise the screen to go back to the tiles; tap the sharer's tile to open it again. The small "Your screen" window is gone.
  • Hiding the controls makes room. Tap the call to hide the buttons and the stream and tiles grow into the space (441 → 667 px in testing). In a one-to-one video call your own video slides down too.
  • Hide my video. Don't want to look at yourself? ⋯ → Hide my video on phones (a button in the dock on desktop). The others still see you; bring it back the same way.
  • Weak-connection badges next to each person. Each person measures their own connection (their round trip to the server, plus their call links) and shares it, so in a one-to-one call only the person whose internet is weak gets the badge, not both. Your own weak connection shows as a tag at the top.
  • The person being called now sees the caller's name instead of their own.
  • The status tags at the top no longer touch the call area.

🎙 Microphone and speaker

  • Cleaner device list. Chrome's extra "Communications - …" entries are gone, "Default - …" reads System default (device name), and USB codes like (24ae:7003) and Windows numbers like 3- are stripped from names.
  • Your choice is remembered. The microphone and speaker you pick are used again in your next call.
  • Unplugged microphone: the call switches to the system default instead of staying on a device that's gone.

📱 Android

  • The in-call chat sits above both the keyboard and Android's navigation bar.
  • Your own video in a one-to-one video call is drawn on top of the other person's video.

🔒 Secret chats

  • The safety code always reads left to right, so in Persian it shows in the same order as on the other phone.

Downloads

File For
flock-1.7.2.apk Android (signed with the same key as 1.5.1+; installs over the previous version)
flock-1.7.2-windows-setup.exe Windows (not code-signed yet: SmartScreen → More info → Run anyway)
flock-server-linux-x64.tar.gz / -arm64 Server, for the offline install

Full Changelog: v1.7.1...v1.7.2

Flock v1.7.1

Choose a tag to compare

@github-actions github-actions released this 06 Nov 21:04

The biggest update since 1.0: meeting links for people without an account, opt-in end-to-end encrypted chats, a light theme, an admin panel, a redesigned call screen and a friendlier installer.

Upgrading: run the installer again or install the new package (config and database are kept). The Android app needs this new APK for secret chats. Your first admin: re-run the installer with --admin <username> (Docker: docker compose exec server node src/create-admin.js <username>).

🩹 Fixed in 1.7.1

  • Your own video in a call moves to the side you push it toward. A short drag or a flick is enough; on a wide screen it no longer has to cross the middle.
  • Letting go of the minimized call (or your own video) after dragging it no longer counts as a click, so it doesn't jump back to full screen.
  • The microphone and speaker in use are ticked in the device lists. Firefox now shows a System default entry, since it lists none of its own.
  • Volume sliders and device rows no longer slip under the scrollbar, and on desktop your video in the top-left corner sits below the call timer instead of covering it.
  • Noise cancellation starts on Strong (AI) wherever the browser supports it. It runs entirely on your device, costs nothing and sends nothing anywhere.

✨ New

  • Meeting links. Create a room under Calls → Meeting links, choose how long the link works (1 hour, 1 day, 7 days or until you close it) and share it. Anyone can join from a browser with just a name, no account needed. Guests get a pass for that one room only. Closing the room ends the meeting for everyone and kills the link.
  • Secret chats (end-to-end encrypted). Under New chat you now choose Normal chat or Secret chat, with the pros and cons of each shown under the option. Secret chats are encrypted on the device (Curve25519 + XSalsa20-Poly1305 via TweetNaCl), so the server stores only ciphertext and rejects plaintext. Each secret chat lives on one device on each side; the other person accepts it on the device they want. A safety code lets you both check that nobody swapped the keys.
  • Light theme. Dark, Light or System, under Settings → Appearance.
  • Admin and App settings. The server's admin opens Settings → App settings to:
    • open or close sign-up and allow or block meeting guests
    • set the largest upload and how long files are kept, applied immediately
    • watch server usage: CPU, memory, disk, database and file storage, users, messages, live calls and open meeting links
  • Change your username in Settings.

📞 Calls

  • Redesigned control dock:
    • the hang-up button is always visible, including on phones
    • phones keep mic, camera and chat in the dock and move the rest into a ⋯ menu
  • Noise cancellation moved into a microphone popover: a checkbox, the strength (standard / AI) and the input device.
  • Voice quality is set for the whole call: whoever changes it changes it for everyone, and latecomers pick it up.
  • Screen-share quality and FPS appear only once you're sharing.
  • Per-person volume is a slider (any level from 0–100%) instead of fixed steps.
  • Reactions float up the whole screen, swaying side to side, with the sender's name. Every tap adds a new one, with a short cooldown so they don't pile up.
  • Drag your own video to any corner (it snaps into place), and drag the minimized call anywhere, on phones too.
  • The in-call chat on phones moves above the keyboard.

💬 Chats and contacts

  • Links in messages are clickable and long links wrap inside the bubble instead of overflowing the chat.
  • Contacts shows only people you've chatted or called with, not every account on the server. The same goes for creating a group and inviting to a call.
  • New chat shows nobody until you type at least 3 characters of a username, and the server enforces this too, so the user list can't be browsed.
  • Sign-up asks for the password twice and can show it.

🧹 Cleanups

  • Removed the "WORKSPACE" label on desktop, plus the stories row and the "Recent messages" label on phones.
  • The version in Settings → About now shows the real app version.

🛠 Installing and hosting

  • The installer asks for the main settings on a first install: domain, port, largest upload, file retention, open sign-up, TURN relay and the admin account. It creates the admin at the end, and passwords are stored only as bcrypt hashes. The questions work even when piped from curl; --yes skips them, and there are new options --upload-mb, --retention-days, --admin and --no-admin.
  • Docker: optional automatic HTTPS with Caddy (docker compose --profile https up -d), uploads up to 100 MB through the web container (it was 10 MB), and create-admin for the first admin.
  • README rewritten with three step-by-step installation methods (Docker, script online, script offline), configuration, TURN, troubleshooting and privacy.

Downloads

File For
flock-1.7.1.apk Android (signed with the same key as 1.5.1+; installs over the previous version)
flock-1.7.1-windows-setup.exe Windows (not code-signed yet: SmartScreen → More info → Run anyway)
flock-server-linux-x64.tar.gz / -arm64 Server, for the offline install

Full Changelog: v1.7.0...v1.7.1

Flock v1.6.1

Choose a tag to compare

@github-actions github-actions released this 03 Nov 21:10

Full Changelog: v1.6.0...v1.6.1

Android

flock-1.6.1.apk (arm64-v8a, armeabi-v7a). Updates 1.5.1 and later in place.

Windows

flock-1.6.1-windows-setup.exe (64-bit). Not code-signed yet: on a SmartScreen warning choose More info → Run anyway.

Flock v1.6.0

Choose a tag to compare

@github-actions github-actions released this 03 Nov 19:40

Full Changelog: v1.5.1...v1.6.0

Android

flock-1.6.0.apk (arm64-v8a, armeabi-v7a). Updates 1.5.1 in place. Coming from a build older than 1.5.1: uninstall it first (different signing key).

Windows

flock-1.6.0-windows-setup.exe (64-bit). Not code-signed yet: on a SmartScreen warning choose More info → Run anyway.

Flock v1.5.1

Choose a tag to compare

@github-actions github-actions released this 03 Nov 11:56

Full Changelog: v1.5.0...v1.5.1

Android

flock-1.5.1.apk (arm64-v8a, armeabi-v7a), built locally with Gradle and signed with Flock's own release key.
Upgrading from an earlier APK: uninstall the old app first (once). Earlier builds used a different signing key, so Android won't update over them. Messages stay on the server.

Windows

flock-1.5.1-windows-setup.exe (64-bit installer). It connects to https://flock.ezbug.ir by default; you can change the server on the sign-in screen or in Settings.
The installer isn't code-signed yet, so Windows SmartScreen may warn: choose More info → Run anyway.