Repository navigation
Releases: darthdemono/UnENVerse
Release list
UnENVerse 0.56.1
What changed
- Drop the test server runtime before reporting it stopped so the binary cannot exit mid-teardown (darthdemono)
- Rebuild the website after a release is published so it shows the new version (darthdemono)
- Create sixty users in the health stall test so one scheduling hiccup no longer decides it (darthdemono)
- Release 0.56.1 (darthdemono)
- Publish the year roadmap and the trust figures on the website and in the readme (darthdemono)
- Add an assurance case, the header check and the review and origin-certificate rules (darthdemono)
- Add SPDX licence and copyright headers to every source file and check them in CI (darthdemono)
- Measure Rust coverage on main pushes and carry each language flag forward (darthdemono)
- Run Rust tests only for the crates a change affects and package release builds beside the gate (darthdemono)
- Optimise the crypto crates in test builds so vault unlocks stop dominating the test run (darthdemono)
- Stop the vault poll when a desktop test closes so no timer outlives the document. (darthdemono)
- Format users.ts the way Prettier wants it. (darthdemono)
- Raise the coverage floor to the measured results (darthdemono)
- Add behaviour tests for the tools, health scan, users, authenticator and node panes (darthdemono)
- Add behaviour tests for saving, view state, project slugs, permissions and the parsers (darthdemono)
- Add behaviour tests for settings, backups, the lock screen, remote connections and dialogs (darthdemono)
- Add behaviour tests for the entry form, copy menus, imports and reference resolution (darthdemono)
- Add behaviour tests for the config view, its exports and imports, and the chunk cards (darthdemono)
- Add behaviour tests for the app shell, sidebar, cards, bundles and the desktop start-up (darthdemono)
- Add the helpers that boot the real app, in a browser and inside a faked desktop shell (darthdemono)
- Remove guards and fallbacks that cannot fire and export the users dispatcher for contract tests (darthdemono)
- Ignore a cancelled or empty add-member prompt and drop guards for elements the page always has (darthdemono)
- Show the docker services card hint for an empty service and remove branches that can never run (darthdemono)
- Fix the grid and config view: group every kind by type, light All only when nothing narrows, keep toggle states in aria-pressed, attach a certificate stub to its project, make stack Download work (darthdemono)
- Fix the entry form: save the entry it was opened on, warn on live name collisions, hide a public value on the first click, and drop guards that cannot fire (darthdemono)
- Keep the recovery package result visible instead of overwriting it with the summary (darthdemono)
- Show Local Vault in the lock screen server picker instead of the text nbsp (darthdemono)
- Give a restored backup or JSON file without projects the default project (darthdemono)
- Drop stored settings of the wrong kind so a null no longer stops start-up, and remove fallbacks the vault always satisfies (darthdemono)
- Report a cyclic chunk reference as unresolved in the Rust resolver instead of returning its own text (darthdemono)
Desktop
| File | Platform |
|---|---|
*.AppImage |
Linux, any distro — SQLCipher and OpenSSL are compiled in |
*.deb |
Debian / Ubuntu |
*.rpm |
Fedora / RHEL |
*-setup.exe |
Windows (NSIS; WebView2 is fetched by the installer if absent) |
Linux bundles are built on Ubuntu 22.04, so they run on that glibc and newer.
CLI and server
| File | Contains |
|---|---|
unv-0.56.1-linux-x86_64.tar.gz |
unv, unv-server |
unv-0.56.1-windows-x86_64.zip |
unv.exe, unv-server.exe |
unv describe prints the full command tree, exit codes and redaction
rules as JSON — read that rather than guessing from error messages.
Verifying a download
Checksums are in SHA256SUMS. Every asset also carries a keyless
Sigstore signature (.sig) and certificate (.pem):
cosign verify-blob \
--certificate <asset>.pem \
--signature <asset>.sig \
--certificate-identity-regexp 'https://github.com/darthdemono/UnENVerse/.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
<asset>
Every file also has a build provenance attestation (what built it,
from which commit). With the GitHub CLI:
gh attestation verify <asset> --repo darthdemono/UnENVerse
The *.cdx.json files (unv-cli-rust, unv-server-rust,
unenverse-desktop-rust, unenverse-frontend-npm) are CycloneDX
software bills of materials: every Rust crate and npm package inside
the build.
vex.openvex.json is an OpenVEX statement of the dependency advisories
that do not affect UnENVerse, each with its reason.
UnENVerse 0.56.0
What changed
- Do not wait on the Windows console for a password when stdin is not a terminal. (darthdemono)
- Stop each test server before the binary exits and pin the session file the login helper writes. (darthdemono)
- Treat the Windows closed-pipe panic as quiet, pin session and pool files in the tests, and gate Linux-only ones. (darthdemono)
- Make the doctor and entropy tests honest on Windows and let the test job report every failure. (darthdemono)
- Use the Windows app origin in the desktop tests and run the vault-touching ones on Unix only. (darthdemono)
- Embed the Common Controls manifest in the desktop integration tests so they start on Windows. (darthdemono)
- Import Path in the CLI test harness only where the Unix-only helper uses it. (darthdemono)
- Format the users admin contract test with rustfmt. (darthdemono)
- Release 0.56.0, the behaviour test round (darthdemono)
- Record the decision that main is protected by a ruleset and builds follow what changed (darthdemono)
- Add desktop IPC tests that call the shipped commands on the mock runtime (darthdemono)
- Add behaviour tests that run the real unv, a real hub, an agent beat, a KeePass file and an SFTP server (darthdemono)
- Add the keepass and server crates as unv-cli test dependencies (darthdemono)
- Make desktop commands generic over the runtime so they can be tested, install the TLS provider, and word duplicate names (darthdemono)
- Fix the command behaviours the contract tests found: failed drills exit non-zero, single JSON document on failure, chunk rename conflicts, enrich settles, gen ssh and cookie curl fields, closed pipe, encrypted Aegis import (darthdemono)
- Answer a taken user, class or node-token name with a conflict and a readable message (darthdemono)
- Refuse to delete a class that still has members and classify conflicts, missing destinations and bad schedules by the exit-code table (darthdemono)
- Write secret files owner-only and log what render --out materialises (darthdemono)
- Restyle the baseline badge to match the other readme badges (darthdemono)
- Add the OpenSSF Baseline badge to the readme (darthdemono)
- Serve security.txt from the site root because Pages drops dot folders (darthdemono)
- Publish an OpenVEX statement of the advisories that do not apply and link the project documents from the readme (darthdemono)
- Add governance, architecture and threat model documents and spell out the security, dependency and secrets policies (darthdemono)
- Skip the build, release run and docs rebuild for documentation and website only changes and add one always-reporting CI result check (darthdemono)
- Add the OpenSSF Best Practices badge to the readme (darthdemono)
Desktop
| File | Platform |
|---|---|
*.AppImage |
Linux, any distro — SQLCipher and OpenSSL are compiled in |
*.deb |
Debian / Ubuntu |
*.rpm |
Fedora / RHEL |
*-setup.exe |
Windows (NSIS; WebView2 is fetched by the installer if absent) |
Linux bundles are built on Ubuntu 22.04, so they run on that glibc and newer.
CLI and server
| File | Contains |
|---|---|
unv-0.56.0-linux-x86_64.tar.gz |
unv, unv-server |
unv-0.56.0-windows-x86_64.zip |
unv.exe, unv-server.exe |
unv describe prints the full command tree, exit codes and redaction
rules as JSON — read that rather than guessing from error messages.
Verifying a download
Checksums are in SHA256SUMS. Every asset also carries a keyless
Sigstore signature (.sig) and certificate (.pem):
cosign verify-blob \
--certificate <asset>.pem \
--signature <asset>.sig \
--certificate-identity-regexp 'https://github.com/darthdemono/UnENVerse/.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
<asset>
Every file also has a build provenance attestation (what built it,
from which commit). With the GitHub CLI:
gh attestation verify <asset> --repo darthdemono/UnENVerse
The *.cdx.json files (unv-cli-rust, unv-server-rust,
unenverse-desktop-rust, unenverse-frontend-npm) are CycloneDX
software bills of materials: every Rust crate and npm package inside
the build.
vex.openvex.json is an OpenVEX statement of the dependency advisories
that do not affect UnENVerse, each with its reason.
UnENVerse 0.55.1
What changed
- Bring the changelog up to date with every release since 0.42 and hold back the age upgrade that does not build (darthdemono)
- Judge the health stall tests by the share of the run the probes spent waiting so a starved CI runner passes and inline password hashing still fails (darthdemono)
- Record why four advisories do not apply and restyle the readme badges to match the profile (darthdemono)
- Upload the UI coverage report to Codecov when a token is configured (darthdemono)
- Updated to 0.55.1 (darthdemono)
- Pin the Docker base images by digest, narrow the CodeQL token and stop tracking Python bytecode (darthdemono)
- Add contributor guides, issue and pull request templates, a Scorecard badge and a fuller security policy (darthdemono)
- Enforce a coverage floor on the UI tests and keep the report from each run (darthdemono)
- Add an OpenSSF Scorecard workflow and attest and list the contents of every release asset (darthdemono)
- Add build, release, licence and platform badges to the readme (darthdemono)
- Stop headings, inline code and the hero terminal from wrapping mid-phrase and link the author in the footer (darthdemono)
- Add llms.txt, agents.txt and security.txt and fill every page with the missing social, author, robots and breadcrumb tags (darthdemono)
- Give the health stall tests one documented limit that still fails inline hashing but tolerates a loaded Windows runner (darthdemono)
Desktop
| File | Platform |
|---|---|
*.AppImage |
Linux, any distro — SQLCipher and OpenSSL are compiled in |
*.deb |
Debian / Ubuntu |
*.rpm |
Fedora / RHEL |
*-setup.exe |
Windows (NSIS; WebView2 is fetched by the installer if absent) |
Linux bundles are built on Ubuntu 22.04, so they run on that glibc and newer.
CLI and server
| File | Contains |
|---|---|
unv-0.55.1-linux-x86_64.tar.gz |
unv, unv-server |
unv-0.55.1-windows-x86_64.zip |
unv.exe, unv-server.exe |
unv describe prints the full command tree, exit codes and redaction
rules as JSON — read that rather than guessing from error messages.
Verifying a download
Checksums are in SHA256SUMS. Every asset also carries a keyless
Sigstore signature (.sig) and certificate (.pem):
cosign verify-blob \
--certificate <asset>.pem \
--signature <asset>.sig \
--certificate-identity-regexp 'https://github.com/darthdemono/UnENVerse/.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
<asset>
Every file also has a build provenance attestation (what built it,
from which commit). With the GitHub CLI:
gh attestation verify <asset> --repo darthdemono/UnENVerse
The *.cdx.json files (unv-cli-rust, unv-server-rust,
unenverse-desktop-rust, unenverse-frontend-npm) are CycloneDX
software bills of materials: every Rust crate and npm package inside
the build.
UnENVerse 0.55.0
What changed
- Replace the other-projects footer line with links to the website, GitHub and LinkedIn (darthdemono)
- Name the executable inside the update test archives per platform so the Windows run finds unv.exe (darthdemono)
- Upgrade zip to 9 to clear the extraction advisories and read entry names through its fallible accessor (darthdemono)
- Updated to 0.55.0 (darthdemono)
- Stop ignoring every dot directory (darthdemono)
- Document the CLI updater and why it trusts only a separately signed manifest (darthdemono)
- Mark release archives as standalone and sign the CLI update manifest in the release job behind a guard with a failing control (darthdemono)
- Add unv update, which installs a newer standalone release only after the signed manifest, archive checksum and version probe pass and restores the old executable on failure (darthdemono)
- Keep the add-secret form draft in memory instead of session storage and strip test page scripts through the DOM (darthdemono)
- Retake the demo screenshots with the fixed config history and audit panes (darthdemono)
- Give the site the vault window layout and lead with self-hosted, team and agent access without showing secrets (darthdemono)
- Style the config history snapshot list and its controls so the pane is no longer cramped (darthdemono)
- Retake the demo screenshots with the full-width audit log and richer project views (darthdemono)
- Rewrite the site around every strength of the product and move the importing, command line and node guides onto the site (darthdemono)
- Open release notes with the list of changes before the download tables (darthdemono)
- Redesign bundle cards, let a filtered bundle collapse again, widen the audit pane and reload outside vault changes within a second (darthdemono)
Desktop
| File | Platform |
|---|---|
*.AppImage |
Linux, any distro — SQLCipher and OpenSSL are compiled in |
*.deb |
Debian / Ubuntu |
*.rpm |
Fedora / RHEL |
*-setup.exe |
Windows (NSIS; WebView2 is fetched by the installer if absent) |
Linux bundles are built on Ubuntu 22.04, so they run on that glibc and newer.
CLI and server
| File | Contains |
|---|---|
unv-0.55.0-linux-x86_64.tar.gz |
unv, unv-server |
unv-0.55.0-windows-x86_64.zip |
unv.exe, unv-server.exe |
unv describe prints the full command tree, exit codes and redaction
rules as JSON — read that rather than guessing from error messages.
Verifying a download
Checksums are in SHA256SUMS. Every asset also carries a keyless
Sigstore signature (.sig) and certificate (.pem):
cosign verify-blob \
--certificate <asset>.pem \
--signature <asset>.sig \
--certificate-identity-regexp 'https://github.com/darthdemono/UnENVerse/.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
<asset>
UnENVerse 0.54.1
UnENVerse 0.54.1
Desktop
| File | Platform |
|---|---|
*.AppImage |
Linux, any distro — SQLCipher and OpenSSL are compiled in |
*.deb |
Debian / Ubuntu |
*.rpm |
Fedora / RHEL |
*-setup.exe |
Windows (NSIS; WebView2 is fetched by the installer if absent) |
Linux bundles are built on Ubuntu 22.04, so they run on that glibc and newer.
CLI and server
| File | Contains |
|---|---|
unv-0.54.1-linux-x86_64.tar.gz |
unv, unv-server |
unv-0.54.1-windows-x86_64.zip |
unv.exe, unv-server.exe |
unv describe prints the full command tree, exit codes and redaction
rules as JSON — read that rather than guessing from error messages.
Verifying a download
Checksums are in SHA256SUMS. Every asset also carries a keyless
Sigstore signature (.sig) and certificate (.pem):
cosign verify-blob \
--certificate <asset>.pem \
--signature <asset>.sig \
--certificate-identity-regexp 'https://github.com/darthdemono/UnENVerse/.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
<asset>
Changes
- Let the concurrent history writers wait out Windows file locking in the chain test (darthdemono)
- Updated to 0.54.1 (darthdemono)
- Pin that a SQLCipher 3 vault opens, keeps its backup and still rejects a wrong password (darthdemono)
- Open vaults written by SQLCipher 3 by migrating them in place with a backup (darthdemono)
UnENVerse 0.54.0
UnENVerse 0.54.0
Desktop
| File | Platform |
|---|---|
*.AppImage |
Linux, any distro — SQLCipher and OpenSSL are compiled in |
*.deb |
Debian / Ubuntu |
*.rpm |
Fedora / RHEL |
*-setup.exe |
Windows (NSIS; WebView2 is fetched by the installer if absent) |
Linux bundles are built on Ubuntu 22.04, so they run on that glibc and newer.
CLI and server
| File | Contains |
|---|---|
unv-0.54.0-linux-x86_64.tar.gz |
unv, unv-server |
unv-0.54.0-windows-x86_64.zip |
unv.exe, unv-server.exe |
unv describe prints the full command tree, exit codes and redaction
rules as JSON — read that rather than guessing from error messages.
Verifying a download
Checksums are in SHA256SUMS. Every asset also carries a keyless
Sigstore signature (.sig) and certificate (.pem):
cosign verify-blob \
--certificate <asset>.pem \
--signature <asset>.sig \
--certificate-identity-regexp 'https://github.com/darthdemono/UnENVerse/.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
<asset>
Changes
- Repair dependency policy and Windows recovery tests (darthdemono)
- Updated to 0.54.0 (darthdemono)
- Lead the website with controlled secret access (darthdemono)
- Verify the site uses the native application icon (darthdemono)
- Clarify Ente imports and clear removed TOTP state (darthdemono)
- Document password-manager migration support and encrypted export refusal (darthdemono)
- Direct desktop password-manager migration to the durable CLI (darthdemono)
- Reuse the existing operations executor after a renderer reload (darthdemono)
- Add JSON and ZIP password-source fuzz coverage (darthdemono)
- Route durable password-manager imports through the CLI (darthdemono)
- Add durable password-manager source migrations with encrypted provenance (darthdemono)
- test: fuzz nginx migration parser (darthdemono)
- test: fuzz WireGuard migration parser (darthdemono)
- test: fuzz Compose migration parser (darthdemono)
- test: fuzz env migration parser (darthdemono)
- test: add isolated cargo-fuzz package for migration readers (darthdemono)
- test: verify old vault compatibility through lifecycle and migration schema upgrades (darthdemono)
- feat: support streamed staged recovery packages and encrypted drill identities (darthdemono)
- feat: add durable recovery drill and retention operation states (darthdemono)
- feat: register ordered lifecycle and migration schema upgrades (darthdemono)
- feat: persist encrypted migration manifests source identities and archives (darthdemono)
- feat: persist vault-scoped credential generations lifecycle events and deployment state (darthdemono)
- feat: add transactional migration persistence and lifecycle schema integration (darthdemono)
- feat: expose owner-only lifecycle timeline server endpoint (darthdemono)
- feat: add recovery lifecycle and config migration CLI commands (darthdemono)
- feat: resolve immutable project bindings before legacy provider references (darthdemono)
- feat: add recovery retention SFTP and restore drill operations (darthdemono)
- feat: redact lifecycle and migration output fail closed (darthdemono)
- feat: implement lossless local config migration planning reconciliation and archives (darthdemono)
- feat: export lifecycle destination and migration application modules (darthdemono)
- feat: incrementally rerender config history from changed entry revisions (darthdemono)
- feat: preserve lifecycle metadata through shared entry operations (darthdemono)
- feat: implement pinned SFTP recovery destination transport (darthdemono)
- feat: atomically save vault documents with migration manifests and archives (darthdemono)
- build: add shared application dependencies for recovery lifecycle and migration (darthdemono)
- test: pin TypeScript config parser fallback against migration fixture (darthdemono)
- test: cover lifecycle metadata preservation in entry modals (darthdemono)
- test: add shared sanitized Rust and TypeScript migration reader fixture (darthdemono)
- test: declare lifecycle recovery and migration capability parity (darthdemono)
- test: cover lifecycle metadata and stable binding entry operations (darthdemono)
- test: classify intentional settings controls for efficacy coverage (darthdemono)
- feat: add secret-free entry lifecycle timeline pane (darthdemono)
- feat: preserve lifecycle metadata while saving vault entries (darthdemono)
- feat: model lifecycle provenance bindings and migration metadata types (darthdemono)
- feat: plan and apply redacted config migrations through desktop IPC (darthdemono)
- feat: add reviewed config migration planning and apply tool markup (darthdemono)
- feat: add recovery destination drill and lifecycle settings controls (darthdemono)
- feat: render lifecycle timeline and stable bound references safely (darthdemono)
- feat: preserve stable entry bindings during chunk reference operations (darthdemono)
- feat: add desktop lifecycle recovery SFTP and migration IPC bridges (darthdemono)
- feat: expose lifecycle timeline and config migration desktop navigation (darthdemono)
- docs: record config migration identity archive and template decision (darthdemono)
- docs: record lifecycle fingerprint and stable binding decision (darthdemono)
- docs: record SFTP pinning and encrypted drill identity decision (darthdemono)
- docs: clarify recovery package staging and durability decision (darthdemono)
- docs: add recovery lifecycle and migration ADRs to book summary (darthdemono)
- docs: document recovery lifecycle and lossless config migration workflows (darthdemono)
- build: lock recovery lifecycle migration and SFTP dependency graph (darthdemono)
- docs: record completed recovery lifecycle and config migration capabilities (darthdemono)
- build: ignore generated cargo-fuzz corpora locks and build output (darthdemono)
- Assert existing vault fixtures receive R05 schema migrations (darthdemono)
- Route user schema updates through checked migrations (darthdemono)
- Implement streamed encrypted recovery package restore and verification (darthdemono)
- Implement persisted operation state machine and fenced lease APIs (darthdemono)
- Implement atomic recorded SQLCipher schema migrations (darthdemono)
- Initialize ordered schema migrations and recovery integrity verification (darthdemono)
- Route config history schema updates through checked migrations (darthdemono)
- Add encrypted package and SQLCipher backup dependencies (darthdemono)
- Add recovery package restore verify and operations CLI commands (darthdemono)
- Implement local destinations schedules and fenced recovery executor (darthdemono)
- Export shared recovery operations engine (darthdemono)
- Add shared application dependencies for recovery scheduling and storage (darthdemono)
- Declare recovery and operations CLI Tauri capability parity (darthdemono)
- Document recovery action fields in Settings efficacy guard (darthdemono)
- Wire Settings recovery controls to Tauri operations (darthdemono)
- Expose recovery operations through Tauri and stop executor on lock (darthdemono)
- Add recovery destination package schedule and run controls (darthdemono)
- Record streamed staged encrypted recovery package decision (darthdemono)
- Record fenced single-executor operations decision (darthdemono)
- Record transactional ordered SQLCipher migration decision (darthdemono)
- Index R05 recovery and operations architecture decisions (darthdemono)
- Document local recovery package and restore workflows (darthdemono)
- Lock dependencies for encrypted recovery packages and operations runtime (darthdemono)
- Document R05 local operations and recovery release notes (darthdemono)
UnENVerse 0.44.1
UnENVerse 0.44.1
Desktop
| File | Platform |
|---|---|
*.AppImage |
Linux, any distro — SQLCipher and OpenSSL are compiled in |
*.deb |
Debian / Ubuntu |
*.rpm |
Fedora / RHEL |
*-setup.exe |
Windows (NSIS; WebView2 is fetched by the installer if absent) |
Linux bundles are built on Ubuntu 22.04, so they run on that glibc and newer.
CLI and server
| File | Contains |
|---|---|
unv-0.44.1-linux-x86_64.tar.gz |
unv, unv-server |
unv-0.44.1-windows-x86_64.zip |
unv.exe, unv-server.exe |
unv describe prints the full command tree, exit codes and redaction
rules as JSON — read that rather than guessing from error messages.
Verifying a download
Checksums are in SHA256SUMS. Every asset also carries a keyless
Sigstore signature (.sig) and certificate (.pem):
cosign verify-blob \
--certificate <asset>.pem \
--signature <asset>.sig \
--certificate-identity-regexp 'https://github.com/darthdemono/UnENVerse/.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
<asset>
Changes
- Updated to 0.44.1 (darthdemono)
- Match script end tags with attributes or whitespace when stripping scripts from the test fixture body. (darthdemono)
- Build remote vault ids from crypto.randomUUID instead of Math.random. (darthdemono)
- Generate the vault salt with rand::random instead of filling a zeroed buffer. (darthdemono)
- Generate backup salts and IVs with rand::random and derive the PBKDF2 key as an array so no zero-initialised crypto buffers remain. (darthdemono)
- Bring the reviewed OpenAPI snapshot up to 0.44.0. (darthdemono)
- Update the OpenAPI golden fixture version on every version bump so the reviewed-snapshot test stops failing after releases. (darthdemono)
- Updated to 0.44.0 (darthdemono)
- Correct TOTP fixture application test references (darthdemono)
- Correct rename-reference fixture test references (darthdemono)
- Correct rate-limit fixture application references (darthdemono)
- Correct the nginx identifier fixture test reference (darthdemono)
- Correct the field-alias fixture module reference (darthdemono)
- Correct the environment-name fixture module reference (darthdemono)
- Correct the copy-profile parity fixture module reference (darthdemono)
- Correct the cookie parity fixture module reference (darthdemono)
- Correct the capability fixture shared-library reference (darthdemono)
- Correct the bundle-reference parity fixture module reference (darthdemono)
- Correct the auth-request parity fixture module reference (darthdemono)
- Reference the unv-app TOTP library test (darthdemono)
- Reference the unv-app stack parity library test (darthdemono)
- Reference the unv-app rate-limit library test (darthdemono)
- Reference unv-app exporter parity sources (darthdemono)
- Expect exporter workflow paths under unv-app (darthdemono)
- Read reference aliases from the unv-app resolver source (darthdemono)
- Read the moved legacy backup fixture from unv-app (darthdemono)
- Index the application-layer extraction architecture decision (darthdemono)
- Record the unv-app application-layer boundary decision (darthdemono)
- Document all eight maintained version sources (darthdemono)
- Keep documentation version-copy guidance accurate (darthdemono)
- Include unv-app in version updates and lockfile validation (darthdemono)
- Build the server image with the unv-app application dependency (darthdemono)
- Run exporter validation when moved unv-app sources change (darthdemono)
- Document the eight-source version guard in CI (darthdemono)
- Check every version source including unv-app in release builds (darthdemono)
- Reference the moved application unique-ID module (darthdemono)
- Reference the moved application TOTP module (darthdemono)
- Reference the moved application pool module (darthdemono)
- Reference the moved application calendar parity test (darthdemono)
- Point server node end-to-end tests at unv-app (darthdemono)
- Point server chaos node tests at unv-app (darthdemono)
- Point server chaos client tests at unv-app (darthdemono)
- Use unv-app node operations in the server (darthdemono)
- Use unv-app history operations in the server (darthdemono)
- Depend on unv-app without default features in the server (darthdemono)
- Use unv-app directly for desktop application operations (darthdemono)
- Depend on unv-app directly from the desktop crate (darthdemono)
- Point the CLI shield test at the shared application library (darthdemono)
- Import CLI command implementations from unv-app (darthdemono)
- Re-export unv-app through the unv-cli compatibility library (darthdemono)
- Reduce unv-cli to binary and compatibility dependencies (darthdemono)
- Record unv-app in the workspace lockfile (darthdemono)
- Register unv-app as a workspace member (darthdemono)
- Expose the moved application modules from unv-app (darthdemono)
- Move the Proton import fixture into unv-app (darthdemono)
- Move the 1Password import fixture into unv-app (darthdemono)
- Move the complete Nextcloud fixture into unv-app (darthdemono)
- Move the Nextcloud config fixture into unv-app (darthdemono)
- Move the Bitwarden import fixture into unv-app (darthdemono)
- Move the legacy vault backup fixture into unv-app (darthdemono)
- Move the legacy vault archive fixture into unv-app (darthdemono)
- Move the TOTP library test into unv-app (darthdemono)
- Move the stack parity library test into unv-app (darthdemono)
- Move the rate-limit library test into unv-app (darthdemono)
- Move the Rust parity library test into unv-app (darthdemono)
- Move the vault-import library test into unv-app (darthdemono)
- Move the shared backup golden test into unv-app (darthdemono)
- Move the shared archive library test into unv-app (darthdemono)
- Move the shared agent library test into unv-app (darthdemono)
- Move the user-management command module into unv-app (darthdemono)
- Move the unique-ID command module into unv-app (darthdemono)
- Move the TOTP command module into unv-app (darthdemono)
- Move the TLS application module into unv-app (darthdemono)
- Move the template command module into unv-app (darthdemono)
- Move the starter-config module into unv-app (darthdemono)
- Move the shield application module into unv-app (darthdemono)
- Move the session command module into unv-app (darthdemono)
- Move the session application module into unv-app (darthdemono)
- Move the scan application module into unv-app (darthdemono)
- Move the reset command module into unv-app (darthdemono)
- Move the rendering application module into unv-app (darthdemono)
- Move the reference-resolution module into unv-app (darthdemono)
- Move the rate-limit module into unv-app (darthdemono)
- Move the project application module into unv-app (darthdemono)
- Move the profile application module into unv-app (darthdemono)
- Move the pool application module into unv-app (darthdemono)
- Move the output and redaction module into unv-app (darthdemono)
- Move the OAuth command module into unv-app (darthdemono)
- Move the node-listen module into unv-app (darthdemono)
- Move the node-install module into unv-app (darthdemono)
- Move the node command module into unv-app (darthdemono)
- Move the node-agent module into unv-app (darthdemono)
- Move the materialisation-log module into unv-app (darthdemono)
- Move the vault-import module into unv-app (darthdemono)
- Move the history command module into unv-app (darthdemono)
- Move the history application module into unv-app (darthdemono)
- Move the generation application module into unv-app (darthdemono)
- Move the formatting application module into unv-app (darthdemono)
- Move the file-credential module into unv-app (darthdemono)
- Move the feed command module into unv-app (darthdemono)
- Move the exposure application module into unv-app (darthdemono)
- Move the exporter application module into unv-app (darthdemono)
- Move the execution application module into unv-app (darthdemono)
- Move the application error module into unv-app (darthdemono)
- Move the environment-file module into unv-app (darthdemono)
- Move the entry application module into unv-app (darthdemono)
- Move the enrichment application module into unv-app (darthdemono)
- Move the emit command module into unv-app (darthdemono)
- Move the doctor application module into unv-app (darthdemono)
- Move the diff command module into unv-app (darthdemono)
- Move the data application module into unv-app (darthdemono)
- Move the CXF command module into unv-app (darthdemono)
- Move the cookie application module into unv-app (darthdemono)
- Move the context application module into unv-app (darthdemono)
- Move the chunk application module into unv-app (darthdemono)
- Move the configuration-check command module into unv-app (darthdemono)
- Move the catalogue command module into unv-app (darthdemono)
- Move the bundle command module into unv-app (darthdemono)
- Move the blast-radius command module into unv-app (darthdemono)
- Move the backup application module into unv-app (darthdemono)
- Move the authentication request module into unv-app (darthdemono)
- Move the agent I/O application module into unv-app (darthdemono)
- Move the access application module into unv-app (darthdemono)
- Add the unv-app shared application crate manifest (darthdemono)
- Updated to 0.43.0 (darthdemono)
- Adapt password hashing and user token generation to Argon2 and Rand updates (darthdemono)
- Modernise UID registry HMAC initialization and random key generation (darthdemono)
- Modernise TOTP HMAC initialization and random seed generation (darthdemono)
- Encode storage hashes compatibly with sha2 0.11 (darthdemono)
- Modernise node randomness and guard dirs platform data paths (darthdemono)
- Use the Rand 0.10 random byte API for vault salts and UUIDs (darthdemono)
- Use the Rand 0.10 random byte API for ICS feed tokens (darthdemono)
- Keep generator documentation accurate after the Rand API migration (darthdemono)
- Adapt entropy generation t...
UnENVerse 0.42.6
UnENVerse 0.42.6
Desktop
| File | Platform |
|---|---|
*.AppImage |
Linux, any distro — SQLCipher and OpenSSL are compiled in |
*.deb |
Debian / Ubuntu |
*.rpm |
Fedora / RHEL |
*-setup.exe |
Windows (NSIS; WebView2 is fetched by the installer if absent) |
Linux bundles are built on Ubuntu 22.04, so they run on that glibc and newer.
CLI and server
| File | Contains |
|---|---|
unv-0.42.6-linux-x86_64.tar.gz |
unv, unv-server |
unv-0.42.6-windows-x86_64.zip |
unv.exe, unv-server.exe |
unv describe prints the full command tree, exit codes and redaction
rules as JSON — read that rather than guessing from error messages.
Verifying a download
Checksums are in SHA256SUMS. Every asset also carries a keyless
Sigstore signature (.sig) and certificate (.pem):
cosign verify-blob \
--certificate <asset>.pem \
--signature <asset>.sig \
--certificate-identity-regexp 'https://github.com/darthdemono/UnENVerse/.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
<asset>
Changes
- Updated to 0.42.6 (darthdemono)
- Pin the release gate, the Docker push order, the validator controls, SHA pinning and the Dependabot rules with tests that fail when any of them is loosened (darthdemono)
- Group Dependabot updates into the vitest, tauri, lint and RustCrypto families and keep rusqlite, libsqlite3-sys and argon2 off major and minor upgrades (darthdemono)
- Move CodeQL to v4, rebuild the docs weekly instead of nightly, and pin the Node 24 releases of the actions they use (darthdemono)
- Run the Playwright UI lab on pull requests that touch the frontend (darthdemono)
- Validate the WireGuard, nginx and Compose exporters with the real tools, each with a broken control that must fail, and trigger on every file that can change their output (darthdemono)
- Make Build and Release call the CI gate so no build or publish job runs from a red commit, and push the Docker tags only after the image passes its smoke test (darthdemono)
- Split Rust CI into test and lint jobs that share one setup action, drop the redundant cargo check, install cargo-deny as a pinned binary, and make ci.yml callable as a release gate (darthdemono)
- Give each history test hub a folder named from the process id and a counter so a coarse Windows clock can no longer hand two tests the same vault and fail with database is locked (darthdemono)
- Track the site screenshots by moving them out of the ignored shots folder, and test that a clean checkout has every image and the manifest the pages name (darthdemono)
UnENVerse 0.42.5
UnENVerse 0.42.5
Desktop
| File | Platform |
|---|---|
*.AppImage |
Linux, any distro — SQLCipher and OpenSSL are compiled in |
*.deb |
Debian / Ubuntu |
*.rpm |
Fedora / RHEL |
*-setup.exe |
Windows (NSIS; WebView2 is fetched by the installer if absent) |
Linux bundles are built on Ubuntu 22.04, so they run on that glibc and newer.
CLI and server
| File | Contains |
|---|---|
unv-0.42.5-linux-x86_64.tar.gz |
unv, unv-server |
unv-0.42.5-windows-x86_64.zip |
unv.exe, unv-server.exe |
unv describe prints the full command tree, exit codes and redaction
rules as JSON — read that rather than guessing from error messages.
Verifying a download
Checksums are in SHA256SUMS. Every asset also carries a keyless
Sigstore signature (.sig) and certificate (.pem):
cosign verify-blob \
--certificate <asset>.pem \
--signature <asset>.sig \
--certificate-identity-regexp 'https://github.com/darthdemono/UnENVerse/.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
<asset>
Changes
- Updated to 0.42.5 (darthdemono)
- Link the README to the website, quickstart and security page, restore the tour with the richer screenshots, and state the minimum system SQLCipher version (darthdemono)
- Replace the README screenshots with the enriched demo vault, including a card that is really expanded and a history diff of a rotated key (darthdemono)
- Build the screenshot app with the bundled SQLCipher so the Debian 12 viewer container links against rusqlite 0.40 (darthdemono)
- Give every demo card the metadata a lived-in vault carries, expand a real card through its chevron, and seed two history snapshots around a rotated key so the screenshots show a true diff (darthdemono)
- Add site:build and site:check scripts and keep Prettier away from the hand-formatted site templates (darthdemono)
- Point four ADR entries in the guide index at the files that exist so the published guide no longer shows blank pages (darthdemono)
- Publish the product site at the Pages root with the guide under /docs/ and the references under /reference/, keep redirects from the old paths, and gate the deploy on browser and offline link checks (darthdemono)
- Test the site build helpers, WCAG contrast of both themes and that every page in the guide index exists (darthdemono)
- Convert raw app screenshots into sized WebP files with a dimension manifest for the site (darthdemono)
- Check every site page at 1440 and 390 pixels for horizontal scroll, heading and landmark structure, accessible names, image dimensions, skip link, focus rings, console errors and 404s (darthdemono)
- Build the site from the latest published release so the version, download table and checksums never advertise an unpublished build, and fail loudly when the release cannot be read (darthdemono)
- Add the UnENVerse product site as hand-written static pages with a light and dark theme, self-hosted fonts and structured data built only from true fields (darthdemono)
- Sync the tracked src-tauri lockfile with the workspace lock so it no longer pins rusqlite 0.31, rand 0.8.5 and time 0.3.37 (darthdemono)
- Add a missing TOTP seed when re-importing into an existing entry without ever replacing a different seed, with tests for add, unchanged and keep (darthdemono)
- Hash passwords for user creation and password changes off the async runtime behind the same two-permit gate, with a health-latency test that fails when the work runs inline (darthdemono)
- Upgrade vite to 7.3.7 and vitest with coverage-v8 to 5.0.3 and clear the two high transitive audit findings (darthdemono)
- Build the server image with bundled SQLCipher so the container runs the same engine as releases and no longer needs libsqlcipher (darthdemono)
- Remove the rand, time and rustls-pemfile advisory ignores now that cargo deny passes without them (darthdemono)
- Refresh Cargo.lock for rusqlite 0.40.2, rand 0.8.6, time 0.3.55 and the removal of rustls-pemfile (darthdemono)
- Import Bitwarden, 1Password and Proton TOTP into totp_secret through the existing seed parser and keep an unusable value in the notes instead of losing it (darthdemono)
- Run unlock and user-password Argon2 in spawn_blocking behind a two-permit semaphore and prove with a mutation-checked test that /api/health stays under 200 ms during ten concurrent wrong-password logins (darthdemono)
- Spend one Argon2 verification on unknown and password-less usernames so login time no longer reveals which usernames exist, with a call-count test and a manual timing measurement (darthdemono)
- Replace rustls-pemfile with rustls-pki-types and move time to 0.3.55 in unv-server (darthdemono)
- Bump rand to 0.8.6 and time to 0.3.55 in the CLI crate to match vault-core (darthdemono)
- Parse TLS certificates and keys with rustls-pki-types and test that bad keys, bad certificates and mismatched pairs are refused (darthdemono)
- Set an explicit 5 s busy timeout and a 64 MiB WAL size limit in open_db instead of inheriting library defaults (darthdemono)
- Read the unique-ID prune count as i64 because rusqlite 0.40 no longer implements FromSql for u64 (darthdemono)
- Move rusqlite to 0.40.2 (bundled SQLCipher 4.14.0, SQLite 3.51.3), rand to 0.8.6 and time to 0.3.55, and drop rustls-pemfile from the tls feature (darthdemono)
- Pin .vaultbak and .vaultarc restore against files written by the 0.42.4 build, with a wrong-password control (darthdemono)
- Pin the 0.42.x on-disk formats with a golden vault, an Argon2 vector and a SQLite 3.51.3 floor test before any storage dependency moves (darthdemono)
UnENVerse 0.42.4
UnENVerse 0.42.4
Desktop
| File | Platform |
|---|---|
*.AppImage |
Linux, any distro — SQLCipher and OpenSSL are compiled in |
*.deb |
Debian / Ubuntu |
*.rpm |
Fedora / RHEL |
*-setup.exe |
Windows (NSIS; WebView2 is fetched by the installer if absent) |
Linux bundles are built on Ubuntu 22.04, so they run on that glibc and newer.
CLI and server
| File | Contains |
|---|---|
unv-0.42.4-linux-x86_64.tar.gz |
unv, unv-server |
unv-0.42.4-windows-x86_64.zip |
unv.exe, unv-server.exe |
unv describe prints the full command tree, exit codes and redaction
rules as JSON — read that rather than guessing from error messages.
Verifying a download
Checksums are in SHA256SUMS. Every asset also carries a keyless
Sigstore signature (.sig) and certificate (.pem):
cosign verify-blob \
--certificate <asset>.pem \
--signature <asset>.sig \
--certificate-identity-regexp 'https://github.com/darthdemono/UnENVerse/.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
<asset>
Changes
- Updated to 0.42.4 (darthdemono)
- Select a top-level card for demo expansion screenshots instead of hidden nested members (darthdemono)
- Assert and capture collapsed and expanded bundles in the native desktop viewer (darthdemono)
- Expand a visible card in layout checks instead of selecting a hidden bundle member (darthdemono)
- Verify bundle collapse, full-grid expansion and member geometry across nine viewport and scaling profiles (darthdemono)
- Seed reusable synthetic TMDB and OmniRoute bundles for browser and native desktop checks (darthdemono)
- Verify the actual Nodes navigation button loads enrolled nodes without pressing Refresh (darthdemono)
- Verify explicit false accessibility states on collapsed cards and inactive bundle tabs (darthdemono)
- Cover automatic node loading, reopening, local-vault clearing and delayed old-vault responses (darthdemono)
- Load enrolled nodes automatically when opening the existing Nodes tool (darthdemono)
- Expose node refresh, clear previous vault rows and discard responses from a switched-away store (darthdemono)
- Render explicit accessible card and bundle states and rotate the bundle expansion chevron (darthdemono)
- Hide collapsed pool and bundle members despite their grid display styling (darthdemono)
- Give the subsecond Retry-After regression scheduling headroom before its rate window expires (darthdemono)
- Run validation and reload rollback coverage on Windows using portable shell commands (darthdemono)
- Use portable exit-zero validators in direct and listening node integration fixtures (darthdemono)
- Accept rooted Linux installer paths on Windows, reject relative targets and restrict the grep execution test to Unix (darthdemono)