changelogs/CHANGELOG_4.1.md
SECURITY
SECURITY
API\ResponseTrait was fixed. See the Security advisory for more information.Breaking Changes
Fixed Bugs
SECURITY
old() function was fixed. See the Security advisory for more information.Breaking Changes
BaseBuilder::$tableName by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/5378Fixed Bugs
dot_array_search() unexpected array structure causes Type Error by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/5372IncomingRequest::getJsonVar() may cause TypeError by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/5392ANSI_QUOTES enabled by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/5425is_cli() returns true when $_SERVER['HTTP_USER_AGENT'] is missing by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/5393MySQLi\Connection::_foreignKeyData() may return duplicated rows by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/5416number_to_currency() error on PHP 8.1 by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/5454New Features
Enhancements
Refactoring
null usage by @paulbalandan in https://github.com/codeigniter4/CodeIgniter4/pull/5388ThrottleTest::testFlooding by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/5463New Contributors
Fixed bugs:
Model::__call throwing BadMethodCallException on empty results by @ytetsuro in https://github.com/codeigniter4/CodeIgniter4/pull/5139insensitiveSearch is true. by @ytetsuro in https://github.com/codeigniter4/CodeIgniter4/pull/5170$$id in RedisHandler by @Terrorboy in https://github.com/codeigniter4/CodeIgniter4/pull/5062Implemented enhancements:
_ can be used as separators in environment variable names by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/5156dropKey method to Forge by @ytetsuro in https://github.com/codeigniter4/CodeIgniter4/pull/5171Merged pull requests:
model() auto-completion by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/5186FILTER_SANITIZE_STRING by @paulbalandan in https://github.com/codeigniter4/CodeIgniter4/pull/5263number_to_roman function by @paulbalandan in https://github.com/codeigniter4/CodeIgniter4/pull/5270PgSql\Result on closing the result instance by @paulbalandan in https://github.com/codeigniter4/CodeIgniter4/pull/5279New Contributors
This release focuses on code style. All changes (except those noted below) are cosmetic to bring the code in line with the new CodeIgniter Coding Standard (based on PSR-12).
What's Changed
$this is not required. by @jeromegamez in https://github.com/codeigniter4/CodeIgniter4/pull/4784preg_quote() delimiters by @jeromegamez in https://github.com/codeigniter4/CodeIgniter4/pull/4789$path parameter by @jeromegamez in https://github.com/codeigniter4/CodeIgniter4/pull/4787$value parameter by @jeromegamez in https://github.com/codeigniter4/CodeIgniter4/pull/4788safe_mode ini Option by @jeromegamez in https://github.com/codeigniter4/CodeIgniter4/pull/4795ReturnTypeWillChange attribute to Entity by @paulbalandan in https://github.com/codeigniter4/CodeIgniter4/pull/5028New Contributors
Fixed bugs:
Closed issues:
Merged pull requests:
dot array\_search\(\) #4740 (totoprayogo1916)$argv variable when detecting CLI #4739 (paulbalandan)isset\(\) with the ?? null coalesce operator #4729 (jeromegamez)Implemented enhancements:
Cookie and CookieStore, for abstracting web cookies.assertRedirectTo() assertion available for HTTP tests.ErrorlogHandler, that writes to error_log().priority option lower the priority of specific route processing.Autoloader class can now load files which do not contain PHP classes. The list of non-class files will be listed in the $files property of Config\Autoload class.Deprecations:
Codeigniter\View\View::$currentSection property.CookieException's own exception message.CodeIgniter\Entity in favor of CodeIgniter\Entity\EntityResponse in order to use the Cookie class.Security in order to use the Cookie class.Session in order to use the Cookie class.Security::isExpired() to use the Cookie's internal expires status.CIDatabaseTestCase to use the DatabaseTestTrait instead.FeatureTestCase to use the FeatureTestTrait instead.ControllerTester to use the ControllerTestTrait instead.ControllerResponse and FeatureResponse in favor of TestResponse.Time::instance(), use Time::createFromInstance() instead (now accepts DateTimeInterface).IncomingRequest::removeRelativeDirectory(), use URI::removeDotSegments() instead\API\ResponseTrait::failValidationError to use \API\ResponseTrait::failValidationErrors insteadFixed bugs:
esc and nl2br combo gives nasty HTML error output #4533spark migrate on CI server #4428phpspark #4316Closed issues:
Merged pull requests:
assertLogged #4665 (paulbalandan)migrate and migrate:rollback #4656 (paulbalandan)Fixed bugs:
Implemented enhancements:
For the changelog of v4.0, see CHANGELOG_4.0.md.