PHP Monitor 25.12 comes with better app integrations, improvements to how alerts are displayed, and various fixes.
What's New in 25.12
- Additional apps are now detected by default, and their icons are now displayed in the context menu when right-clicking a domain in the Domains window.
- WebStorm, VSCodium, Tower, SourceTree, Ghostty were added. You can still add your own, as always. Consult the FAQ for more information on how to do that.
- The context menu for a selected domain now displays icons for each of the detected third-party applications.
- Certain alerts invoked via timers (i.e. background update notification, Fix My Valet, some startup notifications) will now no longer steal focus but will instead bounce the Dock icon.
- On macOS, bouncing the Dock icon is called "a request for attention" and it has a separate API. That is now being leveraged by
NVAlert. - Most importantly, this will prevent PHP Monitor from stealing focus 24 hours after launch, which may be annoying. It also makes it so that the alert window can easily be found (it may get lost otherwise, see #314).
- On macOS, bouncing the Dock icon is called "a request for attention" and it has a separate API. That is now being leveraged by
What's Changed
- Various fixes related to concurrency or timing issues that could crash the app under rare conditions or when unexpected output was returned:
- Addressed a potential timing issue with
PhpEnvironmentsthat could crash the app. - Addressed a potential timing issue with various SwiftUI views that could crash the app at launch.
- Addressed a potential crash issue when reading data from handle (output) via
RealShell. - Improved the robustness of the filesystem watchers by rewriting
FSNotifierfor Swift Concurrency (as much as possible) and reusing it everywhere. This component is now also tested. - Fixed a rare crash issue when running
php -vwhen receiving invalid output. - Fixed a rare crash issue when running a
brewcommand when receiving invalid output, or when the command times out. - (Big thanks to everyone who submitted their crash reports!)
- Addressed a potential timing issue with
- All alerts in the app will now cause the app icon to be displayed in the Dock, and will be visible in Mission Control. This will make it easier for alerts to be found if they are not displayed on top of other windows.
- Added suspension mechanism to config watchers so using PHP Configuration Editor doesn't cause multiple events to fire.
- The menu is now dismissed correctly when opening the PHP Configuration Editor via the main menu.
- An explicit menu reload has now been added when a preference is updated via the PHP Configuration Editor.
- Improved checking for termination status correctness when executing commands or running processes.
- Updated Chinese localization to address clarity (see #313).
- Added better API throttling by generating a random UUID and using it when checking for updates. Please note that this UUID is not used for tracking! For more information about this mechanism, please look at the privacy policy.
- The list of sponsors has been updated in the "About PHP Monitor" window, and a link to the Privacy Policy has been added.
Patch History
None yet.
How to install or upgrade
If you have an existing PHP Monitor.app in your Applications folder you can use the built-in updater. (Click on the icon in your menu bar, and choose "Check for updates..." to initiate this process, or wait for a notification.)
If you haven't installed PHP Monitor yet, you can click here to download the latest release. Place the app in your Applications folder and you may want to consult the README file for some more information.
Full Changelog: v25.11.1...v25.12