[0.12.0] - 2026-10-10
Setup, desktop icons, guest discovery, and redistribution notices are updated.
WinPodX requires Python 3.10 or newer.
Added
- Six-page Windows-style GUI setup and reinstall wizard: Welcome, Configuration, Prerequisites, Review, Install, Finish (#884).
- Storage-directory and optional local Windows ISO selection in the wizard and
winpodx setup --customize(#849, #879). Existing storage relocation remains explicit; a local ISO alone does not make installation offline. - Opt-in
[pod] extra_portsaccepts mapping strings such as["25000:30000/tcp", "0.0.0.0:27015-27017:27015-27017/udp"]; seedata/winpodx.toml.example.
Changed
- Setup progress, shared GUI dialog chrome, and localized installer messages are updated (#884).
- First GUI provisioning requires the guest agent. Automatic discovery retries use 60/120/180/240/300-second delays (#885); failed installation does not guarantee a populated menu.
- GUI installation suppresses recovery notifications until the install flow ends (#887).
- AppImage provenance collection records FreeRDP/dpkg ownership, license texts, wheel URLs and download hashes.
pip --reportrecords hashes; it is not prevalidated hash locking. - The AppImage recipe pins Ubuntu 24.04, FreeRDP
3.32.1+dfsg-0ubuntu0.24.04.1, Python3.11.17+20261009, and appimagetool1.9.1. SHA256-verified source originals are delivered inwinpodx-appimage-sources.tar.gz, alongsidePROVENANCE.json,SOURCE-OFFER.txt, andSHA256SUMS. Each artifact has its own provenance and source-delivery record; this is not blanket legal or security clearance. - Nix removes the unused Python libvirt dependency and raw
postInstallcopy, using wheel shared data instead.
Fixed
- Dependency floors raised to pytest
9.0.3, Pillow12.3, and CairoSVG2.9; exact AppImage inputs are recorded in its manifest. - Installed PNG icons are embedded losslessly in SVG wrappers for desktop compatibility (#890). Original raster and private icons are unchanged; this is not vectorization.
- Desktop icon installation repairs hicolor
index.theme;.desktopIcon=remains a theme name. - Guest HTTP replies, result/progress files, encoded icons, and XPM dimensions have explicit size limits. Reverse-open rejects malformed UTF-8 and lone surrogates and handles stat/read races.
- The five host-side QEMU disguise recipe sources are included in the wheel; local-copy installs retain that recipe and aggregate third-party notices.
Notices
- rdprrap remains 0.3.0, with a supplemental notice for 17 crates copied into the guest. Historical rdprrap notices remain unchanged.
- Exact publication commits remain unresolved only for
native-windows-derive 1.0.5andnative-windows-gui 1.0.13; unchanged MITLICENSEand Gabriel Dube attribution are verified across 2019 creation and 2022 publication anchors. pelite-macros 0.1.1source commit432e769bf3152f21452a4b8908639f5ed1595912resolves and has the identical license; the supplement records that revision.- Shim
BUILDINFO.jsonrecords locked inputs and two identical clean builds, SHA256f79f95408006b1caa0a0c638f8a6395dcf3d9e70ba04a63a08fb11fe67e0bc22. MIT crate texts and Rust standard-library notices accompany guest copies.
Packaging Follow-up
- Original 0.12.0 DEB assets and inspected OBS Fedora 42/43/44 RPMs have a packaging defect: ZIP metadata normalization changes the pinned rdprrap archive's SHA256, so OEM verification rejects it and retains the single-session fallback. Original OBS RPMs also omit desktop-integration resources at their FHS paths.
- The correction targets 0.12.1. Use its corrected packages when available; updating the host package alone does not repair an already-provisioned guest. Existing 0.12.0 tags and release assets are preserved.
Contributors
Thanks to everyone who contributed issue reports, suggestions, and follow-up testing. These contributions informed this release and its follow-up investigation; acknowledgment does not imply that every referenced issue is resolved.
- @realahmed7777: setup/storage feedback (#767) and the hide-all-apps request (#814).
- @kroese: the improvement review and suggestions (#838).
- @MirzaAyBaig12: declarative guest port forwarding (#826) and the NixOS setup report (#867).
- @GameSoul7Eugene: the virtualization preflight request (#850).
- @Zeik0s: the migration-warning request (#834).
- @pnogaret2019-code: the connectivity report (#737).
- @Hossam-Majrashi: the Arch Linux release-package request (#869).
- @ismikes: the scheduled-task debloat report (#866).
- @mathys-lopinto: the first file-open/tsclient readiness report (#833).
- @h3nr1-d14z: the AppStream install-resource report (#871) and rollback/OEM-mount report (#872).
- @t57541119-glitch: startup and cross-distribution troubleshooting feedback (#875).
- @flomine: the password-rotation consistency report (#873).
- @mikeshb: the guest-to-host file-copy report and retest (#886). Copying worked after upgrading to FreeRDP
3.32.1+dfsg-0ubuntu0.24.04.1, and the contributor closed the issue; the exact cause is unproven.