Skip to content

v5.4

Compare
Choose a tag to compare
@nicoverbruggen nicoverbruggen released this 28 Jun 11:01
· 715 commits to main since this release

This release adds a variety of new features, including support for custom services, presets and various other improvements. For the full list of changes, please see What's New below.

If you want to learn more and see some screenshots, please see the blog post on my website.

What's New

  • The configuration file has been moved to ~/.config/phpmon/config.json. If you had a custom configuration file before, it will be automatically copied to the new location.

  • Various views throughout the app have been rewritten and now use SwiftUI. If something looks off, please let me know. If you are on macOS 11, please get in touch and let me know if you encounter issues with the appearance of the app.

  • Services can now be started and stopped by pressing on the status icon (cross or checkmark) in the dropdown when you click on PHP Monitor's icon.

  • The Preferences window was getting a bit big, so it now has multiple tabs. A new section for granular notification settings has also been added.

  • You can now toggle Xdebug modes via Manage Xdebug. You can also disable all modes at once by choosing Disable All, which disables all modes and sets the value of xdebug.mode to off. Xdebug must be installed for this option to appear.

  • You can now add Configuration Presets to PHP Monitor. You must set these up in a JSON file, located in ~/.config/phpmon/config.json. You must have set up at least one valid preset for this item to appear in PHP Monitor. Here's a template you can use to get started:

{
    "scan_apps": [],
    "services": [],
    "presets": [
        {
            "name": "Legacy Project",
            "php": "8.0",
            "extensions": {
                "xdebug": false
            },
            "configuration": {
                "memory_limit": "128M",
                "upload_max_filesize": "128M",
                "post_max_size": "128M"
            }
        },
        {
            "name": "Modern Project",
            "php": "8.1",
            "extensions": {
                "xdebug": true
            },
            "configuration": {
                "xdebug.mode": "coverage",
                "memory_limit": "512M",
                "upload_max_filesize": "512M",
                "post_max_size": "512M"
            }
        }
    ]
}
  • You can specify custom services in the configuration file for Homebrew services that run as your own user (not root). You can find out which services are available by running brew services list. While you can add the Valet services again (php, dnsmasq, nginx), this is not recommended and will break the app. For example, you can do this:
{
    "scan_apps": [],
    "services": ["mailhog", "mysql"],
    "presets": []
}
  • This build has been tested with macOS Ventura, and should work. I have not tested every feature extensively, so please let me know if you encounter any issues.

Known Issues

  • If there are permission issues reading the contents of the /private/etc/sudoers.d/brew or /private/etc/sudoers.d/brew files, the app will tell you to run valet secure. Instead, you should fix permissions for these files.
  • If the /usr/local/bin directory is not writeable, the app will silently fail to write the PHP version helpers without notifying the user.
  • Custom services that need to start as root are currently not supported. Custom services currently always start as owned by the current user (not root).