All Versions
37
Latest Version
Avg Release Cycle
41 days
Latest Release
96 days ago

Changelog History
Page 2

  • v4.1.6 Changes

    January 03, 2022

    Full Changelog

    ๐Ÿ”’ SECURITY

    • Deserialization of Untrusted Data found in the old() function was fixed. See the Security advisory for more information.

    ๐Ÿ’ฅ Breaking Changes

    ๐Ÿ›  Fixed Bugs

    ๐Ÿ†• New Features

    โœจ Enhancements

    ๐Ÿ”จ Refactoring

    ๐Ÿ†• New Contributors

  • v4.1.5 Changes

    November 08, 2021

    Full Changelog

    ๐Ÿ›  Fixed bugs:

    Implemented enhancements:

    ๐Ÿ”€ Merged pull requests:

    ๐Ÿ†• New Contributors

  • v4.1.4 Changes

    September 06, 2021

    Full Changelog

    ๐Ÿš€ 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

    ๐Ÿ†• New Contributors

  • v4.1.3 Changes

    June 06, 2021

    Full Changelog

    ๐Ÿ›  Fixed bugs:

    • ๐Ÿ› Bug: Error using SQLITE3 strftime in CodeIgniter 4.1.2 #4760
    • ๐Ÿ› Bug: Caching something through cron, is not accessible in the web application #4751
    • ๐Ÿ› Bug: SQLite Drop Column #4746
    • ๐Ÿ› Bug: CURL Class - BaseURI options notworking #4713
    • ๐Ÿ› Bug: autorouting #4711
    • ๐Ÿ› Bug: curlrequest not using baseURI on localhost #4707
    • ๐Ÿ› Bug: cli not working with cron #4699

    Closed issues:

    • ๐Ÿ› Bug: Class 'Locale' not found #4775
    • ๐Ÿ› Bug: deprecated notice on CodeIgniter\HTTP\RequestInterface::getMethod() #4717
    • ๐Ÿ‘ Allow to join models between primary keys and foreign keys #4714
    • DateTime::__construct(): Failed to parse time string () at position 0 (๏ฟฝ): Unexpected character #4708
    • ๐Ÿ› Bug: Query Builder breaks with SQL function LENGTH() and column name "row" #4687

    ๐Ÿ”€ Merged pull requests:

  • v4.1.2 Changes

    May 17, 2021

    Full Changelog

    Implemented enhancements:

    • ๐Ÿ†• New HTTP classes, Cookie and CookieStore, for abstracting web cookies.
    • ๐Ÿ†• New assertRedirectTo() assertion available for HTTP tests.
    • ๐Ÿ†• New logger handler, ErrorlogHandler, that writes to error_log().
    • Entity. Added custom type casting functionality.
    • ๐Ÿ†• New option in routing. The priority option lower the priority of specific route processing.
    • The 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:

    • ๐Ÿ—„ Deprecated Codeigniter\View\View::$currentSection property.
    • ๐Ÿ—„ Language strings and exceptions on invalid cookie samesite are deprecated for the CookieException's own exception message.
    • ๐Ÿ—„ Deprecated CodeIgniter\Entity in favor of CodeIgniter\Entity\Entity
    • ๐Ÿ—„ Deprecated cookie-related properties of Response in order to use the Cookie class.
    • ๐Ÿ”’ Deprecated cookie-related properties of Security in order to use the Cookie class.
    • ๐Ÿ—„ Deprecated cookie-related properties of Session in order to use the Cookie class.
    • ๐Ÿ”’ Deprecated Security::isExpired() to use the Cookie's internal expires status.
    • โœ… Deprecated CIDatabaseTestCase to use the DatabaseTestTrait instead.
    • โœ… Deprecated FeatureTestCase to use the FeatureTestTrait instead.
    • โœ… Deprecated ControllerTester to use the ControllerTestTrait instead.
    • โœ… Consolidated and deprecated ControllerResponse and FeatureResponse in favor of TestResponse.
    • ๐Ÿ—„ Deprecated Time::instance(), use Time::createFromInstance() instead (now accepts DateTimeInterface).
    • ๐Ÿšš Deprecated IncomingRequest::removeRelativeDirectory(), use URI::removeDotSegments() instead
    • ๐Ÿ—„ Deprecated \API\ResponseTrait::failValidationError to use \API\ResponseTrait::failValidationErrors instead

    ๐Ÿ›  Fixed bugs:

    • ๐Ÿ› Bug: NULL Fields definition not working for MSQLi Forge in Migration due property $_null and $null names difference #4693
    • ๐Ÿ› Bug: Missing Cookie Config #4619
    • ๐Ÿ› Bug: #4610
    • ๐Ÿ› Bug: Customized Validation language does not take effect #4597
    • ๐Ÿ› Bug: colon issue in query binding #4595
    • ๐Ÿ› Bug: set_checkbox() default value not working #4582
    • ๐Ÿ› Bug: Request & Response objects stored multiple times #4580
    • ๐Ÿ› Bug: Class information on output is missing during migrate:rollback command #4579
    • ๐Ÿ› Bug: Cookie path replaced with system's PATH env variable #4559
    • ๐Ÿ› Bug: Validation::withRequest() method does not receive data. #4552
    • esc and nl2br combo gives nasty HTML error output #4533
    • ๐Ÿ› Bug: typo error when creating a model using php spark make:model #4525
    • Bug: if_exist not working with ".*" notation #4521
    • ๐Ÿ› Bug: Query::matchSimpleBinds index problem only toolbar. #4518
    • ๐Ÿ› Bug: Unable to use debugger toolbar on a live server #4516
    • Missing config options and config options repetition #4504
    • ๐Ÿ› Bug: db:create command should create database even database not exists yet, and defined in .env #4498
    • ๐Ÿ› Bug: Differences in file names created with CLI command #4495
    • ๐Ÿ› Bug: Session removeTempdata() method not accepting arrays. #4490
    • ๐Ÿ› Bug: Session remove() method not removing tempdata sessions. #4489
    • ๐Ÿ› Bug: Session getFlashdata() not support for dot notation. #4488
    • ๐Ÿ› Bug: New Service replacement fails at service provider precedence on core factory implementations #4483
    • ๐Ÿ› Bug: Filter is not work ! #4482
    • ๐Ÿ› Bug: PHPStorm anlysis fault #4474
    • ๐Ÿ› Bug: apache mod_userdir causes weird URL segment duplication #4471
    • Postgre Forge doesn't use schema in creating tables #4469
    • ๐Ÿ› Bug: UG QueryBuilder::from() wrong SQL example. #4464
    • ๐Ÿ› Bug: results on getX() not equal #4452
    • ๐Ÿ› Bug: Queries with LOWER( throwing errors #4443
    • ๐Ÿ› Bug: RouteCollection::getHTTPVerb() can return null #4435
    • ๐Ÿ› Bug: can't run spark migrate on CI server #4428
    • ๐Ÿ› Bug: URI Routing Placeholders #4421
    • ๐Ÿ› Bug: Third Flags needs default #4411
    • ๐Ÿ› Bug: another Flags needs default #4410
    • ๐Ÿ› Bug: Flags needs default value #4409
    • ๐Ÿ› Bug: log_message passed object #4407
    • ๐Ÿ› Bug: Model creation error #4393
    • ๐Ÿ› Bug: If the file name contains "app", "php spark make: migration" will not create it successfully. #4383
    • ๐Ÿ› Bug: IncomingRequest.php getVar() #4381
    • ๐Ÿ› Bug: Minimum PHP Version Discrepancy #4361
    • ๐Ÿ› Bug: insertBatch generates an incorrect SQL query if the fields differ only in number at the end #4345
    • ๐Ÿ› Bug: Database/Live tests fail #4336
    • ๐Ÿ› Bug: red line on model by setPrefix & prefixTable #4329
    • ๐Ÿ› Bug: $model->errors() produce output when no error #4323
    • ๐Ÿ› Bug: Can't Rewrite System Validation Messages #4318
    • ๐Ÿ› Bug: "useSoftDelete" for model files generated by phpspark #4316
    • ๐Ÿ› Bug: require the unused namespace #4309
    • ๐Ÿ› Bug: FeatureTest cannot assert Status(404) #4306
    • ๐Ÿ› Bug: BaseBuilder->_insert #4302
    • ๐Ÿ› Bug: previous_url() contains current URL after reloading a page. #4299
    • ๐Ÿ› Bug: Cannot add route to controller in filename with dash/hyphen #4294
    • ๐Ÿ› Bug: FeatureTest dies when throws RedirectException/cached page #4288
    • ๐Ÿ› Bug: /test.php show home page #4263
    • ๐Ÿ› Bug: Fabricator::fake() function is breaking when it returns an array #4261
    • ๐Ÿ› Bug: Session issue with CI Environment set to Testing (CI4) #4248
    • ๐Ÿ› Bug: Wrong HTML code in output of "form_input" helper function #4235
    • ๐Ÿ‘‰ make:scaffold input information is missing #4230
    • ๐Ÿ› Bug: CodeIgniter 4.1.1 - csrf token is always regenerated #4224
    • ๐Ÿ› Bug: getFileMultiple expects an "0" index but string is given #4221
    • ๐Ÿ› Bug: cannot resolve Services::xxx() #4220
    • Bug: tfoot_open / tfoot_close have no default when using custom table template #4219
    • ๐Ÿ› Bug: Spark PHP version #4213
    • ๐Ÿ› Bug: Soft deletes and model validation when unique #4162
    • ๐Ÿ› Bug: Debug Toolbar - Memory Leak - Allocation Exception #4137
    • current_url() global method returning URLs without the index.php part. #4116
    • ๐Ÿ› Bug: appstarter HealthTest::testBaseUrlHasBeenSet fails #3977
    • ๐Ÿ› Bug: Time::createFromTimestamp() uses default timezone, not UTC for timestamp #3951
    • ๐Ÿ› Bug: Unexpected filter behavior #3874
    • ๐Ÿ› Bug: Double initializing of class #3855
    • ๐Ÿ› Bug: Registrars take priority over .env #3845
    • ๐Ÿ› Bug: SQLite3 NOT NULL prevents inserts #3599
    • ๐Ÿ› Bug: Model doesn't reset errors in FeatureTestCase #3578
    • ๐Ÿ› Bug: Problem in "/system/Database/Query.php" function "compileBinds()" #3566
    • ๐Ÿ› Bug: Exceptions cause risky Feature Tests #3114
    • ๐Ÿ› Bug: current_url() loses subdomain #3004

    Closed issues:

    • mysqli_sql_exception #2002 #4640
    • ๐Ÿ‘ป intl - Name missing exception #4636
    • โšก๏ธ HUGE BUG: update() function updates all records if id is empty #4617
    • ๐Ÿ› Bug: Validation rule "matches" doesn't work #4615
    • ๐Ÿ› Bug: chmod 777 writable/cache fixed codeignitor install for me #4598
    • Model->where method does not exist #4583
    • Transactions between two databases #4578
    • Bug: Mysql connection issue with MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT #4558
    • ๐Ÿš€ Release cycle #4526
    • Call to a member function setContentType() on null - Responsetrait #4524
    • ๐Ÿ› Bug: mock single_service #4515
    • ๐Ÿ› Bug: failed to open stream #4514
    • Array Validation Fails #4510
    • ๐Ÿ› Bug: return $this->failValidationError($validation->getErrors()) Has Invalid Signature #4506
    • ๐Ÿ› Bug: Ok The Model ERRORS came right back with the newest build again! #4491
    • ๐Ÿ› Bug: Composer install loads require-dev when I require another package #4477
    • Logger #4460
    • ๐Ÿ› Bug: Improve creation of scaffolds with the CLI #4441
    • โœ… Request: Feature Test Optimization #4438
    • request.getVar not populated with GET parameters | unexpected behavior #4418
    • 0๏ธโƒฃ Running via CLI - Only Default Controller works #4415
    • ๐Ÿ“œ Parser content typehint [strict_types=1] #4412
    • Toolbar::setFiles() requires int [strict_types=1] #4408
    • ๐Ÿ”‹ FeatureTest currently supports file testing? #4405
    • ๐Ÿ› Bug: set404Override now working in group rotes #4400
    • Dynamic URL #4394
    • ErrorException preg_replace_callback(): Unknown modifier '{' SYSTEMPATH/View/Parser.php at line 584 #4367
    • ๐Ÿ”‹ Feature: In HTTP Feature Testing, delivering in body in application/json format #4362
    • โœ… [Dev] Database Live Tests should depart from using deprecated CIDatabaseTestCase #4351
    • ๐Ÿ› Bug: Migration in module (different namespace) do not find migrations #4348
    • ๐Ÿ› Bug: getVar does not look at $_SESSION as documentation suggests #4284
    • QBSelect, QBFrom, other properties cannot be accessed, modified from the model. #4255
    • Dev: Restrictions on trait "ResponseTrait" #4238
    • ๐Ÿ‘ ResponseTrait trait > Can the description support array? #4237
    • ๐Ÿ”‹ Feature: add old data in afterUpdate model event #4234
    • Dev: #4233
    • โœ… Cache unable to write to /var/www/html/ci4test/writable/cache/ #4227
    • ๐Ÿ“š Documentation: multiple databases setup in the ENV also need to be setup in the database config file #4218
    • ๐Ÿ“š Documentation: $this->request->setLocale() is missing in documentation #4091
    • vars in .env sometimes returns null #3992
    • ๐Ÿ“œ parseRequestURI dose not override globals['server'] ? #3976
    • ๐Ÿ”‹ Feature: Spark header Suppression #3918
    • ๐Ÿ”‹ Feature: AJAX filters don't work #2314
    • Request: Bulk route filters with parameters #2078
    • Need a global way to set config values dynamically #1661
    • ๐Ÿ”‹ Feature Request : support the db config instead of .env while the core is initialzed #1618
    • ๐Ÿ‘ TODO Database BaseConnection needs better connections #1253

    ๐Ÿ”€ Merged pull requests:

  • 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)