This week in SparkBox: Sep 15 – Sep 21, 2026
Published Monday, Sep 21, 2026
Every Monday we list what changed on every SparkBox in the last seven days, in plain language, with nothing left out. This week: 69 releases (1.6.697 to 1.6.765), 181 improvements, and 1 incident we owe you an explanation for. If your box is up to date, you already have all of it; if not, run sudo sparkbox update.
What broke, and what we did about it
Jellyfin sign-in broken after the last update? Update to 1.6.723
SparkBox 1.6.720 to 1.6.722 put Jellyfin back on version 10 while many boxes were already on 12, and a Jellyfin library that has been upgraded to 12 cannot be opened by 10 (sign-in fails with a database error). 1.6.723 restores Jellyfin 12.1. Run the update now; your library, users and settings are untouched. Do not delete or reset Jellyfin data.
Incidents get a banner on every affected dashboard the moment we know, and the fix is always an update away. We would rather tell you than have you find out.
What shipped
1.6.765 — The installer tells you about your processor before it starts
- SparkBox now checks what processor your box has before it downloads anything. A 64-bit Intel or AMD box is unchanged. A 64-bit ARM box — a Raspberry Pi is the usual one — gets a plain warning that ARM is untested and that a few apps are published for Intel and AMD only, then carries on. A 32-bit board is stopped with the reason, instead of running the whole install and then failing inside a Docker error nobody could read.
- Our terms page listed Raspberry Pi OS among the officially supported systems while our docs said ARM boards are not tested or supported. The terms now say 64-bit Intel or AMD, with an honest separate line about ARM boards.
- Three older releases in the changelog history gained a plain-English line saying what changed and what you see now: automatic updates for every box, the overnight update that could leave apps down, and the first-login panel that showed the wrong app's saved password.
1.6.764 — Your box is now a tile in the App Store
- The App Store ends with an “Add your own app” tile: paste a docker-compose file for any app you like, SparkBox checks it, runs it beside the shipped apps and keeps it across updates. It was a line of text at the top of the page before; now it is where you look for apps.
1.6.763 — Updates are now impossible to miss: a version chip in the top bar and an update strip on Home
- The Updates tab now sits right next to Home, shows the SparkBox version you are running, and lights up with a “New” pill when a release is ready — from any page.
- Home has a new strip under the health banner: your version, your channel (Preview build ★ or Stable), whether a release is ready with a one-click way in, and on a free box what the preview build has and the day it reaches you.
1.6.762 — Immich 3.2.2, and Immich updates flow again
- Immich moves from 3.1.0 to 3.2.2 (server and machine-learning together). If you are bringing over a library that already runs 3.2.x, it opens on this build; we upgraded a real library on our bench from 3.1.0 and every photo, account and thumbnail came through. Your photos and database are untouched — nothing to do but let the update run.
- Immich had been stuck on 3.1.0 for two weeks because our nightly app updater was looking for Immich's new releases in the wrong place and quietly skipped it every night. It now looks in the right place, so future Immich versions reach your box on the normal schedule instead of waiting for someone to notice.
- Ask Tom AI about three releases from 21–22 August and it now gives the real answer instead of saying the fix was not recorded: what the Wizarr app is for (invite friends to your Jellyfin, Plex or Emby without making their accounts by hand), why the assistant stopped calling a problem fixed just because an app restarted cleanly, and the one real switch for running the download apps without the VPN.
1.6.761 — Tom AI knows the dashboard speaks plain http on port 8443
- When the dashboard looks dead, Tom AI no longer sends you to run an https check against port 8443 — the dashboard has never spoken TLS on that port, so that line ended in an SSL error on every box and told nobody anything. It now gives the plain-http check that actually says whether the dashboard is answering, plus the one Docker command that shows whether its published port is still there.
- Ask Tom AI about three releases from 21–22 August and it now gives the real answer instead of saying the fix was not recorded: why bringing the apps up used to quit part-way on a box set up before the hardware-transcoding setting existed (leaving Jellyfin on CPU transcoding), why switching Lidarr, Notifiarr or Chaptarr off from the dashboard used to leave the old app running, and what the one-click updater now tells you when it cannot read its own image name from Docker.
1.6.760 — SABnzbd keeps a download folder you moved to another drive
- If you point SABnzbd's Temporary (incomplete) or Completed folder at a drive of your own — for example an SSD, added to SABnzbd with a per-app override in state/overrides/media.yml so par2 repair and unpacking stop thrashing your spinning disks — SparkBox now leaves that folder alone. Before, the media wiring's occasional re-run treated any folder outside /data as a mistake and quietly moved it back onto the main pool, so the change would not stick. Only SABnzbd's own stock defaults (which sit on the small app disk) and the old /downloads location are still corrected.
- Ask Tom AI about three releases from 20–21 August and it now gives the real answer instead of saying the fix was not recorded: Tom AI's see-through past-conversations panel on the new dashboard, the Edit VPN window that could not scroll on short or scaled Windows screens (and Immich's database staying unavailable after a move to the storage pool), and why the VPN's "default route not found" message means the container's networking rather than your VPN key.
1.6.759 — Tom AI explains three more August releases in plain language
- Ask Tom AI about three releases from 19–20 August and it now gives the real answer instead of saying the fix was not recorded: why the classic dashboard's Custom Domains wizard now asks for your email address before requesting a certificate (it used to tell you to "enter your email address and try again" with nowhere to type it), and where the Hearth join code lives — Settings → Service Passwords and the `sudo sparkbox passwords` list — plus the DuckDNS address and port 80/443 rules the Hearth guide now spells out.
- It can also explain the SABnzbd fix: Sonarr and Radarr are given SABnzbd's full API key instead of the add-only one, so finished downloads are seen and filed into your library instead of sitting in the downloads folder with "API Key Incorrect" in Sonarr and Radarr.
1.6.758 — Preview build: Legend boxes get every release the day it ships; a page on memory and what fits
- SparkBox now has two release channels. Legend (and Backer) boxes are on the Preview build: every release the day it ships, newest features and experiments first, with the occasional rough edge. Every other box is on Stable and gets a release after it has run on the preview boxes for about a week. Security fixes reach every box at once on both channels. Nothing to configure: your box asks the release server for its channel from the licence key it holds.
- Settings → Updates now says which channel this box is on. A free box sees what the preview build has that it does not yet, and the day it arrives; `sudo sparkbox update` prints the same. A box never moves backwards.
- When a preset does not fit the box, the dashboard now links to a new page, tomsparkbox.com/hardware: how much memory each preset needs, which memory your NAS or mini PC takes, and where to look for more.
1.6.757 — The dashboard's disk, CPU and memory tiles no longer freeze at the box's first reading
- The new dashboard's System disk tile (and the CPU and memory gauges next to it) could show the numbers from the moment the dashboard first started and never move again — 90 GB used on the tile while the box itself had 70 GB after a clean-up, and no refresh or private window could change it. They now re-read the box every time the page asks, so a clean-up shows within about 20 seconds.
- Tom AI can explain three more August releases in plain language: how the Hearth public-address setup now finishes (its password prompt no longer opens behind the setup window), why Seerr's choice of Jellyfin or Plex is permanent and what a reset costs, and why the media pipeline card now reports a download that stopped partway under the Download step instead of blaming your library.
1.6.756 — Tom AI explains three more August releases in plain language
- Ask Tom AI about three releases from 19 August and it now gives the real answer instead of saying the fix was not recorded: how a private-by-design app like Hearth is set up and launched from inside the new dashboard (with a "How it's reached" entry to change the address later), and why a Cloudflare certificate that could not be issued now tells you the real reason — usually the API token's permissions — instead of a bare "internal error".
- It can also explain the Valheim and Terraria game servers: password-protected from the first start with the password in Settings → Service Passwords, joined from inside the game rather than a web page, and why Valheim's first start takes up to 15 minutes.
1.6.755 — Each place that recommends the VPN now reports on its own
- Nothing you can see. The VPN links inside SparkBox now each report separately, so we can tell which one actually helps people rather than guessing.
1.6.754 — Tom AI explains three more August releases in plain language
- Ask Tom AI about three fixes from 19 August and it now gives the real answer instead of saying the fix was not recorded: Jellyfin fetching cover art on a box whose own DNS resolver Docker has no route to, File Browser waiting for your storage pool before it is recreated (so it lists your real files), and Tom AI reading the logs first when you say an app keeps bouncing.
- It can also explain why Hearth was absent from the new dashboard's launcher and how its tile now opens through the access method you picked, why the "View full changelog" link used to land on a blank page, and why the new Updates page said "All apps are up to date" with no per-app Update buttons until it started running a real scan.
1.6.753 — Own your box: the Legend page and the support cards say what SparkBox replaces, with numbers only you supply
- The Legend page and the dashboard's support cards now say plainly what SparkBox is for in a tight year: most of what it runs is the kind of service that usually bills you monthly, and here it runs on a box you own, with Legend a one-time purchase that never renews.
- The Legend page has a small calculator: type in what you pay today and see a year of it next to the one-time price. We never guess at your bills or promise a saving, and the page says what SparkBox costs you in hardware, power and time.
1.6.752 — Tom AI and private support know about your custom apps and overrides
- Tom AI now knows you can add your own apps and change how shipped apps run, and tells you how — Settings → Your box, or the sparkbox custom command — instead of saying it is not possible. It also knows what it will and will not fix for an app you added yourself.
- The same knowledge reached private support and the answer bank.
1.6.751 — Custom apps enable correctly even when the header skips optional fields; 'sparkbox diag' builds the full bundle again
- If you added your own app in 1.6.749 and it never showed as enabled, this is why: an app whose header had no 'ram:' line stopped the enable step silently. It now enables. Examples now show the ram line, and the checks mention it.
- 'sudo sparkbox diag' now produces the full diagnostics bundle when the dashboard is running, instead of the smaller host-side one.
1.6.750 — Tom AI explains the week-long "seeding" countdown on a finished download
- Ask Tom AI why a movie that has finished downloading shows "seeding, 6 days 23 hours" in qBittorrent and it now gives the real answer: that figure is not a download estimate but how long the finished file is still shared with others before qBittorrent stops it (SparkBox's stopping point is ratio 2 or 7 days, whichever comes first). The movie is already in Jellyfin; nothing needs speeding up, and lowering the seeding limit in qBittorrent's own Options is your choice and sticks.
- Tom AI can also explain three more earlier releases in plain language instead of saying the fix was not recorded: how the Hearth Access picker got a guide link per option and says up front whether your guests need to install anything, and why the one-click "Easy Address" option came and went in the same day without ever reaching a box.
1.6.749 — Your box: add your own apps, change how shipped apps run, and fix more yourself — all kept across updates
- Add any Docker app of your own: paste its compose file under Settings → Your box (or drop it in the new custom folder) and SparkBox checks it, links it, shows it on the Apps page with a 'Custom · yours' badge, starts it, backs up its config, reads its logs, and keeps it across every update. It refuses the settings that would endanger the rest of the box unless you opt in.
- Change how a shipped app runs — a GPU, a memory limit, a folder — with an override that survives updates, edited from Settings → Your box, with one click to remove it if the app does not come back.
- Fix more yourself: 'sudo sparkbox doctor --fix' offers the known repair for each failed check; 'sudo sparkbox diag' writes the same facts-only diagnostics bundle a ticket attaches so you can read what the box sees; after an update, the first-hour verdict names your overrides first when an app is unhealthy.
- Hooks: custom/hooks/pre-up.sh, post-up.sh and post-update.sh run around 'sparkbox up' and after updates, capped and logged, never blocking.
- Custom apps are yours: SparkBox shows, starts, backs up and reads them; fixes and guarantees cover the shipped apps. The new 'Your box' docs page spells out what you can change and what survives updates.
1.6.748 — Audiobookshelf can use an audiobook folder you already have
- Audiobookshelf gets a real "Audiobooks Folder" setting (Settings → Audiobookshelf, or `sudo sparkbox set-env AUDIOBOOKS_PATH /your/folder`): point it at an existing audiobook library on any drive, and SparkBox restarts the app for you. Until now the only way was editing the app's compose file, which every update rewrote — that hack is no longer needed. Leaving the setting blank keeps the folder under your storage pool exactly as before.
- A custom audiobook folder is treated as your data everywhere the other library folders are: a full reset names it as kept, Clean Slate refuses to touch it, and a folder on a network mount holds Docker until the mount is up.
- Tom AI can now explain three more earlier releases in plain language instead of saying the fix was not recorded: why the one-click update no longer gives up on a busy box when Docker is slow to name the dashboard image; how Hearth got the Access picker for every box plus a Cloudflare Tunnel way in; and why turning Hearth on now opens that picker straight away and the guide says plainly whether your guests need to install anything.
1.6.747 — Tom AI leads with what your box measured as wrong, and its weak answers are redone before you see them
- Tom AI now opens with what your box has actually measured as wrong — the verdict from your last update or install and the checks doctor failed — before anything else.
- When Tom AI's first answer would not really have answered your question, a second, stronger pass is made before you see it.
- When Tom AI wants to run the qBittorrent password re-sync or the media permission fix but its strict evidence check could not see the fault, a judge model reviews the same readings; if it agrees, the repair is offered for your approval as usual. You still decide.
1.6.746 — Three more releases explain themselves to Tom AI in plain language
- Tom AI can now explain three more earlier releases in plain language instead of saying the fix was not recorded: why doctor stopped telling every updated box that its saved File Browser password was rejected (File Browser had moved its sign-in address and the check kept knocking on the old one); why the quick dashboard-only update no longer stops at the download step after one brief internet hiccup, and says so when the box's containers have no internet at all; why a paid licence keeps Tom AI for the day even when other boxes use up the shared fleet-wide allowance; and how Hearth Chat became free on every SparkBox with one-tap invite links and QR codes.
1.6.745 — Tom AI explains again: its answer no longer gets replaced by a raw list of checks
- Tom AI answers like itself again. Since Sept 15, on a 'why is this happening' question it had been showing only a raw list of checks (every container 'healthy') and no explanation, because a guard against invented failures threw the explanation away. It now leads with the reason and the fix and lists what it checked underneath. It still cannot claim it fixed something it did not run, or report a failure its checks did not see.
1.6.744 — Three more releases explain themselves to Tom AI in plain language
- Tom AI can now explain three more earlier releases in plain language instead of saying the fix was not recorded: why a supporter box that never received one of the original 140 hull cards shows its one-of-one Second Print card on the home page instead of a placeholder, and why the print run reads / 400; why updates download normally again on a box whose DNS is a Pi-hole or AdGuard running on the box itself (the update helpers now use the box's own network, exactly like a manual upgrade over SSH); and why asking Tom AI to install or add a new app now points you to the Modules page instead of bouncing an app you already have.
1.6.743 — Every support ask in the dashboard now says which one earned the sale
- When you go from a SparkBox support card to the Legend page, the link now carries which card you came from, so we can learn which cards actually help and retire the ones that are only noise. It carries only the card's name, never anything about your box or you.
1.6.742 — The first hour after an install or update gets an honest verdict, and the support asks show the work behind the price
- After 'sudo sparkbox up', 'sudo sparkbox update' or an install, SparkBox now ends with one honest sentence about your box instead of 'dashboard up': how many apps are running and healthy, or that the box itself is overloaded (and not to restart apps), or which apps failed their check, or that the dashboard cannot save a sign-in. The dashboard shows the same verdict as a banner until the next clean one, and 'sudo sparkbox verify' gives it again any time.
- The setup wizard measures your box's memory before you pick a preset and tells you when Media or Full would not fit (with Essentials suggested, and a note for ARM boxes), instead of letting every app fail its health check afterwards. You can still apply anyway.
- The support cards show the real work behind the ask — releases and fixes shipped in the last 30 days, and how many people back SparkBox — and appear at a moment that earned it, such as right after an update fixed something, at most once a month. Priority private support is named as a Legend perk.
- A private ticket filed while the support relay is being repaired now says so and points you to the forum meanwhile, instead of failing without a word; a doctor run approved from a ticket reports 'found N issues' rather than a number.
- Staged releases now ramp from 10 % to 50 % to everyone on evidence from boxes actually running the new version, even when those boxes are quiet.
- When a site-wide sale is running, the support cards show the sale price and the discount is applied at checkout; a Legend bought with any discount (a referral, or a sale) is always recognised by our purchase webhook.
1.6.741 — On Windows, doctor now checks the dashboard from Windows' side, not just from Linux
- On Windows (WSL), 'sudo sparkbox doctor' now opens the dashboard address the way your browser does — from the Windows side — instead of only asking Linux, which always answered. When Linux answers but Windows cannot get through, doctor says so (the browser shows 'Failed to fetch' while every app reads healthy) and names what it saw: the connection hangs (a port block Windows reserved for itself, the Hyper-V firewall in mirrored mode, or the network on the Public profile), nothing on the Windows side answers for the port (a networking-mode change that needs 'wsl --shutdown'), or another Windows program is answering on that port — each with the exact read-only check and fix. If Windows cannot be reached from that shell, doctor says so and never counts it as a fault.
- Private support tickets: the ticket form now asks what the ticket is about. Technical tickets are a supporter perk — a box without a paid licence is pointed at the forum instead — while purchase, licence, refund and security tickets stay open to everyone, and the diagnostics bundle rides only technical and security tickets.
- Tom AI can now explain three more earlier releases in plain language instead of saying the fix was not recorded: why Seerr's connection check never runs anything typed into a saved connection as part of a command; why Tom AI says plainly when this box's own connection to the AI service timed out and points you at doctor's Container Egress check, and why doctor names WSL's mirrored-networking wedge on Windows; and why the AI chat refuses every spelling of a library-wide ownership or permissions change and offers an ACL-only alternative instead.
1.6.740 — Three more releases explain themselves to Tom AI in plain language
- Tom AI can now explain three more earlier releases in plain language instead of saying the fix was not recorded: why it names the real reason (or at least a code) when it loses the AI service part-way through a task, and says so plainly when the AI provider account on our side has a billing problem instead of asking you to retry; why it no longer tries the same app bring-up twice in one reply, why 'sparkbox up' warns when a module's compose file was edited by hand, and why a 'yes, go ahead' typed to Tom AI is no longer recorded as if it were a problem report; and why adding a movie or show from Seerr works again after Seerr lost its connection to Sonarr or Radarr — it now tests that connection from inside its own container on every start and repairs a dead entry.
1.6.739 — An overloaded box is no longer restarted deeper into the hole
- When your box is working far past its cores (a slow disk, tight memory, or many apps starting at once), every app can fail its health check at the same time even though they are all still there. SparkBox used to restart each of them, up to three times every five minutes, and every restart added to the load, so a slow box turned into "the dashboard is up but nothing works". It now measures the load first, holds off on automatic restarts while the box is overloaded, tells you plainly that this is deliberate and temporary, and resumes on its own once the box calms down.
- sudo sparkbox doctor no longer tells you to restart your busiest app when no app is actually busy: under high load with every app near idle it now says the box itself is waiting on its disk or memory, tells you not to restart apps, and points you at the memory lines and the Apps page.
- The support ticket form's "Preview exactly what is sent", the approve-a-repair list from support, and the funding note on the support card work again; they had been failing in the browser since 1.6.734, and the occasional support ask now correctly skips people who already back the project.
- Tom AI can explain three more earlier releases in plain language: the leftover VPN-network copy of a download app that doctor now names and removes, that check only reporting copies that are actually running, and CoolerControl's red tile that came from a health probe using a tool its image never had.
1.6.738 — Three more releases explain themselves to Tom AI in plain language
- Tom AI can now explain three more earlier releases in plain language instead of saying the fix was not recorded: how My Ship became a collectible trading card with your fleet number and why WordPress and Ghost each get their own private database login per box; why the memory limits you set for Prowlarr, Sonarr, Radarr and Bazarr are honoured instead of a fixed 256 MB cap; and why qBittorrent's page loads again on a box where SABnzbd had crept onto port 8080, with SAB kept on its own port, your Usenet server ports left alone, and qBittorrent's health check only passing when qBittorrent itself answers.
1.6.737 — The dashboard no longer freezes when your media folder includes a slow network share
- If your media folder has a network share under it (a NAS folder mounted over CIFS or NFS with a lot of files), the "Storage by type" card's hourly size scan could take far longer than its 3-minute limit, and that limit only ever stopped the scan's wrapper: the scan itself kept running, and every hour another one started on top of it. Inside the dashboard's small CPU and memory allowance that left the dashboard unresponsive and unhealthy until you restarted it, and a stale "du" process visible inside its container. Now the limit stops the scan itself, and a folder that hit the limit is left alone for 24 hours instead of being rescanned every hour. The card simply shows that folder's usage under System until a scan completes.
- Tom AI can now explain three more earlier releases in plain language: how Tunarr became a first-class app for live TV channels from your own library, what the installer now tells you on ZimaOS and other NAS systems that have no package manager, and how a purchase of a different product from the same shop no longer hands out a SparkBox license key by mistake.
1.6.736 — Three more releases explain themselves to Tom AI in plain language
- Tom AI can now explain three earlier releases in plain language instead of saying the fix was not recorded: why asking it "when did Tailscale restart last time?" no longer makes it restart an app that was never broken; why the dashboard's media storage check now looks inside the per-title folders on a NAS instead of showing green while imports fail with Permission denied; and why restarting one app inside a bundle, from Tom AI or with sudo sparkbox restart <bundle> <app>, now rebuilds that app fresh so a settings fix actually takes effect.
1.6.735 — Approve a support repair from your dashboard
- When support knows the fix is one SparkBox command, they can attach it to their reply to your private ticket. It shows up in your dashboard under Settings → Support repairs with what it does and how long it takes, and nothing happens until you press Approve. Your box then runs it the same way it runs an update, and the result goes back to your ticket by itself. Support never gets access to your box, and the list of possible repairs is short and fixed.
1.6.734 — Support can see what is wrong without access to your box
- When you open a private support ticket from the dashboard you can attach a diagnostics bundle, and you see exactly what is in it before it goes: your SparkBox version, the state of each app, the doctor's findings, folder permissions, the names of your settings, and redacted SparkBox app logs. It never includes your media library, your download client's logs, filenames, or any password or key. Support reads it first, so most tickets can be answered without asking you to run commands or paste logs, and nobody ever needs access to your box.
1.6.733 — Every release now proves itself on a real box and reaches the fleet in stages
- A new SparkBox version no longer goes to everyone at once. Before it ships, it has to upgrade a real test box cleanly: every app still up, the dashboard sign-in working, Jellyfin answering. If any of that fails, nothing goes out. Then it reaches 10% of boxes first, and only after those report clean updates for a couple of hours does it reach half, then everyone. If updates start failing along the way, the rollout freezes itself.
- sudo sparkbox upgrade now follows the same gradual schedule as the dashboard's automatic updates, and installs exactly the build your box was offered. If the team has paused updates, the command says so instead of upgrading.
1.6.732 — Doctor names a VPN app on Windows; Audiobookshelf uploads no longer run out of memory
- On a Windows (WSL) box, when a VPN app such as Surfshark is connected on Windows, its kill switch cuts SparkBox's apps off from the internet: the dashboard build stalls, the VPN container can never connect no matter which key you enter, and doctor used to call the tunnel's own address "a real home-network address" while listing security suites as the likely cause. Doctor now names a VPN app on Windows as the first thing to check, points out when this box's internet address is your VPN tunnel's address (so the app is definitely connected), and tells you to quit the app fully — SparkBox runs its own VPN tunnel from the key you saved, so the Windows app is not needed — then run sudo sparkbox up.
- Audiobookshelf no longer runs out of memory while you upload: it had a fixed 256 MB limit since the day it was added, and an upload (with its audio scan and cover processing) could hit it and the app was killed mid-upload. The limit is now 1 GB and, for very large libraries, adjustable with sudo sparkbox set-env AUDIOBOOKSHELF_MEM_LIMIT 2G followed by sudo sparkbox up audiobookshelf.
- Tom AI explains three more earlier releases in plain language instead of saying the fix was not recorded: the internal files removed from the download in v1.6.543, the four fixes in v1.6.546 (fleet notices, Homarr's health check, Sonarr's sport search sources, Portainer repair on Windows), and doctor naming Windows' mirrored-networking loopback fault in v1.6.548.
1.6.731 — sparkbox down --hold keeps SparkBox down across reboots
- sudo sparkbox down --hold stops every app and keeps SparkBox down through as many reboots as you like. Until now sparkbox down stopped the apps but the reboot self-heal started them again at the next boot, and switching that off by hand was undone the next time you ran up; nothing said so. When you are ready, sudo sparkbox up starts your apps and switches the reboot self-heal back on in the same step. A plain sparkbox down is unchanged.
- Tom AI can now answer how to keep SparkBox down across reboots, and explains three more earlier releases in plain language instead of saying the fix was not recorded: what the assistant learns from your yes to a proposed fix, the Legend price returning to $49, and the supporters strip on the login screen.
1.6.730 — Three more releases explain themselves to Tom AI in plain language
- Tom AI can now explain three earlier releases in plain language instead of saying the fix was not recorded: the two buttons under every Tom AI reply that ask whether the fix worked, the Windows memory and processor panel under Settings, Network together with the download link that no longer serves a stale installer after a release, and the backup restore that accepts the driver links Plex creates for hardware transcoding. Nothing on your box changes with this update.
1.6.729 — A box can no longer lock its owner out after an update
- If an update, a reboot or a NAS permission sweep ever leaves the dashboard unable to save your login, you can still sign in. Until now the password was accepted and then you landed straight back on the login form, which read like a rejected password. The dashboard now keeps your login in memory when its session folder is broken, repairs that folder itself every time it starts, and says exactly what is wrong in its log. Nothing about your apps, users or data changes.
- sparkbox update and sparkbox up now check that sign-in works before they say they are done. A folder the dashboard cannot write is repaired and re-checked on the spot; a box with no admin password and no way to set one is named with its one fix, sudo sparkbox reset-password, instead of an update that ends in "complete" while nobody can sign in.
- sparkbox doctor has a new Dashboard Login line for the same two faults, so support and Tom AI see the cause instead of guessing at permissions.
1.6.728 — Three more installer releases explain themselves to Tom AI in plain language
- Tom AI can now explain three earlier Windows installer changes in plain language instead of saying the fix was not recorded: the support page moving to the front of the setup wizard, the Incogni option and the corrected Become a backer link on that page, and the drive picker that lets you choose which built-in drive the whole SparkBox machine and its data live on. Nothing on your box changes with this update.
1.6.727 — Boxes that opted into Jellyfin 12 early now follow the current Jellyfin pin
- If you opted into Jellyfin 12 early with JELLYFIN_VERSION=12.0 (or SparkBox marked your Jellyfin data as migrated at the time), SparkBox was still holding your Jellyfin on 12.0 while everyone else moved to 12.1, and on a box already running 12.1 every update or restart was refused as a downgrade. That opt-in now steps aside as soon as the built-in Jellyfin version has caught up, so your Jellyfin follows the normal version like any other box. Nothing about your library, users or settings changes; the migration marker stays in place so you are still protected if a future build were ever to pin an older Jellyfin again.
- Tom AI now recognises the questions customers actually ask about seven recent field reports (the antivirus Resume button after an update, setfacl on a UGREEN NAS, Prowlarr query limits, keeping Jellyfin off in the Media Center bundle, claiming Plex, SABnzbd access denied, and voice calls in Element); those phrasings had been recorded but were not reaching its search. Three more earlier releases also explain themselves in plain language: the Windows claim link, the console click that froze an install, and the installer support page.
1.6.726 — A corrupted download is named as such when app images will not pull
- When SparkBox cannot download its app images and the pull ends in "tls: bad record MAC" or "unexpected EOF", the failure summary now says what that is: the download is being altered on your own network path (a cable, extender, switch, router or ISP fault), not by SparkBox or Docker. It tells you the one thing to try, a different cable straight into the router, and that reinstalling SparkBox, Docker or WSL cannot fix it. Small images get through and large ones do not, which is why a hello-world test passes while the real apps fail. Tom AI knows the same answer now.
- Tom AI now serves the plain-language explanation of releases that bundled several fixes at once; those explanations were being written but never reached it. And three more earlier releases explain themselves: automatic updates becoming a Legend feature, the Windows installer no longer stopping on a terminal-only question, and the claim code being shown in the installer window.
1.6.725 — Restarting or updating a single app can no longer downgrade it
- Yesterday's protection against an update reopening your data with an older app now also covers restarting or updating one app on its own (for example the Media Center from the dashboard, or with sparkbox restart media). If a release ever pins an older version than the one running on your box, that app is left running untouched and you are told why, instead of its database being opened by the older version.
- Tom AI now explains in plain language what three more earlier releases changed for you: the one that kept Portainer and the Minecraft panel working after a reset or a reboot, the one that made the VPN panel load on boxes set up from a second user account, and the one that let the Windows installer finish again.
1.6.724 — An update can no longer downgrade an app you are running
- sparkbox update now refuses to recreate a running app with an older image, exactly as sparkbox up already did. If a release ever pins an older version than the one on your box, the update leaves that app running untouched and tells you, instead of reopening its data with an older version. This is the check that would have stopped yesterday's Jellyfin sign-in failure.
- Support now raises an immediate alert to the team when a forum post or ticket says something broke or nothing is working, so a fix starts within minutes instead of waiting for the next scheduled pass.
1.6.723 — Jellyfin is back on 12.1 — fixes sign-in failing with a database error after the last update
- If Jellyfin stopped letting you sign in after updating to 1.6.720, 1.6.721 or 1.6.722, with an error like "SQLite Error 1: no such column: p.Permission_Permissions_Guid", this update fixes it. Those releases pinned Jellyfin back to 10.11.11 while your box had already moved to 12.1, and a Jellyfin database that has been upgraded to 12 cannot be opened by 10. This release puts Jellyfin 12.1 back; run the update and Jellyfin opens your existing library and users again. Do not delete or reset Jellyfin's data.
- The refuse-to-downgrade check inside sparkbox is being tightened so an older pin can never recreate a running app again, and the release rule that allowed this rollback has been withdrawn.
1.6.722 — An unhealthy database now says why, and Tom AI explains three more releases
- A database that goes unhealthy now tells you why. Nextcloud's and WordPress's databases check themselves by logging in the way the app does, but the check threw away its own error message, so the app sat there unable to reach its database while everything SparkBox could show you was a bare "unhealthy" with no reason. The reason — usually that the saved password and the database no longer agree — is now recorded where the dashboard, the doctor and support can all read it. Nothing about your password is written down.
- Tom AI now explains in plain language what three more earlier releases changed for you, instead of saying the details were not recorded: the one that fixed Windows installs picking up the wrong copy of Docker and leaving apps unable to look up internet addresses, the one that gathered up a batch of fixes so several unrelated annoyances went away together, and the one that made installing SparkBox as an app on a computer read as something for computers.
1.6.721 — Logging in after an update, and the Portainer password file
- You can sign in again right after a dashboard-only update. That quicker update ran as the system user and left the folder holding your sign-in sessions owned by it, so the dashboard could no longer write there and login failed with a permissions error on a box that had been working a minute earlier. The update now hands that folder back before it finishes.
- The media pipeline widget stops reporting a missing Portainer secret. If the saved admin password file was left empty — an update or a restore interrupted part way — SparkBox treated it as fine and started Portainer with a blank password, which Portainer refuses, so the error came back every time. An empty file is now filled in from the password SparkBox already recorded for you, before Portainer starts.
- The rule that keeps the dashboard's own pages from being compressed — the cause of the blank white dashboard fixed in v1.6.71 — is now covered by a test, so it cannot quietly come back.
1.6.720 — Jellyfin stays on the tested version, and Tom AI explains three more releases
- Jellyfin goes back to the version SparkBox tests and ships with, after an automatic update moved it two major versions ahead in one step, past the opt-in that exists for exactly that jump. If your box already moved to the newer Jellyfin it is left alone rather than rolled back. The updater now also recognises Jellyfin's shorter version numbers, so it steps one major version at a time like everything else.
- Tom AI now explains in plain language what three more earlier releases changed for you, instead of saying the details were not recorded: the one that stopped off-site backup erasing your bucket and keys when you switched it off and let libraries over 5 GB finish uploading, the one that fixed the welcome email's reply address and kept your request app working after a media app's key was regenerated, and the one that got detailed troubleshooting answers coming back instead of an empty reply.
1.6.719 — Tom AI answers three more "what changed in that release?" questions properly
- Tom AI now explains in plain language what three more earlier releases changed for you, instead of saying the details were not recorded: the one that made a terminal setup stick and warned that some VPN locations block file sharing, the one that stopped remote access showing green while signed out and stopped Roll Back claiming success when nothing was restored, and the one that got the certificate-expiry alert reading real certificates at last.
- Matrix: the one-time Synapse setup step now runs the same Synapse version as the server (an automatic version bump had moved only the server), so a new install's configuration matches what runs.
1.6.718 — A new spark for SparkBox
- SparkBox has a new logo across the website, all dashboard versions, sign-in and welcome screens, app launcher, and home-screen icons.
- The Legend constellation now features the new SparkBox artwork. Browser icons refresh with this update.
- The Windows installer and companion app brand assets use the same artwork.
1.6.717 — Your data-sharing choice is confirmed before the question closes
- The data-sharing question now waits until SparkBox confirms your answer is saved. Previously a failed save could silently close the question, causing it to appear again at the next login.
- Both Yes and Not now are remembered across logins and restarts. If a save cannot be confirmed, the question stays open with a clear retry message. This applies to Classic, the original Legend interface and Version 3.
1.6.716 — App refresh: 13 apps updated to their latest tested versions; Frigate starts on servers without a GPU
- Refreshed 13 apps to their latest stable versions in one update — each one was installed on the old version and upgraded on the test box before this shipped, and the fleet applies them on its normal update. Run `sudo sparkbox update` to take them now.
- Updated: actual-server 26.7.0 → 26.9.0, alpine 3.24.1 → 3.24.2, authelia 4.39.27 → 4.39.28, byparr 2.1.0 → 3.0.4, grafana 13.1.3 → 13.2.2, jellyfin 10.11.11 → 12.1, linkding 1.46.2 → 1.47.0, nextcloud 32.0.6 → 33.0.5, prometheus v3.13.2 → v3.14.0, speedtest-tracker 1.14.5 → 1.15.0, synapse v1.156.0 → v1.161.0, tailscale v1.102.3 → v1.102.4, wizarr v2026.7.1 → v2026.9.1.
- Jellyfin 12 and Nextcloud 33 are major versions: both migrated their existing libraries cleanly in the rehearsal and nothing was reset; expect Jellyfin's new-look interface after the update.
- Frigate: on a server without an Intel/AMD GPU (or in a VM that does not pass one through) Frigate could not start at all — Docker refused to create the container because the video device was hard-wired into its definition. The device is now only attached when the server actually has one, so Frigate starts everywhere and still uses hardware acceleration where it exists.
- Held back on purpose this time: n8n 2.x, Open WebUI 0.11 / Ollama 0.34 and Minecraft Bedrock — the test box could not prove them, so they stay on their current versions until it can.
1.6.715 — Tom AI answers three more "what changed in that release?" questions properly
- Tom AI now explains in plain language what three earlier releases changed for you, instead of saying the details were not recorded: the twenty-two-fix batch, the release that repaired empty "what's new" notes and a failed update deleting a saved settings file, and the one that brought the refund and billing form back to a real mailbox.
1.6.714 — Version 3: your preview becomes your workspace
- Version 3 now follows the new workspace design throughout: a constellation hero, quieter sidebar, compact favorites dock, and coordinated widgets and controls.
- Choose your favorite apps for the dock, find apps and settings with Ctrl/Cmd K, and jump straight from a health warning to its details.
- Server pulse now shows real CPU and memory readings with 1-hour, 24-hour and 7-day views. History builds as your dashboard collects readings; missing periods stay blank.
- A prominent update notice appears across dashboard pages when a SparkBox update is available. Review the release before updating, on Free, Legend, Classic or the original Legend interface.
- Existing app management, settings, Vault and older dashboard choices remain available.
1.6.712 — Version 3: a new workspace for SparkBox Free and Legend
- Meet the Version 3 interface: a clean workspace for SparkBox Free and a distinct Legend home with an app dock, Tom AI panel, atmosphere choices and saved layouts.
- Choose your dashboard from the sidebar: Version 3, Version 1 (Classic), or Version 2 (Original Legend) for supporters. Your apps, data and existing dashboard choice stay in place.
- V3 uses the existing app, container, update, backup, security and account controls. Its Vault opens and manages entries directly in the new interface.
- The home screen distinguishes app availability from system status. Disk warnings and unavailable metrics stay visible instead of being presented as a healthy server.
- Daylight and Nightfall themes, responsive layouts, and separate saved widget preferences for V3.
1.6.711 — Actual Budget, Open WebUI and n8n stop restarting on their own; Home layout holes closed
- Actual Budget: if only half of its HTTPS certificate was ever written — an interrupted first install, a partial restore — nothing repaired it, and the app exited on the missing half and restarted forever. `sparkbox up` now checks both halves before starting it and regenerates them if either is missing or empty. A working certificate is left alone, so you are not asked to accept a new one for no reason.
- Open WebUI: its first start downloads and sets up its embedding model, and only answers as healthy once that is done. On a slower box that took longer than it was given, so it was declared unhealthy and restarted — throwing away the partial download and beginning the same wait again. It now gets the time it needs; a fast box is still ready as soon as it answers.
- n8n: it was only claiming about half of the memory its app is allowed, which was enough for ordinary use but not for the database upgrade that runs after a version change — so it could run out of memory part-way through while memory was still free. It now asks for what it needs up front.
- Home (customised layouts): cards no longer leave a hole beside or under themselves. A card that had once grown tall kept that height forever, so a short launcher next to a tall system column left up to 700px of empty wallpaper, a hidden My Ship card still held its rows, and a section header could end up under its own cards. Rows now match the tallest card, hidden cards give their rows back, sections stay in order, and the settled layout is saved so the page does not jump on the next load.
- Classic dashboard: one set of corner radii (8 / 12 / 16px) across buttons, cards and panels instead of nineteen different ones; light mode keeps the wallpaper readable; links are styled everywhere; the low-disk banner stays visible while you scroll.
- Privacy & Terms (website): the AI providers behind Tom AI and support are named, the two add-ons that renew are stated with how to cancel, the sub-processor list and Ultimate-app data notes are published, and stored Tom AI transcripts are redacted the same way the live chat is.
1.6.713 — Hardware transcoding starts on more servers, and a warning before a mount disappears
- Hardware transcoding now starts on servers whose graphics card reports one group for both of its devices. Jellyfin, Tdarr and ErsatzTV previously refused to start with GPU transcoding turned on, and the only sign was the app failing to come up.
- If you added a folder to a container outside SparkBox — in Portainer, for example — SparkBox now tells you before an update that the folder is about to be dropped, and hands you the exact lines to keep it permanently.
1.6.710 — App refresh: 18 app(s) updated to their latest tested versions
- Refreshed 18 app(s) to their latest stable versions, all in one update — each was installed and tested end-to-end by the nightly auto-bump rehearsal before this shipped. Run `sudo sparkbox update`.
- Updated: changedetection.io 0.55.8 → 0.60.7, chaptarr 0.9.936 → 0.9.958, crafty-4 4.10.8 → 4.11.0, duplicati 2.3.0 → 2.4.0, flaresolverr v3.5.0 → v3.5.2, freshrss 1.29.1 → 1.30.0, ghost 6.57.1-alpine → 6.64.0-alpine, homarr v1.71.0 → v1.77.1, homepage v2.2.0 → v2.4.0, mealie v3.25.1 → v3.27.0, navidrome 0.63.2 → 0.64.0, nextcloud 31.0.9 → 32.0.6, prowlarr 2.5.2 → 2.6.5, radarr 6.3.0 → 6.4.4, sabnzbd 4.4.1 → 5.1.3, server 2.9.1 → 3.1.1, shelfarr 2026.08.31.1 → 2026.09.10.1, sonarr 4.0.19 → 4.0.20.
1.6.709 — Sharing an AI answer no longer publishes anything you pasted into the chat, and reset-password really lets you back in
- Share to demox no longer publishes secrets. If you pasted an .env excerpt, a licence key, a Plex claim token, an API key or a password into the chat while asking your question, the pre-filled public post carried it word for word into the forum, the address bar and your browser history. Both your question and the AI reply are now filtered before the post is prepared, and each removed value is labelled so you can see which credential it was. If you shared a chat before this update, treat anything you pasted into it as public and rotate it.
- sparkbox reset-password now really gets you back in. On a box updated from an older version the reset could report success and the new password be accepted, and the dashboard would still bounce you straight back to the login form, because the folder it keeps your session in was left owned by root and it could not write a session file. Resetting the password now repairs that folder before it restarts the dashboard.
- The built-in assistant now gives the right details for connecting Sonarr, Radarr or Prowlarr to SABnzbd by hand. It used to leave people chasing DNS and Docker networks after "Unable to connect to SABnzbd"; it now tells you the host and port those apps actually need (localhost, port 8081) and warns that 8186 is the browser port only.
1.6.708 — Stay signed in after an update, and a clear answer when the media setup has to finish on the server
- The dashboard no longer signs you out and says it cannot load your services after sparkbox update or sparkbox restart. The folder it keeps your session in was only prepared during sparkbox up, so any other restart could leave it owned by root and unwritable; it is now prepared on every path that recreates the containers.
- Finish media setup: when the button is pressed from inside the dashboard container it now says plainly that the step has to run on the server and gives you the exact command (sudo /opt/sparkbox/sparkbox media-finish), instead of failing with "/app is not writable as the current user" or quietly creating folders nobody can see. The Moonfin toggle shows the same reason.
- Tom AI: more of its help articles now explain, in plain language, what a past fix actually changed for you, instead of ending with a note that the resolution was not recorded.
1.6.707 — Cloudflare Tunnel 2026.9.1, CoolerControl 5.0, and Tom AI that finds a third more answers
- Cloudflare Tunnel connector updated to 2026.9.1 (September security and stability fixes). No settings change; your tunnel reconnects on its own.
- CoolerControl updated to 5.0: new interface, calibration wizard, security hardening. Fan curves, profiles and sensors carry over. If you used the "EMA" smoothing function type, it becomes plain Identity after the update; re-add smoothing as an EMA custom sensor.
- Tom AI finds noticeably more of its own help articles, because it now matches the way customers actually phrase a problem, and seven new articles cover SABnzbd "name does not resolve", File Browser vs root-owned music folders, the orange "starting" icon, and more.
- Tom AI outcome reporting: the dashboard now reports how a repair session ended on every step, not only when a fix ran, so our cost and success numbers are honest.
- Moonfin (Jellyfin request button): the installer now picks the Jellyfin build of the plugin, not the Emby one, so Jellyfin 12 loads it; the toggle is marked experimental until Moonfin can show its button on Jellyfin 12 (use Seerr to request in the meantime).
- UGOS and other boxes that moved the dashboard off port 443: sparkbox up no longer rebinds Nginx Proxy Manager to 443 when an old value is left in the shell; the .env setting wins.
- Checkup (sparkbox doctor): the out-of-memory report now reads the same on the server and in the dashboard. Kills that are not SparkBox apps are reported on their own line on the server, and the dashboard says plainly that it cannot see them instead of quietly showing a shorter list.
1.6.706 — Doctor sees five more faults, MariaDB password repair, Stable Diffusion sizes itself, no daily message limit for founding Legend
- sparkbox doctor now reports five faults it could not see before: a VPN country change that never reached the VPN container, a Tailscale node that is not on your tailnet, finished downloads stuck before your library (in the app's own words), several apps that stopped in the same minute, and a Jellyfin folder it cannot watch with no recent scan. Each comes with the exact fix.
- Windows: doctor reads the port blocks Windows reserves for itself and, if one covers a SparkBox app port, names the ports and prints the documented fix.
- BookStack and Nextcloud: sudo sparkbox repair-db-auth bookstack (or cloud) repairs a database password mismatch after a restore or .env regeneration. It saves a copy first, resets only the existing logins, and never wipes your data.
- Stable Diffusion sizes its memory limit from your box's RAM each time it starts, tells you plainly if the box has under 8 GB instead of crash-looping, and doctor says whether the app's own limit or the whole box ran out of memory.
- Tom AI: if you bought Legend while the card said "no practical limit for normal use Tom AI chat" (before 26 July), the daily message limit does not apply to your key. No action needed.
- sparkbox logs now hides passwords, keys and tokens in the live log stream, like doctor already did.
1.6.705 — Sixteen fixes from the support queue: WSL first-run freeze, seeded app logins, VPN forwarded port, Home Assistant 2026.9
- Windows: opening the SparkBox distro from the Start menu could freeze every SparkBox command behind the Linux first-run wizard. The installer, sparkbox up and doctor now disarm it.
- Windows: a media drive mounted from a WSL terminal is now visible to Docker, so the media apps see your files.
- Portainer and qBittorrent are now opened in the firewall like every other app, so LAN access no longer times out.
- The admin login SparkBox creates for Sonarr, Radarr and Prowlarr now appears under Settings → Service Passwords and in the first-login popup, so turning "Trust my LAN" off never locks you out.
- Doctor now recognises an Immich database that is up but rejecting Immich's password and points you at the one-command repair instead of calling it a crash-loop.
- The OnlyOffice secret key is shown with your other passwords, and the Cloud guide covers the two Nextcloud settings that stop "Error while downloading the document file".
- sudo sparkbox bootstrap-token no longer exits silently on a box that lost its token; it explains the state and names sudo sparkbox reset-password. The login screen gives the same recovery.
- Installing an app from the dashboard no longer warns about a broken network or a missing media drive when both are fine.
- The Moonfin plugin installs on any NAS without needing extra tools on the system.
- When Sonarr or Radarr cannot tell which show or movie a finished download belongs to, the Media pipeline card sends you straight to Manual Import instead of suggesting a restart.
- When an update is cut short because the box ran out of memory, the update screen says exactly that.
- A box that cannot write its own history file no longer reports a phantom crash every ten minutes.
- When your VPN hands SparkBox a forwarded port (ProtonVPN, PIA), qBittorrent now listens on that port automatically instead of staying firewalled.
- Choosing Private Internet Access, Perfect Privacy or VPN No practical limit for normal use now connects instead of the VPN container looping on "provider name not active".
- Home Assistant now ships the current 2026.9 release and upgrades existing installs in place, keeping your users, devices and history. If you maintain Home Assistant YAML by hand, check Home Assistant's breaking-change notes between 2024.12 and 2026.9.
- Turning an app off with sudo sparkbox disable no longer hides the enabled-app list from the dashboard: afterwards Tom AI's built-in doctor used to stop halfway with no summary, and the ad-block stats read as nothing enabled. Existing installs are repaired on the next sudo sparkbox up.
1.6.704 — A failed install no longer leaves your DNS changed
- If an install fails before SparkBox starts, the installer now puts the host's DNS back the way it was: it turns the systemd-resolved stub listener back on and restores /etc/resolv.conf. Previously a failed install left the DNS change made for Pi-hole in place on a box that never got SparkBox.
- A finished install, an upgrade on a box that already runs Pi-hole, and anything else already holding port 53 are left exactly as they are.
1.6.703 — Tom AI checks repair compatibility before selecting its model
- Tom AI identifies the installed dashboard before selecting the new repair model. Older dashboards keep their existing repair provider until they have the current verification safeguards.
- The corrected qBittorrent login repair can be offered after an older implementation failed, but only when fresh checks confirm the login problem. Failures of the corrected repair still stop repeat attempts. The direct repair also recognizes Prowlarr connections.
1.6.702 — Media login repairs clear temporary bans and use current checks
- The qBittorrent login repair now saves corrected download-client credentials before restarting qBittorrent to clear a temporary login ban, then checks that the apps can actually log in.
- Tom AI media diagnostics check current authentication instead of treating old log warnings as a current failure. The new repair model path uses current tool results for its diagnostic summaries.
- An unrelated app that was already unhealthy no longer prevents a successful qBittorrent login repair from being verified. New health regressions still fail verification.
1.6.701 — Repair summaries stay accurate during AI handoffs
- Extended the local verification safeguards used by the upcoming Tom AI repair update: a handoff to another AI model cannot turn a failed, unverified, or declined action into a claim that it was fixed. The new repair routing remains under evaluation.
1.6.700 — Finished setup helpers, an honest doctor write check, and steadier Tom AI actions
- A one-time setup helper that has finished its job (for example the antivirus module's clamav-init) no longer shows as exited with a Resume button. The Running list now says “Setup done” with Logs only, and the V2 container table labels it done with no Start button, so a finished helper is not mistaken for a crashed service.
- sudo sparkbox doctor now tests whether your apps (the user id they run as) can actually write to your media folder, instead of reporting that root can. A box where downloads and imports fail with “Permission denied” no longer gets a green “MEDIA_ROOT is writable”; it gets the warning and the fix command.
- Tom AI’s action turns now ride out a momentary DNS lookup hiccup the same way its chat turns already did, instead of failing at once with an EAI_AGAIN error while the box’s network is fine.
1.6.699 — Tom AI prepares safer repair summaries
- Added safeguards for the upcoming Tom AI update: repair summaries use the checks performed by your box, so a failed or unverified repair cannot be reported as fixed. Declined actions are reported as skipped. This new path remains disabled during testing.
1.6.698 — Tom AI avoids repeated repairs and checks what actually worked
- Tom AI stops repeating a failed action when the relevant checks have not changed, including after another message in the same conversation. After two failed attempts, it stops that action and investigates another cause.
- When you ask to fix a qBittorrent login problem, Tom can now use fresh Sonarr and Radarr login checks to offer the existing credential repair directly. You still approve it first, and Tom checks the login again before reporting success. This direct path is available on paid boxes; unclear cases use the usual investigation.
- Your “fixed” feedback now applies to the conversation as a whole. It no longer marks every repair attempted in that conversation as successful. Stuck-download guidance also asks Tom to investigate the import reason before proposing another scan.
1.6.697 — Matrix chat survives scheduled updates and reboots
- Matrix chat: Synapse no longer dies after a scheduled update or a reboot. Every update run re-owns the app folders to your box user, and Synapse — which runs as its own user — was then locked out of its own signing key and database at the next start: sb-synapse-init sat at "Exited (1)", sb-synapse never left "Created", and the only way back was a manual chown of the Matrix folder. The Matrix setup step now hands that folder back to Synapse before it starts, every time, so a scheduled update or a restart brings your chat straight back.
How to get all of this
One command on your box, whenever suits you. Nothing here changes your data or your settings.
sudo sparkbox updateLegend members get every future update and every app we ever ship for a one-time $49. See what Legend includes.