Skip to content

WSDD v2.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 22 Jun 07:42
v2.1.0
db89f04

WSDD 2.1.0

WSDD 2.1.0 adds Linux-native project storage, automatic WSL runtime recovery, and Windows
multi-monitor DPI fixes.

Managed Native Linux Storage

  • Adds the optional WSDD-Storage WSL2 distribution based on Debian 13 slim.
  • Converts a selected Windows project folder into Linux-native storage under
    /home/wsdd/projects/<project>.
  • Keeps the project accessible from its original Windows path through a symbolic link to
    \\wsl.localhost\WSDD-Storage\home\wsdd\projects\<project>.
  • Creates and validates a ZIP snapshot before modifying the original folder.
  • Uses the validated ZIP as the immutable migration source, avoiding races with live logs,
    PID files, Git metadata, or other changing files.
  • Validates source, ZIP, temporary WSL copy, final WSL copy, UNC access, and Windows alias by
    path inventory, file size, and SHA256.
  • Preserves the original Windows folder and backup ZIP instead of deleting them automatically.
  • Reports blocked files and copy differences with the affected paths.

WSL Runtime Recovery

Docker Desktop represents WSL-backed mounts through internal
docker-desktop-bind-mounts relays that can disappear after restarting Windows, WSL, or
Docker Desktop. WSDD 2.1.0 installs the hidden scheduled task WSDD WSL Runtime Recovery when
WSL-backed projects require it.

  • Runs independently from the WSDD interface.
  • Triggers at logon, session unlock, Docker Desktop service events when available, and every
    two minutes as a fallback.
  • Waits for real Docker Engine readiness before operating.
  • Repairs only runtimes with an explicitly confirmed broken WSL relay.
  • Recreates only affected WSL-backed volumes and the shared PHP runtime for that PHP version.
  • Uses a global mutex and Task Scheduler IgnoreNew policy to prevent overlapping executions.
  • Opens a persistent circuit after three failed reconstruction attempts to prevent destructive
    retry loops.
  • Runs PowerShell and discovery commands without visible console windows.

Linux Runtime Permissions

  • Managed projects automatically repair writable runtime directories after PHP starts.
  • Native and Managed projects expose Fix Permissions in the project toolbox.
  • Preserves the Linux project owner and grants the PHP www-data group access only to known
    runtime directories such as storage, var, cache, logs, and bootstrap/cache.
  • Applies group write access, setgid inheritance, and default ACLs.
  • Excludes .git, vendor, and node_modules.
  • Verifies write access using the real www-data user inside the PHP container.
  • Never applies recursive chmod 777 to the project.

Windows Desktop

  • Vendors winit 0.30.13 with the validated WM_DPICHANGED fix used for mixed-DPI monitor
    movement.
  • Restores and clamps window bounds to the active monitor work area.
  • Preserves maximized state without corrupting the restored window size.

Compatibility

  • Existing Classic Bind, Fast Sync, and user-managed Native Linux projects continue loading.
  • Classic Bind remains the recommended compatibility mode.
  • Native and Managed storage provide the best filesystem performance but depend on Docker
    Desktop and WSL lifecycle integration.
  • Existing WSL-backed projects are retained by the recovery task even when Managed Storage is
    later disabled.
  • Migration of existing registered Classic Bind projects remains outside this release. Managed
    conversion applies while adding a project from a Windows source folder.

Requirements

  • Windows 10 or Windows 11 with administrator privileges.
  • Docker Desktop with WSL2 backend.
  • WSL 2.
  • PowerShell 7.5 or newer.
  • A filesystem and Windows policy that permit directory symbolic links to WSL UNC paths.
  • Managed storage may install the standard Debian acl package inside WSDD-Storage.

Validation

  • Rust format, workspace check, Clippy with warnings denied, and the complete workspace test
    suite pass.
  • Real Managed storage conversion was validated with Windows source folders and PHP 8.4.
  • ZIP snapshot extraction was validated with a 3,026-file project.
  • Runtime permission repair was validated through www-data inside PHP 8.4.
  • WSL relay recovery was validated with PHP 8.3 and PHP 8.4 after Docker/WSL restart.
  • Healthy repeated recovery runs preserve existing container IDs.

Assets

  • wsdd-2.1.0-x86_64.msi
  • wsdd-2.1.0-x86_64.msi.sha256.txt