Repository navigation
Releases
Release v1.4.2
Follow-ups to the GHSA-pvgf-f87w-4jfp fix from deployment testing (issue #11, thanks to @toseparo).
Fixed
- When the elevated task from 1.3.0 or older can't be removed silently, physmouse no longer shows a bare UAC prompt at every sign-in. Starts at sign-in (
--background, including the restart after a quiet upgrade) never prompt; a start by hand explains the task first and asks before Windows' administrator prompt, as 1.4.0's notes already described. - An interactive update no longer fails when that prompt is declined (for example by a standard user). It installs, keeps the task, and says on its last page that the task remains.
- The task is recognized by its name
\physmouseand by starting an exe outsideProgram Filesand the Windows folder, instead of by the current user's install path.--remove-legacy-tasknow finds it when run as SYSTEM, also removes tasks registered by a portable copy, and returns 0 when there's no task, as documented. A\physmousetask that starts physmouse fromProgram Filesis left alone. --uninstall --quietno longer fails with exit code 1 when theForceAutostartpolicy is set.
Docs
- README: the detection rule uses only the
DisplayVersionregistry value (the exe is deleted a moment after uninstalling), a note onStart-Process -Waitand the restarted copy, and what--remove-legacy-taskremoves. The winget notes point out that the copy in%LOCALAPPDATA%must not be run as SYSTEM.
SHA-256 of physmouse-v1.4.2-installer.exe: D4A18A1852B0FAEDF5C637EAAB037BEF6CEEC886D9D1FB6866FA911A0AA3C0C0
This file was built from this tag by GitHub Actions. To check it, run:
gh attestation verify physmouse-v1.4.2-installer.exe -R lieberlenny/physmouse
The exe is unsigned, so Windows SmartScreen or antivirus software may warn about it.
Release v1.4.1
No changes to the app. The Microsoft Store got an early 1.4.0 package that was built before the security fixes below were merged; Store package numbers can't be reused, so this release ships the same code as 1.4.0 under a new number. Everything listed under 1.4.0 applies.
SHA-256 of physmouse-v1.4.1-installer.exe: 6ADB48F5D9F0E92857916740FE41607E391A0AD1E431F3C27E7CF00AD71722E0
This file was built from this tag by GitHub Actions. To check it, run:
gh attestation verify physmouse-v1.4.1-installer.exe -R lieberlenny/physmouse
The exe is unsigned, so Windows SmartScreen or antivirus software may warn about it.
Release v1.4.0
Added
- The layout editor also snaps a dragged screen's centre: to another screen's centre, to the seam where two screens meet, and to the middle of all other screens. A dashed guide shows where it snapped; Alt still places freely.
Fixed
- After crossing to another screen the cursor lands a few pixels inside it, so a 1 px wobble no longer sends it straight back.
- A screen that Windows splits into several displays (such as Lenovo's "true split") keeps a separate layout per split, instead of the halves taking over the whole panel's place.
Security
- The fix in 1.3.1 for the "On, as administrator" task was incomplete: an upgrade without administrator rights (winget, Intune,
--install --quiet) left the task in place until it next fired, and anything running as the user could swap the exe it starts in the meantime. physmouse now offers to remove the task (with a UAC prompt) whenever it's started by hand or set up interactively, and--install --quiet/--uninstall --quietreturn exit code 2 while the task exists, so admins can find and remove it, for example with the new--remove-legacy-taskswitch run as SYSTEM. Affects administrators who turned on "On, as administrator" in 1.3.0 or older. (GHSA-pvgf-f87w-4jfp) schtasks.exeandcmd.exeare started by their full path in System32, not looked up in the app's own folder first.- The release workflow passes the tag name to its scripts through environment variables instead of inserting it into the script text.
Docs
- README: fixed the policy table, clarified what
ForceAutostartlocks, that policy values are read at startup and which value types count as on, and that a UNC path inDefaultSettingsis read over the network.
SHA-256 of physmouse-v1.4.0-installer.exe: B862014006BE40DE74A11EA4A04955E8E3EA9A6490FC5F31ABC41FA01C87912F
This file was built from this tag by GitHub Actions. To check it, run:
gh attestation verify physmouse-v1.4.0-installer.exe -R lieberlenny/physmouse
The exe is unsigned, so Windows SmartScreen or antivirus software may warn about it.
Release v1.3.1
Security
- Removed the "On, as administrator" startup option. Its Task Scheduler task started
physmouse.exewith highest privileges from the per-user install folder, which any program running as the user can write to, so it could be used to get around UAC. An existing task is removed the next time it starts physmouse, and replaced by a normal startup entry.
Fixed
- A
settings.iniwith NaN, infinity or absurd sizes in the layout (or typing such values into the editor) could hang the layout editor. Layout values are now limited to what a desk can hold (positions within ±100 m, sizes 20 mm to 20 m); anything else is ignored. - Mouse buttons are no longer accepted as the on/off shortcut key in
settings.ini.
Changed
- Start with Windows is a simple on/off toggle in the GitHub version too.
- The
DisableElevatedStartuppolicy is no longer needed and is ignored.
SHA-256 of physmouse-v1.3.1-installer.exe: 93C7D003FF7FF71EE5E8A79B92E24BB2414BEDCD0C58E9C7E97E85E4A0821292
This file was built from this tag by GitHub Actions. To check it, run:
gh attestation verify physmouse-v1.3.1-installer.exe -R lieberlenny/physmouse
The exe is unsigned, so Windows SmartScreen or antivirus software may warn about it.
Release v1.3.0
Added
- Admin policy under
HKLM\SOFTWARE\Policies\physmouse:DisableUpdateCheck,DisableElevatedStartup,DisableAutostart,ForceAutostart,DisableSelfInstallerandDefaultSettings. See README > Security & enterprise. - A Start with Windows toggle for the Store version under General.
--autostartfor silent installs.- SECURITY.md, this changelog, and a Security & enterprise section in the README.
- Releases are built by GitHub Actions from the tag, with a build provenance attestation and the SHA-256 in the release notes.
Changed
- Start with Windows is now off by default: in the setup wizard, for silent installs and in the Store package. Upgrades keep the current choice.
- Screens are numbered 1, 2, 3, … instead of using Windows' internal display numbers, which can jump to 11, 12, 13 after a driver update.
Fixed
- The update check never reached GitHub because the app only offered TLS 1.0. It now uses TLS 1.2.
- After an update from the setup window, physmouse stayed off if the window was closed without clicking Open physmouse.
- Portable mode works again: a
settings.ininext to the exe is read and written there instead of being moved to AppData. Portable copies from 1.2.0 and 1.2.1 pick up their settings from AppData once.
SHA-256 of physmouse-v1.3.0-installer.exe: 834B8A5F55D6CDA704E5526726D5AFF1ED9BB2DD2DE1A667BE666106D19F9868
This file was built from this tag by GitHub Actions. To check it, run:
gh attestation verify physmouse-v1.3.0-installer.exe -R lieberlenny/physmouse
The exe is unsigned, so Windows SmartScreen or antivirus software may warn about it.
Release v1.2.1
Full Changelog: v1.2.0...v1.2.1
Fixed
- With the full-screen lock off, games that confine the cursor in exclusive full-screen (such as Minecraft) no longer send it into a corner of the screen when it reaches an edge. physmouse now leaves the cursor where the game keeps it.
SHA-256 of physmouse-v1.2.1-installer.exe: 9A3956E96234D6863C80CE5B932D5ED5AB34A4F3A141F86D13A9420FB20E7885
Release v1.2.0
Full Changelog: v1.0.2...v1.2.0
Added
- Choose which open full-screen apps keep the cursor on their display. Apps are unblocked by default, and the picker shows applications with open windows.
- A custom app picker with application icons and names.
- A multi-step animated tutorial, with a Settings option to replay it on the next launch.
- An update notice and button in About when a newer version is available.
Improved
- Refined the layout editor, settings, and dropdowns for clearer navigation.
- Added keyboard focus indicators and improved scrolling and text readability.
- The main window opens in front of other windows and can be moved while the tutorial is open.
- Closing the main window now minimizes physmouse to the notification area; startup opens it minimized.
- Settings persist in AppData across updates and reinstalls, with an option to reset them to Windows defaults.
SHA-256 of physmouse-v1.2.0-installer.exe: 49A0B3C08CDC61745359F8E578A8D7A5384DFB8C673071C2DCB2026BDB7CEA96
physmouse 1.0.2
physmouse 1.0.2
- Add silent install and uninstall switches for package managers.
- Avoid UAC prompts during silent uninstallation; report failure if Windows blocks removal of the elevated startup task.
- Keep the existing layout and settings during package-manager upgrades and silent uninstalls.
This release is unsigned. Windows SmartScreen may warn that the file is not commonly downloaded. Download only from the official release. SHA-256: 557F6CE8F122780DC56F83C9D1AA10E1C6BE7975A290EC4E3546B453FFC3CD81
Release 1.0.1
Full Changelog: https://github.com/lieberlenny/physmouse/commits/v1.0.1