Releases: danielklessa/squorli
Release list
Squorli Server 0.8.0
Limits for a server that is run for other people, a readiness route for proxies and schedulers, and a directory registration that no longer waits for somebody to sign in before it tries again.
Before you update
- Nothing to do by hand: no migration, no deploy file to fetch again. Installations with automatic updates take this version by themselves.
- Four new variables, all optional:
STORAGE_QUOTA_MB,VOICE_SEATS_MAX,MEMBER_MAXandDB_POOL_MAX(default 10, the fixed value until now). Leave them unset and nothing changes. A Portainer stack gets them under "Environment variables" if you want them; the stack file names them. LIVEKIT_NODE_IPis now read by the app server too (for the setup check). Compose and the Portainer stack pass it already; nothing to change.- Desktop app 0.11.0 follows this release with the new section in the administration and the leave sound when the app is closed in a voice channel. Older apps keep working; they show the new refusals as bare codes instead of sentences.
- No newer Squorli Directory is needed.
New
- Limits for a server run for other people (Administration > Server > Limits).
STORAGE_QUOTA_MBbounds every file the server keeps: attachments, link preview pictures, copies in reports, avatars of server accounts, the server icon; an upload past it is refused with "storage full", a preview then comes without its picture.VOICE_SEATS_MAXbounds how many people sit in voice channels at the same time, the whole server; the next one is told that every seat is taken.MEMBER_MAXbounds how many members the server admits; a new member is told the server takes no more, the owner is never refused and no invitation is used up by the refusal. Each limit is off until it is set. The new section shows what is in use against each limit and the size per file; the values come from the configuration and cannot be changed there. GET /api/readyanswers 200 only while the database answers, else 503. For a proxy or a scheduler that should route nothing to an instance that is not ready./api/healthkeeps answering as before, so the sign-in page stays up.DB_POOL_MAXsets how many PostgreSQL connections the server holds open (default 10, as before). 4 is plenty for a small server; many servers on one PostgreSQL add up.
Improved
- The registration at the directory tries again by itself. Until now a failed registration at the start (behind a proxy that lets traffic through only once the server is ready, for example) stayed failed until somebody signed in. Now the server tries again after 5 seconds, then later and later, up to every 5 minutes, and waits what the directory asks for when it is busy. Many servers starting at the same moment spread their first attempt over three seconds.
- The setup check probes the media port at the media node's address. With
LIVEKIT_NODE_IPset, orLIVEKIT_PUBLIC_URLnaming another machine thanPUBLIC_DOMAIN, the check no longer looks at the wrong host. - A refused upload says why. A file that is too large, or a server whose storage is full, gets a sentence with the file's name instead of the bare request line.
RATE_LIMIT_FACTORnow also scales the per-address limits of server accounts (registrations, backup parameters, backup fetches), as documented for every rate limit.
Image: ghcr.io/danielklessa/squorli-server:v0.8.0 (also :latest). Update an installation made with the install script: squorli backup, then squorli update; with Compose by hand: set APP_IMAGE=ghcr.io/danielklessa/squorli-server:v0.8.0 in .env, then docker compose pull and up -d. Windows without Docker: the package squorli-server-0.8.0-windows-x64.zip below, with its .sha256 file; update an installation with squorli update in a window opened as administrator (it backs up first). Database migrations run by themselves at the start and cannot be undone: back up first. Guide: https://squorli.com/en/docs/install/
Squorli Desktop 0.11.0
New
- The leave sound when you close the app in a voice channel. Closing the window or quitting from the tray icon while you sit in a voice channel now plays the leave sound before the app goes, and tells the server you left, so the others hear you go instead of watching you drop. The app waits for that a moment at most. Closing into the tray icon keeps you in the channel, as before.
- Administration > Server > Limits. Shows what the server's operator has set as limits for storage, seats in voice channels and members, and how much of that is in use. Needs Squorli Server 0.8.0 or newer on that server; older servers show no such section.
Improved
- A refused upload says why. A file that is too large, or a server whose storage is full, gets a sentence with the file's name instead of a bare error code. The storage message needs Squorli Server 0.8.0.
- Joining a voice channel when every seat of the server is taken says so instead of failing with a code. Needs Squorli Server 0.8.0; older servers have no such limit.
Installers for Windows (Squorli-Setup-*.exe) and Linux (AppImage, deb). Unsigned: Windows SmartScreen warns on the first start. Download page: https://squorli.com/en/download/
Squorli Server 0.7.0
Signing a device out now holds. Until this version a device that was signed out still had the account's key and was back in with one click; now every device has a key of its own, and a device that was signed out is refused until somebody signs in on it again with name and password.
Before you update
- One migration. It adds the list of devices of server accounts and remembers for every session which device it belongs to. It runs at the start and cannot be undone;
squorli updatebacks up first. No new variable, no deploy file to fetch again. - Installations with automatic updates take this version by themselves.
- Desktop app 0.10.0 follows this release. Older apps and older web clients keep working as before, until an account signs one of its devices out for the first time. From then on that account gets in only from a device with a current client; an older app is refused for it and has to be updated. It loses nothing by that.
- Squorli accounts (
@name) need a Squorli Directory that knows devices. At directory.squorli.com signing devices out is switched on once desktop app 0.10.0 is out; until then Settings > Devices lists the devices and says that signing out follows. Server accounts (~name) need nothing but this version. - A server that stays on an older version keeps admitting everybody who holds an account's key, signed out or not. Updating is what closes that.
- Your members stay signed in. Nobody has to sign in again because of the update.
New
- Devices in place of sessions (Settings > Devices). The list shows every device that is signed in with the account, where it signed in from (the site of a browser, or the desktop app), when it was signed in and last used, and which one you are sitting at: for a Squorli account on all servers, for a server account on this server. "Sign out" per device and "Sign out all other devices" ask for the password, and for a code while an authenticator is set up.
- A device that was signed out is out. It falls back to the sign-in at once, with a notice that says why, loses the account's key and no longer offers "Continue as". It gets back in only with name, password and second factor. An open voice connection of that device ends with it. What this does not undo: somebody who copied the account's key before can still read direct messages they get hold of on the way; the directory hands them none any more. Checked with two browsers, the desktop app and the automatic tests, not yet with two machines over the internet.
- "Sign out" removes the key from the device. The client's own sign-out signs the device out and takes the key along; name and password bring it back. For a Squorli account without a password the key exists on that device only, so the client asks before it removes it.
- At most ten devices per account. At the eleventh, the sign-in shows the ten others after the password was right, and you pick the one that is signed out for it.
- Devices that were not used for 90 days are signed out by themselves.
- The device's key cannot be read out. Browsers and the desktop app make it themselves and keep it where no script can copy it, only use it. Where a browser cannot do that (an older one, some private windows), the key is an ordinary one. Checked in Chrome, in the desktop app and in Firefox; not yet in Safari.
- A new password signs the other devices of a server account out.
Fixed
- Signing in with a server account on a second device works. Since server accounts exist, the second device answered the right password with "user name or password wrong". Accounts and passwords need nothing; it works with the update.
Image: ghcr.io/danielklessa/squorli-server:v0.7.0 (also :latest). Update an installation made with the install script: squorli backup, then squorli update; with Compose by hand: set APP_IMAGE=ghcr.io/danielklessa/squorli-server:v0.7.0 in .env, then docker compose pull and up -d. Windows without Docker: the package squorli-server-0.7.0-windows-x64.zip below, with its .sha256 file; update an installation with squorli update in a window opened as administrator (it backs up first). Database migrations run by themselves at the start and cannot be undone: back up first. Guide: https://squorli.com/en/docs/install/
Squorli Desktop 0.10.0
New
- Signing a device out now holds (Settings > Devices). The list shows every device that is signed in with your account, where it signed in from (the site of a browser, or the desktop app), when it was signed in and last used, and which one you are sitting at. "Sign out" per device and "Sign out all other devices" ask for your password, and for a code while you have an authenticator. The device that was signed out falls back to the sign-in at once, loses your key and gets back in only with name, password and second factor. Until now it was back with one click. Needs servers with Squorli Server 0.7.0 or newer; a server with an older version still lets in whoever holds your key. For Squorli accounts, signing out is switched on at directory.squorli.com shortly after this version; until then the list shows and says so.
- "Sign out" removes your key from this computer. Signing out of the app signs this device out and takes your key and the keys of your server accounts along; name and password bring them back. For a Squorli account without a password the key exists on this computer only, so the app asks before it removes it.
- At most ten devices per account. At the eleventh, the sign-in shows the ten others after your password was right, and you pick the one that is signed out for it.
- Devices that were not used for 90 days are signed out by themselves.
- A key for this device that cannot be read out. The app makes it itself and keeps it where no script can copy it. Your account's key stays in the system's protected store as before.
Fixed
- Signing in with a server account on a second device works. The second device answered the right password with "user name or password wrong". Needs Squorli Server 0.7.0 on that server.
Installers for Windows (Squorli-Setup-*.exe) and Linux (AppImage, deb). Unsigned: Windows SmartScreen warns on the first start. Download page: https://squorli.com/en/download/
Squorli Server 0.6.2
A fix for members who lost the whole interface when the radio started or ended, and a way back should the interface ever fail again.
Before you update
- Nothing to do by hand: no migration, no new variable, no file to fetch. Installations with automatic updates take this version by themselves.
- Desktop app 0.9.2 follows with the same two changes. The app brings its own copy of the client, so members who use it are rid of the error with that version, not with this update of the server.
- No newer Squorli Directory is needed.
Improved
- A notice instead of an empty window. Should an error ever take the interface down, a card says so and offers "Reload", which brings everything back. A voice connection that is running ends with the reload; the notice says so. The error itself can be read under "Technical details" for a report.
Fixed
- The interface no longer vanishes when the radio starts or ends. Members who may not control the radio and had the voice channel's stage open lost the whole interface at that moment: only the background was left until they reloaded the page. Members with the permission were not affected.
Image: ghcr.io/danielklessa/squorli-server:v0.6.2 (also :latest). Update an installation made with the install script: squorli backup, then squorli update; with Compose by hand: set APP_IMAGE=ghcr.io/danielklessa/squorli-server:v0.6.2 in .env, then docker compose pull and up -d. Windows without Docker: the package squorli-server-0.6.2-windows-x64.zip below, with its .sha256 file; update an installation with squorli update in a window opened as administrator (it backs up first). Database migrations run by themselves at the start and cannot be undone: back up first. Guide: https://squorli.com/en/docs/install/
Squorli Server 0.6.1
Squorli Server can keep itself up to date now, and an update stops only what it has to.
Before you update
- Nothing to do by hand: no migration, no new variable, no file to fetch. Installations with automatic updates will take versions like this one by themselves.
- Linux, installed with the install script: the new commands belong to the
squorlicommand the script writes.squorli updatebrings the new image only; to get the commands, run the install script again and choose "Update". - Windows:
squorli updatebrings everything. - No new desktop app and no newer Squorli Directory are needed.
New
- Automatic updates.
squorli autoupdate onsets up a job that looks for a new version and installs it. It asks how often, from every hour to once a day; with 24 hours it runs at 04:17. When nothing is new, nothing is stopped or started. Every update makes a backup first.squorli autoupdateshows the state and the last runs,squorli autoupdate offremoves the job. Read the warning the command shows before you answer: an update restarts the app server whenever a version appears. - A version that needs you waits for you. When a version asks for work by hand before the update, the job does not install it. It notes the version in its log and waits for your
squorli update, which names the release notes and asks whether that work is done. - The image tag
stable.ghcr.io/danielklessa/squorli-server:stablealways names the newest published version.latest, which the install script enters, changes with every change in development, between two versions too.squorli autoupdate onoffers to setAPP_IMAGEtostable, so that the job installs published versions only; a fixed version inAPP_IMAGEnever changes by itself. - Only look.
squorli update --check(on Windows also-Check) tells whether there is something new and changes nothing that runs; its exit code is 10 when there is, 0 when not.
Improved
- An update on Windows stops only what changed. When a new version brings a new Squorli but the same PostgreSQL and LiveKit, these two keep running and only the app server restarts. Until now every update stopped all services.
squorli updateon Linux backs up first, as on Windows, and says which services get a new image; the containers whose image stayed the same keep running. A backup that fails stops the update;--no-backupleaves it out.squorli backupon Linux leaves no half backup behind when it fails, and says so.
Image: ghcr.io/danielklessa/squorli-server:v0.6.1 (also :latest). Update an installation made with the install script: squorli backup, then squorli update; with Compose by hand: set APP_IMAGE=ghcr.io/danielklessa/squorli-server:v0.6.1 in .env, then docker compose pull and up -d. Windows without Docker: the package squorli-server-0.6.1-windows-x64.zip below, with its .sha256 file; update an installation with squorli update in a window opened as administrator (it backs up first). Database migrations run by themselves at the start and cannot be undone: back up first. Guide: https://squorli.com/en/docs/install/
Squorli Server 0.6.0
Squorli Server now also runs on Windows without Docker, as a package with its own setup. For installations with Docker little changes: the app server's Compose service has a new name.
Before you update
- Nothing to do for the database: no migration, and no new variable you have to set.
squorli backup, thensquorli updateis enough. - The app server's Compose service is named
servernow (appbefore).squorli updatealone leaves your installation as it is, with the old name. To take the new name over, run the install script again and choose "Update": it fetches the new deploy files and replaces the container; database, files and secrets stay. From then on it issquorli logs serverandsquorli restart server;appis still understood. - Installed by hand: download
compose.ymland the overlays you use again and start with--remove-orphans. An overlay or a Portainer stack of your own that saysservices: app:has to sayserver:. A reverse proxy that points toapp:3000keeps working: the container still answers to that name in its network. - Two new variables, both for installations without Docker only:
LISTEN_HOSTandDOCTOR_TOKEN. The package for Windows sets them itself. Leave both unset with Docker Compose. - No new desktop app and no newer Squorli Directory are needed.
New
- Windows without Docker. A package for Windows 10 (from 22H2), Windows 11 and Windows Server 2019, 2022 and 2025 (64 bit): the app server with its own Node.js, PostgreSQL, LiveKit and Caddy, set up as Windows services that start with the machine. Its setup asks the same questions as the install script for Linux, in German or English, and the same command manages it afterwards:
squorli status,logs,backup,restore,update,doctor.squorli restorealso takes the backup of a Linux installation, which is how a server moves from Linux to Windows. The package is attached to this release assquorli-server-0.6.0-windows-x64.zipwith a.sha256file; the guide is at https://squorli.com/en/docs/install/#windows. - What was run on Windows, and what was not yet: installed and run on Windows 11 with a reverse proxy on the same machine and on localhost: setup, services, voice, a restart of the machine, backup and restore, update and removal. The package's automatic test (setup, every command, backup and restore, update, removal) also passes on Windows Server. Still to come: the bundled Caddy with a real certificate, IIS in front (a template is included), Windows 10, and a Windows Server with people on it. The programs in the package are not signed, so Windows may ask before it runs them.
Improved
- The server stops at once. Stopping or restarting the container took ten seconds, because the server did not react to the request to end; now it closes its connections and ends in under a second. Updates and restarts are that much shorter.
- A tidy log. Every start wrote two notices of the database as several lines of plain text between the log's lines. They are gone at the default log level.
Image: ghcr.io/danielklessa/squorli-server:v0.6.0 (also :latest). Update an installation made with the install script: squorli backup, then squorli update; with Compose by hand: set APP_IMAGE=ghcr.io/danielklessa/squorli-server:v0.6.0 in .env, then docker compose pull and up -d. Windows without Docker: the package squorli-server-0.6.0-windows-x64.zip below, with its .sha256 file; update an installation with squorli update in a window opened as administrator (it backs up first). Database migrations run by themselves at the start and cannot be undone: back up first. Guide: https://squorli.com/en/docs/install/
Squorli Desktop 0.9.2
Improved
- A notice instead of an empty window. Should an error ever take the interface down, a card says so and offers "Reload", which brings everything back; the title bar stays, so the window can still be moved and closed. A voice connection that is running ends with the reload; the notice says so. The error itself can be read under "Technical details" for a report.
Fixed
- The interface no longer vanishes when the radio starts or ends. If you may not control the radio and had the voice channel's stage open, the whole interface disappeared at that moment and only the window's background was left until the app was restarted. Members with the permission were not affected.
Installers for Windows (Squorli-Setup-*.exe) and Linux (AppImage, deb). Unsigned: Windows SmartScreen warns on the first start. Download page: https://squorli.com/en/download/
Squorli Server 0.5.3
Suspended Squorli accounts stay out, members can report accounts and servers to the operator of the directory, and the client says what the directory decided.
Before you update
- Back up first (
squorli backup). This version changes the database at its first start: it adds one server setting and, per member, the date until which their Squorli account is suspended. That cannot be undone. - No new variable, no change to the deploy files. After the backup,
squorli updateis enough. - Who gets in changes, for servers that use a directory. A member whose Squorli account (@name) the operator of the directory has suspended is refused while the suspension lasts, and is disconnected if they are connected at that moment. Their membership, roles and session stay; when the suspension ends they are back without signing in again. This is on after the update. Switch it off in Administration > Server ("Refuse suspended Squorli accounts") if your server should decide alone. Server accounts (~name) are never concerned.
- A new desktop app (0.9.0) follows after this server. Older apps keep working; what is listed under "New" reaches their users only with the new app, and browser users with this update.
- Needs a current Squorli Directory (directory.squorli.com is one). With an older directory nothing of the below is offered and nobody is refused.
New
- Suspended Squorli accounts stay out. The directory tells your server when it suspends an account of one of your members. The member sees why they cannot get in and until when, instead of a lost session. Other members see nothing of it.
- Report an account or a server to the operator of the directory. "Report account" in the menu of a member or a friend reports a Squorli account, its name or its picture. "Report server" in the server rail's menu and in the server browser reports a whole server. The dialog of a reported channel message now asks "Who gets the report?": the moderators of the server as before, or the operator of the directory when the moderators do nothing or are the problem themselves. That second way sends the message along as evidence; the server's moderators do not see such a report.
- Notices about your account. A member whose Squorli account was warned, suspended or changed by the operator of the directory sees a notice in the client with the reason, also while chatting. "Understood" marks it as read.
- Servers the directory refused. The client no longer connects to a chat server the operator of the directory has refused, not by its address either. Such a server stays in the member's server rail with a red mark, its page says what happened, and "Remove from the list" takes it out of the rail on all of the member's devices. A server that is allowed again comes back by itself.
- If your own server is refused, its log and the connection check (
squorli doctor, Administration > Server > "Check the connection") say who refused it and why. Members who open the client in a browser at your server's own address are not locked out by this.
Fixed
- The friends view says why the directory closed the connection instead of only "No connection to the directory".
Image: ghcr.io/danielklessa/squorli-server:v0.5.3 (also :latest). Update an installation made with the install script: squorli backup, then squorli update; with Compose by hand: set APP_IMAGE=ghcr.io/danielklessa/squorli-server:v0.5.3 in .env, then docker compose pull and up -d. Database migrations run by themselves at the start and cannot be undone: back up first. Guide: https://squorli.com/en/docs/install/
Squorli Server 0.5.2
Notifications, a choice about link previews in direct messages, the owner as a server account, and a camera blur that no longer loads anything from other sites.
Before you update
- No database migration, no newer Squorli Directory.
squorli updatebrings the new server. - Desktop app 0.8.1 follows after this server. Older apps keep working; notifications, the stage's place holder, the list of who watches your share and the link preview switch reach app users with the new app, browser users with this update.
- New, optional variable
OWNER_SETUP_CODE: only for a server without an owner yet (see New). Existing servers need nothing. - The installer asks who becomes the owner (your Squorli account's key, a server account with a setup code, or whoever signs in first). It is downloaded fresh on every run; an existing installation needs nothing.
New
- The owner as a server account. With
OWNER_SETUP_CODEset (the installer makes one when you choose a server account), whoever registers a server account with that code becomes the owner; the registration form shows a field for it while there is no owner, also where server accounts are otherwise off. A name alone could be taken first by anybody, a code cannot. - Notifications. Direct messages and mentions you do not see right now can show as notifications of the system; a click opens the conversation. In the browser switch them on under Settings > Sounds (the browser asks once, not on phones); the text can be left out.
- Who watches your screen share. The avatars of the people watching appear in the top left corner of your share, on the stage and in its own window; the pointer on one shows it large with the name.
- Link previews in direct messages can be switched off under Settings > View: no link is looked up, your messages go without previews, and you see none in the messages you receive. The choice follows your Squorli account, encrypted.
Improved
- The camera's background blur comes from your server. Its model and program files ship with the client instead of being loaded from jsDelivr and Google; the page no longer allows scripts from any other site.
- The stage in its own window keeps its place. The main window shows where the stage went, with buttons to bring it back or to bring its window to the front.
- The licenses list (Settings > Licenses) names the desktop app's own packages and the blur model as well.
Fixed
- "Show the stage" did not bring the stage's window to the front in the desktop app; it does with desktop app 0.8.1.
Image: ghcr.io/danielklessa/squorli-server:v0.5.2 (also :latest). Update an installation made with the install script: squorli backup, then squorli update; with Compose by hand: set APP_IMAGE=ghcr.io/danielklessa/squorli-server:v0.5.2 in .env, then docker compose pull and up -d. Database migrations run by themselves at the start and cannot be undone: back up first. Guide: https://squorli.com/en/docs/install/