Hauser v0.4.0-beta.7
Pre-releaseRelease identity
| Version | 0.4.0-beta.7 |
| Git tag | v0.4.0-beta.7 (annotated, e7e66551) |
| Source commit | 53eb36dac938604ea7cd8aa49319842dfa0d523a |
| Image | ghcr.io/ralleur/hauser@sha256:4d831a9b29378add81519dee619d74609de06e6aa71bdfc8eff65040c2bcdc19 |
| Also tagged | :v0.4.0-beta.7 and :0.4.0-beta.7 (same manifest; the Supervisor resolves the unprefixed tag) |
| Platforms | linux/amd64, linux/arm64 |
| Config schema | v3, with the v1 → v3 migration path included |
What changed
License change — AGPL-3.0-or-later
Starting with this release, Hauser is licensed under AGPL-3.0-or-later instead
of MIT. Everything released up to and including v0.4.0-beta.6 stays MIT and
can be forked from there; this applies going forward only, nothing has been
withdrawn or retagged. Running Hauser unmodified in your own home creates no
new obligation at all — AGPL only asks someone who modifies Hauser and offers
it to other people over a network to share the source of that modified
version. Contributions now require agreement to a CLA. Full
reasoning in ADR-025.
Fixed — reconfigure "Save changes" silently failed (#7, #9)
The setup wizard's reconfigure flow (Settings → Rooms & Devices) never sent
the If-Match / X-Hauser-Shared-Config-If-Match ETag preconditions that
POST /api/setup/activate has always required when reconfiguring. Every
reconfigure save was rejected with 428 CONFIG_PRECONDITION_REQUIRED before
anything was written — no console error, no visible feedback near the
button — and any rooms or devices found by Reload rooms and devices
reverted to the previously active configuration on leaving the screen. This
predates beta.5; it was not a regression. The wizard now captures both
ETags from the initial configuration load and sends them back on save.
Installation or update
Back up before changing images. For the App, create a Home Assistant backup
that includes Hauser; for Compose, run ./scripts/backup.sh.
Fresh Compose install:
git clone https://github.com/ralleur/hauser.git
cd hauser
docker compose up -d
Update from v0.4.0-beta.6:
./scripts/backup.sh
git pull
docker compose pull
docker compose up -d
Previous immutable image for rollback: ghcr.io/ralleur/hauser:v0.4.0-beta.6.
Verification evidence
- Tests (1439), typecheck, production build and static demo build: green in
CI (Tests, builds and container contract, run 97715280558). - Container health, setup-required start and persistence: verified by
scripts/verify-container.shagainst a commit-bound local image
(ci-53eb36dac938) in the same CI job. This is a build-time contract check,
not a pull/smoke test of the published multi-arch digest above. - Release metadata, license boundary and dependency audit: verified by
scripts/verify-release-metadata.sh,scripts/verify-license-boundary.sh
andnpm audit --omit=dev --audit-level=highin CI. - The
linux/amd64andlinux/arm64manifest was built and pushed to GHCR
successfully (Publish immutable GHCR image, run 97717399282); that job
does not separately pull and re-test the published digest. - The reconfigure-save fix itself is covered by an updated unit test
asserting theIf-Match/X-Hauser-Shared-Config-If-Matchheaders are
sent (household-config-v3.test.ts). It has not yet been exercised
end-to-end against a live Home Assistant instance by the maintainer or an
external user — reports on #7 or #9 are welcome once you've updated.
Known limitations
- The vacuum path (
beta.5) follows the documented Home Assistant service
set and is still not verified against real hardware. - The reconfigure-save fix in this release has unit-test coverage only; it
has not yet been confirmed against a live Home Assistant instance. - An external, real-home installation covering this release remains the next
beta-stabilisation evidence gate. - This package remains an experimental technical beta without a support SLA.
Security and support
See SECURITY.md. Hauser is a hobby project without an SLA —
do not expose it directly to the internet without an authentication and TLS
boundary in front of it.