Skip to content

v1.3.0

Latest

Choose a tag to compare

@USKhokhar USKhokhar released this 04 Jun 08:22
580d876

Release v1.3.0

Date: 2026-06-04

Highlights

Architecture Overhaul

  • Extracted scripts/lib.sh as a shared library sourced by both the runtime and installer — zero duplicated logic remains.
  • The runtime now resolves lib.sh via well-known installed paths at startup, eliminating the sed-based patching that was previously needed.
  • xrandr output is cached once per command invocation for performance.
  • All mutating xrandr calls go through a run_xrandr() helper with consistent error handling.

Security Improvements

  • The installer verifies SHA256 checksums on remote downloads when available.
  • Both the runtime and installer now show the package list and prompt for confirmation before running sudo.
  • VNC password tradeoffs, unencrypted traffic, and SSH tunneling are documented in docs/SECURITY.md and the install-vnc help output.

Reliability Fixes

  • stop now cleans up xrandr modes to prevent accumulation after repeated start/stop cycles.
  • Stale lock files from crashed processes are auto-detected and cleaned.
  • The fixed 1-second startup sleep is replaced with a port-polling loop that adapts to available tools (ss, netstat, or timed fallback) and sleep granularity (fractional or whole-second).

Structured Logging

  • Start, stop, config changes, and security events now write timestamped entries to the log file alongside x11vnc output.

Testing

  • Added Xvfb-based integration tests exercising the full lifecycle in CI.
  • Added installer fallback tests verifying the remote-download path.
  • Unit tests at 110+.
  • CI runs lint, unit, smoke, integration, and installer fallback checks in parallel jobs.

Packaging

  • The Debian package builder now includes lib.sh.
  • Removed the stale committed Debian package directory (linux-display-extend-1.0/).

What's Changed Since v1.1.0

This release bundles all work from v1.2.0, v1.2.1, and v1.3.0:

  • v1.2.0 — Major rewrite: safe config parsing, doctor/install-deps/logs/set-password/install-vnc commands, stateful start/stop with PID tracking, password-based VNC auth by default, consolidated installer, CI, contributor docs, and architecture documentation.
  • v1.2.1 — Bug fixes: xrandr mode collision when requested resolution matches an existing system mode, clip coordinate fixes for left/above positioning, improved error messages, doctor improvements, 106 unit tests.
  • v1.3.0 — Architecture overhaul, security hardening, reliability fixes, structured logging, 110+ unit tests, integration tests, and Debian packaging updates.

Files Changed

41 files changed, ~3,777 insertions, ~1,544 deletions.

Upgrade

bash <(curl -fsSL https://raw.githubusercontent.com/USKhokhar/linux-display-extend/main/universal_installer.sh)

Or pull and reinstall from source:

git pull origin main
sudo make install