kuma v0.17.0
Fixed
-
A credential file is no longer executed as root.
kuma install --restorewrites a repository password to/var/lib/kuma/secrets/restore.env, and the first-boot restore used to read it with a shell, which runs whatever is on the right-hand side. A value like$(...)executed as root before anybody logged in. Both that unit andkuma backupnow parse the file instead. If your repository password contains a$, a backtick, a quote or a backslash, kuma will now refuse it by name, because those characters meant different things to different readers of the same file. A repository created before this release was encrypted with the expanded value, so change its password withrestic passwdbefore rewriting the file. -
kuma doctorno longer reports a working swapfile as missing. The hibernate check reads the swapfile throughsudo, and a declined or unpromptablesudograded the same as a broken file. It now says it could not ask. This was invisible in a terminal, wheresudoprompts, and reliable for anything readingdoctor --json. -
Nothing suspends into an unlocked session. The desktop shell owns idle lock, the lock keybind and lock-before-suspend, and it used to be started in a way that could not restart it. It now runs supervised, and a machine whose shell is gone ends the session rather than sleeping with the desktop on screen. A shell that hangs rather than exits is still not covered.
-
The desktop locks on idle again. Every kuma niri machine has shipped an idle lock at 15 minutes and screen-off at 16 that never armed: the shell needs each idle behavior to name an
action, and kuma set only a timeout, so both were dropped at startup. The config validated,noctalia config export mergedshowed both timeouts, and the machine never locked. It says so once in the journal (idle behavior 'lock' ignored: needs an action), which is where this was found. Rebuild and reboot to arm it; if you have set idle behaviors of your own in~/.local/state/noctalia/settings.toml, check each one names an action.kuma doctorgrades this now, from the shell's journal, since that is the only place a refused behavior is reported. -
A mounted disk image is refused again.
kuma install --disk <file>claimed to check whether the image was already mounted and could not:lsblkrefuses a file path. It resolves the loop device now. -
The install no longer widens your password hash. For two process spawns, the account hash and the backup password were readable by every local account on the machine.
Changed
-
kuma doctorsays when your desktop is running something other than what the image set. Settings you change in the shell are yours and the image will not overwrite them, but kuma cannot read that file, sokuma diffnever mentioned it. Doctor now names the keys and points atnoctalia config export merged. -
kuma doctorfails a desktop whose shell is drawing its own defaults. The shell reads kuma's config only because the service that starts it hands over the path, and one that comes up without it has a different bar, no palette taken from the wallpaper, and a first-run wizard. Doctor reads the running process rather than any file, because every file on such a machine still says the right thing. -
kuma buildis about four seconds faster. It deleted the image it replaced by sweeping the whole store; it deletes that one image now. -
SECURITY.md says that
sshdis enabled on every image and that the firewall lets it through, which means the account's password answers a prompt on port 22. That was true before and undocumented. Turn it off with[services] disable = ["sshd.service"]if you do not want it. -
The examples added Trayscale, and the niri example removed TextEditor. A machine rebuilt from an updated example gains Trayscale, and a niri one loses TextEditor, because convergence removes what it installed. Keep TextEditor by naming it in your own declaration.
Static x86_64 binary, no runtime dependencies.
$ curl -LO https://github.com/Letdown2491/kuma-linux/releases/download/v0.17.0/kuma-x86_64-unknown-linux-musl
$ chmod +x kuma-x86_64-unknown-linux-musl && sudo mv kuma-x86_64-unknown-linux-musl /usr/local/bin/kumaVerify it came from this workflow:
$ cosign verify-blob \
--bundle kuma-x86_64-unknown-linux-musl.bundle \
--certificate-identity-regexp '^https://github.com/Letdown2491/kuma-linux/' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
kuma-x86_64-unknown-linux-muslBuilt from fb231dfefe8d1df37d647c89cf65583f52de3da8.