Skip to content

Latest commit

 

History

History
752 lines (632 loc) · 68 KB

File metadata and controls

752 lines (632 loc) · 68 KB

Changelog

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

v4.5.8 (2025-01-19)

Full Changelog

Security

  • HTTP Validation of header name and value: Fixed a potential vulnerability on lack of proper header validation for its name and value. See the security advisory for more information. Credits to @neznaika0 for reporting.
  • Security fix: ensure csrf token is string by @datlechin in codeigniter4#9365

Fixed Bugs

  • fix: gather affected rows after query call failed by @michalsn in codeigniter4#9363

Refactoring

v4.5.7 (2024-12-31)

Full Changelog

Fixed Bugs

  • fix: handle namespaced helper found on Common helper by @samsonasik in codeigniter4#9354
  • fix: Forge::dropColumn() always returns false on SQLite3 driver by @paulbalandan in codeigniter4#9351

Refactoring

  • refactor: enable AddArrowFunctionReturnTypeRector by @samsonasik in codeigniter4#9343

v4.5.6 (2024-12-28)

Full Changelog

Fixed Bugs

  • fix: auto_link() converts invalid strings like ://codeigniter.com by @kenjis in codeigniter4#9180
  • fix: change session start log level by @element-code in codeigniter4#9221
  • fix: getValidated() when validation multiple asterisk by @ddevsr in codeigniter4#9220
  • fix: Parser - Equal key name replace conflict by @CosDiabos in codeigniter4#9246
  • fix: case-insensitivity in the like() method when in use with accented characters by @michalsn in codeigniter4#9238
  • fix: TypeError for routes when translateURIDashes is enabled by @maniaba in codeigniter4#9209
  • fix: fetchGlobal() with numeric key by @neznaika0 in codeigniter4#9251
  • fix: curl request crashes with params that give an int once hexed. by @ping-yee in codeigniter4#9198
  • docs: allow boolean values in the model for PHPStan by @ping-yee in codeigniter4#9276
  • fix: respect complex language strings when using validation by @michalsn in codeigniter4#9201
  • fix: DownloadResponse cache headers by @michalsn in codeigniter4#9237
  • docs: fix @param ResponseInterface::setJSON() also accepts objects by @JulianAtkins in codeigniter4#9287
  • fix: [CURLRequest] body contains "HTTP/1.0 200 Connection established" by @ping-yee in codeigniter4#9285
  • fix: Postgre\Connection::reconnect() TypeError in pg_ping() by @ping-yee in codeigniter4#9279
  • fix: primary key mapping in the model for the entity by @michalsn in codeigniter4#9307
  • fix: check if defined WRITEPATH exists by @michalsn in codeigniter4#9317
  • fix: handling binary data for prepared statement by @michalsn in codeigniter4#9337

Refactoring

  • refactor: enable TypedPropertyFromAssignsRector by @samsonasik in codeigniter4#9184
  • refactor: enable ClosureReturnTypeRector by @samsonasik in codeigniter4#9187
  • refactor: remove unnecessary is_countable() check in getMethodParams() by @datamweb in codeigniter4#9206
  • refactor: add more readonly property definitions on AutoRouteCollector and SiteURI by @samsonasik in codeigniter4#9210
  • refactor: starter key handling in SodiumHandler by @datamweb in codeigniter4#9207
  • refactor: enable rector code quality level 14 by @samsonasik in codeigniter4#9232
  • refactor: cleanup DatabaseHandler::gc() for session by @grimpirate in codeigniter4#9230
  • refactor: enable rector code quality level 15 by @samsonasik in codeigniter4#9243
  • refactor: enable SimplifyBoolIdenticalTrueRector by @samsonasik in codeigniter4#9244
  • refactor: enable FlipTypeControlToUseExclusiveTypeRector by @samsonasik in codeigniter4#9253
  • refactor: flip assert and actual value position on tests by @samsonasik in codeigniter4#9260
  • perf: Improve call as service() by @neznaika0 in codeigniter4#9248
  • refactor: use compare empty array on Forge on keys property by @samsonasik in codeigniter4#9267
  • refactor: Fix phpstan errors related to Autoloader by @neznaika0 in codeigniter4#9249
  • refactor: use Superglobals in setting 'REQUEST_METHOD' in `FeatureT… by @paulbalandan in codeigniter4#9294
  • refactor: use baseURI instead of base_uri by @paulbalandan in codeigniter4#9296
  • refactor: Apply code quality level 31 for rector by @samsonasik in codeigniter4#9303
  • refactor: rename stdclass to stdClass by @paulbalandan in codeigniter4#9312
  • refactor: fix phpDoc.parseError errors by @paulbalandan in codeigniter4#9313
  • refactor: fix method.nameCase errors by @paulbalandan in codeigniter4#9315
  • refactor: rename controller to Controller by @paulbalandan in codeigniter4#9314
  • refactor: fix implicit array creation by @paulbalandan in codeigniter4#9316
  • refactor: follow up implicit variable array by @ddevsr in codeigniter4#9319
  • refactor: split phpstan-baseline into smaller files by @paulbalandan in codeigniter4#9299
  • refactor: upgrade to use phpstan 2 and rector 2 by @samsonasik in codeigniter4#9322
  • refactor: fix Forge::processIndexes() for empty $this->fields by @paulbalandan in codeigniter4#9330
  • refactor: Reflection*::setAccessible() is now no-op in PHP 8.1 by @paulbalandan in codeigniter4#9331
  • refactor: add @throws RedirectException in Controller::initController by @paulbalandan in codeigniter4#9327
  • refactor: fix warning on new static usage by @paulbalandan in codeigniter4#9342
  • refactor: fix used void return type by @paulbalandan in codeigniter4#9341
  • refactor: enable instanceof and strictBooleans rector set by @samsonasik in codeigniter4#9339

v4.5.5 (2024-09-07)

Full Changelog

Fixed Bugs

Refactoring

v4.5.4 (2024-07-27)

Full Changelog

Fixed Bugs

Refactoring

  • refactor: use first class callable on function call by @samsonasik in codeigniter4#9004
  • refactor: enable AddClosureVoidReturnTypeWhereNoReturnRector to add void return on closure by @samsonasik in codeigniter4#9008
  • refactor: enable AddFunctionVoidReturnTypeWhereNoReturnRector to add void to functions by @samsonasik in codeigniter4#9014
  • refactor: Enable phpunit 10 attribute Rector rules by @samsonasik in codeigniter4#9015
  • refactor: fix Throttler::check() $tokens by @paulbalandan in codeigniter4#9067

v4.5.3 (2024-06-25)

Full Changelog

Fixed Bugs

  • fix: RedisHandler::deleteMatching() not deleting matching keys if cache prefix is used by @paulbalandan in codeigniter4#8952
  • fix: TypeError in DefinedRouteCollector::collect() by @kenjis in codeigniter4#8957
  • fix: migrate:rollback -b does not work due to TypeError by @kenjis in codeigniter4#8958
  • fix: [Validation] if_exist does not work with array data by @kenjis in codeigniter4#8959
  • chore: add Config namespace to appstarter autoload.psr4 by @kenjis in codeigniter4#8963
  • fix: spark routes may show BadRequestException when a route has a regexp by @kenjis in codeigniter4#8974
  • docs: fix incorrect description for route group filter by @kenjis in codeigniter4#8978
  • fix: return and param types of BaseConnection by @paulbalandan in codeigniter4#8983
  • fix: precedence of command classes with the same $name by @kenjis in codeigniter4#8898
  • fix: [OCI8] if conditions to build DSN by @kenjis in codeigniter4#8986
  • fix: [Auto Routing Improved] Default Method Fallback does not work with $translateUriToCamelCase by @kenjis in codeigniter4#8980
  • fix: command() may execute rewrite.php by @kenjis in codeigniter4#8995

Refactoring

  • refactor: BaseBuilder::orderBy() by @kenjis in codeigniter4#8970
  • refactor: using phpunit 10 assertObjectHasNotProperty() and assertObjectHasProperty() by @samsonasik in codeigniter4#8991

v4.5.2 (2024-06-10)

Full Changelog

Fixed Bugs

Refactoring

  • refactor: remove unused path parameter on PhpStreamWrapper::stream_open() by @samsonasik in codeigniter4#8926

v4.5.1 (2024-04-14)

Full Changelog

Fixed Bugs

  • fix: TypeError in form() by @kenjis in codeigniter4#8736
  • fix: [DebugBar] TypeError in Toolbar by @kenjis in codeigniter4#8727
  • fix: TypeError when Time is passed to Model by @kenjis in codeigniter4#8738
  • docs: added Config\Feature::$oldFilterOrder to app/Config/Feature.php… by @mullernato in codeigniter4#8749
  • fix: Factories::get() cannot get defined classes by @kenjis in codeigniter4#8744
  • fix: BaseConnection::escape() does not accept Stringable by @kenjis in codeigniter4#8756
  • fix: [CURLRequest] getHeaderLine('Content-Type') causes InvalidArgumentException by @kenjis in codeigniter4#8760
  • fix: [CURLRequest] construct param $config is not used by @kenjis in codeigniter4#8761
  • fix: [FileLocator] Cannot declare class XXX, because the name is already in use by @kenjis in codeigniter4#8745
  • fix: [DebugBar] Toolbar display may be broken by @kenjis in codeigniter4#8772
  • fix: Cannot declare class CodeIgniter\Config\Services, because the name is already in use by @kenjis in codeigniter4#8776
  • docs: fix Postgre DSN sample by @kenjis in codeigniter4#8774

Refactoring

v4.5.0 (2024-04-07)

Full Changelog

Breaking Changes

Fixed Bugs

New Features

Enhancements

Refactoring

v4.4.8 (2024-04-07)

Full Changelog

Fixed Bugs

  • fix: [ImageMagickHandler] early terminate processing of invalid library path by @paulbalandan in codeigniter4#8680
  • docs: fix PHPDoc types in BaseModel by @kenjis in codeigniter4#8679
  • fix: the error view is determined by Exception code by @kenjis in codeigniter4#8689
  • fix: Pager::only([]) does not work by @kenjis in codeigniter4#8702
  • refactor: remove unneeded code in SQLite3\Table and fix PHPDoc types in Database by @kenjis in codeigniter4#8703
  • docs: fix return type in BaseResult by @Pebryan354 in codeigniter4#8709

Refactoring

  • refactor: simplify ImageMagickHandler::getVersion() by @paulbalandan in codeigniter4#8681
  • refactor: [Rector] Apply ExplicitBoolCompareRector by @samsonasik in codeigniter4#8704

v4.4.7 (2024-03-29)

Full Changelog

SECURITY

  • Language: Language class DoS Vulnerability was fixed. See the Security advisory for more information.
  • URI Security: The feature to check if URIs do not contain not permitted strings has been added. This check is equivalent to the URI Security found in CodeIgniter 3. This is enabled by default, but upgraded users need to add a setting to enable it.
  • Filters: A bug where URI paths processed by Filters were not URL-decoded has been fixed.

Breaking Changes

Fixed Bugs

Refactoring

v4.4.6 (2024-02-24)

Full Changelog

Breaking Changes

  • fix: Time::createFromTimestamp() returns Time with UTC by @kenjis in codeigniter4#8544

Fixed Bugs

  • fix: [OCI8] getFieldData() returns incorrect default value by @kenjis in codeigniter4#8459
  • fix: [SQLite3] getFieldData() returns incorrect primary_key values by @kenjis in codeigniter4#8460
  • fix: [OCI8][Postgre][SQLSRV][SQLite3] change order of properties returned by getFieldData() by @kenjis in codeigniter4#8481
  • docs: fix supported SQL Server version by @kenjis in codeigniter4#8489
  • fix: [SQLite3] Forge::modifyColumn() messes up table by @kenjis in codeigniter4#8457
  • docs: fix incorrect @return type in ResultInterface-getCustomRowObject() by @kenjis in codeigniter4#8503
  • fix: [Postgre] updateBatch() breaks char type data by @kenjis in codeigniter4#8524
  • fix: DebugBar block by CSP by @YapsBridging in codeigniter4#8411
  • docs: fix @phpstan-type in Model by @kenjis in codeigniter4#8543
  • fix: [CURLRequest] Multiple HTTP 100 return by API. by @ping-yee in codeigniter4#8466
  • fix: PHPDoc types in controller.tpl.php by @kenjis in codeigniter4#8561
  • fix: [Session] Redis session race condition by @kenjis in codeigniter4#8323

Refactoring

v4.4.5 (2024-01-27)

Full Changelog

Fixed Bugs

  • fix: bug 4.4.4 spark serve not working when using Session in Routes.php by @ALTITUDE-DEV-FR in codeigniter4#8389
  • fix: highlightFile() in BaseExceptionHandler for PHP 8.3 by @michalsn in codeigniter4#8401
  • fix: [Validation] DotArrayFilter returns incorrect array when numeric index array is passed by @grimpirate in codeigniter4#8425
  • fix: OCI8 Forge always sets NOT NULL when BOOLEAN is specified by @kenjis in codeigniter4#8440
  • fix: DB Seeder may use wrong DB connection during testing by @kenjis in codeigniter4#8447
  • fix: [Postgre] QueryBuilder::updateBatch() does not work (No API change) by @kenjis in codeigniter4#8439
  • fix: [Postgre] QueryBuilder::deleteBatch() does not work by @kenjis in codeigniter4#8451
  • fix: [Email] setAttachmentCID() does not work with buffer string by @kenjis in codeigniter4#8446
  • fix: add undocumented Model $allowEmptyInserts by @kenjis in codeigniter4#8456

Refactoring

v4.4.4 (2023-12-28)

Full Changelog

Breaking Changes

  • fix: Validation rule with * gets incorrect values as dot array syntax by @kenjis in codeigniter4#8129
  • fix: validation rule matches and differs by @kenjis in codeigniter4#8122
  • fix: [CURLRequest] skip hostname checks if options 'verify' false by @NicolaeIotu in codeigniter4#8258
  • fix: get_filenames() does not follow symlinks by @kenjis in codeigniter4#8298

Fixed Bugs

  • fix: change make:command default $group to App by @kenjis in codeigniter4#8109
  • fix: typo in help message in spark filter:check by @kenjis in codeigniter4#8118
  • fix: Hot reloading when session is enabled by @michalsn in codeigniter4#8112
  • fix: make:cell help message by @kenjis in codeigniter4#8133
  • fix: [DebugBar] dark mode timeline "Controller" by @kenjis in codeigniter4#8125
  • fix: PHPDoc types in controller.tpl.php by @kenjis in codeigniter4#8144
  • fix: @return in filter.tpl.php by @kenjis in codeigniter4#8145
  • fix: when request body is 0, $body will be null by @kenjis in codeigniter4#8161
  • fix: spark routes outputs <unknown> only when {locale} with useSupportedLocalesOnly(true) by @kenjis in codeigniter4#8167
  • fix: Undefined array key error in spark db:table by @kenjis in codeigniter4#8173
  • fix: force_https() redirects to wrong URL when baseURL has subfolder by @kenjis in codeigniter4#8191
  • fix: Validation raises TypeError when invalid JSON comes by @kenjis in codeigniter4#8153
  • fix: FilterTestTrait Undefined variable $filterClasses by @kenjis in codeigniter4#8195
  • fix: Image::save() causes error with webp by @kenjis in codeigniter4#8210
  • fix issue where running FileLocator::getClassname() on a directory would cause a PHP error by @colethorsen in codeigniter4#8216
  • fix: make Request::getEnv() deprecated by @kenjis in codeigniter4#8234
  • fix: ExceptionHandler displays incorrect Exception classname by @kenjis in codeigniter4#8239
  • fix: [Cache] Double prefix for increment in FileHandler by @il-coder in codeigniter4#8255
  • docs: fix Database Utility Class getXMLFromResult() by @kenjis in codeigniter4#8276
  • fix: autoload helpers in test bootstrap by @kenjis in codeigniter4#8275
  • fix: Model handling of Entity $primaryKey casting by @kenjis in codeigniter4#8282
  • fix: Handle non-array JSON in validation by @woodongwong in codeigniter4#8288
  • fix: DEPRECATED error in Honeypot by @kenjis in codeigniter4#8316
  • fix: [Auto Routing Improved] spark routes shows incorrect routes when translateURIDashes is enabled by @kenjis in codeigniter4#8320
  • fix: migrations not using custom DB connection of migration runner by @paulbalandan in codeigniter4#8221
  • Always return a new instance of a Cell by @michalsn in codeigniter4#8330
  • fix: DOMParser cannot see element with id="0" by @kenjis in codeigniter4#8360

Refactoring

v4.4.3 (2023-10-26)

Full Changelog

SECURITY

  • Detailed Error Report is Displayed in Production Environment was fixed. See the Security advisory for more information.

Fixed Bugs

  • fix: FilterTestTrait::getFilterCaller() does not support Filter classes as array by @kenjis in codeigniter4#8058
  • fix: add dbgroup to model template only when specified as an option by @sammyskills in codeigniter4#8077
  • Update phpstan-codeigniter and fix errors on Modules by @paulbalandan in codeigniter4#8036
  • fix: [Validation] exact_length does not pass int values by @kenjis in codeigniter4#8088
  • fix: [Table] field named data will produce bugged output by @ping-yee in codeigniter4#8054
  • docs: fix event points descriptions by @kenjis in codeigniter4#8076
  • docs: fix helper loading by @kenjis in codeigniter4#8084

v4.4.2 (2023-10-19)

Full Changelog

Fixed Bugs

Enhancements

Refactoring

  • fix: add types to View $filters and $plugins by @paulbalandan in codeigniter4#7885
  • test: use PHP_VERSION_ID instead of PHP_VERSION by @kenjis in codeigniter4#7913
  • [PHP 8.3] refactor: ReflectionProperty::setValue() signature deprecation by @kenjis in codeigniter4#7911
  • refactor: remove unneeded arguments to session by @paulbalandan in codeigniter4#7919
  • fix: types for common functions by @paulbalandan in codeigniter4#7917
  • Refactor: Apply PHPStan rule "Short ternary operator is not allowed" to RouteCollection by @pjsde in codeigniter4#7947
  • refactor: remove $_SESSION from methods and functions by @pjsde in codeigniter4#7982
  • refactor: if condition in OCI8/Connection.php by @kenjis in codeigniter4#7994
  • style: remove unnecessary () in Toolbar by @kenjis in codeigniter4#8013
  • refactor: replace deprecated Services::request(config, false) by @kenjis in codeigniter4#7998
  • refactor: delete duplicate code for Composer loading by @kenjis in codeigniter4#8004
  • [Rector] Apply BooleanInIfConditionRuleFixerRector by @samsonasik in codeigniter4#7951

v4.4.1 (2023-09-05)

Full Changelog

Fixed Bugs

v4.4.0 (2023-08-25)

Full Changelog

Breaking Changes

Fixed Bugs

  • fix: incorrect segment number in URI::getSegment() exception message by @kenjis in codeigniter4#7267
  • fix: can't change and override valid locales by @kenjis in codeigniter4#7309
  • fix: Validation::check() does not accept array rules by @kenjis in codeigniter4#7424
  • fix: directory separator from routing file. by @ping-yee in codeigniter4#7487
  • [4.4] Fix output buffering by @iRedds in codeigniter4#7500
  • fix: [Auto Routing Improved] one controller method has more than one URI when $translateURIDashes is true by @kenjis in codeigniter4#7422
  • fix: [4.4] merge Exception::maskSensitiveData() fix into BaseExceptionHandler by @kenjis in codeigniter4#7736

New Features

Enhancements

Refactoring

See CHANGELOG_4.3.md