Releases: DreamLab-AI/solid-pod-rs
Releases · DreamLab-AI/solid-pod-rs
v0.4.0-alpha.1 — JSS parity migration
v0.4.0-alpha.1
JSS-parity migration. solid-pod-rs is at 76 % strict parity with
the reference JavaScriptSolidServer implementation, the six prior
audit findings are closed, and the workspace now cleanly separates
the library from the transport.
Highlights
- Workspace split.
solid-pod-rs(library) and
solid-pod-rs-server(drop-in binary) replace the previous
all-in-one crate. Four reserved sibling crates —
solid-pod-rs-{activitypub, git, idp, nostr}— hold the
v0.5.0 extension namespaces. - Security hardening. SSRF guard with IP classification plus
allow/deny lists; dotfile allowlist enforced at the storage
boundary; DPoPjtireplay cache per Solid-OIDC §5.2 and
RFC 9449 §11.1. - WAC
acl:origin. Origin-based authorisation per the Web
Access Control spec §4.3, gated behind a feature flag. - Legacy notifications.
solid-0.1WebSocket adapter for
SolidOS data-browser compatibility. - JSS-compatible config loader. Layered loader
(defaults → file → env) withJSS_*variable names identical
to the reference implementation.
Install
cargo install solid-pod-rs-server
solid-pod-rs-server --config config.jsonMinimal config:
{
"server": { "host": "127.0.0.1", "port": 3000 },
"storage": { "kind": "fs", "root": "./pod-root" },
"auth": { "nip98": { "enabled": true } }
}Upgrading from 0.3.0-alpha.3
- Add
solid-pod-rs-serverto your deployment if you were
constructingactix-web::HttpServerfrom the library. The
library no longer mounts HTTP routes. verify_dpop_proofgained an optional replay-cache argument;
existing call sites compile unchanged by passingNone.evaluate_accessgained an optional request-origin argument;
existing call sites compile unchanged by passingNone.
See CHANGELOG for the full
change list and
PARITY-CHECKLIST for
the row-by-row parity tracker.
Licence
AGPL-3.0-only, inherited from the JavaScriptSolidServer ecosystem
covenant.