🚀 Laravel Octane Support
Laravel Octane is now natively supported with our FrankenPHP variation. We created a native health check script to ensure your container is healthy when running Octane and also documented how you can add Octane to your project.
🔐 Let's Encrypt Support for FrankenPHP
Let's Encrypt is now natively supported with our FrankenPHP variation. We restructured our Caddyfile and documented the procedure how to easily get up and running with free and trusted SSL certificates without requiring another container.
Configure SSL for production →
🌍 A completely new documentation site
We completely rewrote our documentation site and improved the user experience dramatically. Not only did we add a ton of new documentation, we used many native Nuxt Content components to improve the experience when reading the docs.
It's even optimized to interact with LLMs 👀
💪 Other enhancements
- Added variables like
NGINX_HTTPS_PORTandAPACHE_HTTPS_PORTto mimic how you can control ports by environment variable in FrankenPHP - Added
5-fpm-pool-user.shto automatically set the child process user when the containers run asroot - Added ability to see the FrankenPHP version on
phpinfo()(#577) - Moved health check SSL to be different from the container SSL (this prevents issues when you provide your own certificate)
- Changed default FrankenPHP log level to
info(instead ofwarn) - Improved health check messages on start up to not be as noisy for
fpm-nginxandfpm-apache - FPM-NGINX & FPM-APACHE: Set default FPM process control to
ondemandfor even lower resource usage by default
🤖 Developer Improvements
- Moved our "generate-ssl" script to be centralized so one script controls the SSL generation for
fpm-nginx,fpm-apache, andfrankenphpvariations - Improved the structure of the FrankenPHP Caddyfile to better reference snippets
🐛 Bug fixes
- FrankenPHP: Fixed an issue where SSL certificates would not generate because of a permission issue (#593)
- FPM-NGINX: Allow robots.txt to be dynamically generated by PHP (#589)
✋ Deprecation Notices
- Added a deprecation notice to Unit because NGINX is no longer maintaining the project
⚠️ Possible breaking changes (minor)
- FrankenPHP: Renamed variable
CADDY_APP_PUBLIC_PATHtoCADDY_SERVER_ROOTto better follow the experience from the official FrankenPHP images - FrankenPHP: Renamed
SSL_CERTIFICATE_KEY_FILEtoSSL_PRIVATE_KEY_FILEto better match our other variations
🗣️ Further Discussion
Full Changelog: v4.0.0-beta2...v4.0.0-beta3