Releases: wnunezc/wsdd-rust
Release list
WSDD v2.1.0
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-StorageWSL2 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
IgnoreNewpolicy 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 Permissionsin the project toolbox. - Preserves the Linux project owner and grants the PHP
www-datagroup access only to known
runtime directories such asstorage,var,cache,logs, andbootstrap/cache. - Applies group write access, setgid inheritance, and default ACLs.
- Excludes
.git,vendor, andnode_modules. - Verifies write access using the real
www-datauser inside the PHP container. - Never applies recursive
chmod 777to the project.
Windows Desktop
- Vendors winit 0.30.13 with the validated
WM_DPICHANGEDfix 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
aclpackage insideWSDD-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-datainside 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.msiwsdd-2.1.0-x86_64.msi.sha256.txt
WSDD v2.0.1
WSDD 2.0.1
WSDD 2.0.1 is a patch release for the optional ngrok project publishing workflow.
Fixed
- Project toolbox now restores active ngrok public URLs after restarting WSDD or Windows, as long as the ngrok tunnel is still active.
- Active ngrok tunnels are rehydrated from the local ngrok Agent API instead of relying only on in-memory UI state.
- Restored publications are reconciled back to the registered WSDD project name and domain.
Compatibility
- Existing WSDD projects, Docker containers, SSL, hosts, proxy, PHP containers, storage modes, and optional services are unchanged.
- ngrok still requires the optional service to be enabled, configured with an authtoken, and running.
Validation
- Local release build generated
wsdd-2.0.1-x86_64.msi. - Release validation covers package version alignment and existing embedded resource checks.
Assets
wsdd-2.0.1-x86_64.msiwsdd-2.0.1-x86_64.msi.sha256.txt
WSDD v2.0.0
WSDD 2.0.0
WSDD 2.0.0 adds project storage/runtime modes, optional ngrok publishing, and PHP reverse-proxy upload defaults for local development environments.
Added
- Project storage modes: Classic Bind, Fast Sync Workspace, and Native Linux Project.
- Versioned project JSON metadata with legacy project compatibility.
- Optional ngrok service support through
WSDD-Ngrok-Server. - Project toolbox actions to publish, open, copy, and stop temporary ngrok URLs.
- ngrok settings with authtoken stored only in
wsdd-secrets.json. - Default
CLIENT_MAX_BODY_SIZE: 16mfor every supported PHP options file.
Changed
- Version metadata moves to
2.0.0. - Release validation now checks PHP upload proxy defaults and ngrok resources in the embedded Docker structure ZIP.
Compatibility
- Existing project JSON files without storage metadata load as Classic Bind.
- Existing PHP
options.phpXX.ymlfiles are migrated non-destructively when WSDD updates project options. - Existing deploy, proxy, hosts, SSL, PHP containers, Redis, Mailpit, and Memcached behavior remains unchanged unless the user enables new 2.0 features.
Validation
- GitHub Actions built and published the MSI from tag
v2.0.0. - Release validation covers package version alignment, MSI/checksum workflow artifacts,
CLIENT_MAX_BODY_SIZE, and ngrok Docker resources in the embedded ZIP. - Manual Docker/ngrok validation is still recommended before using the new optional publishing feature in a live development workflow.
Assets
wsdd-2.0.0-x86_64.msiwsdd-2.0.0-x86_64.msi.sha256.txt
WSDD v1.0.2
WSDD 1.0.2
1.0.2 fixes the PHP development container contract by making Composer available in every WSDD PHP web container.
Fixed
- Addresses GitHub issue
#3: PHP web containers now providecomposerinPATH. - Adds non-interactive Composer installation to all PHP Dockerfiles under
Docker-Structure/bin/. - Installs Composer into
/usr/local/bin/composer. - Verifies Composer during image build with
composer --version.
Composer Strategy
- Composer is installed from
https://getcomposer.org/installer. - The installer SHA384 signature is checked against
https://composer.github.io/installer.sig. - PHP versions below
7.2.5use Composer channel--2.2. - PHP
7.2.5+uses Composer channel--2. - Existing PHP, Apache, Xdebug, Webmin, cron and extension behavior is preserved.
Validation
cargo fmt --all -- --check$env:WSDD_SKIP_WINDOWS_MANIFEST='1'; cargo check --workspace$env:WSDD_SKIP_WINDOWS_MANIFEST='1'; cargo clippy --workspace -- -D warnings$env:WSDD_SKIP_WINDOWS_MANIFEST='1'; cargo test --workspace- Local MSI build with
cargo wix-msi --nocapture - Local PHP 8.4 Docker build smoke with Composer in PATH
- Manual reinstall validation against RTM-Hub/Catalyst quality gate
Expected Assets
wsdd-1.0.2-x86_64.msiwsdd-1.0.2-x86_64.msi.sha256.txt
WSDD v1.0.1
WSDD v1.0.0
WSDD 1.0.0
1.0.0 is the first stable WSDD release, promoted from the RC18 public baseline plus the final RC20 developer-experience scope and last-minute release corrections.
Status: stable public release.
Release Scope
- Windows desktop app for local PHP + Docker development.
- MSI installer generated with WiX/cargo-wix.
- Multilingual UI/help with English fallback.
- Base stack:
- Nginx reverse proxy.
- MySQL 8.
- phpMyAdmin.
- shared
wsdd-network.
- PHP project containers:
- PHP 5.6, 7.2, 7.4, 8.1, 8.2, 8.3, 8.4.
- Apache, Webmin, cron URL, project vhosts and local SSL.
- Xdebug available on port
9003using trigger mode.
- Optional stack services:
- Redis
redis:7.4.8-alpine. - Memcached
memcached:1.6.39-alpine. - Mailpit
axllent/mailpit:v1.29.7. - All optional services are disabled by default and deploy only after explicit activation in Settings.
- Redis
- Final release corrections:
- Lower log panel rendering keeps short log lines left-aligned and wraps long container log lines without expanding the layout.
- Localized README/help/i18n content aligned across English, Spanish, French, Hindi and Chinese.
- Installer legal text and release metadata updated from RC to stable
1.0.0.
Important Behavior
- MySQL/phpMyAdmin credentials are stored separately from public settings.
- Webmin credentials are configured per PHP version.
- Optional services use isolated compose files under
Docker-Structure/services/. - Optional services use separate Compose projects so each service can be stopped without affecting base/PHP containers.
- Mailpit exposes SMTP and UI; Redis uses persistent volume
wsdd-redis-data; Memcached is volatile. - MySQL TLS is not forced by default.
Validation
- Fresh install from MSI.
- First-run prerequisites and base stack bootstrap.
- PHP 8.4 project deploy with HTTPS.
- Xdebug DBGp CLI/HTTP trigger flow.
- Redis optional activation/deactivation.
- Memcached optional activation/deactivation.
- Mailpit optional activation/deactivation and UI access.
- Existing project compatibility after settings migration to
config_version7. - Installer upgrade path from latest public RC.
- Final automated release checks: format, clippy, tests, MSI build and checksum verification.
GitHub Assets
- MSI:
wsdd-1.0.0-x86_64.msi - Checksum:
wsdd-1.0.0-x86_64.msi.sha256.txt - Public SHA256:
9003C4D182DAE14AA77686A5902A86C6EA4DD2AAC556AAD81075937B670F998B
Release Notes
This stable release closes the first public development cycle for WSDD Rust Edition.
It is published as a normal GitHub Release, not a pre-release, and includes the MSI installer plus SHA256 checksum.
WSDD v1.0.0-rc.18
WSDD 1.0.0-rc.18
1.0.0-rc.18 closes the technical remediation plan and aggregates the unpublished remediation candidates from RC7 through RC18.
This is a prerelease build for final QA validation before deciding the next release phase.
GitHub visibility note: this specific RC18 is published as the repository's latest release so the MSI is visible from the main Releases surface. Future RCs should continue to be published as GitHub prereleases unless explicitly decided otherwise.
Assets
- Primary asset:
wsdd-1.0.0.18-x86_64.msi - SHA256:
A5CDFA1A79CE17BBACD5C10823ADE3C9228F40EFC8DD3ABD0BC975FCE36CED5E
Highlights Since RC7
RC7
- Validated the updater path from
RC6toRC7. - Confirmed the app could discover and install a newer release candidate through the launcher flow.
RC8 - RC11
- Closed the security and secrets remediation package.
- Removed fixed default credentials from the practical release baseline.
- Moved generated credentials into WSDD-managed local configuration/secrets.
- Added per-install and per-PHP-version credential handling.
- Repaired
Docker-Structurepackaging issues found during clean-install validation. - Updated Webmin package checksum handling.
- Fixed Webmin bootstrap behavior for PHP 8.1, 8.2, 8.3 and 8.4.
- Restored expected base URLs such as
php.wsdd.dock,cron.wsdd.dockandwmXX.wsdd.dock.
RC12
- Added GitHub Actions CI and release validation gates.
- Added MSI build workflow and release artifact generation path.
- Improved installer behavior, including launching WSDD after setup.
- Added initial release-gate documentation and pull request validation guidance.
RC13
- Hardened real Docker Desktop, WSL and PowerShell lifecycle behavior.
- Made PowerShell 7.5+ a real prerequisite for WSDD automation.
- Added WSL start, restart and shutdown actions.
- Segregated secrets into
wsdd-secrets.json. - Improved modal behavior for critical dialogs.
- Cleaned stale status-bar information.
RC14
- Centralized long-running jobs through the application job coordinator.
- Reduced UI blocking during loader, polling, Docker/WSL lifecycle, deploy/remove and backup/restore operations.
- Replaced fixed deploy sleeps with readiness polling where applicable.
- Fixed environment state regressions found during RC14 validation.
RC15
- Reworked deploy/remove robustness and idempotency.
- Improved recovery from partial project states.
- Aligned SSL handling around
C:\WSDD-Environment\Docker-Structure\ssl. - Improved hosts cleanup and project removal behavior.
- Aligned backup/restore behavior with active project vhost state.
RC16
- Completed the main SRP refactor pass.
- Split large mixed-responsibility modules into focused internal modules while preserving public APIs.
- Refactored backup, Docker, Docker deploy, hosts, PowerShell runner, settings, app state, main window, deploy, project model and loader areas.
- Preserved existing user-facing behavior while reducing maintenance cost.
RC17
- Added the release validation strategy in
docs/release-validation.md. - Added isolated integration checks in
tests/release_validation.rs. - Aligned
CONTRIBUTING.mdand the PR template with release validation expectations. - Documented the split between unit tests, isolated integration tests, elevated manual checks and release smoke checks.
RC18
- Closed
WP-10and the full remediation plan by explicit confirmation. - Removed the unused
display_selector.rsplaceholder and its unused i18n key. - Removed dead loader reboot state that no real flow emitted.
- Kept
rustfmt.tomlcompatible with stable Rust by removing nightly-only flags. - Confirmed
ps_scriptno longer has productionexpect()usage in the local baseline. - Fixed the remote Release MSI workflow to tolerate the WiX Toolset version preinstalled on GitHub runners.
- Added GitHub prerelease publication with MSI and checksum assets attached to the tag.
Validation
cargo fmt --allcargo fmt --all -- --checkcargo check --workspace --target-dir .\target\wp10-rc18-checkcargo clippy --workspace --target-dir .\target\wp10-rc18-clippy -- -D warningsWSDD_SKIP_WINDOWS_MANIFEST=1 cargo test --workspace --target-dir .\target\wp10-rc18-testcargo wix-msi --nocapture
Test Results
wsdd: 64 passed.tests/release_validation.rs: 3 passed.wsdd-launcher: 3 passed.xtask: 0 tests.
Version Check
wsdd.exe:1.0.0-rc.18wsdd-launcher.exe:1.0.0-rc.18
Notes
- This release candidate is still a prerelease.
- The stable
1.0.0release has not been published. - Earlier remediation candidates were used to validate focused work packages; this release note intentionally summarizes the unpublished RC7-RC18 arc in one place.
WSDD 1.0.0-rc.7
WSDD 1.0.0-rc.7 updater test release.
Highlights:
- Remote test release intended to be detected by a manual RC6 installation
- MSI asset generated from current clean-main/main state
- Latest endpoint should now resolve to rc.7 for updater validation
Asset:
- wsdd-1.0.0.7-x86_64.msi
- SHA256: B2F0886CBBB0BB1EECDCF104A56703FE803F6BC6B26762072961C5D2A5FAE73D
WSDD 1.0.0-rc.6
WSDD 1.0.0-rc.6 fixes the updater path validation bug.
Highlights:
- Temporary updater now preserves the original installed WSDD location
- Post-install validation now resolves wsdd.exe from the real install path instead of the temp launcher directory
- Added fallback resolution through Program Files WSDD bin paths
- Versioned MSI published for manual installation before rc.7 updater testing
Asset:
- wsdd-1.0.0.6-x86_64.msi
- SHA256: 2804935CDDDB38BA1403D0F8FC4153F0E57520A628141B22AAAA0004D5894AB4
WSDD 1.0.0-rc.5
WSDD 1.0.0-rc.5 test release for updater validation.
Highlights:
- Remote version published to validate update detection from installed rc.4
- MSI asset generated from current clean-main/main state
- Launcher and main executable built with 1.0.0-rc.5 metadata
Asset:
- wsdd-1.0.0.5-x86_64.msi
- SHA256: 30E4F698B5CEF57A4701FAC2B7DCBB14B514BCB1C05EF70CEF628F9800C8F608