CodeIgniter4/changelogs/CHANGELOG_4.1.md
2023-01-17 09:59:38 +09:00

59 KiB
Raw Permalink Blame History

Changelog 4.1

v4.1.9 (2022-02-25)

Full Changelog

SECURITY

  • Remote CLI Command Execution Vulnerability was fixed. See the Security advisory for more information.
  • Cross-Site Request Forgery (CSRF) Protection Bypass Vulnerability was fixed. See the Security advisory for more information.

v4.1.8 (2022-01-24)

Full Changelog

SECURITY

  • XSS Vulnerability in the API\ResponseTrait was fixed. See the Security advisory for more information.

v4.1.7 (2022-01-09)

Full Changelog

Breaking Changes

Fixed Bugs

v4.1.6 (2022-01-03)

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 (2021-11-08)

Full Changelog

Fixed bugs:

Implemented enhancements:

Merged pull requests:

New Contributors

v4.1.4 (2021-09-06)

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 (2021-06-06)

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 <EFBFBD>: Unexpected character #4708
  • Bug: Query Builder breaks with SQL function LENGTH() and column name "row" #4687

Merged pull requests:

v4.1.2 (2021-05-18)

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
  • 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 (2021-02-01)

Full Changelog

Fixed bugs:

  • Fixed an issue where .gitattributes was preventing framework downloads

v4.1.0 (2021-01-31)

Full Changelog

Implemented enhancements:

See CHANGELOG_4.0.md