Release Date: July 15, 2020
4.0.4 release of CodeIgniter4
The location for the SQLite3 database has changed and by default will be now located in a
writablefolder instead of the
New CLI command:
cache:clearthat will destroy all data within the current cache engine.
Thanks to samsonasik, we have several libraries brought up to 100% test coverage.
A few small performance increases. Every ounce matters!
getFieldData()in the database results class now returns column type and length.
Default .htaccess file updated to work better with extended characters.
New Testing Feature: Fabricator makes creating mock classes simple and repeatable in your tests.
Model class can now have the callbacks overridden at runtime. Useful for testing.
A number of improvements to Feature Tests in general.
New command() helper function to programatically run your CLI commands. Useful for testing and cron jobs.
make:seederto generate a Database Seed class skeleton file.
Colors now available on the CLI within Windows, as well as other Windows-related CLI improvements.
New helper mb_url_title that functions like
url_titlebut automatically escapes and extended URL characters.
Image library now supports
Added Unicode support for regular expressions in the Router.
Added support for removing hidden folders in the delete_files helper
fetchGlobalin the Request class now supports applying filters to arrays of data, not just the first item.
filevalidation now works with arrays of files.
URI class now supports a
setSilent()method that will disable the throwing of Exceptions.
New argument to
URI::getSegment()that allows us to change the default value returned if nothing exists.
withResource()in Image so that you can use method chaining instead of using the provided getResource() (used in tests). To just compress your image.
Cookies and headers can be copied from the global Response object when doing a redirect using the new
Support for special prefix “hex2bin:” which can be used with
$keyparameter in Encryption class or in .env file.
Fixed location for the SQLite3 database which by default will be now located in a
writablefolder instead of the
Fixed bug where
https://a second time.
Fixed a bug with CurlRequest that could result in incorrect “100 Continue” headers.
Image::save() bug fixed when
set_radio()when the $default parameter is set to
fix for result object handling in Model class .
fixed escape character SQLite database
fix for inserts on Postgres and Entities when the primary key was null
CLI scripts can now correctly recognize dashes within arguments.
CURLRequest now properly sets content length with multipart data
Misc. stability improvements for the ImageMagick handler
setting validation errors within a config file should now work
Unicode characters are not escaped when saving JSON from Entities.
redirecting with a custom HTTP code should work correctly now
Time::setTimezone now working correctly
added full outer join support for Postgres
some cast items in the Entity (like array, json) were not being set correctly during a
Fixed bug in Image GD handler that would try to compress images twice in certain cases
Ensure get translation output logic work on selected locale, dashed locale, and fallback “en”
Fix is_unique/is_not_unique validation called on POST/PUT via API in Postgresql
$argumentsparameter to after() and before() in FilterInterface. This is a breaking change, so all code implementing the FilterInterface must be updated
Fixed a bug where filter arguments were not passed to after()