Skip to content

Releases

DesktopManager Windows CLI and MCP 0.2.5

Choose a tag to compare

Audio endpoint reads include the DesktopManager 4.9.0 fixes: a requested endpoint is opened directly, default IDs are cached with notification invalidation, and inactive devices skip volume activation. The MCP server still starts read-only, and the tool surface is unchanged.

This release includes the portable Windows CLI, MCP bundle and installable plugin.

DesktopManager-PowerShellModule.v4.9.0

Choose a tag to compare

What's Changed

Full Changelog: desktopmanager-windows-verification-v0.2.4...DesktopManager-PowerShellModule.v4.9.0

DesktopManager Windows CLI and MCP 0.2.4

Choose a tag to compare

Session typing is available in the Windows CLI, including UTF-8 input from pipes. Private paste preserves the clipboard safely, and window geometry uses physical pixels. Saved layouts prioritize stronger identities and skip unavailable or ambiguous application matches.

This release includes the portable Windows x64 CLI, MCP bundle and agent plugin. The MCP server starts read-only. See the DesktopManager 4.8.0 changelog for the library and PowerShell changes, including the private-paste default and scaled-display layout migration.

DesktopManager 4.8.0

Choose a tag to compare

  • Ignore microphone and camera usage records that predate both boot and the current sign-in, so a crash or power loss no longer leaves an app reported as still using the device. Active records use the recorded sign-in time rather than a moving boot estimate; ambiguous timestamps after Fast Startup or a backwards clock correction return unavailable rather than a successful empty snapshot.
  • Make monitor brightness work: monitor lookup no longer gives up when the enumeration stops early on a match, GetMonitorBrightness/SetMonitorBrightness accept the device ID or the display name, and Monitor gains GetBrightness() and SetBrightness().
  • Keep monitor IDs consistent: the fallback enumeration reports the same device path as the normal one, and display-setting fallbacks map it back to the display name.
  • Add Monitor.Bounds and Monitor.WorkingArea, and make Monitor.Position use the bounds already read during enumeration.
  • Move windows between monitors relative to the work area, keep them inside the target, and maximise a maximised window again on the target.
  • Correct interop that failed or misbehaved: SetSuspendState marshalling, SetWindowLongPtr on 32-bit processes, the ANSI window-long entry points, missing last-error capture, hive unload errors, and MonitorWatcher startup, shutdown and 64-bit message parameters.
  • Add CursorFence to keep the mouse pointer from crossing a screen edge, either always or until it is pushed for a moment, while touch and pen pass through.
  • Add WindowEventWatcher for window move, resize, show, destroy and foreground events on its own thread.
  • Add NonActivatingWindow, WindowEdgeGestures and TouchInputMapping for touch-screen and side-panel apps, and make DesktopSessionService.GetIdleTime() public.
  • Add WindowThumbnail for live DWM window previews.
  • Add AudioDefaultEndpointSession, which follows the default device as it changes and reports a missing device as unavailable rather than throwing, and AudioLoopbackCapture for the samples playing on the default output.
  • Add ClipboardWatcher, which reports new text or image content, skips copies apps mark as private, retries busy reads, and can put text or an image back without reporting it.
  • Add WifiConnectionService.GetCurrent for the connected network, signal and link rates of a Wi-Fi interface. Windows 11 24H2 and later answer only apps that have location access.
  • Add SystemPowerService.GetActivePowerPlan for the active plan and the Windows 11 power mode.
  • Read clipboard text within the size of its memory block, and allocate before emptying the clipboard so a failed allocation in SetText no longer clears it.
  • Add SessionTypingService, Send-DesktopSessionText and window type-session for typing into RDP, Citrix and VNC sessions and paste-blocked fields: scan codes for the remote keyboard layout, profile pacing, waiting for the target to come forward, Caps Lock and held-key checks, and stopping when focus moves or you type. See Docs/DesktopManager.SessionTyping.md.
  • Changed: text the library pastes now requests exclusion from clipboard history, cloud synchronization and cooperating clipboard managers (WindowInputOptions.PrivateClipboard, or Set-DesktopWindowText -PrivateClipboard $false to opt out). PreserveClipboard restores every supported format, refuses to paste if preservation fails, and leaves a newer copy untouched.
  • Fix clipboard text writes and private paste from callers without an owner window. Private paste and snapshot restoration write existing exclusion markers before payloads and clear failed partial transfers before releasing the clipboard.
  • Hosted-session typing presses letters at US key positions on any local layout; on AZERTY or QWERTZ machines it used to send the wrong letters. Typing options are copied rather than changed on the caller's object.
  • window type accepts --text-stdin and --text-env so text stays off the command line.
  • Changed: window positions are read and set in physical pixels whatever the caller's DPI awareness, so values from GetWindows can differ on scaled displays and now match what the move methods accept. Client geometry and window-relative pointer input use the same coordinates. Re-save older layouts captured in logical pixels on scaled displays; their stored numbers are retained without an assumed conversion.
  • Activating a window no longer removes its always-on-top state, and setting topmost no longer activates it.
  • Auto-snap snaps on the monitor the window was dropped on and works from any thread. SnapWindow uses the work area, restores a maximised or minimised window first and allows for the invisible border; snap positions gain top and bottom halves, thirds and centre.
  • Moving or resizing a minimised window changes where it restores to and leaves it minimised.
  • Changed: Set-DesktopWindow applies negative coordinates, -TopMost:$false clears topmost, and it skips hidden and cloaked windows unless -IncludeHidden or -IncludeCloaked is given. MinimizeAll and RestoreAll leave cloaked windows (including those on other virtual desktops) alone by default.
  • Window errors include the Windows error and say when the target runs elevated. Moving another app's window to a virtual desktop explains the access-denied case, and Move-DesktopWindowToVirtualDesktop -Experimental can do it.
  • Saved layouts match a window whose title changed by process, class and application, and Restore-DesktopWindowLayout warns about windows it couldn't find. Stronger identities are reserved before weaker matches.
  • Changed: a layout with a captured application ID requires the same verified live ID; unavailable identities and ambiguous targets are skipped rather than matched to another app. Window identity reads use the public Windows property store and packaged-process identity APIs.
  • Stop the mouse input tests clicking and dragging on the live desktop.

The Windows CLI and MCP plugin release is 0.2.4.

DesktopManager-PowerShellModule.v4.7.0

Choose a tag to compare

@PrzemyslawKlys PrzemyslawKlys released this 03 Nov 10:13
0dc9ff9

What's Changed

Full Changelog: DesktopManager-PowerShellModule.v4.6.1...DesktopManager-PowerShellModule.v4.7.0

DesktopManager Windows Verification 0.2.3

Choose a tag to compare

@PrzemyslawKlys PrzemyslawKlys released this 24 Oct 13:39
aa25aac

This release packages the Windows CLI, the read-only-by-default MCP server and the desktop verification agent plugin with the DesktopManager4.6.1 core.

Windows wallpaper services now activate reliably when another caller already holds the native COM wrapper. The core also includes the portable wallpaper-target and checkpoint APIs, faithful static-image fit/background metadata, and qualified optional single-display X11 geometry for .NET consumers.

The downloadable CLI/MCP assets run on Windows x64. Workspace recovery remains experimental and requires explicit opt-in; mutation remains disabled in the default MCP configuration. Dynamic wallpaper sources and unqualified desktop layouts retain explicit capability limits.

The release workflow attaches the CLI, MCPB and plugin archives with checksums and updates the generated agent-plugin distribution.

DesktopManager-PowerShellModule.v4.6.1

Choose a tag to compare

@PrzemyslawKlys PrzemyslawKlys released this 24 Oct 13:40
aa25aac

What's Changed

Full Changelog: desktopmanager-windows-verification-v0.2.2...DesktopManager-PowerShellModule.v4.6.1

DesktopManager Windows Verification 0.2.2

Choose a tag to compare

DesktopManager Windows Verification 0.2.2 includes desktop-aware workspace capture, preview and recovery through the CLI and MCP server, plus physical-pixel screenshots for DPI-unaware callers.

Workspace actions share the DesktopManager 4.6.0 recovery engine. Optional actions remain guarded, and the MCP server starts read-only. Experimental native virtual-desktop extensions are qualified on Windows build family 26300; families 26100 and 26200 still require runtime qualification.

The release includes the plugin archive, portable Windows x64 CLI, MCP bundle and checksums. The library and PowerShell module are released separately as DesktopManager 4.6.0.

DesktopManager-PowerShellModule.v4.6.0

Choose a tag to compare

What's Changed

Full Changelog: DesktopManager-PowerShellModule.v4.5.0...DesktopManager-PowerShellModule.v4.6.0

DesktopManager-PowerShellModule.v4.5.0

Choose a tag to compare

@PrzemyslawKlys PrzemyslawKlys released this 16 Oct 17:30
32fe21d

What's Changed

  • Add shared wallpaper consumer APIs for monitor scale, session users and lock screens by @PrzemyslawKlys in #212

Full Changelog: desktopmanager-windows-verification-v0.2.1...DesktopManager-PowerShellModule.v4.5.0