- Dropped support for PHP 7.4 and 8.0.
- Updated shutdown to no longer halt execution on an error if logger error handlers are disabled.
- Logger::enable() and ::disable() now control the screen log, as it used to in the old days.
- This resulted in some changes needing to be made in the test folder. All tests have been updated to work with these updated dependencies.
- Also, PHP 7.1 is no longer supported.
- psr/log is no longer a dependency of Core
- Events have been moved and are now loaded through autoloading.
- FuzeWorks\Configurator now supports a setDebugEmail() method which will pass an email address to Tracy.
- The FuzeWorks Module system has been removed
- FuzeWorks\Layout is no longer a static class
- Fixed multiple bugs where paths were case-sensitive and did not work under Linux
- Latte engine is now able to return layouts and not only view them
This debugger allows for advanced debugging for both development and production environments.
This did however require the implementation of an ENVIRONMENT constant. This has been put in the index file. If no constant is set it will be set by the core class and the default is PRODUCTION.
Chances are that the location for this constant will move in the future.
There is also a proper way now that fatal errors will lead to a 500 error on the screen. This is either done by Tracy or FuzeWorks, depending on if Tracy is available.
The old PHPMailer wrapper module has been replaced with a more lightweight library from CodeIgniter.
Supports the following feautures:
- Multiple Protocols: Mail, Sendmail, and SMTP
- TLS and SSL Encryption for SMTP
- Multiple recipients
- CC and BCCs
- HTML or Plaintext email
- Attachments
- Word wrapping
- Priorities
- BCC Batch Mode, enabling large email lists to be broken into small BCC batches.
- Email Debugging tools
The layout system now uses so called TemplateEngines. A Template Engine is an engine that implements \FuzeWorks\TemplateEngine, and is a standardized way of parsing template files.
3 template engines are present by default: PHP Parser, JSON parser and the Smarty Template engine.
Based on the file extension the manager should be able to decide which engine to use. New engines can be added by using $this->layout->registerEngine();. This function should be called on the layoutLoadEngineEvent.
Also Smarty has been removed from the system and is now a composer dependency.