All Versions
22
Latest Version
Avg Release Cycle
44 days
Latest Release
102 days ago

Changelog History
Page 1

  • v4.1.1 Changes

    February 01, 2021

    Full Changelog

    ๐Ÿ›  Fixed bugs:

    • Fixed an issue where .gitattributes was preventing framework downloads
  • v4.1.0 Changes

    January 31, 2021

    Full Changelog

    Implemented enhancements:

  • v4.0.5 Changes

    January 31, 2021

    Full Changelog

    ๐Ÿ—„ Deprecations:

    • ๐Ÿ—„ CodeIgniter\Database\ModelFactory is now deprecated in favor of CodeIgniter\Config\Factories::models()
    • ๐Ÿ—„ CodeIgniter\Config\Config is now deprecated in favor of CodeIgniter\Config\Factories::config()
    • HTTP Layer Refactor: Numerous deprecations have been made towards a transition to a PSR-compliant HTTP layer. [See the User Guide](user_guide_src/source/installation/upgrade_405.rst)

    Mime Type Detection

    • Config\Mimes::guessExtensionFromType now only reverse searches the $mimes array if no extension is proposed (i.e., usually not for uploaded files).
    • The fallback values of UploadedFile->getExtension() and UploadedFile->guessExtension() have been changed. UploadedFile->getExtension() now returns $this->getClientExtension() instead of ''; UploadedFile->guessExtension() now returns '' instead of $this->getClientExtension(). ๐Ÿ”’ These changes increase security when handling uploaded files as the client can no longer force a wrong mime type on the application. However, these might affect how file extensions are detected in your application.

    Implemented enhancements:

    • ๐Ÿ› Bug: controller routing on modules not working #3927
    • CLI: method prompt should accept array validation rules #3766
    • Validation: permit_empty, optional arguments #3670
    • ๐Ÿ‘ php 8 support #3498
    • getRoutesOptions should return the controller and method if available #3445
    • before function in FilterInterface is missing response param #2085
    • ๐Ÿ”‹ Feature Request: Centralized loggedInUser before RC #2055

    ๐Ÿ›  Fixed bugs:

    • ๐Ÿ› Bug: UploadedFile::store() can't return null #4183
    • ๐Ÿ› Bug: BaseBuilder::getCompiledDelete() runs real query #4180
    • ๐Ÿ› Bug: Deprecated: Required parameter $userAgent follows optional parameter $body in /opt/lampp/htdocs/framework-4.0.4/system/HTTP/IncomingRequest.php on line 161 #4172
    • ๐Ÿ› Bug: table template closes tbody after tfoot #4155
    • ๐Ÿ› Bug: delete_cookie() helper not working #4149
    • ๐Ÿ› Bug: Required parameter $userAgent follows optional parameter $body in #4148
    • ๐Ÿ› Bug: spark issue #4144
    • ๐Ÿ› Bug: PostgreSQL driver issues #4142
    • ๐Ÿ› Bug: phpunit coverage report causes Cannot declare class Config\App, because the name is already in use #4114
    • ๐Ÿ› Bug: Wrong file/line in exceptions created by "factory" methods #4110
    • ๐Ÿ› Bug: Request::withMethod() uses deprecated code #4109
    • ๐Ÿ› Bug: View rendering, extracted variables overwrites existed variables(arguments and etc.) #4108
    • ๐Ÿ› Bug: Loss of escape value and data in the model #4087
    • ๐Ÿ› Bug: classes overwrites parameter defaults, phpDoc's defined in interfaces #4086
    • ๐Ÿ› Bug: getRandomName Return file extension .csv when upload docx or xlsx becouse mimetype application/octet-stream are set #4084
    • ๐Ÿ› Bug: Required parameter $from follows optional parameter $verbs #4076
    • ๐Ÿ› Bug: username input form shows root as a default value #4062
    • ๐Ÿ› Bug: Issue with pagination #4045
    • ๐Ÿ› Bug: Model calls builder before initializing #4036
    • ๐Ÿ› Bug: can't run migrations when CI_ENVIRONMENT = testing #4033
    • ๐Ÿ› Bug: can't get environment variable with dot #4026
    • ๐Ÿ› Bug: CodeIgniter model not recognizing custom deletedField in find queries #3999
    • ๐Ÿ› Bug: assertSee() can not assert title tag. #3984
    • ๐Ÿ› Bug: RAR file detected as CSV #3979
    • ๐Ÿ› Bug: Session Initialization via DatabaseHandler #3978
    • ๐Ÿ› Bug: required_with validation rule does not work with arrays #3965
    • ๐Ÿ› Bug: helper cookie not working #3939
    • ๐Ÿ› Bug: Uploaded SRT files are saved as CSV #3921
    • ๐Ÿ› Bug: Pre-commit hook for Phpstan and sniffer stop working after e111f04d74569e413c5aede3ed9bd9fa1ce7dca2 #3920
    • ๐Ÿ› Bug: Documentation Example Leads to Bug #3914
    • ๐Ÿ› Bug: Route filter runs twice #3902
    • ๐Ÿ› Bug: Premature empty check in Model->update function. #3896
    • ๐Ÿ› Bug: Sqldrv problems to insert when change DBPrefix #3881
    • ๐Ÿ› Bug: CI4 won't recognise current namespace for language files #3867
    • Unexpected validation bug #3859
    • ๐Ÿ› Bug: single_service does not set service's arguments correctly #3854
    • ๐Ÿ› Bug: debugbar should not insert code in code tag #3847
    • ๐Ÿ“œ Parser won't properly parse tags that have a similar name #3841
    • ๐Ÿ› Bug: insertBatch not generating createdField #3838
    • ๐Ÿ› Bug: Parser - Replacements happening even if key does not fully matches { value } #3825
    • Bug: Parser preg_replace_callback exception if template has # #3824
    • ๐ŸŒ Translation function 'lang' does not work as described #3822
    • ๐Ÿ› Bug: File rewrite.php is always lost in large-request unhandled error #3818
    • ๐Ÿ› Bug: Model::builder() ignores parameter #3793
    • ๐Ÿ› Bug: Warning no tests found in CodeIgiter\Tests... #3788
    • ๐Ÿ› Bug: Class '\CodeIgniter\Database\pdo\Connection' not found #3785
    • ๐Ÿ› Bug: Composer php spark migrate error #3771
    • ๐Ÿ› Bug: ORDER BY RANDOM ON SQLite3 #3768
    • ๐Ÿ› Bug: CLI: generateDimensions fails with a uncaught exception when exec is disabled #3762
    • ๐Ÿ› Bug: createTable if not exists not working #3757
    • ๐Ÿ› Bug: SQLite drop column corrupts table cache #3752
    • ๐Ÿ› Bug: route filters don't apply for different methods #3733
    • /system/Images/Image.php image()->copy() mkdir #3732
    • ๐Ÿ› Bug: route bug #3731
    • page not redirecting. when i redirecting by calling function #3729
    • ๐Ÿ› Bug: \Config\Services::image()->flatten() #3728
    • ๐Ÿ› Bug: Parser will overwrite the value if the initial variable is same #3726
    • ๐Ÿ› Bug: Validating Json Requests #3719
    • ๐Ÿ› Bug: view caching not work on windows #3711
    • ๐Ÿ› Bug: getRoutesOptions return wrong when I have >2 routes has same name, but different method (HTTPVerb) #3700
    • ๐Ÿ› Bug: Validation with request raw body. #3694
    • Image format webp is not preserve transparent #3690
    • problem: #3686
    • ๐Ÿ“š Documentation Error #3668
    • ๐Ÿ› Bug: BaseBuilder's query is wrong #3659
    • ๐Ÿ› Bug: The lifetime of the CSRF check cookie cannot be set to 0 (Session). #3655
    • ๐Ÿ› Bug: isRedirect does not respond depending on how redirects are set up. #3654
    • ๐Ÿ› Bug: SQL Error when countAllResults, groupBy and DBPrefix used together #3651
    • ๐Ÿ› Bug: helper current_url() return wrong protocol #3648
    • ๐Ÿ› Bug: IncomingRequest::setLocale() #3640
    • ๐Ÿ‘€ CodeIgniter\Database\Exceptions\DatabaseException #8 Unable to connect to the database. #3639
    • ๐Ÿ› Bug: Cannot use view filter on array values #3630
    • ๐Ÿ› Bug: Changelog navigation is not working properly #3625
    • ๐Ÿ› Bug: Routing 404 Override confusion under route group #3623
    • ๐Ÿ› Bug: Target batch not found when running php spark migrate:rollback #3620
    • ๐Ÿ› Bug: getHeaders returns Array with no values #3616
    • Ignore this, was a false report #3611
    • ๐Ÿ› Bug: Incorrect type that fails strict_types=1 #3610
    • The isAJAX method does not exist in filters #3604
    • ๐Ÿ› Bug: current\_url\(\) helper returns wrong url with slash between host and port #3603
    • ๐Ÿ› Bug: Connection ID unknown immediately after connection #3601
    • ๐Ÿ› Bug: Join Query is not working in Library #3600
    • ๐Ÿ› Bug: Database cache not working #3597
    • ๐Ÿ› Bug: Issue in the route, redirect to parent domain, if you put / at the end of url #3595
    • ๐Ÿ› Bug: Segments Also Include The Segments In BASE_URL #3594
    • ๐Ÿ› Bug: Route Filters doesn't restart in FeatureTestCase. #3591
    • ๐Ÿ› Bug: CURL call returns always code 200 in case de server uses HTTP/2 #3586
    • ๐Ÿ› Bug: Language folders inside locale folders NOT Working ! #3582
    • ๐Ÿ› Bug: Uninitialized string offset: 1 CI 4 #3573
    • ๐Ÿ—„ Deprecated assertArraySubset in PHPUnit8 used in FeatureResponse::assertJSONFragment #3562
    • Wrong HTTP status code #3558
    • ๐Ÿ› Bug: Invalid serialization data for DateTime object #3553
    • ๐Ÿ› Bug: Setting session expires parameter via $this->sessionExpiration #3543
    • ๐Ÿ› Bug: Upload file validation, $model->validate return true if failed #3532
    • ๐Ÿ› Bug: Inconsistent behavior of view renderer on Windows and Linux #3529
    • ๐Ÿ› Bug: Add dash to parser plugin regex #3523
    • ๐Ÿ› Bug: When Cronjob run the ip address of the request is 0.0.0.0 #3512
    • ๐Ÿ› Bug: Inconsistency in replace() method #3510
    • ๐Ÿ› Bug: setPath function in UploadedFile.php is writing the index.html wrong #3506
    • ๐Ÿ› Bug: Cannot get session data after server redirecting #3503
    • ๐Ÿ› Bug: Database group defined in .env doesn't work #3497
    • ๐Ÿ› Bug: I cant upload mp4 files #3494
    • ๐Ÿ› Bug: Error message for matches rule doesn't support nested params #3492
    • ๐Ÿ”– CI_VERSION = '4.0.0-beta.4'; session ๆ–‡ไปถfile็ผ“ๅญ˜้—ฎ้ข˜ๅคฑๆ•ˆ้—ฎ้ข˜๏ผ›session_start(): Failed to decode session object. Session has been destroyed #3485
    • ๐Ÿ› Bug: onlyDeleted() conflicts to paginate() #3482
    • ๐Ÿ› Bug: Unable to connect to the database #3477
    • ๐Ÿ› Bug: Argument 1 passed to CodeIgniter\Config\Services::request() must be an instance of Config\App or null, instance of BackEnd\Config\App #3475
    • ๐Ÿ› Bug: Fatal error running #3473
    • ๐Ÿ› Bug: set() doesn't work on DateTime database field types #3471
    • before() Filters that are executed are missing from codeigniter debug toolbar. #3470
    • ๐Ÿ› Bug: Model insert method always insert with current datetime on updatedField #3469
    • ๐Ÿ› Bug: The search function in the documentation is not working #3458
    • ๐Ÿ› Bug: env variable database.default.dsn not working for mysqli #3456
    • ๐Ÿ› Bug: #3453
    • Bug: form_textarea in form_helper does not create specified 'rows' #3452
    • ๐Ÿ› Bug: afterUpdate event return array instead of key value #3450
    • ๐Ÿ‘ท Using Cronjob with php line argument while using Crontab redirects the script and never executes #3444
    • ๐Ÿ› Bug: Support for SameSite cookie setting missing #3442
    • ๐Ÿ› Bug: Validation mime_in SVG files not working correctly #3439
    • ๐Ÿ› Bug: Cannot declare class Config\Paths, because the name is already in use #3434
    • ๐Ÿ› Bug: delete_cookie() helper function not working #3433
    • ๐Ÿ› Bug: insertBatch not working correctly #3432
    • ๐Ÿ”‹ Feature request : CodeIgniter\File with SplFileInfo does not have a method to rewrite parts of the file only to append an CSV style row #3431
    • ๐Ÿ› Bug: SMTP to port 465 should use TLS from the start #3429
    • ๐Ÿ› Bug: Form data and file is not receiving well formed with PUT Method #3417
    • ๐Ÿ› Bug: form_textarea helper row and col defaults not overwriting when defined as $extra #3412
    • Encryption Class does not allow to change digest parameter from SHA512 to SHA256 or others #3404
    • ๐Ÿ› Bug: table.Array in first() ... - and complex primary keys! ;-) #3394
    • ๐Ÿ”ง Error: Email SMTP configured wrong gives error #3390
    • ๐Ÿ› Bug: CodeIgniter\Router\Router hasLocale returns true even if {locale} is absent #3386
    • ๐Ÿ› Bug: Logs Collector isn't collecting logs for Debug Toolbar #3376
    • ๐Ÿ› Bug: Entity's original is not set #3370
    • ๐Ÿ› Bug: warning in Routes.php #3369
    • ๐Ÿ› Bug: Model can not insert Entity #3368
    • ๐Ÿ› Bug: stringify_attributes() looks unfinished. #3363
    • ๐Ÿ› Bug: php spark migrate throws wrongful CodeIgniter\Database\Exceptions\DatabaseException Unable to connect to the database #3359
    • ๐Ÿ› Bug: Image watermark after save.. text not align in center middle when resolution lower and higher. #3356
    • ๐Ÿ› Bug: SQL Lite driver with Builder -> InsertBatch has intermittend lastError reporting issues #3350
    • ๐Ÿ› Bug: isCLI error when calling a controller from a Command Line #3342
    • ๐Ÿ› Bug: missing clear upgrade instructions #3332
    • ๐Ÿ› Bug: API requests with a trailing forward slash #3330
    • ๐Ÿ› Bug: Pager pagination ( page value in url ) #3328
    • ๐Ÿ› Bug: View layout name hierarchy is not displaying correctly on Debugbar Views #3327
    • ๐Ÿ› Bug: php spark migrate on testing environment doesn't work #3309
    • ๐Ÿ› Bug: Empty Entity date attributes receive current timestamp when accessed #3251
    • ๐Ÿ› Bug: no Filter arguments passed #3216
    • ๐Ÿ› Bug: Url Helper have a bug #3180
    • $pager->links() not working inside view layouts #3164
    • ๐Ÿ› Bug: AH01075: Error dispatching request on Basic CI4 #3110
    • ๐Ÿ› Bug: Using assertJSONFragment with respond() in ResponseTrait #3079
    • ๐Ÿ› Bug: Filters 'except' option not removing DebugToolbar comment for view #3002
    • ๐Ÿ› Bug: useSoftDeletes with like function #2380

    Closed issues:

    • ๐Ÿ‘€ Seed Command in document Not found #4154
    • โšก๏ธ I18n/L10n: auto update translations #4151
    • โšก๏ธ Calling update() with an Entity throws an error #4143
    • BaseConfig property issue #4140
    • ๐Ÿ› Bug: #4126
    • ๐Ÿ› Bug: a new installation of codeignitor 4.0.4 show 404 error Sorry! Cannot seem to find the page you were looking for. #4111
    • ๐Ÿ› Bug PHP SPARK MIGRATE #4101
    • Pagination work in local, but error in server #4096
    • updated_at field is filled with the current timestamp when inserting new data along with created_at #4038
    • Config for pager #4030
    • โšก๏ธ setUpdateBatch #4025
    • ๐Ÿšš Empty html-file created when moving uploaded files with $img->move() #4020
    • php spark serve error on php 8 #3980
    • ๐Ÿ› Bug: PHP8 session flush data is not deleted #3974
    • ๐Ÿ—„ PHP8: Deprecate required param after optional #3957
    • Undefined function #3954
    • Missing function locale_set_default(...) in Codeigniter 4 #3953
    • โœ… Language\en\Language.php is only used in testing #3948
    • Bug: locale_set_default causing "Whoops" failure in MacOS PHP 7.3.9 on develop branch #3933
    • Pdo driver not found #3922
    • Mysqli Backup utility? #3906
    • Relationships - Many to many #3885
    • ๐Ÿ› Bug: How can remove Codeinatore default icon #3883
    • ๐Ÿšš How Can remove CodeIgniter4 icon #3882
    • Codeigniter review 2021 #3880
    • url_title doesn't work with decimal number in title #3878
    • ๐Ÿ“š IncomingRequest Class "hasFile" function does not exist as described in the documentation. #3852
    • ๐Ÿ‘ Dynamically changing supported languages #3844
    • ๐Ÿ‘€ CodeIgniter\Database\Exceptions\DatabaseException #8 #3826
    • Blank page show #3812
    • ๐Ÿ› Bug: folder tests not found #3807
    • Typo in the doc: cache_info() #3800
    • only_full_group_by - mysqli_sql_exception #1055 - MySql 5.7.24 #3795
    • โœ… Dev: Split ModelTest #3792
    • The formatMessage function of the Language class works intermittently #3784
    • .htaccess problem with syntax #3778
    • The page does not open correctly:( #3770
    • โช Restore method for CodeIgniter Model. #3767
    • ๐Ÿ› Bug: Model update() only set first array value #3764
    • ๐Ÿ› Bug: CLI: Exception view shows full path #3763
    • ๐Ÿ› Bug: Maximum execution time exceeds while handling IPv6 Reverse Proxy IPs #3760
    • ๐Ÿ“š Fabricators documentation error #3743
    • is\_unique is not considering the db prefix in checking for unique values in db #3741
    • Grouping routes should let me pass additional variables within the closure function #3691
    • cannot find Ftp library. #3679
    • ๐Ÿ‘‰ Make sessions never expire with $config['sess_expiration'] = -1 #3677
    • Migration trouble #3624
    • Files as optional in validation rules #3619
    • $_SERVER should not have .env file info #3615
    • ๐Ÿ› Bug pars xml #3588
    • ๐Ÿ› Bug: When have multi filter class, and "before" function return true๏ผŒother filters after this filter not working #3579
    • ๐Ÿง can not install on linux os #3572
    • ๐Ÿ“š Incorrect grouping function names in documentation #3551
    • ๐Ÿ†• New Edge Browser missing from user agents config #3513
    • Form validation does not have a rule to validate if field value differs from a string #3462
    • โšก๏ธ updateBatch does not accept entities #3451
    • ๐Ÿ‘Œ Support PSR4 #3405
    • CodeIgniter4 is ready to work with PHP 7.4? #3389
    • Using CodeIgniter4 with Oracle Database #3388
    • Can't get Controllers subfolder working #3347
    • Why redirect()->to() doesn't work inside events Model? #3346
    • ๐Ÿ› Bug: requests PUT type without segment redirects to index method instead update method #3343
    • Migrations not working #3317
    • CURL Error htts SSL #3314
    • codeigniter composer global installer #3266
    • ๐Ÿ› Bug: Migrations Deprecated #3195
    • Managed to reproduce this issue. Was uploading an image with jquery.dm-uploader.min.js, and trying to do some image manipulation, but when I got this error: #3174
    • ๐Ÿ‘‰ Make the Model work without auto_increment primary key #3134
    • Call to undefined function CodeIgniter\Debug\current_url() #3106
    • ๐Ÿ› Bug: select() & selectSum() not consistent / aligned with docs #3019
    • โœ‚ Remove /public in URL not working if using localhost #2930
    • The problem is in getting the file sharing by Mime #2732
    • Migration on PostgreSQL failes for tables with foreign keys #2575
    • ๐Ÿ“œ Automatic Entity cast for Parser #2317
    • ๐Ÿ”‹ Feature: Cache Driver - Serialize/Unserialize Objects #2111
    • Model set $escape problem #1929
    • \I18n\Time setTimezone does not work as expected #1807
    • ๐Ÿ— TODO Database utility backup builder #1257
    • Port FTP library from CI3 #506
    • Port MSSql Database driver from CI3 #503

    ๐Ÿ”€ Merged pull requests:

  • v4.0.4 Changes

    July 15, 2020

    Full Changelog

    Implemented enhancements:

    • ๐Ÿ› Bug: incorrect type - system/Database/MYSQLi/Connection.php #2996
    • ๐Ÿ› Bug: CI_DEBUG incorrect type and fails strict validation #2975

    ๐Ÿ›  Fixed bugs:

    • ๐Ÿ› Bug: Fix protocol version for DownloadResponse #3320
    • ๐Ÿ› Bug: Add Honeypot::$container to env file #3318
    • ๐Ÿ› Bug: Add multibyte support on DOMParser::see() #3324
    • ๐Ÿ› Bug: Image width debug-bar has conflict #3323
    • ๐Ÿ› Bug: Setting Encryption Service Key in app/Config/Encyption.php #3297
    • ๐Ÿ› Bug: CodeIgniter\I18n -> Class 'Locale' not found #3294
    • ๐Ÿ› bug cURL - Parse header and Body #3261
    • ๐Ÿ› Bug: Forced HTTPS wrong redirect #3260
    • ๐Ÿ› Bug: #3255
    • โœ… Testing ajax header problems #3246
    • ๐Ÿ› Bug: Url's not working #3245
    • ๐Ÿ“š Missing code formatting for migration block in documentation #3243
    • Hint message in tutorial does not correspond to the example code shown #3242
    • How to call resource route #3239
    • Can't successfully validate CLI::prompt when field param has periods #3233
    • Bug: set_checkbox, set_radio not working default true. #3228
    • ๐Ÿ› Bug: Validation wrong behaviour - Session mixed with internal validator state #3210
    • ๐Ÿ› Bug: CLI: Smell on reading parameters #3205
    • ๐Ÿ› Bug: MySQL Errors are not reported #3204
    • ๐Ÿ› Bug: Error exception layout when its an error inside a view where code can go outside the limits #3199
    • ๐Ÿ› Bug: MessageFormatter argType of "String" isn't valid #3191
    • ๐Ÿ› Bug: pagination not working with segment #3188
    • ๐Ÿ› Bug: is_image validation is vulnerable #3184
    • ๐Ÿ› Bug: model->save() insert/update data #3177
    • ๐Ÿ› Bug: The CLI::color cannot create multicolored strings if ordering of strings is reversed #3173
    • Bug: Missing function locale_set_default(...) #3171
    • Router RegEx not working. #3169
    • ๐Ÿ› Bug: BaseBuilder::insertBatch() has 3 params and not 4 #3158
    • ๐Ÿ› Bug: Issue using image library when original image and resized are the same size #3146
    • ๐Ÿ› Bug: cannot call constructor on controller. #3145
    • ๐Ÿ› Bug: CodeIgniter 4.0.3 Controller will not display pdf files in browser #3144
    • Bug: $request->getVar('test', FILTER_VALIDATE_INT) does not work if the input is an array #3128
    • ๐Ÿ› Bug: A wrong escape on BaseBuilder::set() #3127
    • ๐Ÿ› Bug: Can't override Translations Package Files / Keys #3125
    • ๐Ÿ› Bug: Validation rules max_size #3122
    • ๐Ÿ› Bug: Pagination not working with soft deleted items #3121
    • ๐Ÿ› Bug: SQLite3 database file created in /public folder #3113
    • ๐Ÿ› Bug: RedisHandler does not working on sessionExpiration is zero #3111
    • ๐Ÿ› Bug: Implicit controller methods failing #3105
    • ๐Ÿ› Bug: Custom Validation Error Messages #3097
    • ๐Ÿ› Bug: API\ResponseTrait::respondNoContent return content-type header #3087
    • ๐Ÿ› Bug: Running Feature Tests on multiple endpoints using filters #3085
    • ๐Ÿ› Bug: FeatureResponse::isOk and redirects #3072
    • ๐Ÿ“š Documentation: "First Application" form validating before submitting #3071
    • ๐Ÿ› Bug: Fatal error: Cannot declare class CodeIgniter\Exceptions\PageNotFoundException #3067
    • ๐Ÿ› Bug: Risky feature tests with Controller returns #3063
    • ๐Ÿ› Bug: Documentation news app project #3054
    • ๐Ÿ› Bug: ClassMethod #3050
    • ๐Ÿ› Bug: CodeIgniter\Router\RouteCollection->fillRouteParams() ErrorException on 'from' parameter containing regex pattern with '|' symbol #3048
    • ๐Ÿ› Bug: Database connection #3043
    • ๐Ÿ› Bug: Route redirection not working #3041
    • ๐Ÿ› Bug: Model::getValidationRules() cant handle ::$validationRules if its a string #3039
    • ๐Ÿ› Bug: Body data from curlrequest become unreadable when endpoint return long data #3034
    • ๐Ÿ› Bug: File Validation not validate correctly. #3032
    • ๐Ÿ› Bug: Fatal error when no user-agent is available #3029
    • ๐Ÿ› Bug: Not possible manipulate results of renderSection() on View Layouts #3028
    • ๐Ÿ› Bug: Helpers at non-default locations are not found #3026
    • ๐Ÿ› Bug: Most validation rules enforce requirement of the field #3025
    • ๐Ÿ› Bug: #3021
    • ๐Ÿ› Bug: getPostGet($index) return $_POST if there is no $index in post and get #3020
    • ๐Ÿ› Bug: Multiple File Uploads validation rule "uploaded[inputName]" does not work when the input name is an Array #3018
    • ๐Ÿ› Bug: delete_files() and hidden directories #3015
    • ๐Ÿ› Bug: Model::Insert() does not throw exception when object without data is passed as parameter #2998
    • ๐Ÿ› Bug: Force download #2995
    • ๐Ÿ› Bug: The example of "The Test Classโ€œ is not working in Documets #2993
    • ๐Ÿ› Bug: Difference in behaviour of native DateTime::setTimezone() and CI's Time:setTimezone() #2989
    • ๐Ÿ› Bug: Blank Page on Production Server #2980
    • ๐Ÿ› Bug: Mistake in uri_string() documentation #2972
    • ๐Ÿ› Bug: route_to() does not return relative part of the path #2971
    • ๐Ÿ› Bug: Encrypter->decrypt issue? #2970
    • ๐Ÿ› Bug: form_upload second parameter VALUE is not used in source code #2967
    • ๐Ÿ› Bug: There's no way to change default spark serve port using code #2966
    • ๐Ÿ› Bug: 'method' is an empty string in PATH_INFO causes Unhandled Exception #2965
    • ๐Ÿ› Bug: URI class - working with segments is really strange #2962
    • ๐Ÿ› Bug: Documentation Issue #2960
    • โšก๏ธ Query Builder set update not working correctly #2959
    • Bug: Validation permit_empty does no work together with required_with and required_without #2953
    • ๐Ÿ› Bug: Validation tries to validate inputs even for empty values with no required parameter #2951
    • ๐Ÿ› Bug: Request URI segment is our of range CI 4.0.3 #2949
    • ๐Ÿ› Bug: start migration in manual mode #2942
    • valid_url rule from validation not working correctly same as valid_url|required #2941
    • redirect route when route is more complex #2937
    • set_value does not work with NULL as second parameter #2935
    • ๐Ÿ› Bug: init of $data arrays in controllers #2933
    • ๐Ÿ› Bug: Translation key separated by dot #2932
    • ๐Ÿ› Bug: Model Instantiation #2924
    • Model #2923
    • ๐Ÿ› Bug: CURLRequest baseURI option in user guide #2922
    • ๐Ÿ› Bug: Not bug, but Fix Documentation, please #2920
    • ๐Ÿ› Bug: Postgresql API call delete use ->connID->affected_rows after Model::delete() got error #2918
    • Multiple table query Model first #2885
    • ๐Ÿ› Bug: pager "prev" and "next" links pointing to wrong URIs #2881
    • ๐Ÿ› Bug: Automatic no CLI colors for Windows terminals #2849
    • ๐Ÿ› Bug: $format in ResourceController is ignored #2828
    • ๐Ÿ› Bug: "Type is not supported" in Postgresql POST restful #2812
    • ๐Ÿ› Bug: Cookie Helper and Response class issue #2783
    • ๐Ÿ› Bug: Models, useSoftDeletes not found in findAll #2658
    • ๐Ÿ”‹ Feature: About the SameSite COOKIE RFC changes for PHP > 7.3 #2374

    Closed issues:

    • Language folders inside locale folders #3300
    • Encryption Class - Decrypting: authentication failed #3258
    • form_upload second parameter VALUE was not used in source code, i found a way to do it. #3256
    • erorr line in resize image using fit in visual studio code #3249
    • โœ… Testing withSession() generates an error. #3190
    • Why is getGetPost() returning all data instead of null when index not found? #3187
    • Request setGlobal not works #3186
    • Cannot extend core HTTPException class #3178
    • โž• Add this relationship in model. #3170
    • Execute bootstrapEnvironment() & detectEnvironment() before Services::exceptions() #3138
    • Bag pars array to xml #3092
    • utf-8 slug character doesn't work in url #3089
    • Grammar in comment #3064
    • line 374 in system/Entity.php json_encode add JSON_UNESCAPED_UNICODE #3059
    • ๐Ÿ”— Link to User Guide on README.md #3053
    • How to set private properties in CodeIgniter\Database\BaseResult::getCustomResultObject() #3051
    • url_title not detecting some special characteres #3038
    • Error: No input file specified. #3030
    • Can findAll function in modeling data accept 3rd parameter reset #3024
    • Class 'App\Models\UserModel' not found #3014
    • Image reorient with exif #3006
    • set cookieHTTPOnly not work #2999
    • [Feature request] Slugs Link #2988
    • [Feature request] End processing app #2982
    • Pager should have getTotalResults method function #2954
    • URL rewrite problem #2925
    • ๐ŸŒ Translation file not get correct locale in 4.0.3 #2921
    • Why this route does not work ? #2919
    • Cache redis or memcached #2909
    • Cookie helper not woking #2848
    • ๐Ÿ› Bug: Routing group filter not working on nested or complex routes #2390

    ๐Ÿ”€ Merged pull requests:

  • v4.0.3 Changes

    May 01, 2020

    Full Changelog

    ๐Ÿ›  Fixed bugs:

    • ๐Ÿ› Bug: is_unique validation rule with model->save() fails #2906
    • ๐Ÿ› Bug: Debugging toolbar not showing #2893
    • ๐Ÿ› Bug: database query bug #2890
    • ๐Ÿ› Bug: Routes - missing (:id) #2889
    • ๐Ÿ› Bug: Typo example "Using Named Routes" #2888
    • ๐Ÿ› Bug: I am able to make POST request to a GET route #2880
    • ๐Ÿ› Bug: Argument 1 passed to CodeIgniter\Database\BaseResult::getFirstRow() must be of the type string, null given, called in /system/Model.php on line 383 #2877
    • ๐Ÿ› Bug: Can't override already defined language in pager #2875
    • Installation Problem: Composer installation halts while installing kint-php/kint #2863
    • ๐Ÿ› Bug: composer require codeigniter4/translations without stable version #2862
    • ๐Ÿ› Bug: Method Spoofing Validation #2855
    • ๐Ÿ› Bug: You made it just as impossible to get going as Laravel โ€“ BUMMER! #2850
    • ๐Ÿ› Bug: localised validation messages #2845
    • ๐Ÿ› Bug: Commands discovery in custom namespaces #2840
    • ๐Ÿ› Bug: When the $index parameter of getGetPost or getPostGet is null, you will get an error result #2839
    • ๐Ÿ› Bug: delete_cookie() doesn't work #2836
    • ๐Ÿ› Bug: Model save method not working if PRIMARY KEY is VARCHAR #2835
    • ๐Ÿ› Bug: Alias Filter with Multiple Filter Class Doesn't Work #2831
    • ๐Ÿ› Bug: Kint Config isnt loaded #2830
    • ๐Ÿ› Bug: RouteCollection::resource() doesn't work with grouped rules #2829
    • ๐Ÿ› Bug: $forge Property in Seeder Class Never Initialize #2825
    • ๐Ÿ› Bug: getSegments() returns an array with 2 empty strings when accessing / #2822
    • ๐Ÿ› Bug: Cell Caching in View Cells and SOLVE! #2821
    • ๐Ÿ› Bug: saveData option doesn't work in Views #2818
    • ๐Ÿ› Bug: Validation placeholder not being replaced #2817
    • ๐Ÿ› Bug: Problems with QueryBuilder when run multiple queries one by one #2800
    • ๐Ÿ› Bug: Routing placeholder in "controller"part of route doesn't work #2787
    • ๐Ÿ› Bug: session()->push() Strange behavior #2786
    • ๐Ÿ› Bug: php spark serve #2784
    • ๐Ÿ› Bug: Can't paginate query with group by #2776
    • ๐Ÿ› Bug: negotiateLocale bug in Safari with fr-ca locale #2774
    • ๐Ÿ› Bug: Controller in Sub Directory is not working #2764
    • ๐Ÿ› Bug: rename release By "v" #2763
    • ๐Ÿ› Bug: db query '?' bind is not working when use sql with ':=' operator. #2762
    • ๐Ÿ› Bug: Multiple select validation problem #2757
    • ๐Ÿ› Bug: Official Site is not working #2749
    • ๐Ÿ› Bug: Logger context placeholders {file} and {line} are wrong #2743
    • ๐Ÿ› Bug: Decimal validation fails without leading digit #2740
    • โšก๏ธ Bug: Model insert Created_at and updated_at get when new record added #2737
    • ๐Ÿ› Bug: appendHeader 500 error if header does not exist #2730
    • ๐Ÿ› Bug: codeigniter4 download link 404 resource not found #2727
    • ๐Ÿ› Bug: Logger path property ignored #2725
    • ๐Ÿ› Bug: $this->request->getPost() is empty when json is send by postman #2720
    • ๐Ÿ› Bug: open path /0 at uri got error "Class Home does not exist" on development environment #2716
    • ๐Ÿ› Bug: calling countAllResults after find($id) produce wrong result #2705
    • ๐Ÿ› Bug: $routes->cli() accessible via web browser if autoroute is true #2704
    • ๐Ÿ› Bug: Controllers and Views in subdirectories not working #2701
    • ๐Ÿ› Bug: undefined model method should throw exception #2688
    • ๐Ÿ› Bug: The custom error config of validation is not working #2678
    • ๐Ÿ› Bug: Can't test redirect()->route('routename'), while redirect()->to('path') is working with ControllerTester #2676
    • ๐Ÿ› Bug: php spark migrate:create File -n NameSpace doesn't create migration class under NameSpace/Database/Migrations directory with composer autoload #2664
    • ๐Ÿ› Bug: \I18n\Time object displaying +1 year when object date is set to 2021-12-31 #2663
    • ๐Ÿ› Bug: Route options filter didn't working #2654
    • ๐Ÿ› Bug: Error in Seeder #2653
    • ๐Ÿ› Bug: spark no longer lists function when used by without any parameters #2645
    • ๐Ÿ› Bug: Number Helper, Currency Fraction issue #2634
    • ๐Ÿ› Bug: forceHTTPS method ignores baseURL configuration when redirecting #2633
    • 0๏ธโƒฃ While serving Application on CLI using different port debugbar is still using a default 8080 port #2630
    • ๐Ÿ› Bug: spark migrate -all with appstarter #2627
    • ๐Ÿ› Bug: Problem when compiled vendor as PHAR file #2623
    • ๐Ÿ› Bug: debugbar javascript error #2621
    • ๐Ÿ› Bug: ResourceController json response always empty #2617
    • ๐Ÿ› Bug: Chrome logger does not work. #2616
    • ๐Ÿ› Bug: #2608
    • ๐Ÿ‘‰ User Guide is not in HTML in the download file #2607
    • Unnecessary files in the download installation #2606
    • ๐Ÿ› Bug: Class 'Kint\Renderer\Renderer' not found #2605
    • ๐Ÿ› Bug: Codeigniter4/framework composer.json not updated #2601
    • ๐Ÿ“š [Docs] Loading Environment into Configuration documentation described wrong #2554
    • ๐Ÿ› Bug: Sessions dont work on PostgreSQL #2546
    • ๐Ÿ› Bug: router service adds backslash to controllername if route is configured #2520
    • ๐Ÿ› Bug: JSONFormatter->format() cannot handle errordata, only outputs it's own error #2434
    • ๐Ÿ› Bug: HTTP Feature Testing only runs the FIRST test #2393
    • ๐Ÿ› Bug: Spark issue with PHP install location #2367
    • spark route issue #2194

    Closed issues:

    • Modular MVP on CI4 #2900
    • About javascript: void (0); #2887
    • Entity returns null when used on the model #2838
    • php spark migrate -g does not work #2832
    • ๐Ÿ› Bug: Namespacing of app/Config folder vs. app/Controller #2826
    • Controller Call to a member function getPost() on null #2823
    • โšก๏ธ QueryBuilder - Does not support JOIN in UPDATE #2799
    • Database model error when limiting delete() #2780
    • ๐Ÿ“ฆ codeigniter4/codeigniter4 package not exists in packagist #2753
    • datamap Entities not works! #2747
    • Error: Call to undefined function CodeIgniter\CLI\mb_strpos() #2746
    • ๐ŸŒฒ CodeIgniter\Log\Logger::logPath property is never used. #2738
    • ๐Ÿ› Bug: set_radio() in Form Helper does not work when radio button value equals "0" #2728
    • Array validation has a problem #2714
    • โœ‚ delete cookie not working #2700
    • โœ‚ remove default language local from url #2682
    • OpenSSLHandler: Encrypt/Decrypt #2680
    • RESTFUL API with CORS problem #2667
    • I guess there's no the third parameter #2657
    • 0๏ธโƒฃ set ci4 repo default branch = master #2643
    • ๐Ÿ› BUG: 4.0.2 Kint not found #2639
    • ๐Ÿ”‹ Feature: Migrate:Rollback/Refresh confirmation in production environment #2385

    ๐Ÿ”€ Merged pull requests:

    • ๐Ÿš€ 4.0.3 release #2912 (lonnieezell)
    • ๐Ÿ’… url_title() used CI3 style in user guide #2911 (jreklund)
    • ๐Ÿ›  fix undefined class 'CodeIgniter' #2910 (PingZii)
    • ๐Ÿ‘Œ Improved subjects in Controller and Routing chapter #2908 (jreklund)
    • ๐Ÿ›  Fix Model::first() only use orderBy() when group by is not empty #2907 (samsonasik)
    • ๐Ÿ‘ Allow bypassing content negotiation during API responses. #2904 (lonnieezell)
    • Ugtweaks #2903 (lonnieezell)
    • Carbonads #2902 (lonnieezell)
    • โž• Added information about the new features of the Pagination library #2901 (jlamim)
    • ๐Ÿ†• New features for pagination #2899 (jlamim)
    • ๐Ÿ›  Fixed lang() example in user guide #2898 (nmolinos)
    • ๐Ÿ‘‰ Make validation placeholders always available #2897 (jreklund)
    • ๐Ÿ [ci skip] Add make.bat for Windows users #2895 (paulbalandan)
    • โž• Added ability to delete row with string primary key via Model::delete($id) #2894 (samsonasik)
    • โšก๏ธ Update of the pagination template to make the correct use of the locale #2892 (jlamim)
    • [ci skip] route placeholders 'id' to 'num' #2891 (Instrye)
    • โš  [ci skip] fix warnings on compiling user guide #2886 (paulbalandan)
    • โž• Added more Common functions and improved rendering in userguide #2884 (jreklund)
    • ๐Ÿ— Build Your First Application used url_title incorrectly #2883 (jreklund)
    • [User guide] Correcting some details in the part that talks about model and entities #2878 (jlamim)
    • Shifted basic URI Routing examples down #2874 (nmolinos)
    • ๐Ÿ‘ Better locale matching against broad groups. Fixes #2774 #2872 (lonnieezell)
    • โœ… Fixes session active detection on force_https function and add more test CodeIgniter::forceSecureAccess() run force_https() #2871 (samsonasik)
    • ๐Ÿšš clean up use statements: remove unused and sort #2870 (samsonasik)
    • โœ… more test for View::renderString() for null tempData #2869 (samsonasik)
    • Localized label in validation rules #2868 (michalsn)
    • โšก๏ธ [ci skip] update translations version #2867 (Instrye)
    • ๐ŸŽ‰ Initialize $forge property in Seeder Class - fixes #2825 #2864 (jlamim)
    • ๐Ÿ›  fix. saveData not work #2861 (Instrye)
    • ๐Ÿ›  fix. getGetPost and getPostGet can't work in index empty #2860 (Instrye)
    • [ci skip]fix. getHeader return header object #2859 (Instrye)
    • ๐Ÿ›  fix. filters alias multiple #2857 (Instrye)
    • ๐Ÿ”ง [ci skip] typo fix Initial Configuration & Set Up #2856 (samsonasik)
    • Enclose file paths in double quotes to capture spaces #2853 (paulbalandan)
    • ๐Ÿ›  Strip directory separators from auto-generated cell cache name. Fixesโ€ฆ #2851 (lonnieezell)
    • Normalize dir separator of Exceptions::cleanPath and added more paths to clean #2847 (paulbalandan)
    • ๐Ÿ‘Œ Improve readability in the userguide with a fixed size #2846 (jreklund)
    • ๐Ÿ›  Fixed Issue #2840 on discovery of classes by FileLocator #2844 (paulbalandan)
    • โž• add $segment parameter in pager call by Model.php #2843 (paul45)
    • ๐Ÿ‘Œ Improve flash of unstyled content in userguide #2842 (jreklund)
    • โž• Add English message for "string" validation rule #2841 (rmilecki)
    • โœ… more tests for Common functions #2837 (samsonasik)
    • Pagination: open page > pageCount get last page #2834 (samsonasik)
    • โž• add ability for nested language definition #2833 (samsonasik)
    • ๐Ÿ“š Documentation fixes #2827 (pjio)
    • ๐Ÿ›  fix. URI path is empty #2824 (Instrye)
    • ignore coverage on exit and die #2820 (samsonasik)
    • โž• add respondUpdated() method into API\ResponseTrait #2816 (samsonasik)
    • ignore coverage on !CI_DEBUG #2814 (samsonasik)
    • ๐Ÿ›  Fix missing InvalidArgumentException in Database\BaseBuilder #2813 (samsonasik)
    • Ensure $_SERVER['SCRIPT_NAME'] ends with PHP #2810 (willnode)
    • ๐Ÿ‘ป make named constructor in Exception classes consistent: use return instead of throw #2809 (samsonasik)
    • โšก๏ธ Check if dataset is empty before Model update. #2808 (vibbow)
    • โœ… test Controller::validate() with string rules #2807 (samsonasik)
    • โœ… clean up buffer tweak in FeatureTestCaseTest #2805 (samsonasik)
    • using realpath() for define $pathsPath in index.php #2804 (samsonasik)
    • โž• add ext-mbstring to required and update regex that sanitize file name #2803 (samsonasik)
    • โž• Add resetting QBFrom part #2802 (michalsn)
    • โšก๏ธ Update Routes.php #2801 (mostafakhudair)
    • โž• add more test for Entity : 100% tested #2798 (samsonasik)
    • [ci skip] Fix download badge total shows #2797 (samsonasik)
    • โœ… test for I18n\Time::toFormattedDateString #2796 (samsonasik)
    • โœ… test Logger::determineFile() for no stack trace #2795 (samsonasik)
    • โœ… test CLI\CLI::strlen(null) #2794 (samsonasik)
    • โœ… test for API\ResponseTrait::format() with format is not json or xml #2793 (samsonasik)
    • โœ… test for View\Cell::render() with class has initController() method #2792 (samsonasik)
    • โœ… test Autoloader::initialize() with composer path not found #2791 (samsonasik)
    • โž• add ability to replace {locale} to request->getLocale() in form_open('action') #2790 (samsonasik)
    • โœ… test for IncomingRequest::getFileMultiple() #2789 (samsonasik)
    • โž• add MockEmail class #2788 (samsonasik)
    • โœ… test for CodeIgniter\Config\Services::email() #2785 (samsonasik)
    • 0๏ธโƒฃ make Model::paginate() use default perPage from Config\Pager->perPage if $perPage parameter not passed #2782 (samsonasik)
    • #2780 - LIMIT. #2781 (nowackipawel)
    • [ci skip] _remap method must have return #2779 (Instrye)
    • Rework get_filenames #2778 (MGatner)
    • ๐Ÿ›  Fix #2776 add ability to paginate() query with group by #2777 (samsonasik)
    • โšก๏ธ Update on "Build Your First Application" #2775 (jreklund)
    • ๐Ÿ›  Fix ? bind with := bind #2773 (musmanikram)
    • ๐Ÿ›  Fixed some styling in "Installation" chapter [ci skip] #2772 (jreklund)
    • โœ… Uncommented tests, mistake in my previous PR :( #2767 (musmanikram)
    • ๐Ÿ›  fix. MYSQLI::DBDebug can't woker #2755 (Instrye)
    • ๐Ÿ›  fix. delete_cookite can't delete alreday set Cookie #2709 (Instrye)
    • ๐Ÿ‘ Re-write userguide to support Python 3 and future proofing Sphinx #2671 (jreklund)
    • Colored table in CLI #2624 (enix-app)
  • v4.0.2 Changes

    February 25, 2020

    Full Changelog

    ๐Ÿ›  Fixed bugs:

    • ๐Ÿ› Bug: Your requirements could not be resolved to an installable set of packages. #2613

    ๐Ÿ”€ Merged pull requests:

    • โœ‚ Removed unused test class that was causing appstarter not to work from CLI. #2614 (lonnieezell)
    • โš  [UG] Fix all Sphinx warnings #2611 (LittleJ)
    • [UG] Sphinx_rtd_theme fixes and improvements #2610 (LittleJ)
  • v4.0.1 Changes

    February 24, 2020

    Full Changelog

    ๐Ÿ›  Fixed bugs:

    • ๐Ÿ› Bug: Difficult architecture of the codeigniter4 project #2602
    • ๐Ÿ› Bug: mentioned rc4 in the changelog file of V4 userguide #2599

    ๐Ÿ”€ Merged pull requests:

    • โšก๏ธ [doc] Removal of the 'rc' parameter from the installation / update coโ€ฆ #2604 (jlamim)
  • v4.0.0 Changes

    February 24, 2020

    Full Changelog

    ๐Ÿ›  Fixed bugs:

    • ๐Ÿ› Bug: CI cant display error with API Response Trait #2586
    • ๐Ÿ› Bug: testOrHavingBy() requires a select #2584
    • ๐Ÿ› Bug: Email->validateEmail() on wrong email address leads to TypeError #2580
    • ๐Ÿ› Bug: $forge->dropColumn not allowing arrays #2576
    • ๐Ÿ› Bug: CI4 set ID to NULL when I try insert a row #2557
    • "Required" rules are not being enforced at all by the model #2555
    • ๐Ÿ› Bug: Debug Bar showing before the head tag #2545
    • ๐Ÿ› Bug: Docs / Library Reference / Validation: missing important information on reset() method #2535
    • ๐Ÿ› Bug: system/Config/BaseService.php getSharedInstance() will not return mocks with non-lowercase key #2534
    • ๐Ÿ› Bug: multi-column WHERE not prefixed #2532
    • ๐Ÿ› Bug: CodeIgniter\Files\File::getSize() - wrong type of result #2476
    • ๐Ÿ› Bug: Move work with $_GET['page'] from Model to Pager #2467
    • ๐Ÿ› Bug: ImageHandler has no reality checks #2421
    • ๐Ÿ› Bug: No default HTTP protocol version is set when creating a new Response #2383
    • ๐Ÿ› Bug: Filter wildcards ignore default methods #2455
    • trailing slash cause redirect to root #2445
    • ๐Ÿ› Bug: Commands cannot accept many paths #2148

    Closed issues:

    • Add an 'alpha_numeric_punct' rule to FormatRules #2549
    • ๐Ÿ”‹ Feature: Forge, Adding Foreign key for table already created #2543
    • Error In UserGuide #2530
    • โœ… Lack of test on Travis for PHP 7.4 and tests don't run on upcoming PHP versions #2293
    • ๐Ÿ”‹ Feature: model helper #2292
    • ๐Ÿ”€ Issue with layouts renderer and sections => merge sections in one view #2491
    • โšก๏ธ Update package dependency version for kint-php/kint #2373

    ๐Ÿ”€ Merged pull requests:

  • v4.0.0-rc.4 Changes

    February 07, 2020

    Full Changelog

    ๐Ÿ›  Fixed bugs:

    • ๐Ÿ› Bug: Class 'Locale' not found when I try to use Time::parse() #2519
    • ๐Ÿ› Bug: Wrong Links for pager when having subfolders #2505
    • View Cell render not be call initController #2500
    • ๐Ÿ› Bug: user guide compile failed. #2492
    • ๐Ÿ› Bug: setAutoRoute to false not working #2480
    • ๐Ÿ› Bug: CodeIgniter\Router\Router->checkRoutes() strpos() expects parameter 1 to be string, array given #2479
    • ๐Ÿ› Bug: Unable to use ul() helper with out modification #2473
    • ๐Ÿ› Bug: Cannot pass value in the function in ControllerTest #2470
    • ๐Ÿ› Bug: $useTimestamps cause insert() exception #2469
    • ๐Ÿ› Bug: prototype of setBody($data); method in CodeIgniter\HTTP\Message should be changed to setBody(string $data); #2466
    • โšก๏ธ Don't update it. It's rubbishBug: #2463
    • ๐Ÿ› Bug: Autoload over Composer #2461
    • ๐Ÿ› Bug: The docs say composer install instead of composer required #2457
    • ๐Ÿ› Bug: if not CSPEnaled but i have some #2456
    • ๐Ÿ› Bug: IsAJAX() relies on inconsistent headers #2454
    • ๐Ÿ› Bug: #2448
    • ๐Ÿ› Bug: Double use where and etc #2444
    • ๐Ÿ› Bug: Double use esc function with form_input and etc... #2443
    • ๐Ÿ› Bug: Entity casts do not cast the original data #2441
    • ๐Ÿ› Bug: namespace view returns empty value #2440
    • ๐Ÿ› Bug: php spark Call to undefined function CodeIgniter\Autoloader\get_filenames() #2439
    • ๐Ÿ› Bug: Curly brace deprecation #2430
    • ๐Ÿ› Bug: Routes and Namespace #2423
    • ๐Ÿ› Bug: Validation not working #2418
    • ๐Ÿ› Bug: Baseservice - getSharedInstance #2414
    • ๐Ÿ› Bug: base_url() and redirect() not honoring baseURL with paths #2409
    • form_input double escaping data why ? #2405
    • ๐Ÿ› Bug: initController not called in ResourceController #2404
    • ๐Ÿ› Bug: #2397
    • URL Helper safe_mailto UTF8Bug: #2396
    • CSRF Filter redirect back not working #2395
    • ๐Ÿ› Bug: 404 error page override with cache #2391
    • ๐Ÿ› Bug: Mixed migration formats don't order #2386
    • ๐Ÿ› Bug: \CodeIgniter\Model::validate() returns TRUE if $data is empty #2384
    • ๐Ÿ› Bug: Usage of static::methodName in CodeIgniter\Config\Services prevents Service overriding #2376
    • ๐Ÿ› Bug: Duplicate headers in response #2375
    • ๐Ÿ› Bug: Nothing work with minimal config (DIRECTORY SEPARATOR) #2370
    • ๐Ÿ› Bug: current_url function not working as expected. #2365
    • ๐Ÿ› Bug: localhost development server after edit the content not updated or reloaded #2363
    • ๐Ÿ› Bug: with the parser, nl2br in a foreach duplicates entries. #2360
    • ๐Ÿ› Bug: Prevents the use of global functions with parameters [Validation] #2357
    • ๐Ÿ› Bug: lang('app.name') should prefer APPPATH.Language/Validation/en/app.php over installed packages #2354
    • ๐Ÿ› Bug: Inappropriate delimiter used in fillRouteParams #2353
    • ๐Ÿ› Bug: Please there is issue on the time and date guide in codeigniter 4 #2351
    • ๐Ÿ› Bug: Model()->find(null) should return null value #2350
    • ๐Ÿ› Bug: URL, Redirect and Pagination misbehave #2347
    • ๐Ÿ› Bug: Toolbar ErrorException Division by zero #2340
    • ๐Ÿ› Bug: Cannot pass a string param with a space to a custom parser plugin #2318
    • ๐Ÿ› Bug: Logger Path Duplicated #2286
    • ๐Ÿ› Bug: Email: SMTP Protocol Implementation @ Data Termination #2274
    • ๐Ÿ› Bug: Redirect to route ignores path set in baseurl #2119

    Closed issues:

    • ๐Ÿ‘ท $routes not do the job as well #2531
    • Multiple composer.json handling in codeigniter!! #2528
    • โฌ†๏ธ Mention about events in the upgrading doc pages #2521
    • Missing Constant in E-Mail #2512
    • Image Manipulation Class #2498
    • Schema param in the .env file #2483
    • system\Database\MigrationRunner->regress() resets instance variable $namespace to null #2474
    • Issue passing data to views #2464
    • ๐Ÿ“œ currentURL & previousURL doesnt work in parser #2460
    • Double quotes #2459
    • ๐Ÿ”‹ Feature about Localization #2419
    • ๐Ÿ“š Documentation Fix Needed #2412
    • No such file or Directory found In Ubuntu 19.10 #2394
    • previous_url() not loading the base path together #2378
    • Wrong Logo on GitHub page #2372
    • ๐Ÿ“œ How to use the pagination with view parser? #2371
    • ๐Ÿ”‹ Feature Request: Validation: in_db[table.field] #2366
    • ๐Ÿ”‹ Feature request #2361
    • ๐Ÿ”‹ Feature: AJAX route option #2310
    • Return value of CodeIgniter\Database\BaseConnection::getConnectStart() must be of the type float, null returned #2158
    • ๐Ÿ”’ Create Security Guideline #73

    ๐Ÿ”€ Merged pull requests:

  • v4.0.0-rc.3 Changes

    October 19, 2019

    Full Changelog

    ๐Ÿ›  Fixed bugs:

    • Route can not work: Controller or its method is not found #2299
    • ๐Ÿ CURLRequest - supplied argument is not a valid File-Handle resource #Windows x64 #2202
    • FilterExceptions result in blank page #2077

    Closed issues:

    • Codeigniter 4 not redirecting well. is not including the baseUrl well on redirect #2342
    • Session variable value set to 0 #2334
    • Undefined variable: errors SYSTEMPATH/Validation/Validation.php at line 651 #2331
    • Router Regex not working with controllers #2330
    • --host,--port and others are not working #2329
    • Type juggling can be eliminated if these three small changes are made #2326
    • url_title doesn't handle diacritics #2323
    • View Cell Feature ? #2322
    • autoRoute function issue in case of sub-directory #2319
    • Can't store multidimensional data with Session Library #2309
    • Model()->find() return NULL for existing row #2306
    • ๐Ÿ“š Requesting Model::getValidationRules() documentation #2304
    • Routes Not working #2301
    • ๐Ÿšš ViewPath cannot be moved only another path added #2291
    • ๐Ÿ”– Version not updated? #2287
    • _remap is not working #2277
    • Debug Toolbar error not found tpl error and fix #2275
    • cURL request returns 404 #2250
    • Problem with renaming deleted_at column inside model #2248
    • App\Config\Routes loaded twice #2203
    • ๐Ÿ”‹ Feature idea: Model results by key #2167
    • โœ‚ Remove "separator" comment between function declarations? #2146
    • find() is returning one character string instead of boolean #2096
    • Database Groups in Migrations #2087
    • "Cannot call session save handler in a recursive manner" #2056
    • Model afterInsert return originals? #2045
    • debug toolbar renderTimeline couses a non well formed numeric value encountered error #2034
    • โšก๏ธ Mysql update , affectedRows return bug #2003
    • โž• Add validation on exists database before created #1759

    ๐Ÿ”€ Merged pull requests:

    • Prep changelog for RC.3 [ci skip] #2349 (jim-parry)
    • CodeIgniter Foundation gets copyright [ci skip] #2348 (jim-parry)
    • ๐Ÿ›  Fix FilerHandlerTest.php wierdness #2346 (dafriend)
    • ๐Ÿ’… Tests readme polish #2345 (dafriend)
    • Setup vs Set Up #2344 (dafriend)
    • ๐Ÿ›  User guide minor fixes. Fix class names and code area. #2343 (natanfelles)
    • Simplify Validation::getErrors() #2341 (dafriend)
    • ๐Ÿ›  Fix Session::get('key') returns null when value is (int) 0 #2339 (dafriend)
    • โช Revert RedirectException change #2338 (MGatner)
    • [ci skip] Guide: Minor grammar corrections #2337 (dafriend)
    • ๐Ÿ Correct cleaning of namespaces in FileLocater for better Windows compatibility. See #2203 #2336 (lonnieezell)
    • [ci skip] Guide: RESTful table formatting #2333 (MGatner)
    • ๐Ÿ”„ Change after methods to use actual data #2332 (MGatner)
    • โšก๏ธ Update Application Structure #2328 (kenjis)
    • Correct the routing UG page #2327 (jim-parry)
    • ๐Ÿ›  Fix bug in url_title() function with diacritics #2325 (michalsn)
    • Renderer Toolbar Debug Toggle #2324 (MGatner)
    • โšก๏ธ [ci skip] Update RESTful User Guide #2321 (MGatner)
    • โž• Add getValidationRules() to model UG page #2316 (jim-parry)
    • โœจ Enhance Toolbar::renderTimeline #2315 (jim-parry)
    • RESTful User Guide cleanup #2313 (MGatner)
    • BaseBuilder variable type fix #2312 (TysiacSzescset)
    • Convert all language returns to single quote #2311 (MGatner)
    • ๐Ÿ›  Bugfix extra autoroute slashes #2308 (MGatner)
    • Resolve session save handler issue #2307 (jim-parry)
    • ๐Ÿ›  Fix curl debug bug #2305 (michalsn)
    • ๐Ÿ‘‰ Use DBGroup variable from migration class if defined #2303 (michalsn)
    • ๐Ÿ›  Fix MySql _fromTables() #2302 (pjsde)
    • [ci skip] Routes collector for toolbar should not die when a method name is calculated through _remap #2300 (lonnieezell)
    • ๐Ÿ›  fix issue on session_regenerate. #2298 (pjsde)
    • โž• Add counted() to Inflector Helper #2296 (MGatner)
    • ๐Ÿ— Test set() method in Builder class more #2295 (michalsn)
    • ๐Ÿ›  Fix Code Modules documentation for psr4 namespace configuration #2290 (romaven)
    • Don't restrict model's access to properties in a read-only manner #2289 (lonnieezell)
    • ๐Ÿ›  Fix line numbering in Debug/Exceptions class #2288 (michalsn)
    • ๐Ÿ›  Fix error with Host header for CURLRequest class #2285 (michalsn)
    • ๐Ÿ›  Fix getErrors() for validation with redirect #2284 (michalsn)
    • Rename collectors _*.tpl.php to _*.tpl #2283 (MGatner)
    • ๐Ÿ› Bug in CSRF parameter cleanup #2279 (michalsn)
    • ๐Ÿšง WIP fix store() default value bug #2123 (s-proj)
    • ๐Ÿšง WIP Added validation on exists database before created for MySQLiโ€ฆ #2100 (oleg1540)