v4.6.1 (2025-05-02)
- fix(CURLRequest): multiple header sections after redirects by @ducng99 in codeigniter4#9426
- fix: set headers for CORS by @michalsn in codeigniter4#9437
- fix: upsert with composite unique index by @michalsn in codeigniter4#9454
- fix:
getVersion()for OCI8 and SQLSRV drivers by @michalsn in codeigniter4#9471 - fix: Toolbar when
maxHistoryis set to0by @michalsn in codeigniter4#9506 - fix:
Session::markAsTempdata()adding wrong TTL by @paulbalandan in codeigniter4#9536 - fix: added "application/octet-stream" to the "stl" mime type in the M… by @Franky5831 in codeigniter4#9543
- refactor: get upper first protocol only one call in Email by @ddevsr in codeigniter4#9449
- refactor: PHPDocs in
env()by @ddevsr in codeigniter4#9468 - refactor: remove lowercase event name for logging by @ddevsr in codeigniter4#9483
- refactor: OCI8
limit()method by @michalsn in codeigniter4#9472 - refactor: deprecate redundant
FileHandlercache methods by @paulbalandan in codeigniter4#9511 - refactor: fix
variable.undefined(and other) errors by @paulbalandan in codeigniter4#9513 - refactor: fix
return.unusedTypeerrors by @paulbalandan in codeigniter4#9514 - refactor: add
CITestStreamFilterto phpstan-analysed list and fix errors by @paulbalandan in codeigniter4#9515 - refactor: fix
property.protectederrors by @paulbalandan in codeigniter4#9517 - refactor: fix
function.alreadyNarrowedTypeerrors by @paulbalandan in codeigniter4#9518 - refactor: fix
empty.propertyerrors by @paulbalandan in codeigniter4#9519 - refactor: import FQCNs by @paulbalandan in codeigniter4#9520
- refactor: fix
isset.propertyerrors by @paulbalandan in codeigniter4#9522 - refactor: fix
missingType.returnerrors by @warcooft in codeigniter4#9523 - refactor: fix
nullCoalesce.variableerrors by @warcooft in codeigniter4#9524 - refactor: fix phpstan errors in
URIandSiteURIby @paulbalandan in codeigniter4#9525 - refactor: fix
@readonlyproperty errors by @paulbalandan in codeigniter4#9529 - refactor: fix
missingType.returnerrors in system files by @paulbalandan in codeigniter4#9530 - refactor: fix
codeigniter.modelArgumentTypeerrors by @paulbalandan in codeigniter4#9533 - refactor: fix
SessionandSessionInterfacecode by @paulbalandan in codeigniter4#9535
v4.6.0 (2025-01-19)
- 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
Responseclass by @michalsn in codeigniter4#9235
- [4.6] fix: add validation message for min_dims by @christianberkman in codeigniter4#8988
- fix: [Filters] normalize
$filtersarguments by @kenjis in codeigniter4#8994
- feat: [FileCollection] add function to reatain multiple patterns by @christianberkman in codeigniter4#8960
- feat: [Validation] add
min_dimsrule in FileRules by @christianberkman in codeigniter4#8966 - feat: add
foundRowsoption for MySQLi config by @ducng99 in codeigniter4#8979 - feat:
spark filter:checkshows filter classnames by @kenjis in codeigniter4#8985 - feat: add BaseConnection::resetTransStatus() by @kenjis in codeigniter4#8767
- feat: add Services::resetServicesCache() to reset services cache by @kenjis in codeigniter4#9012
- feat: add "400 Bad Request" page for end users by @kenjis in codeigniter4#9044
- feat: add directives to
phpini:checkcommand by @kenjis in codeigniter4#9117 - feat: multiple hostname routing by @ddevsr in codeigniter4#9150
- [4.6] feat: workaround for implicit nullable deprecations in PHP 8.4 by @kenjis in codeigniter4#9140
- feat: support CURL HTTP3 by @ddevsr in codeigniter4#9145
- feat: design info environment top in
error_exceptionby @ddevsr in codeigniter4#9241 - feat: [Validation] add support for
$dbGroupas parameter inis_uniqueandis_not_uniqueby @maniaba in codeigniter4#9216 - feat: added the
namespaceoption to thepublishcommand by @dimtrovich in codeigniter4#9278 - chore: update
Kintto v6.0 by @ddevsr in codeigniter4#9289 - feat: CURL option
force_ip_resolveby @ddevsr in codeigniter4#9194 - feat: add SQLite3 config synchronous by @michalsn in codeigniter4#9202
- feat: Differentiate between kilobyte/kibibyte and megabyte/mebibyte by @ThomasMeschke in codeigniter4#9277
- feat: Strict locale negotiation by @neznaika0 in codeigniter4#9360
- fix: Add support for multibyte strings by @neznaika0 in codeigniter4#9372
- feat: add page start end total to
PagerRendererby @murilohpucci in codeigniter4#9371 - feat: New command
lang:syncby @neznaika0 in codeigniter4#9023 - feat: additional
opcachesetting in check php.ini by @ddevsr in codeigniter4#9032
- [4.6] refactor: Validation rules and tests by @kenjis in codeigniter4#8975
- [4.6] refactor: add
: voidby @kenjis in codeigniter4#9013 - refactor: remove dependency on BaseConnection in TableName by @kenjis in codeigniter4#9104
- refactor: add return type to closuer in FilterCheck by @neznaika0 in codeigniter4#9190
- refactor: Remove deprecated
RedirectExceptionby @neznaika0 in codeigniter4#9399 - refactor: Remove deprecated
EVENT_PRIORITY_*by @neznaika0 in codeigniter4#9401 - refactor: Remove deprecated
View::$currentSectionby @neznaika0 in codeigniter4#9403 - refactor: Remove deprecated
Cache::$storePathby @neznaika0 in codeigniter4#9404 - refactor: Remove deprecated
Config\Format::getFormatter()by @neznaika0 in codeigniter4#9405 - refactor: Remove deprecation related to cookies by @neznaika0 in codeigniter4#9406
v4.5.8 (2025-01-19)
- 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
- fix: gather affected rows after query call failed by @michalsn in codeigniter4#9363
- refactor: use more strict result check on preg_match_all() result by @samsonasik in codeigniter4#9361
- refactor: Fix phpstan if.condNotBoolean by @neznaika0 in codeigniter4#9368
- refactor: Fix phpstan when delete string key by @neznaika0 in codeigniter4#9369
- refactor: Fix phpstan greaterOrEqual.invalid by @neznaika0 in codeigniter4#9370
- refactor: Fix phpstan nullCoalesce by @neznaika0 in codeigniter4#9374
- refactor: Fix phpstan isset offset by @neznaika0 in codeigniter4#9383
- refactor: Fix phpstan return.missing by @neznaika0 in codeigniter4#9382
- refactor: Fix phpstan booleanAnd.rightAlwaysTrue by @neznaika0 in codeigniter4#9367
- refactor: Fix phpstan codeigniter.configArgumentInstanceof by @neznaika0 in codeigniter4#9390
- refactor: Use
strtolowerwithstr_contains/str_**_withas replacement forstriposby @paulbalandan in codeigniter4#9414
v4.5.7 (2024-12-31)
- fix: handle namespaced helper found on Common helper by @samsonasik in codeigniter4#9354
- fix:
Forge::dropColumn()always returnsfalseon SQLite3 driver by @paulbalandan in codeigniter4#9351
- refactor: enable AddArrowFunctionReturnTypeRector by @samsonasik in codeigniter4#9343
v4.5.6 (2024-12-28)
- fix: auto_link() converts invalid strings like
://codeigniter.comby @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:
DownloadResponsecache headers by @michalsn in codeigniter4#9237 - docs: fix
@paramResponseInterface::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()TypeErrorinpg_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
WRITEPATHexists by @michalsn in codeigniter4#9317 - fix: handling binary data for prepared statement by @michalsn in codeigniter4#9337
- refactor: enable TypedPropertyFromAssignsRector by @samsonasik in codeigniter4#9184
- refactor: enable ClosureReturnTypeRector by @samsonasik in codeigniter4#9187
- refactor: remove unnecessary
is_countable()check ingetMethodParams()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
phpstanerrors related toAutoloaderby @neznaika0 in codeigniter4#9249 - refactor: use
Superglobalsin setting 'REQUEST_METHOD' in `FeatureT… by @paulbalandan in codeigniter4#9294 - refactor: use
baseURIinstead ofbase_uriby @paulbalandan in codeigniter4#9296 - refactor: Apply code quality level 31 for rector by @samsonasik in codeigniter4#9303
- refactor: rename
stdclasstostdClassby @paulbalandan in codeigniter4#9312 - refactor: fix
phpDoc.parseErrorerrors by @paulbalandan in codeigniter4#9313 - refactor: fix
method.nameCaseerrors by @paulbalandan in codeigniter4#9315 - refactor: rename
controllertoControllerby @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->fieldsby @paulbalandan in codeigniter4#9330 - refactor:
Reflection*::setAccessible()is now no-op in PHP 8.1 by @paulbalandan in codeigniter4#9331 - refactor: add
@throws RedirectExceptioninController::initControllerby @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)
- fix: Validation rule
differs/matcheswith dot array by @kenjis in codeigniter4#9103 - fix: update preload.php by @kenjis in codeigniter4#9111
- fix: [Validation] TypeError when using numeric field names by @kenjis in codeigniter4#9142
- fix:
auto_link()regexp by @kenjis in codeigniter4#9169
- refactor: reduce_multiples() and fix user guide by @kenjis in codeigniter4#9099
- refactor: enable AddMethodCallBasedStrictParamTypeRector by @samsonasik in codeigniter4#9156
- refactor: BaseBuilder by @kenjis in codeigniter4#9157
- refactor: improve error message for missing PHP DB extensions by @kenjis in codeigniter4#9160
- refactor: fix typo in BaseConnection.php by @ThomasMeschke in codeigniter4#9170
v4.5.4 (2024-07-27)
- fix: [OCI8] Easy Connect string validation by @kenjis in codeigniter4#9006
- fix: [QueryBuilder] select() with RawSql may cause TypeError by @kenjis in codeigniter4#9009
- fix: [QueryBuilder]
select()does not escape afterNULLby @kenjis in codeigniter4#9010 - fix: allow string as parameter to CURLRequest version by @tangix in codeigniter4#9021
- fix:
spark phpini:checkmay cause TypeError by @kenjis in codeigniter4#9026 - fix: Prevent invalid session handlers by @paulbalandan in codeigniter4#9036
- fix: DebugBar CSS for daisyUI by @kenjis in codeigniter4#9046
- docs:
referreris undefined by @totoprayogo1916 in codeigniter4#9059 - fix: filters passed to the
$routes->group()are not merged into the filters passed to the inner routes by @kenjis in codeigniter4#9064
- 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)
- 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 -bdoes not work due to TypeError by @kenjis in codeigniter4#8958 - fix: [Validation]
if_existdoes not work with array data by @kenjis in codeigniter4#8959 - chore: add
Confignamespace to appstarter autoload.psr4 by @kenjis in codeigniter4#8963 - fix:
spark routesmay 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
$nameby @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
$translateUriToCamelCaseby @kenjis in codeigniter4#8980 - fix:
command()may executerewrite.phpby @kenjis in codeigniter4#8995
- 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)
- chore: fix phpunit.xml.dist for appstarter by @kenjis in codeigniter4#8785
- fix: update
preload.phpfor 4.5 by @kenjis in codeigniter4#8805 - fix: [ErrorException] Undefined array key in
spark phpini:checkby @kenjis in codeigniter4#8804 - fix: incorrect Security exception message by @kenjis in codeigniter4#8818
- fix: [QueryBuilder] TypeError in join() with BETWEEN by @kenjis in codeigniter4#8792
- fix: [SQLSRV] Query Builder always sets
"<database>"."<schema>".to the table name. by @ping-yee in codeigniter4#8786 - fix: remove unused undefined param $raw in MockCache::save() by @kenjis in codeigniter4#8847
- fix: FileCollection pseudo-regex by @kenjis in codeigniter4#8868
- fix: [Model] casting may throw InvalidArgumentException: Invalid parameter: nullable by @kenjis in codeigniter4#8870
- fix: [Model] casting causes TypeError when finding no record by @kenjis in codeigniter4#8871
- fix: correct property default values in Email by @kenjis in codeigniter4#8855
- fix: CLI::promptByMultipleKeys() and prompt() by @kenjis in codeigniter4#8873
- fix: [Postgres] show missing error message by @kenjis in codeigniter4#8913
- fix: TypeError in number_to_amount() by @kenjis in codeigniter4#8932
- fix: Model::find() returns incorrect data with casting by @kenjis in codeigniter4#8933
- refactor: remove unused path parameter on PhpStreamWrapper::stream_open() by @samsonasik in codeigniter4#8926
v4.5.1 (2024-04-14)
- 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
- test: refactor Config/Registrar.php by @kenjis in codeigniter4#8731
- test: add return void by @kenjis in codeigniter4#8746
- refactor: system/CLI/BaseCommand.php by @mcsaygili in codeigniter4#8741
- refactor: system/View/Plugins.php by @mcsaygili in codeigniter4#8742
- refactor: fix method name
ValidationErrorsin View\Plugins by @kenjis in codeigniter4#8758 - refactor: system/Debug/Toolbar/Collectors/Routes.php by @mcsaygili in codeigniter4#8751
- refactor: improve error message in BaseExceptionHandler by @kenjis in codeigniter4#8766
- refactor: FabricatorModel by @kenjis in codeigniter4#8770
v4.5.0 (2024-04-07)
- refactor: always use multiple filters by @kenjis in codeigniter4#7903
- fix: update psr/log to v2 and fix Logger interface by @kenjis in codeigniter4#7967
- fix: incorrect return type for Model::objectToRawArray() by @kenjis in codeigniter4#7986
- fix: filter exec order by @kenjis in codeigniter4#7955
- refactor: Remove deprecated Config\Config by @kenjis in codeigniter4#8016
- fix:
FileLocator::findQualifiedNameFromPath()behavior by @kenjis in codeigniter4#8010 - refactor: remove deprecated methods in Model by @kenjis in codeigniter4#8032
- fix: route options are not merged (outer filter is merged with inner filter) by @kenjis in codeigniter4#8033
- fix: route options are not merged (inner filter overrides outer filter) by @kenjis in codeigniter4#7981
- feat: FileLocator caching by @kenjis in codeigniter4#8017
- refactor: remove deprecated properties and methods in CodeIgniter class by @kenjis in codeigniter4#8050
- fix: make Factories final by @kenjis in codeigniter4#8056
- refactor: remove deprecated test classes by @kenjis in codeigniter4#8057
- refactor: make IncomingRequest::$uri protected by @kenjis in codeigniter4#8067
- refactor: remove deprecated spark commands by @kenjis in codeigniter4#8086
- refactor: remove deprecated Request::isValidIP() by @kenjis in codeigniter4#8090
- fix: set_cookie() $expire type by @kenjis in codeigniter4#8080
- fix: remove traditional validation rule param types (1/2) by @kenjis in codeigniter4#8078
- fix: filters are executed when controller does not exist with Auto Routing (Legacy). by @ping-yee in codeigniter4#7925
- fix: remove traditional validation rule param types (2/2) by @kenjis in codeigniter4#8124
- refactor: remove deprecated ModelFactory by @kenjis in codeigniter4#8139
- refactor: remove deprecated properties in Response by @kenjis in codeigniter4#8142
- fix: remove deprecated upper functionality in
Request::getMethod()by @kenjis in codeigniter4#8186 - feat: new Required Filters by @kenjis in codeigniter4#8053
- refactor: remove deprecated CastException exception by @kenjis in codeigniter4#8469
- refactor: remove deprecated MockSecurityConfig by @kenjis in codeigniter4#8472
- refactor: remove deprecated CodeIgniter\Entity by @kenjis in codeigniter4#8497
- refactor: remove deprecated Cache\Exceptions\ExceptionInterface by @kenjis in codeigniter4#8498
- fix: API\ResponseTrait can't return string as JSON by @kenjis in codeigniter4#8490
- feat: Validation::run() accepts DB connection by @kenjis in codeigniter4#8499
- feat: 404 Override sets 404 by default by @kenjis in codeigniter4#8535
- refactor: remove deprecated const SPARKED by @kenjis in codeigniter4#8559
- refactor: remove deprecated BaseService::discoverServices() by @kenjis in codeigniter4#8589
- fix: move Kint loading to Autoloader by @kenjis in codeigniter4#8603
- feat: add Boot class by @kenjis in codeigniter4#8604
- fix: error on
Config\Kintwith Config Caching by @kenjis in codeigniter4#8003 - fix: route key lowercase HTTP verbs by @kenjis in codeigniter4#8235
- fix: use
addHeader()by @kenjis in codeigniter4#8240 - fix: QueryBuilder limit(0) bug by @kenjis in codeigniter4#8280
- fix: SQLite3 may not throw DatabaseException by @kenjis in codeigniter4#8467
- [4.5] fix: DEBUG-VIEW comments are not output by @kenjis in codeigniter4#8523
- [4.5] fix: $db->dateFormat merge by @kenjis in codeigniter4#8539
- [4.5] fix: spark does not work with composer install --no-dev by @kenjis in codeigniter4#8534
- [4.5] fix: Composer autoload.psr4 by @kenjis in codeigniter4#8569
- [4.5] fix: errors when not updating Config\Feature by @kenjis in codeigniter4#8570
- [4.5] fix: TypeError in Filters by @kenjis in codeigniter4#8683
- feat: Language translations finder and update by @neznaika0 in codeigniter4#7896
- feat: domparser - ability to write more advanced expressions by @michalsn in codeigniter4#7946
- feat: [Validation] Callable Rules by @kenjis in codeigniter4#7933
- perf: autoloader by @kenjis in codeigniter4#8005
- feat: db:table shows db config by @kenjis in codeigniter4#7972
- feat: add
{memory_usage}replacement by @kenjis in codeigniter4#8008 - perf: replace $locator->getClassname() with findQualifiedNameFromPath() by @kenjis in codeigniter4#8012
- feat: add Method/Route logging in exceptionHandler() by @kenjis in codeigniter4#8108
- feat: add
config:checkcommand to check Config vaules by @kenjis in codeigniter4#8110 - feat: one generator command could have multiple views by @kenjis in codeigniter4#8119
- feat: improve CLI input testability by @kenjis in codeigniter4#7978
- feat: add ArrayHelper::dotKeyExists() by @kenjis in codeigniter4#8131
- feat: add CSP clearDirective() to clear existing directive by @kenjis in codeigniter4#8220
- feat: [Validation] add
field_existsrule by @kenjis in codeigniter4#8123 - feat: add Message::addHeader() to add header with the same name by @kenjis in codeigniter4#8194
- feat:
spark filter:checkshows "Required Filters" by @kenjis in codeigniter4#8236 - feat: [Commands]
lang:findshow bad keys when scanning (v2) by @neznaika0 in codeigniter4#8285 - feat: add
--dbgroupoption tospark db:tableby @kenjis in codeigniter4#8292 - feat: [Auto Routing Improved] add option to translate uri to camel case by @kenjis in codeigniter4#8321
- feat:
spark routesshows "Required Filters" by @kenjis in codeigniter4#8237 - feat: HTTP method-aware web page caching by @kenjis in codeigniter4#8364
- feat:
spark make:testcreates test files in/tests/directory v2 by @kenjis in codeigniter4#8388 - feat: [Routing] add option to pass multiple URI segments to one Controller parameter by @kenjis in codeigniter4#8348
- feat: add DataConverter to convert types by @kenjis in codeigniter4#8230
- feat: [Model] add option $updateOnlyChanged by @kenjis in codeigniter4#8455
- feat: add event points for spark commands by @kenjis in codeigniter4#8496
- feat: 404 controller also can get PageNotFoundException message by @kenjis in codeigniter4#8491
- feat: add DB config
dateFormatto provide default date/time formats by @kenjis in codeigniter4#8525 - feat: use $db->dateFormat in Model by @kenjis in codeigniter4#8538
- feat: permit __invoke() method as Controller default method by @kenjis in codeigniter4#8533
- feat: add Model field casting by @kenjis in codeigniter4#8243
- feat: add spark command to check php.ini by @kenjis in codeigniter4#8581
- feat: improve Redis Session by @kenjis in codeigniter4#8578
- feat: add Config\Optimize by @kenjis in codeigniter4#8605
- feat: support database name with dots by @kenjis in codeigniter4#8664
- feat: add
spark optimizecommand by @kenjis in codeigniter4#8610 - feat: add CORS filter by @kenjis in codeigniter4#8649
- feat: Support faker modifiers on Fabricator by @paulbalandan in codeigniter4#8671
- feat: environment-specific Config\Security::$redirect by @kenjis in codeigniter4#8673
- feat:
spark config:checkdetects Config Caching by @kenjis in codeigniter4#8711
- Drop PHP 7.4 support by @kenjis in codeigniter4#7924
- [4.5] refactor: remove unused
usein Model by @kenjis in codeigniter4#8045 - [4.5] refactor: remove BaseModel assert() by @kenjis in codeigniter4#8046
- [4.5] refactor: Filters by rector by @kenjis in codeigniter4#8071
- perf: defer instantiation of Validation in Model by @kenjis in codeigniter4#8087
- refactor: fix types by @kenjis in codeigniter4#8091
- refactor: move ArrayHelper class by @kenjis in codeigniter4#8130
- [4.5] refactor: fix types by @kenjis in codeigniter4#8138
- refactor: fix param types by @kenjis in codeigniter4#8175
- refactor: Validation rule field_exists by @kenjis in codeigniter4#8242
- refactor:
TestResponseis now a class of its own by @paulbalandan in codeigniter4#8264 - refactor: fix TypeError in strict mode by @kenjis in codeigniter4#8270
- refactor: add
declare(strict_types=1)by @kenjis in codeigniter4#8072 - refactor: remove deprecated Controller::loadHelpers() by @kenjis in codeigniter4#8286
- refactor: remove deprecated methods in Security by @kenjis in codeigniter4#8287
- refactor: HTTP verbs in Router by @kenjis in codeigniter4#8317
- refactor: remove unused exception classes by @kenjis in codeigniter4#8468
- [4.5] refactor: add
declare(strict_types=1)to ForgeModifyColumnTest by @kenjis in codeigniter4#8502 - [4.5] refactor: use local variables in Model by @kenjis in codeigniter4#8565
- refactor: remove unnecessary BaseService::$services assignment by @kenjis in codeigniter4#8609
- perf: add Factories::get() v2 by @kenjis in codeigniter4#8600
- perf: add Services::get() by @kenjis in codeigniter4#8607
- refactor: remove deprecated items in Request by @kenjis in codeigniter4#8617
- refactor: followup performance
service()by @ddevsr in codeigniter4#8623 - [4.5] refactor: add declare(strict_types=1) in BadRequestException by @kenjis in codeigniter4#8682
- refactor: DB config properties by @kenjis in codeigniter4#8693
- refactor: upgrade to PHP 8.1 with rector by @kenjis in codeigniter4#8354
- refactor: update PHPUnit to 10 by @kenjis in codeigniter4#8069
v4.4.8 (2024-04-07)
- 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
- refactor: simplify ImageMagickHandler::getVersion() by @paulbalandan in codeigniter4#8681
- refactor: [Rector] Apply ExplicitBoolCompareRector by @samsonasik in codeigniter4#8704
v4.4.7 (2024-03-29)
- 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.
- fix: Time::difference() DST bug by @kenjis in codeigniter4#8661
- fix: [Validation] FileRules cause error if getimagesize() returns false by @kenjis in codeigniter4#8592
- fix: isWriteType() to recognize CTE; always excluding RETURNING by @markconnellypro in codeigniter4#8599
- fix: duplicate Cache-Control header with Session by @kenjis in codeigniter4#8601
- fix: [DebugBar] scroll to top by @ddevsr in codeigniter4#8595
- fix: Model::shouldUpdate() logic by @kenjis in codeigniter4#8614
- fix: esc() for 'raw' context by @Cleric-K in codeigniter4#8633
- docs: fix incorrect CURLRequest allow_redirects description by @kenjis in codeigniter4#8653
- fix: Model::set() does not accept object by @kenjis in codeigniter4#8670
- refactor: replace PHP_VERSION by PHP_VERSION_ID by @justbyitself in codeigniter4#8618
- refactor: apply early return pattern by @justbyitself in codeigniter4#8621
- refactor: move footer info to top in error_exception.php by @kenjis in codeigniter4#8626
v4.4.6 (2024-02-24)
- fix: Time::createFromTimestamp() returns Time with UTC by @kenjis in codeigniter4#8544
- fix: [OCI8] getFieldData() returns incorrect
defaultvalue by @kenjis in codeigniter4#8459 - fix: [SQLite3] getFieldData() returns incorrect
primary_keyvalues 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
chartype data by @kenjis in codeigniter4#8524 - fix: DebugBar block by CSP by @YapsBridging in codeigniter4#8411
- docs: fix
@phpstan-typein 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
- test: refactor ImageMagickHandlerTest by @paulbalandan in codeigniter4#8461
- test: refactor GetFieldDataTest by @kenjis in codeigniter4#8480
- refactor: use ternary operators in Helpers by @ddevsr in codeigniter4#8529
- refactor: use official site URLs by @kenjis in codeigniter4#8541
- refactor: remove redundant URL helper loading by @kenjis in codeigniter4#8556
- refactor: small improvement in
loadInNamespaceAutoloader by @ddevsr in codeigniter4#8553
v4.4.5 (2024-01-27)
- fix: bug 4.4.4
spark servenot working when using Session in Routes.php by @ALTITUDE-DEV-FR in codeigniter4#8389 - fix:
highlightFile()inBaseExceptionHandlerfor 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
- refactor: remove overrides for coding-standard v1.7.12 by @paulbalandan in codeigniter4#8386
- refactor: Table class to fix phpstan errors by @kenjis in codeigniter4#8402
- fix: typo in pager default_simple by @jasonliang-dev in codeigniter4#8407
- refactor: improve Forge variable names by @kenjis in codeigniter4#8434
v4.4.4 (2023-12-28)
- fix: Validation rule with
*gets incorrect values as dot array syntax by @kenjis in codeigniter4#8129 - fix: validation rule
matchesanddiffersby @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
- fix: change make:command default $group to
Appby @kenjis in codeigniter4#8109 - fix: typo in help message in
spark filter:checkby @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:
@returnin 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 routesoutputs<unknown>only when {locale} withuseSupportedLocalesOnly(true)by @kenjis in codeigniter4#8167 - fix: Undefined array key error in
spark db:tableby @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 routesshows 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
- [Rector] Apply SingleInArrayToCompareRector by @samsonasik in codeigniter4#8102
- refactor: RedisHandler ttl() calls by @kenjis in codeigniter4#8155
- [Testing] Use assertEqualsWithDelta() when possible by @samsonasik in codeigniter4#8158
- refactor: replace non-boolean if conditions in Model by @kenjis in codeigniter4#8193
- refactor: View classes to fix PHPStan errors by @kenjis in codeigniter4#8208
- refactor: Model by @kenjis in codeigniter4#8260
- replace -1 with E_ALL in error_reporting calls by @ThomasMeschke in codeigniter4#8212
- refactor: apply SimplifyEmptyCheckOnEmptyArrayRector by @kenjis in codeigniter4#8341
- refactor: apply DisallowedEmptyRuleFixerRector by @kenjis in codeigniter4#8344
- refactor: rely on $config property in ViewDecoratorTrait by @mostafakhudair in codeigniter4#8021
- refactor: replace empty() Part 1 by @kenjis in codeigniter4#8345
v4.4.3 (2023-10-26)
- Detailed Error Report is Displayed in Production Environment was fixed. See the Security advisory for more information.
- 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
datawill 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)
- Fix: [Session] the problem of secondary retrieving values in RedisHandler by @ping-yee in codeigniter4#7887
- fix:
spark migrate-goption by @kenjis in codeigniter4#7894 - fix: [DebugBar] dark mode
timeline-color-opencolor text onDebugby @ddevsr in codeigniter4#7907 - fix: base_url()/site_url() does not work on CLI by @kenjis in codeigniter4#7901
- Fix: Routing::loadRoutes() in windows do not validate correctly $routesFiles by @pjsde in codeigniter4#7930
- fix: Services::request() should call AppServices instead static by @pjsde in codeigniter4#7985
- fix: lang() may return false by @kenjis in codeigniter4#7966
- fix: CI returns "200 OK" when PageNotFound by @kenjis in codeigniter4#8011
- fix: spark may not show exceptions or show backtrace as json by @kenjis in codeigniter4#7962
- fix: CLI prompt validation message by @kenjis in codeigniter4#7977
- fix: CSP style nonce is added even if honeypot is not attached by @kenjis in codeigniter4#8025
- fix: named routes don't work with spark by @kenjis in codeigniter4#8028
- fix: add a primary key to an existing table by @michalsn in codeigniter4#8031
- fix: reverse route for
''is notfalseby @kenjis in codeigniter4#8024 - fix:
spark routesmay show incorrect route names by @kenjis in codeigniter4#8040 - fix: Factories caching bug by @kenjis in codeigniter4#8037
- fix: file sort order in Files DebugBar by @kenjis in codeigniter4#8048
- fix: check for CSRF token in the raw body by @michalsn in codeigniter4#7915
- 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)
- docs: add missing Config updates for Hot Reloading by @kenjis in codeigniter4#7862
- fix: auto route legacy does not work by @kenjis in codeigniter4#7871
- fix: Factories may not return shared instance by @kenjis in codeigniter4#7868
- fix: replace
config(DocTypes::class)withnew DocTypes()by @kenjis in codeigniter4#7872 - fix: FeatureTest may cause risky tests by @kenjis in codeigniter4#7867
- fix: reverse routing causes ErrorException by @kenjis in codeigniter4#7880
- fix: Email library forces to switch to TLS when setting port 465 by @kenjis in codeigniter4#7883
- fix: [DebugBar] make CSS rotate class less broad by @sanchawebo in codeigniter4#7882
- fix: FeatureTest fails when forceGlobalSecureRequests is true by @kenjis in codeigniter4#7890
v4.4.0 (2023-08-25)
- fix: URI::setSegment() accepts the last +2 segment without Exception by @kenjis in codeigniter4#7251
- feat: custom exception handler by @kenjis in codeigniter4#7087
- Clean router config by @lonnieezell in codeigniter4#7380
- feat: add ValidationInterface::getValidated() by @kenjis in codeigniter4#7429
- [4.4] refactor: moving RedirectException. by @iRedds in codeigniter4#7545
- Remove Config\App Session items by @kenjis in codeigniter4#7255
- perf: RouteCollection $routes optimization by @kenjis in codeigniter4#7175
- Remove Config\App Security items by @kenjis in codeigniter4#7630
- refactor: extract ResponseCache class for Web Page Caching by @kenjis in codeigniter4#7644
- fix: change Services::session() config param type by @kenjis in codeigniter4#7671
- feat: add Factories::define() to explicitly override a class by @kenjis in codeigniter4#7733
- Return signatures of Autoloader's loaders should be void by @paulbalandan in codeigniter4#7747
- fix: remove instantiation of Response in
Services::exceptions()by @kenjis in codeigniter4#7670 - refactor: move callExit() to index.php by @kenjis in codeigniter4#7800
- rework: URI creation and URL helper by @kenjis in codeigniter4#7282
- 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
- feat: Hot Reloading by @lonnieezell in codeigniter4#7489
- feat:
renderSectionoption to retained data by @addngr in codeigniter4#7126 - feat: [Auto Routing Improved] fallback to default method by @kenjis in codeigniter4#7162
- feat: Filter Arguments with $filters in Config\Filters by @kenjis in codeigniter4#7159
- feat: New method DownloadResponse::inline() by @iRedds in codeigniter4#7207
- feat: add
--hostoption tospark routesby @kenjis in codeigniter4#7213 - feat: add
Entity::injectRawData()to avoid name collision by @kenjis in codeigniter4#7208 - feat: [MySQLi] add config to use MYSQLI_OPT_INT_AND_FLOAT_NATIVE by @kai890707 in codeigniter4#7265
- feat: add new setter/getter for Entity by @kenjis in codeigniter4#7230
- feat: [SQLSRV] getFieldData() supports nullable by @kenjis in codeigniter4#7301
- feat: HTML Table data keys synchronize order with Heading keys by @rumpfc in codeigniter4#7409
- feat: [Validation] add method to get the validated data by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7420
- feat: [Auto Routing Improved] Module Routing by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7416
- feat: function array_group_by by @rumpfc in https://github.com/codeigniter4/CodeIgniter4/pull/7438
- feat: add Session::close() by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7508
- feat:
GDHandlermakeWebPwith option quality by @ddevsr in https://github.com/codeigniter4/CodeIgniter4/pull/7506 - feat: [Auto Routing Improved] fallback to default controller's default method by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7406
- Add access to
full_pathindex of uploaded files by @JamminCoder in https://github.com/codeigniter4/CodeIgniter4/pull/7541 - [4.4] Rework redirect exception by @iRedds in https://github.com/codeigniter4/CodeIgniter4/pull/7610
- feat: [CURLRequest] add option for Proxy by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7632
- feat: improve View route output by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7646
- feat: add SiteURI class by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7252
- feat: add SiteURIFactory by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7256
- feat: [Factories] Config caching by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7696
- refactor: remove Cookie config items in Config\App by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7221
- refactor: deprecate $request and $response in Exceptions::__construct() by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7232
- refactor: use config(Cache::class) in CodeIgniter by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7297
- [4.4] refactor: a single point of sending the Response. by @iRedds in https://github.com/codeigniter4/CodeIgniter4/pull/7519
- refactor: [Entity] fix incorrect return value by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7544
- [4.4] refactor: use ::class to config() param by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7619
- refactor: drop support for
Config\App::$proxyIPs = ''by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7621 - refactor: extract DefinedRouteCollector by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7653
- refactor: remove uneeded
ifin Commands\Utilities\Routes by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7661 - refactor: [4.4] add types for phpstan by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7723
- Remove trimming logic of
Autoloader::loadClass()by @paulbalandan in https://github.com/codeigniter4/CodeIgniter4/pull/7763
See CHANGELOG_4.3.md