Dave Kempe
b2892e404f
v0.9.2: Dependency updates
...
- sha2 0.11.0-rc.5 → 0.11.0 (stable release)
- rusqlite 0.38.0 → 0.39.0 (bundled SQLite 3.51.3)
- clap 4.5.60 → 4.6.0
- toml 1.0.4 → 1.1.0
- libc 0.2.182 → 0.2.183
- pulldown-cmark 0.13.1 → 0.13.3
- tracing-subscriber 0.3.22 → 0.3.23
- uuid 1.22.0 → 1.23.0
v0.9.2
2026-03-28 12:27:42 +11:00
Dave Kempe
580436807f
Merge pull request #86 from sol1/dependabot/cargo/uuid-1.23.0
...
deps: bump uuid from 1.22.0 to 1.23.0
2026-03-28 12:12:40 +11:00
Dave Kempe
9ff97477b4
Merge pull request #85 from sol1/dependabot/cargo/tracing-subscriber-0.3.23
...
deps: bump tracing-subscriber from 0.3.22 to 0.3.23
2026-03-28 12:12:38 +11:00
Dave Kempe
97b7be7e0a
Merge pull request #84 from sol1/dependabot/cargo/pulldown-cmark-0.13.3
...
deps: bump pulldown-cmark from 0.13.1 to 0.13.3
2026-03-28 12:12:36 +11:00
Dave Kempe
9cf1cda2ed
Merge pull request #83 from sol1/dependabot/cargo/libc-0.2.183
...
deps: bump libc from 0.2.182 to 0.2.183
2026-03-28 12:12:33 +11:00
Dave Kempe
81ba50fd5d
Merge pull request #82 from sol1/dependabot/cargo/toml-1.1.0spec-1.1.0
...
deps: bump toml from 1.0.4+spec-1.1.0 to 1.1.0+spec-1.1.0
2026-03-28 12:12:31 +11:00
Dave Kempe
1bdca18864
Merge pull request #81 from sol1/dependabot/cargo/clap-4.6.0
...
deps: bump clap from 4.5.60 to 4.6.0
2026-03-28 12:12:28 +11:00
Dave Kempe
bb3e62701a
Merge pull request #80 from sol1/dependabot/cargo/rusqlite-0.39.0
...
deps: bump rusqlite from 0.38.0 to 0.39.0
2026-03-28 12:12:25 +11:00
Dave Kempe
1a99abd108
Merge pull request #79 from sol1/dependabot/cargo/sha2-0.11.0
...
deps: bump sha2 from 0.11.0-rc.5 to 0.11.0
2026-03-28 12:12:23 +11:00
dependabot[bot]
0c7e3694fb
deps: bump uuid from 1.22.0 to 1.23.0
...
Bumps [uuid](https://github.com/uuid-rs/uuid ) from 1.22.0 to 1.23.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases )
- [Commits](https://github.com/uuid-rs/uuid/compare/v1.22.0...v1.23.0 )
---
updated-dependencies:
- dependency-name: uuid
dependency-version: 1.23.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-27 09:18:48 +00:00
dependabot[bot]
9f7bc4cbf6
deps: bump tracing-subscriber from 0.3.22 to 0.3.23
...
Bumps [tracing-subscriber](https://github.com/tokio-rs/tracing ) from 0.3.22 to 0.3.23.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.22...tracing-subscriber-0.3.23 )
---
updated-dependencies:
- dependency-name: tracing-subscriber
dependency-version: 0.3.23
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-27 09:18:36 +00:00
dependabot[bot]
173677049d
deps: bump pulldown-cmark from 0.13.1 to 0.13.3
...
Bumps [pulldown-cmark](https://github.com/raphlinus/pulldown-cmark ) from 0.13.1 to 0.13.3.
- [Release notes](https://github.com/raphlinus/pulldown-cmark/releases )
- [Commits](https://github.com/raphlinus/pulldown-cmark/compare/v0.13.1...v0.13.3 )
---
updated-dependencies:
- dependency-name: pulldown-cmark
dependency-version: 0.13.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-27 09:18:28 +00:00
dependabot[bot]
d859e13b4f
deps: bump libc from 0.2.182 to 0.2.183
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.182 to 0.2.183.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.183/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.182...0.2.183 )
---
updated-dependencies:
- dependency-name: libc
dependency-version: 0.2.183
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-27 09:18:19 +00:00
dependabot[bot]
56ee83ef30
deps: bump toml from 1.0.4+spec-1.1.0 to 1.1.0+spec-1.1.0
...
Bumps [toml](https://github.com/toml-rs/toml ) from 1.0.4+spec-1.1.0 to 1.1.0+spec-1.1.0.
- [Commits](https://github.com/toml-rs/toml/compare/toml-v1.0.4...toml-v1.1.0 )
---
updated-dependencies:
- dependency-name: toml
dependency-version: 1.1.0+spec-1.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-27 09:18:11 +00:00
dependabot[bot]
a24a3642de
deps: bump clap from 4.5.60 to 4.6.0
...
Bumps [clap](https://github.com/clap-rs/clap ) from 4.5.60 to 4.6.0.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.60...clap_complete-v4.6.0 )
---
updated-dependencies:
- dependency-name: clap
dependency-version: 4.6.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-27 09:18:01 +00:00
dependabot[bot]
7f69cb11bc
deps: bump rusqlite from 0.38.0 to 0.39.0
...
Bumps [rusqlite](https://github.com/rusqlite/rusqlite ) from 0.38.0 to 0.39.0.
- [Release notes](https://github.com/rusqlite/rusqlite/releases )
- [Changelog](https://github.com/rusqlite/rusqlite/blob/master/Changelog.md )
- [Commits](https://github.com/rusqlite/rusqlite/compare/v0.38.0...v0.39.0 )
---
updated-dependencies:
- dependency-name: rusqlite
dependency-version: 0.39.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-27 09:17:50 +00:00
dependabot[bot]
a4ce652713
deps: bump sha2 from 0.11.0-rc.5 to 0.11.0
...
Bumps [sha2](https://github.com/RustCrypto/hashes ) from 0.11.0-rc.5 to 0.11.0.
- [Commits](https://github.com/RustCrypto/hashes/compare/sha2-v0.11.0-rc.5...sha2-v0.11.0 )
---
updated-dependencies:
- dependency-name: sha2
dependency-version: 0.11.0
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-27 09:17:40 +00:00
Dave Kempe
07ebb33702
v0.9.1: Onboarding wizard, security updates, packaging fix
...
- Onboarding wizard for new users (was missing from v0.8.1-v0.9.0)
- Settings menu label visibility improvement
- EnvironmentFile=-/opt/rustguac/env in systemd service
- russh 0.57→0.58.1 (drops vulnerable libcrux-sha3)
- aws-lc-sys 0.38→0.39 (RUSTSEC-2026-0044, 0048)
- rustls-webpki 0.103.9→0.103.10 (RUSTSEC-2026-0049)
- Removed RUSTSEC-2026-0074 ignore (no longer needed)
v0.9.1
2026-03-27 10:32:47 +11:00
Dave Kempe
d2dbfe3b2e
Add Windows RDP performance tuning script (contrib)
v0.9.0
2026-03-24 20:52:51 +11:00
Dave Kempe
6489bab9a9
CI: ignore RUSTSEC-2026-0074 (libcrux-sha3 via russh, no update available)
2026-03-24 20:49:23 +11:00
Dave Kempe
566336aadb
CI: ignore yanked crate warnings in audit (digest 0.11.1 via russh)
2026-03-24 20:38:49 +11:00
Dave Kempe
3bf1762d87
v0.9.0: RDP audio, GFX pipeline, video performance
...
Audio:
- RDP audio output now works through guacamole. Advertise audio/L16
and audio/L8 mimetypes in the guacd handshake, and explicitly set
disable-audio=false. Fixed mimetype mismatch that silently prevented
guacd from creating audio streams.
- Browser AudioContext auto-resumed on user interaction (click/keydown)
to comply with autoplay policy.
Video performance:
- Per-entry GFX pipeline toggle (enable_gfx) — enables RemoteFX codec
- Per-entry desktop composition toggle (enable_desktop_composition)
- Per-entry force lossless toggle (force_lossless) — PNG-only mode
- WebSocket proxy buffer increased from 8KB to 64KB
- Video Performance section in address book UI for RDP entries
Documentation:
- RDP Video Performance guide with Windows server tuning (AVC444,
60fps, GPU encoding) and Linux xrdp setup (Debian 13)
- contrib/setup-xrdp-gfx.sh — automated GFX/H.264 setup for xrdp
- contrib/setup-xrdp-audio.sh — automated PulseAudio module build
2026-03-24 20:25:05 +11:00
Dave Kempe
7acbb302fa
v0.8.5: Reports, session history, enriched recordings
...
Session history:
- New session_history SQLite table tracks all sessions with user,
entry, folder, hostname, duration, and recording file
- Automatic cleanup via session_history_retention_days config (default 90)
- 8 new unit tests for session history DB functions
Reports page (poweruser+ only):
- Summary cards: total sessions, hours, unique users, active now
- Sortable/filterable session history table with pagination
- Top Connections and Top Users leaderboards
- CSV export for session history with filters
Enriched recordings:
- Recording .meta sidecars now include user, folder, entry name, session type
- Recordings API returns enriched metadata from .meta files
- Recordings page shows User, Entry, Folder columns
Other:
- Reports nav link on all pages, hidden for operator/viewer roles
- Reports documentation in docs/reports.md
- Onboarding wizard for new users (role-scoped, dismissable)
- Settings menu label visibility improvement
- Fixed stale credential variable test (hyphen support)
v0.8.5
2026-03-22 20:36:26 +11:00
Dave Kempe
e07af6fdb1
Fix rustls-webpki in fuzz/Cargo.lock (RUSTSEC-2026-0049)
v0.8.1
2026-03-22 09:42:15 +11:00
Dave Kempe
a729ce0900
v0.8.1: Security fixes, dependency updates, onboarding wizard
...
Security:
- aws-lc-sys 0.38.0 → 0.39.0 (RUSTSEC-2026-0044, RUSTSEC-2026-0048)
- rustls-webpki 0.103.9 → 0.103.10 (RUSTSEC-2026-0049)
- Fixed fuzz/Cargo.lock with same aws-lc-sys update
Dependencies:
- rusqlite 0.38.0 → 0.39.0 (bundled SQLite 3.51.3)
- russh 0.57.1 → 0.58.0 (21% throughput improvement)
- clap 4.5.60 → 4.6.0
- toml 1.0.4 → 1.0.7
- tracing-subscriber 0.3.22 → 0.3.23
- libc 0.2.182 → 0.2.183
Features:
- Onboarding wizard for new users (role-scoped, dismissable)
- Settings menu label (was just a cog icon)
- Clipboard diagnostic logging in WebSocket proxy
2026-03-21 16:58:10 +11:00
Dave Kempe
edacc94c5a
Fix security audit: update aws-lc-sys, rustls-webpki
...
- aws-lc-sys 0.38.0 → 0.39.0 (fixes RUSTSEC-2026-0044, RUSTSEC-2026-0048)
- rustls-webpki 0.103.9 → 0.103.10 (fixes RUSTSEC-2026-0049)
- aws-lc-rs 1.16.1 → 1.16.2
2026-03-21 15:34:38 +11:00
Dave Kempe
f8cc1d0e96
Merge pull request #77 from sol1/dependabot/cargo/rusqlite-0.39.0
...
deps: bump rusqlite from 0.38.0 to 0.39.0
2026-03-21 15:30:47 +11:00
Dave Kempe
90794facdb
Merge pull request #68 from sol1/dependabot/cargo/clap-4.6.0
...
deps: bump clap from 4.5.60 to 4.6.0
2026-03-21 14:51:34 +11:00
Dave Kempe
fb21e8c9de
Merge pull request #74 from sol1/dependabot/cargo/russh-0.58.0
...
deps: bump russh from 0.57.1 to 0.58.0
2026-03-21 14:51:32 +11:00
Dave Kempe
e54c59d7bb
Merge pull request #70 from sol1/dependabot/cargo/libc-0.2.183
...
Patch bump, CI passes.
2026-03-21 14:25:10 +11:00
Dave Kempe
d1ac77caca
Merge pull request #75 from sol1/dependabot/cargo/tracing-subscriber-0.3.23
...
Patch bump, CI passes.
2026-03-21 14:25:07 +11:00
Dave Kempe
44d3d7a0e9
Merge pull request #76 from sol1/dependabot/cargo/toml-1.0.7spec-1.1.0
...
Patch bump, CI passes.
2026-03-21 14:25:05 +11:00
Dave Kempe
74f67d0ed9
Add scale testing harness and results
...
Bench suite: k6 load tests, Python Guacamole protocol client,
Vault population scripts, server metrics collector, xrdp target setup.
Results from 100 concurrent RDP session test on 16 GB server:
- rustguac: 45 MB RSS, 9 threads — not the bottleneck
- guacd/FreeRDP: 15.8 GB RSS (~158 MB/session) — primary bottleneck
- Zero errors, p95 session create 98ms, p95 WS connect 63ms
- Address book: 982 entries loads in 2.4s (sequential Vault reads)
2026-03-21 12:38:03 +11:00
Dave Kempe
35f7dd519c
Fix Docker config copy command in docs ( #73 )
...
Add --entrypoint cat to override the container's default entrypoint
which starts guacd/rustguac instead of running the cat command.
2026-03-21 07:52:57 +11:00
dependabot[bot]
7185c31d80
deps: bump rusqlite from 0.38.0 to 0.39.0
...
Bumps [rusqlite](https://github.com/rusqlite/rusqlite ) from 0.38.0 to 0.39.0.
- [Release notes](https://github.com/rusqlite/rusqlite/releases )
- [Changelog](https://github.com/rusqlite/rusqlite/blob/master/Changelog.md )
- [Commits](https://github.com/rusqlite/rusqlite/compare/v0.38.0...v0.39.0 )
---
updated-dependencies:
- dependency-name: rusqlite
dependency-version: 0.39.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-20 09:17:18 +00:00
dependabot[bot]
bc220b935d
deps: bump toml from 1.0.4+spec-1.1.0 to 1.0.7+spec-1.1.0
...
Bumps [toml](https://github.com/toml-rs/toml ) from 1.0.4+spec-1.1.0 to 1.0.7+spec-1.1.0.
- [Commits](https://github.com/toml-rs/toml/compare/toml-v1.0.4...toml-v1.0.7 )
---
updated-dependencies:
- dependency-name: toml
dependency-version: 1.0.7+spec-1.1.0
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-20 09:17:06 +00:00
dependabot[bot]
1d57611151
deps: bump tracing-subscriber from 0.3.22 to 0.3.23
...
Bumps [tracing-subscriber](https://github.com/tokio-rs/tracing ) from 0.3.22 to 0.3.23.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.22...tracing-subscriber-0.3.23 )
---
updated-dependencies:
- dependency-name: tracing-subscriber
dependency-version: 0.3.23
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-20 09:16:57 +00:00
dependabot[bot]
954bf745a5
deps: bump russh from 0.57.1 to 0.58.0
...
Bumps [russh](https://github.com/warp-tech/russh ) from 0.57.1 to 0.58.0.
- [Release notes](https://github.com/warp-tech/russh/releases )
- [Commits](https://github.com/warp-tech/russh/compare/v0.57.1...v0.58.0 )
---
updated-dependencies:
- dependency-name: russh
dependency-version: 0.58.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-20 09:16:46 +00:00
dependabot[bot]
49649179db
deps: bump libc from 0.2.182 to 0.2.183
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.182 to 0.2.183.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.183/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.182...0.2.183 )
---
updated-dependencies:
- dependency-name: libc
dependency-version: 0.2.183
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-13 09:20:23 +00:00
dependabot[bot]
e6d3879869
deps: bump clap from 4.5.60 to 4.6.0
...
Bumps [clap](https://github.com/clap-rs/clap ) from 4.5.60 to 4.6.0.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.60...clap_complete-v4.6.0 )
---
updated-dependencies:
- dependency-name: clap
dependency-version: 4.6.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-13 09:19:55 +00:00
Dave Kempe
6bafc79d60
v0.8.0: Credential variables, bug fixes
...
Credential variables — address book entries reference $domain_username /
$domain_password instead of storing static credentials. Users fill in their
own values via My Credentials (gear menu), stored per-user in Vault KV.
All variables set → silent launch; missing → prompted. Hyphens allowed in
variable names. Docs section added.
Bug fixes:
- Rate limiting disabled by default; opt-in via rate_limit = true (#62 )
- Docker: copy FreeRDP guac-common-svc plugins to runtime image (#64 )
- Docker/install: add chromium-sandbox package for non-root web sessions (#61 )
- Logo: skip redundant JS src= when server-side branding already set (#65 )
- Sessions page: hide Open/Share buttons for non-active sessions (#63 )
- Drive: expose drive_configured in /api/auth/status, warn in UI when
[drive] not configured
- install.sh: verify FreeRDP plugin installation
UI polish:
- Nav bar: border separator + spacing between header and nav on all pages
- Address book: password show/hide toggle on all password fields
- Drive diagnostic logging (session.rs, websocket.rs, client.html)
Closes #61 , #62 , #63 , #64 , #65
v0.8.0
2026-03-13 13:47:11 +11:00
Dave Kempe
6b1ad57fdc
v0.7.2: Fix theme branding flash, Docker writable paths
...
- Server-side HTML branding: site_title, h1, logo_url baked in at
startup so first paint shows configured branding (#59 )
- Docker: pre-create certs/, drives/, scripts/ dirs and chown for
non-root user so startup loaders can write config/certs (#57 )
v0.7.2
2026-03-12 21:13:25 +11:00
Dave Kempe
991a8cf9e6
Fix Docker writable paths for non-root user ( #57 )
...
Pre-create certs/, drives/, scripts/ dirs and chown them to the
rustguac user. Also chown the top-level /opt/rustguac dir (non-recursive)
so startup loaders can write config.toml and cert material without
needing root.
2026-03-12 21:12:18 +11:00
Dave Kempe
d559da5775
Fix theme flash: server-side branding in HTML ( #59 )
...
Replace default "rustguac" site title, h1 headings, and logo URL in
HTML at startup so the first paint already shows configured branding.
2026-03-12 21:10:30 +11:00
Dave Kempe
364b6772e4
v0.7.1: Guacamole import CLI, migration docs
...
- Wire up import-guacamole CLI subcommand (--file, --folder, --scope, --dry-run)
- Fix non-UTF-8 SQL dumps crashing import (use lossy UTF-8 decoding)
- Add migration.md to embedded docs
v0.7.1
2026-03-12 21:03:02 +11:00
Dave Kempe
62c92aa260
Update screenshots: web automation UI, clone button, sanitised entries
...
- web_connection.png: Full web entry editor showing Banner, Automation
section (username, password, login script dropdown, autofill), Allowed
Domains, Recording Settings, clipboard controls, SSH tunnels
- address_book.png: Updated to show clone button column, sanitised
hostnames and folder names
- screenshots.md: Updated web session editor description
2026-03-12 08:09:31 +11:00
Dave Kempe
7bf797c9e8
Merge pull request #53 from sol1/dependabot/cargo/fuzz/quinn-proto-0.11.14
...
Bump quinn-proto from 0.11.13 to 0.11.14 in /fuzz
2026-03-12 07:35:52 +11:00
Dave Kempe
0c98aba190
v0.7.0: Banner field, automation UI, fix CDP policy, login script filtering
...
- Add optional `banner` field to address book entries (shown before session
starts, user must click Continue). No longer auto-populates from display_name.
- Restructure web entry form: username, password, login script, and autofill
collapsed under a collapsible "Automation" section.
- Filter login scripts dropdown to .js/.sh/.py files only (skip package.json etc.)
- Fix CDP/login scripts: change DeveloperToolsAvailability policy from 2 (disabled)
to 0. DevTools UI remains blocked by chrome://* URLBlocklist. Fixes login script
automation that was silently broken by the v0.6.0 security hardening.
- Update Dockerfile, debian/postinst, install.sh with corrected policy.
- Update docs/security.md and docs/web-sessions.md.
v0.7.0
2026-03-11 23:01:22 +11:00
Dave Kempe
d63cc4a62c
Fix login script fetch: use apiHeaders() not authHeaders()
...
The loadLoginScripts() function called the non-existent authHeaders(),
causing a JS error that silently prevented web entry edit/clone modals
from opening.
2026-03-11 22:01:34 +11:00
Dave Kempe
d07b8ae225
v0.7.0: Login script dropdown, batch address book, Docker non-root
...
New features:
- Login script selector: dropdown populated from server scripts dir (#52 )
- Batch address book endpoint eliminates N+1 API calls (#56 )
- Clone button for address book entries (#56 )
- Increased API rate limits (#56 )
Fixes:
- Docker container runs as non-root user (#50 )
- Conditional --no-sandbox when running as root (#50 )
- Post-spawn Chromium liveness check with stderr capture (#50 )
Docs:
- Theme/branding configuration guide (#55 )
- Vault metadata policy for deletes (#54 )
- TLS config clarification (no boolean toggle)
2026-03-11 21:54:38 +11:00