-
v0.5.0
StableSome checks failedPublish crates / cargo publish (Forgejo Cargo registry) (push) Successful in 13sBuild Linux package / Build vervain-agent and publish generic package (push) Successful in 21m48sCheck / fmt + clippy + tests (push) Successful in 24m50sBuild Windows agent / Cross-compile, sign, and publish vervain-agent.exe (push) Successful in 32m56sBuild macOS package / Build vervain-agent (macOS) and publish generic package (push) Has been cancelledCheck macOS features / cargo check --features agent-gui (aarch64-apple-darwin) (push) Has been cancelledCheck macOS features / cargo check --features agent-gui (x86_64-apple-darwin) (push) Has been cancelledreleased this
2026-08-10 05:36:48 +02:00 | 0 commits to main since this releaseChangelog
d420ab6Merge pull request 'Release v0.5.0' (#158) from release/v0.5.0 into main
1915288Merge branch 'main' into release/v0.5.0
e0d898eMerge pull request 'fix(release): guard the hoisted git remote get-url call' (#159) from fix/VA-146-create-release-rerun-guard into main
45ca27ffix(release): guard the hoisted git remote get-url call
680cd23fix(release): make create-release re-runnable
38b5ec0Release v0.5.0
2c4598fMerge pull request 'fix(ci): run publish-crates on the dev runner image (VA-145)' (#157) from fix/VA-145-publish-crates-dev-runner into main
e5a48defix(ci): run publish-crates on the dev runner imageDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
v0.4.2
StableSome checks failedPublish crates / cargo publish (Forgejo Cargo registry) (push) Failing after 10sBuild Linux package / Build vervain-agent and publish generic package (push) Successful in 5m10sCheck / fmt + clippy + tests (push) Successful in 7m28sBuild Windows agent / Cross-compile, sign, and publish vervain-agent.exe (push) Successful in 8m4sCheck macOS features / cargo check --features agent-gui (aarch64-apple-darwin) (push) Has been cancelledCheck macOS features / cargo check --features agent-gui (x86_64-apple-darwin) (push) Has been cancelledBuild macOS package / Build vervain-agent (macOS) and publish generic package (push) Has been cancelledreleased this
2026-08-08 03:00:12 +02:00 | 8 commits to main since this releaseChangelog
71d0b7fMerge pull request 'Release v0.4.2' (#156) from release/v0.4.2 into main
5863cb2Release v0.4.2
e0f41a5Merge pull request 'fix(release): warm cargo cache and roll back a failed release' (#155) from fix/VA-144-warm-cargo-cache-and-rollback into main
e300f90fix(release): warm cargo cache and roll back a failed release
abe1aeaMerge pull request 'feat(protocol): advertise VNC and MCP capability bits' (#153) from feat/VA-141-vnc-mcp-capability-bits into main
316427afeat(protocol): advertise VNC and MCP capability bits
1a76d82Merge pull request 'feat(protocol): native macOS arm64 support, Vervain-native AgentId' (#152) from feat/macos-arm64-agent-id into main
4679268feat(protocol): native macOS arm64 support, Vervain-native AgentId
2435e13Merge pull request 'docs: macOS on-device validation runbook (VA-139)' (#151) from docs/VA-139-macos-validation-runbook into main
b37404edocs: add macOS on-device validation runbook (VA-139)
c0703e2Merge pull request 'fix(kvm): gate DRM/KMS scanout capture off by default (VA-109)' (#150) from fix/VA-109-gate-drm-scanout into main
93b08bbfix(kvm): gate DRM/KMS scanout capture off by default (VA-109)
ce2953dMerge pull request 'ci: compile-check the agent-gui feature on macOS (VA-55 follow-up)' (#149) from chore/VA-55-macos-feature-ci into main
e8abb70Merge pull request 'fix(tunnel): inject macOS desktop-tunnel keystrokes instead of dropping them (VA-138)' (#148) from fix/VA-138-macos-tunnel-keysym into main
43314fbci: compile-check the agent-gui feature on macOS (VA-55 follow-up)
47a08bdfix(tunnel): inject macOS desktop-tunnel keystrokes instead of dropping them (VA-138)
d34cdf7Merge pull request 'feat(gui): macOS assistance-GUI backend (status item, consent, NSWindowSharingNone) (VA-55)' (#147) from feat/VA-55-macos-assistance-gui into main
4fadd7cfeat(gui): macOS assistance-GUI backend (status item, consent, NSWindowSharingNone) (VA-55)Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
v0.4.1
StableAll checks were successfulPublish crates / cargo publish (Forgejo Cargo registry) (push) Successful in 27sBuild Linux package / Build vervain-agent and publish generic package (push) Successful in 4m59sCheck / fmt + clippy + tests (push) Successful in 6m7sBuild Windows agent / Cross-compile, sign, and publish vervain-agent.exe (push) Successful in 7m45sBuild macOS package / Build vervain-agent (macOS) and publish generic package (push) Successful in 20m25sreleased this
2026-07-15 19:10:24 +02:00 | 26 commits to main since this releaseChangelog
50a7fa9Merge pull request 'Release v0.4.1' (#146) from release/v0.4.1 into main
a99c6f8Release v0.4.1
8f8be9fMerge pull request 'fix(release): bump version with a surgical edit so create-release keeps Cargo.toml comments (VA-137)' (#145) from fix/VA-137-release-preserve-comments into main
7b75d32fix(release): bump version with a surgical edit so create-release keeps Cargo.toml comments (VA-137)
3584e6aMerge pull request 'fix(kvm): declare tokio sync + fs features so the crate publishes standalone (VA-135)' (#144) from fix/VA-135-kvm-tokio-features into main
69ac708fix(kvm): declare tokio sync + fs features so the crate publishes standalone (VA-135)
a3b0279Merge pull request 'fix(ci): serialize build-macos release runs so the v* tag build is not dropped (VA-136)' (#143) from fix/VA-136-build-macos-concurrency into main
3135392fix(ci): serialize build-macos release runs so the v* tag build is not dropped (VA-136)
3b74e5bMerge pull request 'feat(kvm): macOS KVM backend (VA-93)' (#142) from feat/VA-93-macos-kvm into main
c851756feat(kvm): macOS KVM backend (VA-93)
632db72Merge pull request 'fix(release): restore VA-92 keep-debuginfo comment' (#141) from fix/restore-release-profile-comment into main
e53c935fix(release): restore VA-92 keep-debuginfo comment stripped by release recipeDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
v0.4.0
StableSome checks failedCheck / fmt + clippy + tests (push) Successful in 6m36sPublish crates / cargo publish (Forgejo Cargo registry) (push) Failing after 3sBuild Linux package / Build vervain-agent and publish generic package (push) Successful in 3m39sBuild Windows agent / Cross-compile, sign, and publish vervain-agent.exe (push) Successful in 6m33sBuild macOS package / Build vervain-agent (macOS) and publish generic package (push) Successful in 18m38sreleased this
2026-07-15 03:06:05 +02:00 | 38 commits to main since this releaseChangelog
d51ecd6Merge pull request 'Release v0.4.0' (#128) from release/v0.4.0 into main
d3df54dMerge branch 'main' into release/v0.4.0
d7ffb28Merge pull request 'fix(install): silence best-effort launchctl stderr on macOS uninstall' (#140) from fix/VA-89-quiet-launchctl into main
32b918bfix(install): silence best-effort launchctl stderr on macOS uninstall
7daf40dMerge pull request 'ci(macos): native build+publish workflow and runner/build docs (VA-89, VA-90)' (#139) from feat/VA-89-VA-90-macos-ci into main
2037b93Merge pull request 'feat(install): macOS launchd installer + Install/Uninstall routing (VA-89)' (#138) from feat/VA-89-macos-launchd-installer into main
03bfc24ci(macos): native build+publish workflow and runner/build docs (VA-89, VA-90)
42632bffeat(install): macOS launchd installer + Install/Uninstall routing (VA-89)
44444d1Merge pull request 'test(lan): end-to-end mTLS + capability-gate integration test (VA-8)' (#137) from test/VA-8-lan-integration into main
a395bd2test(lan): end-to-end mTLS + capability-gate integration test (VA-8)
71ea1e6Merge pull request 'feat(lan): mTLS LAN control-plane listener, read-only (VA-8)' (#136) from feat/VA-8-lan-listener into main
5f40883feat(lan): mTLS LAN control-plane listener, read-only (VA-8)
2498ad4Merge pull request 'feat(dispatch): apply server-pushed agentconfig (VA-130)' (#135) from feat/VA-130-agentconfig into main
b090602feat(dispatch): apply server-pushed agentconfig (VA-130)
94d5bedMerge pull request 'feat(host): populate OS name on macOS via sw_vers' (#134) from feat/macos-osinfo into main
d7c49bffeat(host): populate OS name on macOS via sw_vers
d810a4cMerge pull request 'feat(host): populate sysinfo and cpuinfo on macOS (VA-133)' (#133) from feat/VA-133-macos-sysinfo-cpuinfo into main
715f8dbfeat(host): populate sysinfo and cpuinfo on macOS (VA-133)
e22c4d2Merge pull request 'fix(mcp): dial and serve the MCP gateway tunnel (VA-131, agent half)' (#132) from fix/VA-131-mcp-gateway-tunnel into main
fd9e65ffix(mcp): dial and serve the MCP gateway tunnel (VA-131, agent half)
c15d2b3Merge pull request 'fix(dispatch): execute runcommands shell actions (VA-132)' (#131) from fix/VA-132-runcommands-dispatch into main
e032b28fix(dispatch): execute runcommands shell actions (VA-132)
8283f0cMerge pull request 'feat(macos): build the agent binary for x86_64-apple-darwin (VA-88)' (#130) from feat/VA-88-macos-x86_64-build into main
8fc39bfchore(macos): addjust build-macosnative build recipe
ff5fcb8feat(macos): compile the agent binary for x86_64-apple-darwin
a23b136Merge pull request 'docs: add CLAUDE.md for Claude Code' (#129) from docs/add-claude-md into main
bef1c3cdocs: add CLAUDE.md for Claude Code
2055481Release v0.4.0
c85667dMerge pull request 'feat(kvm): layout-aware desktop key protocol' (#127) from feat/VA-126-layout-aware-desktop-keys into main
16ddb06feat(kvm): layout-aware desktop key protocol
c54c125Merge pull request 'fix(kvm): exclude the BGRX pad byte from tile change-detection' (#126) from fix/VA-127-tile-hash-skip-bgrx-pad-byte into main
fbd8addfix(kvm): exclude the BGRX pad byte from tile change-detection
1c80e74Merge pull request 'feat(ci): sign and publish the Windows agent' (#125) from feat/VA-123-windows-agent-sign-publish into main
b8808e8feat(ci): sign and publish the Windows agent
512ef56Merge pull request 'feat(ci): cross-compile a 64-bit Windows agent build' (#124) from feat/VA-122-windows-cross-compile-ci into main
9210d54feat(ci): cross-compile a 64-bit Windows agent build
4f29e19Merge pull request 'fix(kvm): route explicit-Linear scanout reads through gbm' (#123) from fix/VA-121-vram-linear-scanout-through-gbm into main
edae506fix(kvm): route explicit-Linear scanout reads through gbm
dfcb35aMerge pull request 'feat(power): add Sleep action_kind to host_power' (#122) from feat/VA-120-host-power-sleep into main
9c9bbc5feat(power): add Sleep action_kind to host_power
a4af88eMerge pull request 'fix(kvm): treat an absent display as retryable in capture loops' (#121) from fix/VA-119-kvm-capture-retryable-absent-display into main
0497cfafix(kvm): treat an absent display as retryable in capture loops
eabb1fcMerge pull request 'fix(input): route MCP + VNC pointer moves through shared backend selector' (#120) from fix/VA-118-shared-pointer-injection into main
cbfe4abfix(input): route MCP + VNC pointer moves through shared backend selector
38f0e83Merge pull request 'fix(desktop): scale HiDPI pointer coords into logical space (VA-111)' (#119) from fix/VA-111-hidpi-pointer-scale into main
cc37e80fix(desktop): scale HiDPI pointer coords into logical space (VA-111)
66d4372Merge pull request 'feat(update): compress agent transport with zstd' (#118) from feat/VA-116-transport-compression into main
16aef73feat(update): compress agent transport with zstd
07357f0Merge pull request 'fix(desktop): probe KVM backend once, fail closed on headless host' (#117) from fix/VA-115-desktop-probe-once-fail-closed into main
5fda6aafix(desktop): probe KVM backend once, fail closed on headless host
cc365ceMerge pull request 'feat(package): publish semver sidecar alongside each agent binary' (#116) from feat/VA-114-version-sidecar into main
df2cef6Merge branch 'main' into feat/VA-114-version-sidecar
9c0b891Merge pull request 'docs(agent): drop stale --system from install doc examples' (#115) from fix/VA-113-stale-system-flag-install-doc-comments into main
20ead95feat(package): publish semver sidecar alongside each agent binary
bc7af8bdocs(agent): drop stale --system from install doc examples
d8987d3Merge pull request 'fix(kvm): fail loudly on stale X11 cookie and re-resolve session (VA-112)' (#114) from fix/VA-112-x11conn-cookie-reresolve into main
1cdebd3fix(kvm): fail loudly on stale X11 cookie and re-resolve session (VA-112)
c946a46Merge pull request 'fix(kvm): composite DRM cursor plane into scanout capture (VA-110)' (#113) from fix/VA-110-drm-cursor-overlay into main
ee9a470fix(kvm): composite DRM cursor plane into scanout capture (VA-110)
693bebaMerge pull request 'fix(kvm): one desktop-tab owner per seat via advisory lock (VA-108)' (#112) from fix/VA-108-single-kvm-owner-per-seat into main
94b2cbafix(kvm): one desktop-tab owner per seat via advisory lock (VA-108)
e2b11f9Merge pull request 'fix(kvm): follow seat0 active session across login/logout (VA-107)' (#111) from fix/VA-107-session-follow into main
590ea12fix(kvm): follow seat0 active session across login/logout (VA-107)
5796ed2Merge pull request 'fix(kvm): route no-modifier DRM scanout through gbm, not raw mmap (VA-106)' (#110) from fix/VA-106-drm-scanout-modifier-none-tiled into main
6ad8677fix(kvm): route no-modifier DRM scanout through gbm, not raw mmap
16fa2bbMerge pull request 'fix(rtc): pace WebRTC data-channel sends against SCTP buffered_amount (VA-105)' (#109) from fix/VA-105-rtc-datachannel-backpressure into main
6ceafe2fix(rtc): pace data-channel sends against SCTP buffered_amount
a67900dMerge pull request 'feat(kvm): DRM/KMS scanout capture via gbm readback (VA-104 part 2)' (#108) from fix/VA-104-drm-egl-readback into main
e26fd95fix(kvm): split uinput into separate pointer and keyboard devices
92b1f07feat(kvm): DRM/KMS scanout capture via gbm readback (VA-104)
2cc0d6bMerge pull request 'feat(kvm): DRM/KMS scanout enumeration + capture probe (VA-104)' (#107) from fix/VA-104-drm-kms-capture into main
2db3417feat(kvm): DRM/KMS scanout enumeration + capture probe (VA-104)
6059f3cMerge pull request 'feat(kvm): unattended Wayland input via uinput (VA-104 part 1)' (#106) from fix/VA-104-drm-kms-uinput-wayland into main
e43a5d0feat(kvm): unattended Wayland input via uinput (pointer + keyboard)
8bba40cMerge pull request 'fix(agent): Desktop tab capture/WebRTC + cross-device self-update (VA-103)' (#105) from fix/VA-103-desktop-tab-session-fixes into main
b6ec697fix(update): copy-fallback for cross-device binary swap
e9c8330fix(agent): unblock Desktop tab capture and WebRTC data channel
cf14cb3Merge pull request 'fix(release): add --build to create-release compose run' (#104) from fix/VA-102-create-release-build-flag into main
874ae88fix(release): add --build to create-release compose run
4920866Merge pull request 'fix(kvm): stop SIGBUS core dump in PipeWire screencast teardown' (#103) from fix/VA-92-pipewire-teardown-sigbus into main
d5443dcfix(kvm): stop SIGBUS core dump in PipeWire screencast teardownDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
v0.3.0
Stablereleased this
2026-07-03 16:41:30 +02:00 | 119 commits to main since this releaseChangelog
1b99f61Merge pull request 'Release v0.3.0' (#102) from release/v0.3.0 into main
fbdaf96Release v0.3.0
100ba7fMerge pull request 'fix(net): detect half-open control connection via independent keepalive' (#101) from fix/VA-101-keepalive-half-open-detection into main
8f388c4fix(net): detect half-open control connection via independent keepalive
3b62fb3Merge pull request 'feat(coreinfo): emit git hash and build date, use semver in value' (#100) from feat/VA-99-coreinfo-githash-builddate into main
5a77d85feat(coreinfo): emit git hash and build date, use semver in value
f9dc413Merge pull request 'feat(cargo): publish crates to public psa-systems registry' (#99) from feat/VA-98-publish-crates-public into main
d303c91feat(cargo): publish crates to public psa-systems registry
85507a4Merge pull request 'feat(update): session-keyed transfers + progress events (agent, VA-97)' (#98) from feat/VA-97-update-progress-session into main
86960f0Merge branch 'main' into feat/VA-97-update-progress-session
2eeff88feat(update): session-keyed transfers + progress events (agent side)
5d6757fMerge pull request 'fix(update): split End-without-Begin from hash failure; coalesce drop-block log spam (VA-96)' (#97) from fix/VA-96-self-update-no-session into main
5e1fb80fix(update): split End-without-Begin from hash failure; coalesce drops
fbf4735Merge pull request 'fix(release): regenerate and stage Cargo.lock in create-release' (#96) from fix/VA-95-create-release-stage-lock into main
030c18fMerge branch 'main' into fix/VA-95-create-release-stage-lock
56c103dfix(release): regenerate and stage Cargo.lock in create-releaseDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
v0.2.0
Stablereleased this
2026-07-01 00:35:37 +02:00 | 135 commits to main since this releaseChangelog
8031d47Merge pull request 'Release v0.2.0' (#95) from release/v0.2.0 into main
9bb0967Release v0.2.0
7082f4aMerge pull request 'feat(agent): report running semver on the control channel (VA-94)' (#94) from feat/VA-94-report-running-semver into main
11cba48feat(agent): report running semver on the control channel
77cdbd9Merge pull request 'feat(agent): attach to active X11 session for the desktop tab (VA-86)' (#93) from feat/VA-86-x11-session-attach into main
7f0978efeat(agent): attach to active X11 session for the desktop tab
9c37bd5Merge pull request 'feat(kvm): report host display manager in kvm_displays reply' (#92) from feat/VA-91-display-manager-detection into main
63d3db3feat(kvm): report host display manager in kvm_displays reply
20ab582Merge pull request 'feat(gui): Windows assistance GUI - named-pipe IPC, Session 0 launch, capture exclusion (VA-56)' (#91) from feat/VA-56-windows-assistance-gui into main
d20e86cfeat(gui): Windows assistance GUI - named-pipe IPC, Session 0 launch, capture exclusion (VA-56)
ca46ca9Merge pull request 'feat(agent): remote self-uninstall over the control channel (VA-87)' (#90) from feat/VA-87-remote-self-uninstall into main
d820695feat(agent): remote self-uninstall over the control channel (VA-87)
4b8a69cMerge pull request 'feat(agent): run system install as root and attach to active session (VA-84)' (#89) from feat/VA-84-system-root-session-attach into main
bb58cb3feat(agent): run system install as root and attach to active session (VA-84)
8359b0fMerge pull request 'feat(agent): Wayland scroll via portal NotifyPointerAxisDiscrete (VA-83)' (#88) from fix/VA-83-wayland-scroll-axis into main
28c0cb5feat(agent): Wayland scroll via portal NotifyPointerAxisDiscrete (VA-83)
be749feMerge pull request 'feat(agent): Wayland screen capture via dlopen PipeWire (VA-82)' (#87) from fix/VA-82-pipewire-dlopen into main
4afdb20Merge branch 'main' into fix/VA-82-pipewire-dlopen
e892215feat(agent): Wayland screen capture via dlopen PipeWire (no hard link)
0431c4bfeat(agent): hand-rolled SPA POD codec for dlopen PipeWire consumer
addfd09Merge pull request 'fix(package): stable tracks SemVer releases, latest tracks main' (#85) from fix/VA-78-agent-channels-stable-latest into main
e4648a0fix(package): stable tracks SemVer releases, latest tracks main
041492aMerge pull request 'fix(agent): stop silent black X11 capture fallback on Wayland (VA-80)' (#84) from fix/VA-80-wayland-capture into main
d5c66a6Merge pull request 'test(kvm): prove tile stream ships only changed tiles (idle => zero)' (#83) from verify/VA-79-tile-diff-changed-only into main
7a3b4e1test(kvm): prove tile stream ships only changed tiles (idle => zero)
2a7e436fix(agent): stop silent black X11 capture fallback on Wayland
eadcd78Merge pull request 'fix(agent): present client cert on relay dial (relay is mTLS-only) (VA-77)' (#82) from fix/VA-77-relay-mtls-client-cert into main
89432f1fix(agent): present client cert on relay dial (relay is mTLS-only)
52618a9Merge pull request 'fix(agent): hand-roll wss:// relay dial with pinned-CA TLS (VA-76)' (#81) from fix/VA-76-relay-wss-tls-dial into main
ebc14c7fix(agent): hand-roll wss:// relay dial with pinned-CA TLS
530c4cbMerge pull request 'chore: Sync the checks and justfile recipes' (#80) from chore/sync-checks-justfile into main
2a2cc26Merge branch 'main' into chore/sync-checks-justfile
74cd41eMerge pull request 'feat(agent): wipe spent enrollment material; install bundle via stdin (VA-75)' (#79) from feat/VA-75-enroll-wipe-stdin into main
4f90782feat(agent): wipe spent enrollment material; install bundle via stdin
2561f71Merge pull request 'feat(dev): mTLS enrollment dev loop; retire dev-insecure plain-WS' (#78) from feat/VA-74-dev-mtls-enroll-bootstrap into main
28e7094feat(dev): mTLS enrollment dev loop; retire dev-insecure plain-WS
989f141Merge pull request 'feat(agent): token-bootstrapped mTLS enrollment; remove .vagent + handshake (VA-67)' (#77) from feat/VA-67-token-enroll-mtls into main
2f19ca9feat(agent): token-enroll mTLS identity; drop .vagent + handshake
e14b5e5Merge pull request 'fix(build): install make in release builder for vendored openssl' (#76) from fix/VA-73-builder-install-make into main
7d3d92efix(build): install make in release builder for vendored openssl
3a0df85Merge pull request 'fix(terminal): skip PTY tests when child spawn fails, not just openpty (VA-71)' (#75) from chore/checks-workflow-776d46a3 into main
7c14c12fix(terminal): skip PTY tests when child spawn fails, not just openpty (VA-71)
776d46aMerge pull request 'feat(store): consolidate config + data + identity into encrypted SQLite (VA-68)' (#74) from feat/VA-68-encrypted-sqlite-store into main
e89e652test(netprobe): use reserved address for unreachable-port probe (VA-69)
32f1c19feat(store): consolidate config + data + identity into encrypted SQLite (VA-68)
065e299Merge pull request 'fix(dev): rename dev seed to .vagent and target /api/v1/agent (VA-66)' (#73) from fix/VA-66-dev-vagent-rename-and-path into main
5092263Merge pull request 'fix(dev): complete .vagent rename and point dev seed at /api/v1/agent (VA-66)' (#72) from fix/VA-66-dev-tooling-vagent-rename-cert-pin into main
b6dd4dbfix(dev): rename dev seed to .vagent and target /api/v1/agent
58662b0fix(dev): complete .vagent rename and point dev seed at /api/v1/agent (VA-66)
06bbb76Merge pull request 'docs(distribution): name real fetcher owner psa-systems-private' (#71) from fix/VA-65-fetcher-owner-doc into main
d282fa8docs(distribution): name real fetcher owner psa-systems-private
3baff72chore: Sync the checks and justfile recipes
765bfcfMerge pull request 'fix(ci): derive publish channel from trigger to end 409 race' (#69) from fix/GOV-14-trigger-derived-publish-channels into main
7373767Merge branch 'main' into fix/GOV-14-trigger-derived-publish-channels
4a87812Merge pull request 'refactor: purge mesh/MeshCentral naming, rename .msh to .vagent (VS-42)' (#70) from feature/refactor-vervain into main
596b15drefactor: purge mesh/MeshCentral naming, rename .msh to .vagent
2e8fc0bfix(ci): derive publish channel from trigger to end 409 race
d958b79Merge pull request 'fix(terminal): skip PTY tests when no PTY can be allocated (VA-64)' (#68) from fix/VA-64-pty-tests-skip-without-pty into main
cbc1f2cMerge pull request 'docs(distribution): publish the real agent signing recipient' (#67) from docs/fill-signing-recipient into main
8c805bcfix(terminal): skip PTY tests when no PTY can be allocated
592747ddocs(distribution): publish the real agent signing recipient
17a28ffMerge pull request 'feat(signing): sign agent binaries with age key + XEdDSA (VA-62)' (#66) from feat/VA-62-age-xeddsa-signer into main
f76467bfix(signing): harden secret-key handling from review
b275e73feat(signing): sign agent binaries with age key + XEdDSA
abfcc01Merge pull request 'VA-60: publish minisign-signed meshagent- matching the server fetcher contract' (#65) from feat/VA-60-publish-meshagent into main
462f620docs(fetcher): correct VERVAIN_AGENT_FETCHER_* env names against the server (VA-60)
1963253feat(ci): publish meshagent- matching the server fetcher contract (VA-60)
52cdfcfMerge pull request 'VA-58: architect agent build + minisign signing pipeline (key custody, deployment models, rotation)' (#64) from docs/VA-58-signing-architecture into main
8a4b59efeat(signing): vervain-agent signing-keygen + rotation runbook (VA-58)
5c7c7fbdocs(signing): architect agent build + minisign signing pipeline (VA-58)
d14d4d8Merge pull request 'feat(ci): publish minisign-signed meshagent- to the Forgejo package' (#63) from feat/VA-57-minisign-signed-packages into main
5cf2260feat(ci): publish minisign-signed meshagent- to the Forgejo package
5b5b6ddMerge pull request 'feat(justfile): add dev-clean / dev-clean-all teardown recipes' (#62) from feat/dev-clean-recipes into main
e7d67b0feat(justfile): add dev-clean / dev-clean-all teardown recipes
e5a348fMerge pull request 'VA-24: native assistance-mode GUI in egui (Linux first)' (#61) from feat/VA-24-agent-gui into main
2f2a921fix(gui): address VA-24 review findings
da2f590feat(gui): native assistance-mode GUI in egui, Linux first (VA-24)
f830087Merge pull request 'VA-14: TPM 2.0-backed agent identity (Linux)' (#60) from feat/VA-14-tpm-identity into main
326e675fix(identity): address VA-14 TPM review findings
c054221feat(identity): TPM 2.0-backed agent key on Linux (VA-14)
c19462dMerge pull request 'VA-53: idempotent buildx builder setup in build-package.yml' (#59) from fix/VA-53-buildx-idempotent into main
2eed1fcfix(ci): make the buildx builder setup idempotent across runs
ef48f99Merge pull request 'VA-13: apply staged self-update on Windows' (#58) from feat/VA-13-windows-self-update into main
ede7b46fix(update): address VA-13 Windows self-update review findings
0cd08d7Merge pull request 'VA-11: Windows KVM via DXGI Desktop Duplication + SendInput' (#57) from feat/VA-11-windows-kvm into main
e4fd54afeat(update): apply staged self-update on Windows (VA-13)
f736d37fix(kvm): address VA-11 Windows review findings
960fb51docs(roadmap): mark VA-11 Windows KVM implemented
181b3bdfeat(kvm): Windows KVM via DXGI Desktop Duplication + SendInput (VA-11)
edf1356Merge pull request 'VA-52: catch a stale Cargo.lock in the PR check (--locked)' (#56) from fix/VA-52-ci-locked-build into main
280471bfix(ci): build with --locked in the PR check to catch a stale Cargo.lock
bf96d55Merge pull request 'VA-10: WebRTC data-channel tunnel upgrade' (#55) from feat/VA-10-webrtc-datachannel into main
494731ffix(rtc): address VA-10 review findings
993c3f0feat(rtc): WebRTC data-channel tunnel upgrade (VA-10)
f747915Merge pull request 'VA-9: host the agent as a Windows service (SCM)' (#54) from feat/VA-9-windows-service into main
59c0a98fix(windows): address VA-9 service review findings
b6bfd58feat(windows): host the agent as a Windows service (SCM)
573d4a4Merge pull request 'VA-51: make generic package upload idempotent on 409' (#53) from fix/VA-51-generic-upload-idempotent into main
6dbc7adfix(ci): make generic package upload idempotent on 409Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
v0.1.0
Stablereleased this
2026-06-08 16:43:15 +02:00 | 234 commits to main since this releaseChangelog
b1fb44bMerge pull request 'Release v0.1.0' (#32) from release/v0.1.0 into main
d2d861cRelease v0.1.0
7e9de03Merge pull request 'feat(release): adopt standard create-release recipe + workflow (VA-32)' (#28) from feat/create-release-va-32 into main
79e6197Merge branch 'main' into feat/create-release-va-32
058a07eMerge pull request 'docs: sync docs with encrypted settings store (VA-33)' (#31) from docs/encrypted-settings-store-VA-33 into main
c407830docs: sync README, ROADMAP, design doc with the encrypted settings store (VA-33)
673bd66Merge pull request 'docs(config): design encrypted local-settings store (VA-29)' (#29) from plan/encrypted-settings-store-VA-29 into main
89946beMerge pull request 'feat(config): encrypted local-settings store replacing .msh (VA-33)' (#30) from feat/encrypted-settings-store-VA-33 into main
8f2f1eafix(config): address VA-33 review (read-only check, no orphan secret)
81b1f27feat(config): encrypted local-settings store replacing .msh (VA-33)
42270cadocs(config): point design doc at impl ticket VA-33
5bc5efcdocs(config): design encrypted local-settings store (VA-29)
b6c270afeat(release): adopt standard create-release recipe + workflow (VA-32)
625991dMerge pull request 'feat(justfile): add group attrs (DEV-331)' (#27) from feat/justfile-groups-DEV-331 into main
df443c4feat(justfile): add group attrs (DEV-331)
63102caMerge pull request 'chore(justfile): group recipes for just --list (VA-31)' (#26) from chore/justfile-groups-va-31 into main
49408c4chore(justfile): group recipes forjust --list(VA-31)
be05181Merge pull request 'feat(mcp,kvm): publish to Forgejo Cargo registry + image attachments' (#25) from feat/cargo-registry-publish into main
d5373acfeat(mcp,kvm): publish to Forgejo Cargo registry + image attachments
6618c7aMerge pull request 'chore(rebrand): replace mesh with vervain (VA-28)' (#24) from chore/vervain-rebrand-va-28 into main
9d101efchore(rebrand): replace mesh with vervain (VA-28)
5dbe307Merge pull request 'feat(mcp): mutating tools + consent + audit (VA-27)' (#23) from feat/mcp-mutating-va-27 into main
95634d1feat(mcp): mutating tools + consent + audit (VA-27)
bacea99Merge pull request 'feat(vnc-native): in-process RFB 003.008 server (VA-21)' (#21) from feat/vnc-native-va-21 into main
fd5df55Merge remote-tracking branch 'origin/main' into feat/vnc-native-va-21
d8f4c96Merge pull request 'feat(tunnel): MCP read-only server tunnel mode (VA-26)' (#22) from feat/mcp-readonly-va-26 into main
bcb619afeat(tunnel): MCP read-only server tunnel mode (VA-26)
ea1ab27feat(vnc-native): in-process RFB 003.008 server (VA-21)
1bd398fMerge pull request 'feat(tunnel): RDP bridge tunnel mode (VA-20)' (#20) from feat/rdp-bridge-va-20 into main
1aeb2fcMerge branch 'main' into feat/rdp-bridge-va-20
482a7b1feat(tunnel): RDP bridge tunnel mode (VA-20)
678736dMerge pull request 'feat(tunnel): VNC bridge tunnel mode (VA-19)' (#19) from feat/vnc-bridge-va-19 into main
acf14d1feat(tunnel): VNC bridge tunnel mode (VA-19)
cfeae7cMerge pull request 'fix(tests): make services + tcpforward tests robust under DinD' (#18) from fix/test-flakes-container-env into main
ad54bc1Merge branch 'main' into fix/test-flakes-container-env
d342c75fix(justfile): pass --build to compose run to silence pull-access warning
591aa63fix(tests): make services + tcpforward tests robust under DinD
6fdeaf7Merge pull request 'feat(process): resolve uid -> username from /etc/passwd in processlist (VA-5)' (#16) from feat/uid-to-username-va-5 into main
3ba0291Merge branch 'main' into feat/uid-to-username-va-5
bee4096Merge pull request 'docs(tunnel): refresh stale TODO markers on usage-mode docstring (VA-1, VA-3, VA-4)' (#17) from docs/tunnel-mode-stale-comments into main
3b9d90ddocs(tunnel): refresh stale (TODO) markers on usage-mode docstring (VA-1, VA-3, VA-4)
3e6ca5afeat(process): resolve uid -> username from /etc/passwd in processlist (VA-5)
da0ed3dMerge pull request 'docs: refresh ROADMAP and file outstanding work (VA-1..18)' (#15) from docs/roadmap-refresh-2026-05-16 into main
0dc99b3docs: refresh ROADMAP for 2026-05-16 snapshot
dd8318cMerge pull request 'chore: sync .gitignore with other repos' (#14) from chore/sync-gitignore into main
8f08594chore: sync .gitignore with other repos
aad3ab2Merge pull request 'chore: add install-hooks + pre-commit recipes' (#13) from chore/pre-commit-hook into main
c6f009dchore: add install-hooks + pre-commit recipes
8e81e3cMerge pull request 'ci: build from rust-builder-* (rust 1.94)' (#12) from chore/rust-builder-1.94 into main
26608d8ci: build from rust-builder-* (rust 1.94)
d751f9cMerge pull request 'ci: bump actions/checkout to v5' (#11) from chore/checkout-v5 into main
1d66c1cci: bump actions/checkout to v5
cbcf299Merge pull request 'chore: display version, git hash, and build date in meshagent' (#10) from chore/version-display into main
34d23b1chore: display version, git hash, and build date in meshagent
804165cMerge pull request 'feat: build meshagent and publish as a Forgejo generic package' (#9) from feat/linux-package-build into main
c0f4199feat: build meshagent and publish as a Forgejo generic package
0c232abMerge pull request 'fix: silence clippy warnings denied as errors in CI' (#8) from fix/clippy-warnings into main
9c77181fix: silence clippy warnings denied as errors in CI
498a340Merge pull request 'style: cargo fmt --all' (#7) from fix/ci-docker-check-context into main
32fe8a7style: cargo fmt --all
9c25a43Merge pull request 'ci: copy source into check image instead of bind-mounting' (#6) from fix/ci-docker-check-context into main
4597bddci: copy source into check image instead of bind-mounting
77d97e9Merge pull request 'ci: run checks in Docker' (#5) from ci/docker-check into main
86839aaci: run checks in Docker
f525ed7Merge pull request 'feat/tunnel-dialer' (#4) from feat/tunnel-dialer into main
581951dfeat: wasm meshcore sandbox + loadcore action
88736c6feat(install): production installer (system + per-user) for the agent
790cf84chore: ignore run/meshagent-host.db sled scratch dir
3bf8b18feat(P11): tunnel files copy + move handlers; comment refreshes
c61be48fix(kvm): gate Wayland portal stack behind awayland-portalcargo feature
40a5a3cchore(dispatch): refresh OOB-update signing-key doc comment
7357915chore(oobupdate): retire stale TODO; document the wiring path
6ddc994feat(files): handle uploadhash for resume/skip detection
d8781edfeat: agent msg handlers for alertbox / messagebox
1af2279feat: agent msg handlers for cpuinfo, pskill, openUrl, serviceStart/Stop/Restart
6c1edb0feat: msg/getclip + msg/setclip via wl-clipboard / xclip
8b29509feat: bump default desktop framerate from 5fps to 30fps; honour SPA frametimer
fbb0e0ffeat: PipeWire ScreenCast consumer for high-fps Wayland frames
8cdd292feat: portal RemoteDesktop input on Wayland (KDE/GNOME mouse + keyboard)
3d22d89chore: cache grim-unavailable to silence per-frame fallback log
a45fbb5feat: xdg-desktop-portal Screenshot fallback for KDE/GNOME Wayland capture
dd47ca9chore: dev-host artifacts move to run-host/
7b928d5feat: agent Desktop tunnel via X11 (XTEST input + meshagent_kvm tile streaming)
5f271fbfix: just dev-host shares container identity so the SPA sees one device
eabe08achore: just dev-host runs the agent natively without Docker
68b3136feat: full Files panel protocol over relay (mkdir, mkfile, rm, rename, download, upload, find)
b93230afeat: agent Files panel ls over relay (usage=4, 5)
a1d2ff4feat: terminal tunnel honours initial options + xterm.onResize directives
435c56afix: agent tunnel terminal drops non-control text instead of piping to PTY
060a6c5feat: agent msg/tunnel dialer + Terminal protocol over /meshrelay.ashx
077ba25Merge pull request 'feat: agent JSON text-frame dispatch and msg/* handlers' (#3) from feat/agent-msg-dispatch into main
2a274adMerge pull request 'chore: re-render meshagent.msh against current dev port (4302)' (#2) from chore/dev-port-fix into main
2100a61chore: re-render meshagent.msh against current dev port (4302)
b5f432cfeat: agent JSON text-frame dispatch and msg/* handlers
356638bMerge pull request 'feat(meshagent): batch agent feature parity pass' (#1) from feat/agent-parity-batch into main
d9c2783feat(meshagent): batch agent feature parity pass
80751a3feat: Initial commitDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)