ruview @ v2050
integrity
- size
- 65.4 MiB
- downloaded
- last checked
release notes
RuView Release v2050 — HOMECORE runtime hardening
Release v2050 publishes the HOMECORE alpha hardening work merged in
PR #1450 at commit
581af67.
The HOMECORE crates remain versioned 0.1.0-alpha.0. This repository release
does not claim complete Home Assistant compatibility.
Highlights
- Connected committed state changes and service calls to the shared event bus.
- Fixed WebSocket subscriptions to use client IDs and bounded each connection's outbound queue to prevent unbounded memory growth.
- Made bearer authentication fail closed when
HOMECORE_TOKENSis absent. - Removed the browser UI's embedded development-token fallback.
- Replaced success-shaped service stubs with executable state-changing
turn_on,turn_off, andtogglehandlers. - Added authenticated local intent handling at
POST /api/intent/handle. - Made synthetic biometric/demo entities explicitly opt-in.
- Enabled durable SQLite recording by default, correct lag recovery, optional ruvector semantic indexing, automation YAML loading, and graceful shutdown.
- Made entity-registry migration write an atomic HA-compatible destination file without silently overwriting an existing registry.
- Removed inactive plugin/HAP runtime claims and documented the exact supported and deferred capability surfaces.
Validation
- No-default-feature test matrix across the nine HOMECORE crates passed.
homecore-server --all-features: 21 tests passed.- Wasmtime plugin feature: 32 tests passed.
- Ruvector recorder feature: 31 tests passed.
- HOMECORE UI: 41 tests passed.
- Clippy passed for the default runtime surface with warnings denied.
- Optimized
homecore-serverrelease build passed. - Diff integrity checks passed.
Security and operational defaults
- Configure comma-separated bearer tokens with
HOMECORE_TOKENS. --insecure-dev-authis an explicit development-only escape hatch.- Synthetic entities require
--seed-demo-entities. - SQLite history defaults to
sqlite://homecore.db. - Unsupported services fail instead of returning a false acknowledgement.
- Missing BFF upstreams return typed
503 upstream_unavailableresponses.
Deferred alpha capabilities
- Server-side native/Wasmtime plugin loading.
- A network HomeKit Accessory Protocol server, pairing, and mDNS advertisement.
- Full Home Assistant REST/WebSocket parity.
- Restore-state at server startup.
- Complete device/config-entry migration.
- STT/TTS and satellite voice protocols.
The authoritative capability matrix is
v2/docs/homecore-capabilities.md.
Release page: https://github.com/ruvnet/RuView/releases/tag/v2050
download
unix · zip
curl -fL -o v2050.zip https://ratatoskr.space/pkg/ruview/v2050.zip
printf '%s %s\n' '89e76d6370904b85495b8ebbaa3fa634c1822f9ecff4e2e286ce6c738e455fd1' 'v2050.zip' | sha256sum -c -
windows · zip
$url = "https://ratatoskr.space/pkg/ruview/v2050.zip"
$out = "v2050.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "89e76d6370904b85495b8ebbaa3fa634c1822f9ecff4e2e286ce6c738e455fd1") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v2050.tar.gz https://ratatoskr.space/pkg/ruview/v2050.tar.gz
printf '%s %s\n' 'f3bae2b20b84b4b90e3354777b4e3e7866e7246decea2ced5e9a4d383b5de991' 'v2050.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "https://ratatoskr.space/pkg/ruview/v2050.tar.gz"
$out = "v2050.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "f3bae2b20b84b4b90e3354777b4e3e7866e7246decea2ced5e9a4d383b5de991") { throw "sha256 mismatch" }
download via yggdrasil mesh
unix · zip
curl -fL -o v2050.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v2050.zip
printf '%s %s\n' '89e76d6370904b85495b8ebbaa3fa634c1822f9ecff4e2e286ce6c738e455fd1' 'v2050.zip' | sha256sum -c -
windows · zip
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v2050.zip"
$out = "v2050.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "89e76d6370904b85495b8ebbaa3fa634c1822f9ecff4e2e286ce6c738e455fd1") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v2050.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v2050.tar.gz
printf '%s %s\n' 'f3bae2b20b84b4b90e3354777b4e3e7866e7246decea2ced5e9a4d383b5de991' 'v2050.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v2050.tar.gz"
$out = "v2050.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "f3bae2b20b84b4b90e3354777b4e3e7866e7246decea2ced5e9a4d383b5de991") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v2050.zip | zip | 65.4 MiB |
blake3-24 b4d2d3b05173ca8baaf7f9e694a720aa687455deca00decb
sha256 89e76d6370904b85495b8ebbaa3fa634c1822f9ecff4e2e286ce6c738e455fd1
sha1 1081cb79f5ec2edad2b9f2c0ea61bee143507fc8
|
| v2050.tar.gz | tar.gz | 63.5 MiB |
blake3-24 4bdbeed8f34766be5127166855b3b3705987bc8bd4d6181d
sha256 f3bae2b20b84b4b90e3354777b4e3e7866e7246decea2ced5e9a4d383b5de991
sha1 d84ff51f9ec97f52c6c7b5eb6cd93a54784ed872
|
install
bazel
http_archive(
name = "ruview",
urls = ["https://ratatoskr.space/pkg/ruview/v2050.tar.gz"],
integrity = "sha256-87risguEtLkOM1R3e04+eGbnJG3s6iztXppNODtd6ZE=",
strip_prefix = "ruview-v2050",
)
zig
.url = "https://ratatoskr.space/pkg/ruview/v2050.tar.gz",
install via yggdrasil mesh
bazel
http_archive(
name = "ruview",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v2050.tar.gz"],
integrity = "sha256-87risguEtLkOM1R3e04+eGbnJG3s6iztXppNODtd6ZE=",
strip_prefix = "ruview-v2050",
)
zig
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v2050.tar.gz",