Release Date: Unreleased
4.7.5 release of CodeIgniter4
- CodeIgniter:
storePreviousURL()now checks$this->request instanceof IncomingRequestinstead of usingmethod_exists($this->request, 'isAJAX'). Previously, any request object with anisAJAX()method was accepted; now onlyIncomingRequestinstances are checked. If you use a custom request class that implementsisAJAX(), ensure it extendsIncomingRequest.
- CodeIgniter: Fixed a bug where
gatherOutput()could be called twice whenstartController()returned aResponseInterface(e.g., from filter attributes or closure routes). - CodeIgniter: Changed
is_object($this->controller) && $this->controller::class === 'Closure'to$this->controller instanceof Closurefor consistency and type safety.
- CLIRequest: Fixed a bug where
parseCommand()could throw a TypeError whenargvis missing. - Content Security Policy: Fixed a bug where empty
Content-Security-Policy,Content-Security-Policy-Report-Only, andReporting-Endpointsresponse headers were generated when no corresponding values existed. - Logger: Fixed a bug where interpolating a log message with array or non-stringable context values could raise PHP warnings or errors.
See the repo's CHANGELOG.md for a complete list of bugs fixed.