Releases: nicoverbruggen/phpmon
Release list
v26.05.4
PHP Monitor 26.05 is a major update that adds an easy onboarding flow for users who are setting up their machine for the first time, and adds automatic service detection for common database drivers, and improves how the helper files for use in your terminal are generated.
What's New in 26.05
- Setup Assistant has been added. If this is the first time you're using the app, you will be onboarded through various setup steps if necessary. This will guide you from installing Homebrew to setting up Valet (#317).
- When you first launch PHP Monitor, permission to show you notifications will only be requested when the app shows you the welcome screen.
- Added automatic service discovery: this automatically displays common Homebrew services if those are installed. The following Homebrew packages are checked:
mailhog,postgresql,mysql,mariadbandredis(#326). In order to avoid bloating the menu by default, it needs to be enabled. You can do this in Settings > Appearance. - It's also possible to add additional services like before using
config.json(see FAQ for more information). - The helper files are now updated for all possible PHP versions. If certain versions of PHP are not installed, the script you're sourcing will let you know.
- Renamed "Onboarding" strings to "Welcome Screen" now that there's an actual onboarding flow.
- Fixed an issue where checking if an app is installed could timeout and crash PHP Monitor.
- Fixed an issue where the determined shell wasn't cached at startup.
Patch History
v26.05.4
- Fixed some concurrency issues that could lead to crashes related to Valet and Homebrew.
v26.05.3
- Improved compatibility of the self-updater with macOS Golden Gate. This way macOS 27 doesn't think the self-updater is still running simply because it launched the updated version of PHP Monitor.
- Updated the list of default integrations (added Zed and Ray).
v26.05.2
- The previous patch already ensured that
brew trustis handled correctly, but this release now adds official support for Homebrew 6. - The various warnings have been updated and the alert notifying you about only "Homebrew 4 and 5 are supported" has been removed.
v26.05.1
- PHP Monitor will now warn you if the required taps aren't trusted via
brew trustif you are running a Homebrew version that supports it. There's an automatic fix via PHP Doctor, and you will be notified to address this when you use PHP Version Manager, if one or both taps are untrusted (#333). - Removed the "Hide icons in menu" preference, and standardized menu icons like in the previous version of macOS (Sequoia) and the upcoming version (Golden Gate), following conventions (#332).
- PHP Monitor Self-Updater has been updated so it doesn't stop downloading the update after timing out the internal
curlcommand on slower connections, and incorrectly reporting the "failed checksum" alert. On slow connections, you will be able to see a progress window now, too (#331).
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: v26.05.3...v26.05.4
v26.05.3
Note
Starting with this release, you can also validate that my tags and releases are authentic by checking if my commits were signed, as I've set up commit signing here on GitHub. This way, commits are signed and official releases are notarized.
PHP Monitor 26.05 is a major update that adds an easy onboarding flow for users who are setting up their machine for the first time, and adds automatic service detection for common database drivers, and improves how the helper files for use in your terminal are generated.
What's New in 26.05
- Setup Assistant has been added. If this is the first time you're using the app, you will be onboarded through various setup steps if necessary. This will guide you from installing Homebrew to setting up Valet (#317).
- When you first launch PHP Monitor, permission to show you notifications will only be requested when the app shows you the welcome screen.
- Added automatic service discovery: this automatically displays common Homebrew services if those are installed. The following Homebrew packages are checked:
mailhog,postgresql,mysql,mariadbandredis(#326). In order to avoid bloating the menu by default, it needs to be enabled. You can do this in Settings > Appearance. - It's also possible to add additional services like before using
config.json(see FAQ for more information). - The helper files are now updated for all possible PHP versions. If certain versions of PHP are not installed, the script you're sourcing will let you know.
- Renamed "Onboarding" strings to "Welcome Screen" now that there's an actual onboarding flow.
- Fixed an issue where checking if an app is installed could timeout and crash PHP Monitor.
- Fixed an issue where the determined shell wasn't cached at startup.
Patch History
v26.05.3
- Improved compatibility of the self-updater with macOS Golden Gate. This way macOS 27 doesn't think the self-updater is still running simply because it launched the updated version of PHP Monitor.
- Updated the list of default integrations (added Zed and Ray).
v26.05.2
- The previous patch already ensured that
brew trustis handled correctly, but this release now adds official support for Homebrew 6. - The various warnings have been updated and the alert notifying you about only "Homebrew 4 and 5 are supported" has been removed.
v26.05.1
- PHP Monitor will now warn you if the required taps aren't trusted via
brew trustif you are running a Homebrew version that supports it. There's an automatic fix via PHP Doctor, and you will be notified to address this when you use PHP Version Manager, if one or both taps are untrusted (#333). - Removed the "Hide icons in menu" preference, and standardized menu icons like in the previous version of macOS (Sequoia) and the upcoming version (Golden Gate), following conventions (#332).
- PHP Monitor Self-Updater has been updated so it doesn't stop downloading the update after timing out the internal
curlcommand on slower connections, and incorrectly reporting the "failed checksum" alert. On slow connections, you will be able to see a progress window now, too (#331).
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: v26.05.2...v26.05.3
v26.05.2
PHP Monitor 26.05 is a major update that adds an easy onboarding flow for users who are setting up their machine for the first time, and adds automatic service detection for common database drivers, and improves how the helper files for use in your terminal are generated.
What's New in 26.05
- Setup Assistant has been added. If this is the first time you're using the app, you will be onboarded through various setup steps if necessary. This will guide you from installing Homebrew to setting up Valet (#317).
- When you first launch PHP Monitor, permission to show you notifications will only be requested when the app shows you the welcome screen.
- Added automatic service discovery: this automatically displays common Homebrew services if those are installed. The following Homebrew packages are checked:
mailhog,postgresql,mysql,mariadbandredis(#326). In order to avoid bloating the menu by default, it needs to be enabled. You can do this in Settings > Appearance. - It's also possible to add additional services like before using
config.json(see FAQ for more information). - The helper files are now updated for all possible PHP versions. If certain versions of PHP are not installed, the script you're sourcing will let you know.
- Renamed "Onboarding" strings to "Welcome Screen" now that there's an actual onboarding flow.
- Fixed an issue where checking if an app is installed could timeout and crash PHP Monitor.
- Fixed an issue where the determined shell wasn't cached at startup.
Patch History
v26.05.2
- The previous patch already ensured that
brew trustis handled correctly, but this release now adds official support for Homebrew 6. - The various warnings have been updated and the alert notifying you about only "Homebrew 4 and 5 are supported" has been removed.
v26.05.1
- PHP Monitor will now warn you if the required taps aren't trusted via
brew trustif you are running a Homebrew version that supports it. There's an automatic fix via PHP Doctor, and you will be notified to address this when you use PHP Version Manager, if one or both taps are untrusted (#333). - Removed the "Hide icons in menu" preference, and standardized menu icons like in the previous version of macOS (Sequoia) and the upcoming version (Golden Gate), following conventions (#332).
- PHP Monitor Self-Updater has been updated so it doesn't stop downloading the update after timing out the internal
curlcommand on slower connections, and incorrectly reporting the "failed checksum" alert. On slow connections, you will be able to see a progress window now, too (#331).
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: v26.05.1...v26.05.2
v26.05.1
PHP Monitor 26.05 is a major update that adds an easy onboarding flow for users who are setting up their machine for the first time, and adds automatic service detection for common database drivers, and improves how the helper files for use in your terminal are generated.
What's New in 26.05
- Setup Assistant has been added. If this is the first time you're using the app, you will be onboarded through various setup steps if necessary. This will guide you from installing Homebrew to setting up Valet (#317).
- When you first launch PHP Monitor, permission to show you notifications will only be requested when the app shows you the welcome screen.
- Added automatic service discovery: this automatically displays common Homebrew services if those are installed. The following Homebrew packages are checked:
mailhog,postgresql,mysql,mariadbandredis(#326). In order to avoid bloating the menu by default, it needs to be enabled. You can do this in Settings > Appearance. - It's also possible to add additional services like before using
config.json(see FAQ for more information). - The helper files are now updated for all possible PHP versions. If certain versions of PHP are not installed, the script you're sourcing will let you know.
- Renamed "Onboarding" strings to "Welcome Screen" now that there's an actual onboarding flow.
- Fixed an issue where checking if an app is installed could timeout and crash PHP Monitor.
- Fixed an issue where the determined shell wasn't cached at startup.
Patch History
v26.05.1
- PHP Monitor will now warn you if the required taps aren't trusted via
brew trustif you are running a Homebrew version that supports it. There's an automatic fix via PHP Doctor, and you will be notified to address this when you use PHP Version Manager, if one or both taps are untrusted (#333). - Removed the "Hide icons in menu" preference, and standardized menu icons like in the previous version of macOS (Sequoia) and the upcoming version (Golden Gate), following conventions (#332).
- PHP Monitor Self-Updater has been updated so it doesn't stop downloading the update after timing out the internal
curlcommand on slower connections, and incorrectly reporting the "failed checksum" alert. On slow connections, you will be able to see a progress window now, too (#331).
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: v26.05...v26.05.1
v26.05
PHP Monitor 26.05 is a major update that adds an easy onboarding flow for users who are setting up their machine for the first time, and adds automatic service detection for common database drivers, and improves how the helper files for use in your terminal are generated.
What's New in 26.05
- Setup Assistant has been added. If this is the first time you're using the app, you will be onboarded through various setup steps if necessary. This will guide you from installing Homebrew to setting up Valet (#317).
- When you first launch PHP Monitor, permission to show you notifications will only be requested when the app shows you the welcome screen.
- Added automatic service discovery: this automatically displays common Homebrew services if those are installed. The following Homebrew packages are checked:
mailhog,postgresql,mysql,mariadbandredis(#326). In order to avoid bloating the menu by default, it needs to be enabled. You can do this in Settings > Appearance. - It's also possible to add additional services like before using
config.json(see FAQ for more information). - The helper files are now updated for all possible PHP versions. If certain versions of PHP are not installed, the script you're sourcing will let you know.
- Renamed "Onboarding" strings to "Welcome Screen" now that there's an actual onboarding flow.
- Fixed an issue where checking if an app is installed could timeout and crash PHP Monitor.
- Fixed an issue where the determined shell wasn't cached at startup.
Patch History
No patch releases 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: v26.03.2...v26.05
v26.03.2
PHP Monitor 26.03 is a stability-focused update that hardens command execution, improves Valet domain/proxy handling, and addresses multiple edge cases that could previously cause inconsistent behavior, or worse, crashes.
What's New in 26.03
- Shell command output streaming and timeout handling has been hardened, reducing the chance of race-condition related crashes during long-running tasks.
PATHdetection now has a timeout and a safe fallback to the system PATH, preventing hangs when user shell initialization is slow, while having little to no impact on the main functionality of the app.- Removing PHP versions and extensions now handles timeout/failure scenarios gracefully and reports that the operation took too long, instead of crashing.
- Fixed an issue with invalid symlinks for sites and proxies causing crashes.
- I ran submitted crash reports through various LLMs and determined the most likely crash cause(s), which were difficult to troubleshoot, but some of the hardening should now prevent those crashes.
Big thanks to everyone who submitted their crash reports!
Patch History
v26.03.2
- Fixed an issue with an upcoming version of Homebrew, which removes a known JSON field that prevents the app from starting (#329).
- Lowered the timeout for
$PATHdiscovery to 3 seconds (down from 10s) which should speed up startup time in certain situations.
v26.03.1
- Fixed an issue where an invalid configured login shell could cause incorrect shell behavior during startup.
- PHP Monitor now safely falls back to
/bin/zshwhen the configured shell is unavailable or inaccessible. - PHP Doctor now reports invalid shell configurations more clearly, and avoids showing misleading helper PATH warnings when the real issue is the shell itself.
- Fixed an issue with missing translation keys for certain error scenarios (#323).
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: v26.03.1...v26.03.2
v26.03.1
PHP Monitor 26.03 is a stability-focused update that hardens command execution, improves Valet domain/proxy handling, and addresses multiple edge cases that could previously cause inconsistent behavior, or worse, crashes.
What's New in 26.03
- Shell command output streaming and timeout handling has been hardened, reducing the chance of race-condition related crashes during long-running tasks.
PATHdetection now has a timeout and a safe fallback to the system PATH, preventing hangs when user shell initialization is slow, while having little to no impact on the main functionality of the app.- Removing PHP versions and extensions now handles timeout/failure scenarios gracefully and reports that the operation took too long, instead of crashing.
- Fixed an issue with invalid symlinks for sites and proxies causing crashes.
- I ran submitted crash reports through various LLMs and determined the most likely crash cause(s), which were difficult to troubleshoot, but some of the hardening should now prevent those crashes.
Big thanks to everyone who submitted their crash reports!
Patch History
v26.03.1
- Fixed an issue where an invalid configured login shell could cause incorrect shell behavior during startup.
- PHP Monitor now safely falls back to
/bin/zshwhen the configured shell is unavailable or inaccessible. - PHP Doctor now reports invalid shell configurations more clearly, and avoids showing misleading helper PATH warnings when the real issue is the shell itself.
- Fixed an issue with missing translation keys for certain error scenarios (#323).
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: v26.03...v26.03.1
v26.03
PHP Monitor 26.03 is a stability-focused update that hardens command execution, improves Valet domain/proxy handling, and addresses multiple edge cases that could previously cause inconsistent behavior, or worse, crashes.
What's New in 26.03
- Shell command output streaming and timeout handling has been hardened, reducing the chance of race-condition related crashes during long-running tasks.
PATHdetection now has a timeout and a safe fallback to the system PATH, preventing hangs when user shell initialization is slow, while having little to no impact on the main functionality of the app.- Removing PHP versions and extensions now handles timeout/failure scenarios gracefully and reports that the operation took too long, instead of crashing.
- Fixed an issue with invalid symlinks for sites and proxies causing crashes.
- I ran submitted crash reports through various LLMs and determined the most likely crash cause(s), which were difficult to troubleshoot, but some of the hardening should now prevent those crashes.
Big thanks to everyone who submitted their crash reports!
Patch History
No patches 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: v26.02.2...v26.03
v26.02.2
PHP Monitor 26.02 is a major update that adds a variety of useful quality of life additions, various improvements to harden security and lays the foundation for upcoming improvements for a better onboarding experience, the first part of which is now available in this release.
What's New in 26.02
Automatic Startup Fixes
- During the startup procedure, various steps now include a one-click fix for various problems, with a progress view that displays what commands are being executed.
- This is the first part of a two-stage overhaul of the onboarding experience of PHP Monitor, which should make the app easier to use for new users.
Command History
- Via the menu bar item, it is now possible to open the Command History menu (or at boot, by adding the
--chparameter when launching the app via the terminal). - This window displays all of the last few hundred commands executed by the app, and how long each command took to execute. Useful for auditing purposes, or to identify performance bottlenecks.
Other additions
- You can now copy the URL of a selected domain via the context menu. To do this, select a domain in the list, and right click "Copy Domain URL".
- Switching to a different language in Settings no longer requires a restart.
- Various translations have been updated, and open windows will re-open in the same location and with the same dimensions prior to switching languages.
What's Changed
Settings
- The Settings window now correctly updates if a setting value is changed after user interaction elsewhere in the app.
- The app now correctly respects the language override when specified in Settings.
- You can now disable icons for menu items everywhere in PHP Monitor. This makes the app behave like it did on previous versions of macOS.
Translations
- Switching languages to a non-system language now works correctly again (#319).
- Added missing translations for various languages due to recent updates (or translations which were simply not filled via the automated approach used last time).
- Addressed various translation quality issues for every language.
Third-party integrations
- Usage of the
phpmon://protocol is always routed to PHP Monitor, but the app will now no longer respond to such requests without prior explicit user permission. - You are prompted to approve integrations the very first time another application uses the
phpmon://protocol, but only the first time. - Due to this, in Settings, you will find that "Allow third-party integrations" is now turned off by default. If you approve integrations when prompted, the "Allow third-party integrations" setting will be turned on.
Bug fixes
- The current state of the Homebrew services are now loaded as part of the startup procedure, preventing the app from displaying incorrect info when opening the menu for the first time.
- Hardened checks for
config.json, as a maliciously or incorrectly formattedconfig.jsoncould crash the app. - Addressed a crash issue caused by a malformed URL via the
phpmon://protocol due to force unwrapping after splitting a string. - Invalid characters are stripped from third-party apps added via
config.json. - Custom environment variables are now set via
task.environmentinstead of simply appended. - Addressed a crash issue caused by reloading a PHP configuration file that is no longer valid.
- Addressed a crash issue caused by a race condition related to Homebrew service loading.
- Addressed a crash issue caused by a race condition related to shell command execution when a command is terminated.
Big thanks to everyone who submitted their crash reports!
Patch History
v26.02.2
- Fixed two cooperative thread pool starvation cases caused by synchronous command execution in an async function, potentially leading to the app running out of available threads, which crashed the app.
- Fixed a deep directory from visually breaking the Link Folder modal (#321).
v26.02.1
- Fixed an issue where some preferences set in
config.jsonwould not be correctly loaded. (#320)
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: v26.01...v26.02.1
v26.02.1
PHP Monitor 26.02 is a major update that adds a variety of useful quality of life additions, various improvements to harden security and lays the foundation for upcoming improvements for a better onboarding experience, the first part of which is now available in this release.
What's New in 26.02
Automatic Startup Fixes
- During the startup procedure, various steps now include a one-click fix for various problems, with a progress view that displays what commands are being executed.
- This is the first part of a two-stage overhaul of the onboarding experience of PHP Monitor, which should make the app easier to use for new users.
Command History
- Via the menu bar item, it is now possible to open the Command History menu (or at boot, by adding the
--chparameter when launching the app via the terminal). - This window displays all of the last few hundred commands executed by the app, and how long each command took to execute. Useful for auditing purposes, or to identify performance bottlenecks.
Other additions
- You can now copy the URL of a selected domain via the context menu. To do this, select a domain in the list, and right click "Copy Domain URL".
- Switching to a different language in Settings no longer requires a restart.
- Various translations have been updated, and open windows will re-open in the same location and with the same dimensions prior to switching languages.
What's Changed
Settings
- The Settings window now correctly updates if a setting value is changed after user interaction elsewhere in the app.
- The app now correctly respects the language override when specified in Settings.
- You can now disable icons for menu items everywhere in PHP Monitor. This makes the app behave like it did on previous versions of macOS.
Translations
- Switching languages to a non-system language now works correctly again (#319).
- Added missing translations for various languages due to recent updates (or translations which were simply not filled via the automated approach used last time).
- Addressed various translation quality issues for every language.
Third-party integrations
- Usage of the
phpmon://protocol is always routed to PHP Monitor, but the app will now no longer respond to such requests without prior explicit user permission. - You are prompted to approve integrations the very first time another application uses the
phpmon://protocol, but only the first time. - Due to this, in Settings, you will find that "Allow third-party integrations" is now turned off by default. If you approve integrations when prompted, the "Allow third-party integrations" setting will be turned on.
Bug fixes
- The current state of the Homebrew services are now loaded as part of the startup procedure, preventing the app from displaying incorrect info when opening the menu for the first time.
- Hardened checks for
config.json, as a maliciously or incorrectly formattedconfig.jsoncould crash the app. - Addressed a crash issue caused by a malformed URL via the
phpmon://protocol due to force unwrapping after splitting a string. - Invalid characters are stripped from third-party apps added via
config.json. - Custom environment variables are now set via
task.environmentinstead of simply appended. - Addressed a crash issue caused by reloading a PHP configuration file that is no longer valid.
- Addressed a crash issue caused by a race condition related to Homebrew service loading.
- Addressed a crash issue caused by a race condition related to shell command execution when a command is terminated.
Big thanks to everyone who submitted their crash reports!
Patch History
v26.02.1
- Fixed an issue where some preferences set in
config.jsonwould not be correctly loaded. (#320)
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: v26.01...v26.02.1