PHP Monitor 25.10 comes with major architectural upgrades, automatic checks for domain certificate expiry and automatic crash reporting (opt-in) in case the app crashes. Oh, and there's a couple of subtle bug fixes.
What's New
- Major architectural overhaul:
- Migrated away from various shared static singletons (e.g.
Shell.shared) to a newContainer-driven architecture. - This has led to various reliability improvements and the parallelization of the entire unit test suite.
- Further architectural improvements are planned for the future.
- Migrated away from various shared static singletons (e.g.
- Automatic notification about expired certificates:
- The first time the domains list is opened after restarting the app, each domain's certificate expiry is now checked.
- This expired certificate check for domains was also added as part of PHP Doctor, so if any expired domains exist, the warning will be reported at launch without needing to open the Domains list.
- A new popover is now available by pressing on the lock icon for each domain in the Domains list.
- If there are any expired certificates, PHP Monitor will now offer to renew those certificates by unsecuring and re-securing affected domains.
- Automatic crash reporting:
- Added
PLCrashReporteras a new dependency, which keeps track of whether the app has crashed and if there is still a pending crash report to be sent. - If a pending crash report can be sent, it can be sent via the public API endpoint after asking the user if it's okay to send this crash report. This means it should be easier than ever to send me your crash reports!
- Added
What's Changed
- Fixed an issue with the PHP version compatibility popover positioning itself incorrectly on macOS Tahoe.
- Updated the text of the cut-off message when PHP 8.5 releases on November 20th. An update for PHP Monitor should become available soon after this release.
- Fixed an issue with Swift Concurrency and the
RealShellimplementation ofpipe()andattach()that could cause crashes under certain circumstances. - Added a retry mechanism to the
reloadServicesStatusmethod ofValetServicesManagerin case parsing the JSON returned frombrew services info --all --jsoncommands fails. There was also a potential timing issue here that should now be resolved, too. - Fixed a potential crash issue when adding a linked domain or proxy fails. I've never seen this crash in practice, but in theory this should make the app more robust. You will not be notified if this fails, but it should be obvious.
- Fixed a timing issue with task cancellation when reloading services.
- Fixed a timing issue with the custom
delay(seconds:)helper method.
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 app. Place the app in your Applications folder and you may want to consult the README file for some more information.
Full Changelog: v25.09...v25.10