Skip to content

Latest commit

 

History

History
212 lines (176 loc) · 19.4 KB

File metadata and controls

212 lines (176 loc) · 19.4 KB

Changelog 4.6

v4.6.5 (2026-02-01)

Full Changelog

Fixed Bugs

Refactoring

  • refactor: debugbar time header not dependent on locale by @michalsn in codeigniter4#9880
  • refactor: Remove dead code from MySQLi Connection related to PHP 5 by @kamil-tekiela in codeigniter4#9887
  • refactor: Clean up mysqli transactions by @kamil-tekiela in codeigniter4#9888

v4.6.4 (2025-12-12)

Full Changelog

Fixed Bugs

  • fix: prevent non-shared DB instances from polluting shared cache by @michalsn in codeigniter4#9679
  • fix: Connection::getFieldData() default value convention for SQLSRV and OCI8 by @michalsn in codeigniter4#9680
  • fix: Forge::modifyColumn() for Postgre handler by @michalsn in codeigniter4#9676
  • fix: setting created_at field in Model::replace() method by @michalsn in codeigniter4#9693
  • fix: Casting in insertBatch and updateBatch methods. by @patel-vansh in codeigniter4#9698
  • fix: compileOrderBy() method by @michalsn in codeigniter4#9697
  • fix: SQLite3 password handling for empty string by @michalsn in codeigniter4#9729
  • fix: TypeError in valid_base64 rule when checking invalid base64 strings by @michalsn in codeigniter4#9733
  • fix: debug toolbar logs collector behavior on isEmpty() by @mjomble in codeigniter4#9724
  • fix: crash in toggleViewsHints - debugDiv.appendChild (toolbar.js) by @mjomble in codeigniter4#9735
  • fix: cannot read properties of null in toggleViewsHints (toolbar.js) by @michalsn in codeigniter4#9736
  • fix: type error in controlled cell by @michalsn in codeigniter4#9784
  • fix: handle resources and closures in JSON exception responses by @michalsn in codeigniter4#9788
  • fix: quote reserved keyword timestamp used as a field name for session table by @michalsn in codeigniter4#9805
  • fix: Add an IDs for toolbar form fields by @neznaika0 in codeigniter4#9823
  • fix: disable echo in the preload file by @michalsn in codeigniter4#9825
  • fix(cache): prevent Redis error when deleteMatching() finds no keys by @michalsn in codeigniter4#9829

Refactoring

  • refactor: change $request to CLIRequest|IncomingRequest in ResponseTrait by @paulbalandan in codeigniter4#9658
  • refactor: fix phpdoc and improve code in Language by @paulbalandan in codeigniter4#9656
  • refactor: remove redundant property declarations in BaseController by @paulbalandan in codeigniter4#9659
  • refactor: update CheckPhpIni code by @paulbalandan in codeigniter4#9672
  • refactor: Improve types for phpstan by @neznaika0 in codeigniter4#9685
  • refactor: fix phpstan issues on magic properties by @paulbalandan in codeigniter4#9728
  • refactor: use superglobals service in the UserAgent class by @michalsn in codeigniter4#9783

v4.6.3 (2025-08-02)

Full Changelog

Fixed Bugs

Refactoring

  • refactor: update preload script to exclude util_bootstrap by @ddevsr in codeigniter4#9649
  • refactor: phpdoc for Config\Filters::$globals by @michalsn in codeigniter4#9652

v4.6.2 (2025-07-26)

Full Changelog

Security

  • ImageMagickHandler: Command Injection Vulnerability in ImageMagick Handler Fixes a vulnerability relating to uses of ImageMagickHandler's resize() or text() methods where an attacker can upload malicious filenames containing shell metacharacters that get executed when the image is processed or when text is added to the image.

    See the security advisory for details. Credits to @vicevirus for reporting the issue.

Fixed Bugs

  • chore: add missing EscaperInterface to the AutoloadConfig by @michalsn in codeigniter4#9561
  • fix: remove service dependency from sanitize_filename() helper function by @michalsn in codeigniter4#9560
  • fix: use native PHP truthiness for condition evaluation in when()/whenNot() by @michalsn in codeigniter4#9576
  • fix: add error handling for corrupted cache files in FileHandler by @michalsn in codeigniter4#9586
  • fix: correct getHostname() fallback logic in Email class by @michalsn in codeigniter4#9587
  • fix: encapsulation violation in BasePreparedQuery class by @michalsn in codeigniter4#9603
  • fix: URI authority generation for schemes without default ports by @michalsn in codeigniter4#9605
  • fix: correct path parsing in SiteURIFactory::parseRequestURI() by @michalsn in codeigniter4#9613
  • fix: support for multibyte folder names when the app is served from a subfolder by @michalsn in codeigniter4#9615
  • fix: use correct 24-hour time format in development error page. by @ping-yee in codeigniter4#9628
  • fix: improve CURLRequest intermediate HTTP response handling by @michalsn in codeigniter4#9627
  • fix: ensure make:test works on Windows by @paulbalandan in codeigniter4#9635
  • fix: ensure make:test generates test files ending in Test by @paulbalandan in codeigniter4#9636
  • fix: make:test requires 3 inputs after entering an empty class name by @paulbalandan in codeigniter4#9637
  • fix: add filename parameters to inline Content-Disposition headers by @michalsn in codeigniter4#9638

Refactoring

  • refactor: add system/util_bootstrap.php to curb overreliance to system/Test/bootstrap.php by @paulbalandan in codeigniter4#9562
  • refactor: update places to use system/util_bootstrap.php by @paulbalandan in codeigniter4#9568
  • refactor: more accurate array PHPDocs of Cookie by @paulbalandan in codeigniter4#9569
  • refactor: use native phpdocs wherever possible by @paulbalandan in codeigniter4#9571
  • refactor: fix notIdentical.alwaysTrue error by @paulbalandan in codeigniter4#9579
  • refactor: fix phpstan errors in Events by @paulbalandan in codeigniter4#9580
  • refactor: fix non-booleans in if conditions by @paulbalandan in codeigniter4#9578
  • refactor: fix and micro-optimize code in Format by @paulbalandan in codeigniter4#9583
  • refactor: fix various phpstan errors in Log component by @paulbalandan in codeigniter4#9581
  • refactor: partial fix errors on Email by @paulbalandan in codeigniter4#9582
  • refactor: fix phpstan errors in ResponseTrait by @paulbalandan in codeigniter4#9591
  • refactor: precise PHPDocs for Autoloader by @paulbalandan in codeigniter4#9593
  • refactor: fix phpstan errors in mock classes by @paulbalandan in codeigniter4#9594
  • refactor: fix various phpstan errors in Cache by @paulbalandan in codeigniter4#9610
  • fix: apply rector rule TernaryImplodeToImplodeRector by @michalsn in codeigniter4#9614
  • refactor: Console::showHeader() call date() only once by @paulbalandan in codeigniter4#9616

v4.6.1 (2025-05-02)

Full Changelog

Fixed Bugs

Refactoring

v4.6.0 (2025-01-19)

Full Changelog

Breaking Changes

  • refactor: remove deprecated failValidationError() in API\ResponseTrait by @kenjis in codeigniter4#8793
  • refactor: remove depreacted ResponseInterface::getReason() by @kenjis in codeigniter4#8841
  • refactor: remove deprecated Logger::cleanFilenames() and TestLogger::cleanup() by @kenjis in codeigniter4#8843
  • fix: Exception rework by @kenjis in codeigniter4#8728
  • fix: DefinedRouteCollector to use RouteCollectionInterface by @kenjis in codeigniter4#8911
  • fix: View::renderSection() return type by @kenjis in codeigniter4#8965
  • feat: [Filters] enables a filter to run more than once with different arguments by @kenjis in codeigniter4#8977
  • fix: add check for duplicate Registrar Auto-Discovery runs by @kenjis in codeigniter4#9073
  • fix: Time loses microseconds by @kenjis in codeigniter4#9081
  • feat: fix spark db:table causes errors with table name including special chars by @kenjis in codeigniter4#8748
  • [4.6] fix: Time::createFromTimestamp() change for PHP 8.4 by @kenjis in codeigniter4#9105
  • fix: Time::setTimestamp()'s different behavior than DateTime by @kenjis in codeigniter4#9106
  • [4.6] fix: inconsistency in detailed error reporting by @kenjis in codeigniter4#9144
  • [4.6] feat: force PHP default 32 chars length at 4 bits to Session ID by @kenjis in codeigniter4#9139
  • fix: prioritize headers set by the Response class by @michalsn in codeigniter4#9235

Fixed Bugs

Enhancements

Refactoring

For the changelog of v4.5, see CHANGELOG_4.5.md.