Releases: nicoverbruggen/phpmon
v7.1
PHP Monitor 7.1 is now available with support for the latest PHP version. This update also contains additional startup checks, lets you add domains as favorites (yay!) and contains a few QoL improvements to the extension manager.
Note: I had originally planned to release this version over the summer. Unfortunately, I've been dealing with burnout so I may not be able to fix issues or follow up on issues as quickly as usual.
How to install or upgrade
If you have an existing PHP Monitor.app
in your Applications folder you can use the built-in updater.
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.
What's New
- Added support for PHP 8.4 (release version). You may need to update or manually patch Valet.
- Added support for PHP 8.5 (pre-release version). You will need to manually patch Valet.
- Individual sites or proxies (domains in general) can now be favorited by right-clicking on the domain, and choosing "Favorite Domain" or "Unfavorite Domain". Favorited domains will always appear at the top.
- If PHP Monitor seems to stall or hang when starting up due to issues with Homebrew, an alert should be displayed that may be helpful. A link to #294 is included.
- If a PHP formula is (temporarily) unavailable via the
shivammathur/php
tap, this is indicated in the UI as such.
What's Changed
- PHP Monitor now uses the
NVAlert
andNVAppUpdater
packages. I felt that it was time to remove this generic code from the app, with the intent to improve decoupling. - Added additional text and button to clarify an upgrade will also keep the old PHP version (e.g. when upgrading PHP 8.3 to 8.4) installed. This is also explained in more detail here.
- Homebrew PHP formulae are now consistently sourced from the
shivammathur/php
tap. - Installed extensions now appear at the top of the list of the Extension Manager.
- Installing and removing extensions now scrolls to the extension afterwards, and animates this. This is done to emphasise that the operation succeeded.
- Fixed an issue where a non-sendable Timer could cause certain operations to stall or fail.
- Updated copyright information.
Known Issues
- Some translations for some of the new warnings may be missing. This will be fixed later.
v7.0.6
PHP Monitor 7.0 is now available with a bunch of new features, most notably improved extension management (including "PHP Extension Manager") and administration features. Learn more about all the new features in my blog post.
How to install or upgrade
If you have an existing PHP Monitor.app
in your Applications folder you can use the built-in updater.
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.
Patch History
Version 7.0.6
- Added official support for macOS Sequoia (#290).
- Avoid displaying out-of-date message in PHP Version Manager ("this version is outdated") until November 30th (for more information, see #295).
Version 7.0.5
- PHP Monitor 7.0.5 shipped with an incorrect fix for #295 and this broken release has been removed.
Version 7.0.4
- PHP Monitor Self-Updater is built as part of the main target build process.
- Chinese translations added (contributed by @guanguans, via #285).
- Fixed an issue with Bedrock projects not being recognized correctly (reported by @chrillep, via #287).
- Added the context actions for a selected site to PHP Monitor's main menu. This will allow you to customize the menu hotkeys if needed via System Settings (reported by @renecum, via #289).
- The PHP-FPM process will be automatically restarted after installing or removing extensions. This will ensure certain extensions always work after installing them, like Imagick and Redis, without requiring you to perform the restart manually (#292).
Version 7.0.3
- Some minor UI fixes have been made in the PHP compatibility popover if you have many PHP versions.
- Automatic site isolation suggestions for older versions of PHP has been added to the PHP compatibility popover if your installation of Valet supports it. If not supported, switching your global PHP version is suggested instead.
Version 7.0.2
- From this version on, resolving PHP upgrades happens based on the formula name. This avoids issues where available PHP version upgrades would not be detected correctly (based on the installed version).
- The "busy" overlay that used to be transparent is now opaque to avoid displaying outdated and incorrect info while PHP Monitor upgrades your PHP versions.
- Made some visual improvements to PHP Version Manager. Now the PHP logo is used as the icon in the view, and the "upgrade all" button has been made more enticing.
- If no domains are available in the domains list (due to not having any domains or due to your search operation being too specific), a custom view will be displayed to encourage you to add a domain.
- Both the PHP Version Manager and PHP Extension Manager windows can now be freely resized instead of being restricted to a fixed size. There is a minimum size constraint specified in order to avoid UI issues.
Version 7.0.1
- Fixed a critical issue with extensions not being detected on Intel Mac systems under some circumstances. (#275)
- Added an alert that instructs you to run
brew tap shivammathur/extensions
if the list of extensions remains empty. (#275)
What's New
- "PHP Version Manager..." is now listed as "Manage PHP Versions...".
- Added the PHP Extension Manager (accessible via "Manage PHP Extensions...") which allows you to manage PHP extensions for any of the usable PHP versions.
- You can filter extensions with the search field, and switch between which PHP version you'd like to manage extensions.
- You can now install and remove extensions and their dependencies with one click. These operations are managed by Homebrew, and may install other dependencies.
- You can now choose a custom display language for PHP Monitor via Settings. (You will need to restart the app to make sure all translations are correctly loaded, but you can preview this change by checking the main menu, which will always be correctly translated.)
- It is now possible to toggle specific extensions on a per PHP version basis via the Domains list. To toggle an extension, right-click on a site that is currently using a different PHP version. You will then be toggling extensions for that version of PHP.
- When the app boots, the integrity of the PHP symlinks are checked to ensure that all symlinks correctly link to the correct PHP version. If any links to an incorrect PHP version, then those outdated or incorrect symlinks will be removed, which avoids a variety of issues with PHP Monitor and Homebrew.
Notes: There are some restrictions related to managing extensions. You cannot remove extensions that are dependencies of other extensions (without removing the dependent first), and you cannot manage external extensions, i.e. extensions that were installed via
pecl
.
v7.0.4
PHP Monitor 7.0 is now available with a bunch of new features, most notably improved extension management (including "PHP Extension Manager") and administration features. Learn more about all the new features in my blog post.
How to install or upgrade
If you have an existing PHP Monitor.app
in your Applications folder you can use the built-in updater.
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.
Patch History
Version 7.0.4
- PHP Monitor Self-Updater is built as part of the main target build process.
- Chinese translations added (contributed by @guanguans, via #285).
- Fixed an issue with Bedrock projects not being recognized correctly (reported by @chrillep, via #287).
- Added the context actions for a selected site to PHP Monitor's main menu. This will allow you to customize the menu hotkeys if needed via System Settings (reported by @renecum, via #289).
- The PHP-FPM process will be automatically restarted after installing or removing extensions. This will ensure certain extensions always work after installing them, like Imagick and Redis, without requiring you to perform the restart manually (#292).
Version 7.0.3
- Some minor UI fixes have been made in the PHP compatibility popover if you have many PHP versions.
- Automatic site isolation suggestions for older versions of PHP has been added to the PHP compatibility popover if your installation of Valet supports it. If not supported, switching your global PHP version is suggested instead.
Version 7.0.2
- From this version on, resolving PHP upgrades happens based on the formula name. This avoids issues where available PHP version upgrades would not be detected correctly (based on the installed version).
- The "busy" overlay that used to be transparent is now opaque to avoid displaying outdated and incorrect info while PHP Monitor upgrades your PHP versions.
- Made some visual improvements to PHP Version Manager. Now the PHP logo is used as the icon in the view, and the "upgrade all" button has been made more enticing.
- If no domains are available in the domains list (due to not having any domains or due to your search operation being too specific), a custom view will be displayed to encourage you to add a domain.
- Both the PHP Version Manager and PHP Extension Manager windows can now be freely resized instead of being restricted to a fixed size. There is a minimum size constraint specified in order to avoid UI issues.
Version 7.0.1
- Fixed a critical issue with extensions not being detected on Intel Mac systems under some circumstances. (#275)
- Added an alert that instructs you to run
brew tap shivammathur/extensions
if the list of extensions remains empty. (#275)
What's New
- "PHP Version Manager..." is now listed as "Manage PHP Versions...".
- Added the PHP Extension Manager (accessible via "Manage PHP Extensions...") which allows you to manage PHP extensions for any of the usable PHP versions.
- You can filter extensions with the search field, and switch between which PHP version you'd like to manage extensions.
- You can now install and remove extensions and their dependencies with one click. These operations are managed by Homebrew, and may install other dependencies.
- You can now choose a custom display language for PHP Monitor via Settings. (You will need to restart the app to make sure all translations are correctly loaded, but you can preview this change by checking the main menu, which will always be correctly translated.)
- It is now possible to toggle specific extensions on a per PHP version basis via the Domains list. To toggle an extension, right-click on a site that is currently using a different PHP version. You will then be toggling extensions for that version of PHP.
- When the app boots, the integrity of the PHP symlinks are checked to ensure that all symlinks correctly link to the correct PHP version. If any links to an incorrect PHP version, then those outdated or incorrect symlinks will be removed, which avoids a variety of issues with PHP Monitor and Homebrew.
Notes: There are some restrictions related to managing extensions. You cannot remove extensions that are dependencies of other extensions (without removing the dependent first), and you cannot manage external extensions, i.e. extensions that were installed via
pecl
.
v7.0.3
PHP Monitor 7.0 is now available with a bunch of new features, most notably improved extension management (including "PHP Extension Manager") and administration features. Learn more about all the new features in my blog post.
How to install or upgrade
If you have an existing PHP Monitor.app
in your Applications folder you can use the built-in updater.
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.
Patch History
Version 7.0.3
- Some minor UI fixes have been made in the PHP compatibility popover if you have many PHP versions.
- Automatic site isolation suggestions for older versions of PHP has been added to the PHP compatibility popover if your installation of Valet supports it. If not supported, switching your global PHP version is suggested instead.
Version 7.0.2
- From this version on, resolving PHP upgrades happens based on the formula name. This avoids issues where available PHP version upgrades would not be detected correctly (based on the installed version).
- The "busy" overlay that used to be transparent is now opaque to avoid displaying outdated and incorrect info while PHP Monitor upgrades your PHP versions.
- Made some visual improvements to PHP Version Manager. Now the PHP logo is used as the icon in the view, and the "upgrade all" button has been made more enticing.
- If no domains are available in the domains list (due to not having any domains or due to your search operation being too specific), a custom view will be displayed to encourage you to add a domain.
- Both the PHP Version Manager and PHP Extension Manager windows can now be freely resized instead of being restricted to a fixed size. There is a minimum size constraint specified in order to avoid UI issues.
Version 7.0.1
- Fixed a critical issue with extensions not being detected on Intel Mac systems under some circumstances. (#275)
- Added an alert that instructs you to run
brew tap shivammathur/extensions
if the list of extensions remains empty. (#275)
What's New
- "PHP Version Manager..." is now listed as "Manage PHP Versions...".
- Added the PHP Extension Manager (accessible via "Manage PHP Extensions...") which allows you to manage PHP extensions for any of the usable PHP versions.
- You can filter extensions with the search field, and switch between which PHP version you'd like to manage extensions.
- You can now install and remove extensions and their dependencies with one click. These operations are managed by Homebrew, and may install other dependencies.
- You can now choose a custom display language for PHP Monitor via Settings. (You will need to restart the app to make sure all translations are correctly loaded, but you can preview this change by checking the main menu, which will always be correctly translated.)
- It is now possible to toggle specific extensions on a per PHP version basis via the Domains list. To toggle an extension, right-click on a site that is currently using a different PHP version. You will then be toggling extensions for that version of PHP.
- When the app boots, the integrity of the PHP symlinks are checked to ensure that all symlinks correctly link to the correct PHP version. If any links to an incorrect PHP version, then those outdated or incorrect symlinks will be removed, which avoids a variety of issues with PHP Monitor and Homebrew.
Notes: There are some restrictions related to managing extensions. You cannot remove extensions that are dependencies of other extensions (without removing the dependent first), and you cannot manage external extensions, i.e. extensions that were installed via
pecl
.
v7.0.2
PHP Monitor 7.0 is now available with a bunch of new features, most notably improved extension management (including "PHP Extension Manager") and administration features. Learn more about all the new features in my blog post.
How to install or upgrade
If you have an existing PHP Monitor.app
in your Applications folder you can use the built-in updater.
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.
Patch History
Version 7.0.2
- From this version on, resolving PHP upgrades happens based on the formula name. This avoids issues where available PHP version upgrades would not be detected correctly (based on the installed version).
- The "busy" overlay that used to be transparent is now opaque to avoid displaying outdated and incorrect info while PHP Monitor upgrades your PHP versions.
- Made some visual improvements to PHP Version Manager. Now the PHP logo is used as the icon in the view, and the "upgrade all" button has been made more enticing.
- If no domains are available in the domains list (due to not having any domains or due to your search operation being too specific), a custom view will be displayed to encourage you to add a domain.
- Both the PHP Version Manager and PHP Extension Manager windows can now be freely resized instead of being restricted to a fixed size. There is a minimum size constraint specified in order to avoid UI issues.
Version 7.0.1
- Fixed a critical issue with extensions not being detected on Intel Mac systems under some circumstances. (#275)
- Added an alert that instructs you to run
brew tap shivammathur/extensions
if the list of extensions remains empty. (#275)
What's New
- "PHP Version Manager..." is now listed as "Manage PHP Versions...".
- Added the PHP Extension Manager (accessible via "Manage PHP Extensions...") which allows you to manage PHP extensions for any of the usable PHP versions.
- You can filter extensions with the search field, and switch between which PHP version you'd like to manage extensions.
- You can now install and remove extensions and their dependencies with one click. These operations are managed by Homebrew, and may install other dependencies.
- You can now choose a custom display language for PHP Monitor via Settings. (You will need to restart the app to make sure all translations are correctly loaded, but you can preview this change by checking the main menu, which will always be correctly translated.)
- It is now possible to toggle specific extensions on a per PHP version basis via the Domains list. To toggle an extension, right-click on a site that is currently using a different PHP version. You will then be toggling extensions for that version of PHP.
- When the app boots, the integrity of the PHP symlinks are checked to ensure that all symlinks correctly link to the correct PHP version. If any links to an incorrect PHP version, then those outdated or incorrect symlinks will be removed, which avoids a variety of issues with PHP Monitor and Homebrew.
Notes: There are some restrictions related to managing extensions. You cannot remove extensions that are dependencies of other extensions (without removing the dependent first), and you cannot manage external extensions, i.e. extensions that were installed via
pecl
.
v7.0.1
PHP Monitor 7.0 is now available with a bunch of new features, most notably improved extension management (including "PHP Extension Manager") and administration features. Learn more about all the new features in my blog post.
How to install or upgrade
If you have an existing PHP Monitor.app
in your Applications folder you can use the built-in updater.
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.
Patch History
Version 7.0.1
- Fixed a critical issue with extensions not being detected on Intel Mac systems under some circumstances. (#275)
- Added an alert that instructs you to run
brew tap shivammathur/extensions
if the list of extensions remains empty. (#275)
What's New
- "PHP Version Manager..." is now listed as "Manage PHP Versions...".
- Added the PHP Extension Manager (accessible via "Manage PHP Extensions...") which allows you to manage PHP extensions for any of the usable PHP versions.
- You can filter extensions with the search field, and switch between which PHP version you'd like to manage extensions.
- You can now install and remove extensions and their dependencies with one click. These operations are managed by Homebrew, and may install other dependencies.
- You can now choose a custom display language for PHP Monitor via Settings. (You will need to restart the app to make sure all translations are correctly loaded, but you can preview this change by checking the main menu, which will always be correctly translated.)
- It is now possible to toggle specific extensions on a per PHP version basis via the Domains list. To toggle an extension, right-click on a site that is currently using a different PHP version. You will then be toggling extensions for that version of PHP.
- When the app boots, the integrity of the PHP symlinks are checked to ensure that all symlinks correctly link to the correct PHP version. If any links to an incorrect PHP version, then those outdated or incorrect symlinks will be removed, which avoids a variety of issues with PHP Monitor and Homebrew.
Notes: There are some restrictions related to managing extensions. You cannot remove extensions that are dependencies of other extensions (without removing the dependent first), and you cannot manage external extensions, i.e. extensions that were installed via
pecl
.
v7.0
PHP Monitor 7.0 is now available with a bunch of new features, most notably improved extension management (including "PHP Extension Manager") and administration features. Learn more about all the new features in my blog post.
How to install or upgrade
If you have an existing PHP Monitor.app
in your Applications folder you can use the built-in updater.
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.
What's New
- "PHP Version Manager..." is now listed as "Manage PHP Versions...".
- Added the PHP Extension Manager (accessible via "Manage PHP Extensions...") which allows you to manage PHP extensions for any of the usable PHP versions.
- You can filter extensions with the search field, and switch between which PHP version you'd like to manage extensions.
- You can now install and remove extensions and their dependencies with one click. These operations are managed by Homebrew, and may install other dependencies.
- You can now choose a custom display language for PHP Monitor via Settings. (You will need to restart the app to make sure all translations are correctly loaded, but you can preview this change by checking the main menu, which will always be correctly translated.)
- It is now possible to toggle specific extensions on a per PHP version basis via the Domains list. To toggle an extension, right-click on a site that is currently using a different PHP version. You will then be toggling extensions for that version of PHP.
- When the app boots, the integrity of the PHP symlinks are checked to ensure that all symlinks correctly link to the correct PHP version. If any links to an incorrect PHP version, then those outdated or incorrect symlinks will be removed, which avoids a variety of issues with PHP Monitor and Homebrew.
Notes: There are some restrictions related to managing extensions. You cannot remove extensions that are dependencies of other extensions (without removing the dependent first), and you cannot manage external extensions, i.e. extensions that were installed via
pecl
.
v7.0 (pre-release 2)
PHP Monitor 7.0 introduces extension management (via "Manage PHP Extensions..." in the main menu). This is a pre-release version, available to the public. Please file a bug report if you bump into an issue!
How to install or upgrade
This pre-release build is only available on the DEV channel. The regular version of PHP Monitor won't be upgraded to v7 until a stable build is available. To download this build, click here.
What's New
- "PHP Version Manager..." is now listed as "Manage PHP Versions...".
- Added the PHP Extension Manager (accessible via "Manage PHP Extensions...") which allows you to manage PHP extensions for any of the usable PHP versions.
- You can filter extensions with the search field, and switch between which PHP version you'd like to manage extensions.
- You can now install and remove extensions and their dependencies with one click. These operations are managed by Homebrew, and may install other dependencies.
- You can now choose a custom display language for PHP Monitor via Settings. (You will need to restart the app to make sure all translations are correctly loaded, but you can preview this change by checking the main menu, which will always be correctly translated.)
- It is now possible to toggle specific extensions on a per PHP version basis via the Domains list. To toggle an extension, right-click on a site that is currently using a different PHP version. You will then be toggling extensions for that version of PHP.
- When the app boots, the integrity of the PHP symlinks are checked to ensure that all symlinks correctly link to the correct PHP version. If any links to an incorrect PHP version, then those outdated or incorrect symlinks will be removed, which avoids a variety of issues with PHP Monitor and Homebrew.
Notes: There are some restrictions related to managing extensions. You cannot remove extensions that are dependencies of other extensions (without removing the dependent first), and you cannot manage external extensions, i.e. extensions that were installed via
pecl
.
v6.2.2
PHP Monitor 6.2.2 is an important update that aims to improve the upgrade flow for upgrading to PHP 8.3, and adds a French translation to the app. (If you plan on using PHP Version Manager to upgrade to PHP 8.3, this is a required update.)
How to install or upgrade
If you have an existing PHP Monitor.app
in your Applications folder you can use the built-in updater.
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.
Patch History
v6.2.2
- PHP Monitor can now handle situations where you've already updated Homebrew, but not the PHP package, which may still be stuck on an older version.
- Fixes an issue when upgrading the
php
formula to PHP 8.3 would cause all sorts of issues. - Fixes an issue where PHP 8.3 was incorrectly reported as being installed when that isn't the case. This also had an impact on various other features throughout the app, including services.
- Pressing 'Upgrade All' will now seamlessly upgrade your version of PHP 8.2 to PHP 8.3. This will also install PHP 8.2, so you don't lose access to that version of PHP. (#268)
- A French translation was submitted by the community and was added in this build.
v6.2.1
- Fixed an issue where toggling extensions off and on again would not work correctly under certain circumstances. This has now been resolved. (#265)
- Added threading fix that prevents the truck icon of PHP Monitor from getting stuck. This was an annoying bug that has been around for some time, so I'm happy to finally have squashed it.
- After the official release of PHP 8.3 (on November 23), this release will automatically be marked as "stable" and no longer have the "experimental" flag in the PHP Version Manager.
What's New
🆕 A simple configuration editor has been added!
You can now edit the maximum memory limit, max POST size and the maximum upload size with PHP Monitor. If you are using Valet and the memory-limits.ini
stub file is missing, PHP Monitor will attempt to restore it. As you adjust the values, PHP Monitor will try to dynamically apply the memory limits.
This is the first version of the configuration editor, and it will be expanded in the future. If you encounter any bugs while using this feature, please get in touch via an issue.
What's Fixed
- PHP Monitor now generates scripts compatible with Fish in
~/.config/phpmon/bin
if your default shell environment is Fish. For more details on how to use these, please see the write-up here. (#264) - Fixed an issue where the type of projects in the Domains window would not be detected correctly. (#263)
- Fixed an issue with some windows not coming to the front after selecting a menu item if another application had the focus (on macOS Sonoma only). Windows are now brought to the front by using
window?.orderFrontRegardless()
, which should resolve this problem. - Added detection of Laravel Herd, which may conflict with a standalone Laravel Valet installation (installed with
composer global install laravel/valet
). During startup of PHP Monitor, the app will now require you to terminate Laravel Herd. You can start Laravel Herd afterwards, but this is currently not supported.
Note: Ensuring that PHP Monitor does not conflict with Laravel Herd is very much a temporary solution, as I will try to ensure that PHP Monitor and Herd can integrate better in the future.
v6.2.1
PHP Monitor 6.2 is a minor update that comes with a bunch of fixes and adds a configuration editor which currently lets you edit the following: memory_limit
, post_max_size
and upload_max_filesize
via the GUI.
How to install or upgrade
If you have an existing PHP Monitor.app
in your Applications folder you can use the built-in updater.
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.
Patch History
v6.2.1
- Fixed an issue where toggling extensions off and on again would not work correctly under certain circumstances. This has now been resolved. (#265)
- Added threading fix that prevents the truck icon of PHP Monitor from getting stuck. This was an annoying bug that has been around for some time, so I'm happy to finally have squashed it.
- After the official release of PHP 8.3 (on November 23), this release will automatically be marked as "stable" and no longer have the "experimental" flag in the PHP Version Manager.
What's New
🆕 A simple configuration editor has been added!
You can now edit the maximum memory limit, max POST size and the maximum upload size with PHP Monitor. If you are using Valet and the memory-limits.ini
stub file is missing, PHP Monitor will attempt to restore it. As you adjust the values, PHP Monitor will try to dynamically apply the memory limits.
This is the first version of the configuration editor, and it will be expanded in the future. If you encounter any bugs while using this feature, please get in touch via an issue.
What's Fixed
- PHP Monitor now generates scripts compatible with Fish in
~/.config/phpmon/bin
if your default shell environment is Fish. For more details on how to use these, please see the write-up here. (#264) - Fixed an issue where the type of projects in the Domains window would not be detected correctly. (#263)
- Fixed an issue with some windows not coming to the front after selecting a menu item if another application had the focus (on macOS Sonoma only). Windows are now brought to the front by using
window?.orderFrontRegardless()
, which should resolve this problem. - Added detection of Laravel Herd, which may conflict with a standalone Laravel Valet installation (installed with
composer global install laravel/valet
). During startup of PHP Monitor, the app will now require you to terminate Laravel Herd. You can start Laravel Herd afterwards, but this is currently not supported.
Note: Ensuring that PHP Monitor does not conflict with Laravel Herd is very much a temporary solution, as I will try to ensure that PHP Monitor and Herd can integrate better in the future.