Version 4.0.4
Release Date: July 15, 2020
4.0.4 release of CodeIgniter4
Enhancements:
The location for the SQLite3 database has changed and by default will be now located in a
writable
folder instead of thepublic
folder.New CLI command:
cache:clear
that 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.
New command,
make:seeder
to 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_title
but automatically escapes and extended URL characters.Image library now supports
webp
images.Added Unicode support for regular expressions in the Router.
Added support for removing hidden folders in the delete_files helper
fetchGlobal
in the Request class now supports applying filters to arrays of data, not just the first item.file
validation 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.Implemented a
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
withCookies()
andwithHeaders()
methods.Support for special prefix “hex2bin:” which can be used with
$key
parameter in Encryption class or in .env file.
Bugs Fixed:
Fixed location for the SQLite3 database which by default will be now located in a
writable
folder instead of thepublic
folder.Fixed bug where
force_https
could addhttps://
a second time.Fixed a bug with CurlRequest that could result in incorrect “100 Continue” headers.
Image::save() bug fixed when
$target
parameter wasnull
fixes for
set_checkbox()
andset_radio()
when the $default parameter is set totrue
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
fill()
process.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
Added
$arguments
parameter to after() and before() in FilterInterface. This is a breaking change, so all code implementing the FilterInterface must be updatedFixed a bug where filter arguments were not passed to after()