v4.1.9 (2022-02-25)
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)
SECURITY
- XSS Vulnerability in the
API\ResponseTrait
was fixed. See the Security advisory for more information.
v4.1.7 (2022-01-09)
Breaking Changes
- fix: replace deprecated FILTER_SANITIZE_STRING by @kenjis in codeigniter4#5555
Fixed Bugs
- fix: BaseConnection::getConnectDuration() number_format(): Passing null to parameter by @kenjis in codeigniter4#5536
- Fix: Debug toolbar selectors by @iRedds in codeigniter4#5544
- Fix: Toolbar. ciDebugBar.showTab() context. by @iRedds in codeigniter4#5554
- Refactor Database Collector display by @paulbalandan in codeigniter4#5553
v4.1.6 (2022-01-03)
SECURITY
- Deserialization of Untrusted Data found in the
old()
function was fixed. See the Security advisory for more information.
Breaking Changes
- fix: Incorrect type
BaseBuilder::$tableName
by @kenjis in codeigniter4#5378 - fix: Validation cannot handle array item by @kenjis in codeigniter4#5405
Fixed Bugs
- fix: FileLocator cannot find files in sub-namespaces of the same vendor by @kenjis in codeigniter4#5292
- fix: add a workaround for upgraded users who do not update Config\Exceptions by @kenjis in codeigniter4#5314
- Fix db escape negative integers by @kenjis in codeigniter4#5277
- Fix: remove incorrect processing of CLI params by @kenjis in codeigniter4#5274
- fix: table alias is prefixed when LIKE clause by @kenjis in codeigniter4#5361
- fix:
dot_array_search()
unexpected array structure causes Type Error by @kenjis in codeigniter4#5372 - fix: UploadedFile::move() may return incorrect value by @kenjis in codeigniter4#5302
- fix: BaseModel::insert() may not pass all the values from Entity by @katie1348 in codeigniter4#4980
- fix:
IncomingRequest::getJsonVar()
may cause TypeError by @kenjis in codeigniter4#5392 - chore: fix example test code for appstarter and module by @kenjis in codeigniter4#5421
- fix: Model::save() may call unneeded countAllResults() by @kenjis in codeigniter4#5439
- fix: errors when MariaDB/MySQL has
ANSI_QUOTES
enabled by @kenjis in codeigniter4#5425 - fix: Security class sends cookies immediately by @kenjis in codeigniter4#5429
- fix:
is_cli()
returnstrue
when$_SERVER['HTTP_USER_AGENT']
is missing by @kenjis in codeigniter4#5393 - fix:
MySQLi\Connection::_foreignKeyData()
may return duplicated rows by @kenjis in codeigniter4#5416 - fix:
number_to_currency()
error on PHP 8.1 by @kenjis in codeigniter4#5454 - fix: VENDORPATH definition by @kenjis in codeigniter4#5453
- fix: Throttler does not show correct token time by @kenjis in codeigniter4#5470
- fix: directory_mirror() throws an error if destination directory exists by @kenjis in codeigniter4#5493
- fix: KINT visual error when activating CSP by @kenjis in codeigniter4#5501
New Features
- feat: add filter to check invalid chars in user input by @kenjis in codeigniter4#5227
Enhancements
- Add support for PHP 8.1 by @paulbalandan in codeigniter4#4883
- Toolbar - Make it possible to turn off var data collection by @najdanovicivan in codeigniter4#5295
- feat: add CSRF token randomization by @kenjis in codeigniter4#5283
- Display file:line and trace information to database queries in debug toolbar by @lonnieezell in codeigniter4#5334
- feat: add SecureHeaders filter by @kenjis in codeigniter4#5419
- Feature: BaseBuilder instance as subquery. by @iRedds in codeigniter4#5488
Refactoring
- Do not inappropriately register bind when the value is a closure by @vlakoff in codeigniter4#5247
- refactor: replace $request->uri with $request->getUri() by @kenjis in codeigniter4#5346
- Determine if binds are simple or named by looking at the $binds array by @vlakoff in codeigniter4#5138
- Remove unneeded cast to array by @vlakoff in codeigniter4#5379
- Additional fix for deprecated
null
usage by @paulbalandan in codeigniter4#5388 - refactor: dot_array_search() regex by @kenjis in codeigniter4#5443
- refactor: Time::getDst() by @kenjis in codeigniter4#5415
- The View class. Optimizing duplicate code. by @iRedds in codeigniter4#5455
- refactor: fix
ThrottleTest::testFlooding
by @kenjis in codeigniter4#5463 - refactor: update deprecated method in DatetimeCast by @kenjis in codeigniter4#5474
- Remove semicolons from SQL statements. by @ytetsuro in codeigniter4#5513
New Contributors
- @katie1348 made their first contribution in codeigniter4#4980
v4.1.5 (2021-11-08)
Fixed bugs:
- Fix entity name generation when bundled in model by @paulbalandan in codeigniter4#5055
- Fix
Model::__call
throwingBadMethodCallException
on empty results by @ytetsuro in codeigniter4#5139 - Fixed an issue where the dropForeginKey method would execute an empty query when the dropConstraintStr property was empty. by @ytetsuro in codeigniter4#5173
- Update 'updated_at' when enabled in replace() by @paulbalandan in codeigniter4#4684
- Fix query binding with two colons in query by @kenjis in codeigniter4#5117
- Fixed the problem that _createTable does not take into account that it returns true. by @ytetsuro in codeigniter4#5133
- Fixed a problem with not run escape for identities in like when
insensitiveSearch
is true. by @ytetsuro in codeigniter4#5170 - Fixed an issue where an unnecessary prefix was given when the random number was a column. by @ytetsuro in codeigniter4#5179
- Always escape identifiers in the set(), setUpdateBatch(), and insertBatch() by @ytetsuro in codeigniter4#5132
- Error when value is an object - validating api data by @daycry in codeigniter4#5142
- Fix color not updated in several places of the precompiled CSS by @vlakoff in codeigniter4#5155
- Fix debugbar styles printing by @paulbalandan in codeigniter4#5100
- Fix highlighting in database debug toolbar by @vlakoff in codeigniter4#5129
- Fix debug toolbar db connection count by @danielTiringer in codeigniter4#5172
- Fix CSRF filter does not work when set it to only post by @kenjis in codeigniter4#5194
- Add CSRF Protection for PUT/PATCH/DELETE by @kenjis in codeigniter4#5228
- Fix GC issue when session lifetime is set to 0 by @lf-uraku-yuki in codeigniter4#4744
- Fix wrong helper path resolution by @paulbalandan in codeigniter4#5246
- Fix: remove CURLRequest headers sharing from $_SERVER by @kenjis in codeigniter4#5249
- Fix Localization not working/being ignored for 404 page by @kenjis in codeigniter4#5267
- fix: module filters are not discovered when using route filters by @kenjis in codeigniter4#5280
- IncomingRequest - Trim trailing slash by @najdanovicivan in codeigniter4#4974
- Previous Responses by @MGatner in codeigniter4#5034
- (Paging) Ensure page validity by @puschie286 in codeigniter4#5125
- Fix variable variable
$$id
in RedisHandler by @Terrorboy in codeigniter4#5062 - Fixes and enhancements to Exceptions by @paulbalandan in codeigniter4#5052
Implemented enhancements:
- feat:
_
can be used as separators in environment variable names by @kenjis in codeigniter4#5156 - Multiple filters for a route and classname filter by @kenjis in codeigniter4#5128
- Feature - Mark duplicate queries by @danielTiringer in codeigniter4#5185
- [Debug] Add formatted query string to timeline. by @sfadschm in codeigniter4#5196
- [Debug] Improve keyword highlighting and escaping of query strings. by @sfadschm in codeigniter4#5200
- Add
dropKey
method toForge
by @ytetsuro in codeigniter4#5171 - Reduce memory usage of insertBatch(), updateBatch() by @kenjis in codeigniter4#5202
- Add Session based CSRF Protection by @kenjis in codeigniter4#5201
- feat: add valid_url_strict rule by @kenjis in codeigniter4#5268
Merged pull requests:
- Merge branch '4.2' by @paulbalandan in codeigniter4#5060
- Update to latest laminas-escaper 2.9.0 by @samsonasik in codeigniter4#5065
- Remove unintended dead code in pre-commit by @kenjis in codeigniter4#5116
- Adjust orange color in debug toolbar by @vlakoff in codeigniter4#5136
- Extract method to get prefix for DB access function by @ytetsuro in codeigniter4#5178
- Improve
model()
auto-completion by @kenjis in codeigniter4#5186 - Rename toolbar loader to be a regular JS file by @paulbalandan in codeigniter4#5224
- [HTTP] Update Http Status Description based on latest iana.org by @samsonasik in codeigniter4#5235
- Remove CSRF properties by @kenjis in codeigniter4#5231
- Remove static variables for PHP 8.1 by @kenjis in codeigniter4#5262
- Replace usage of
FILTER_SANITIZE_STRING
by @paulbalandan in codeigniter4#5263 - Simplify logic of
number_to_roman
function by @paulbalandan in codeigniter4#5270 - Fix compatibility of
PgSql\Result
on closing the result instance by @paulbalandan in codeigniter4#5279 - Fix compatibility of Postgres result for PHP 8.1 by @paulbalandan in codeigniter4#5278
New Contributors
- @Terrorboy made their first contribution in codeigniter4#5062
- @vlakoff made their first contribution in codeigniter4#5136
- @Felipebros made their first contribution in codeigniter4#5152
- @daycry made their first contribution in codeigniter4#5142
- @danielTiringer made their first contribution in codeigniter4#5172
v4.1.4 (2021-09-06)
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
- Use php-cs-fixer as coding style tool by @paulbalandan in codeigniter4#4770
- Remove unused local variables by @jeromegamez in codeigniter4#4783
- Use static lambda if a binding to
$this
is not required. by @jeromegamez in codeigniter4#4784 - Use/Fix
preg_quote()
delimiters by @jeromegamez in codeigniter4#4789 - Don't override
$path
parameter by @jeromegamez in codeigniter4#4787 - Don't override
$value
parameter by @jeromegamez in codeigniter4#4788 - Add brackets to clarify intent and avoid unwanted side-effects by @jeromegamez in codeigniter4#4791
- Remove removed
safe_mode
ini Option by @jeromegamez in codeigniter4#4795 - It will fix undefined index cid error when sending emails with embedded images by @mmfarhan in codeigniter4#4798
- Revert Model coalesce by @MGatner in codeigniter4#4819
- Master language constructs shall be used instead of aliases. by @paulbalandan in codeigniter4#4847
- [Commands] Remove unused $minPHPVersion property at Serve command by @samsonasik in codeigniter4#4852
- Update to latest laminas-escaper ^2.8 by @samsonasik in codeigniter4#4878
- Remove 'memory_usage' from 'displayPerformanceMetrics()' comment by @Mauricevb in codeigniter4#4939
- Remove useless code separator comments by @paulbalandan in codeigniter4#4946
- Optimize Filters by @mostafakhudair in codeigniter4#4965
- Fix properly the phpstan error in 0.12.93 by @paulbalandan in codeigniter4#4970
- Manual cleanup of docblocks and comments by @paulbalandan in codeigniter4#4964
- Make Cookie compatible with ArrayAccess by @paulbalandan in codeigniter4#5004
- Replace deprecated FILTER_SANITIZE_STRING by @paulbalandan in codeigniter4#5005
- Make CookieStore compatible with IteratorAggregate::getIterator by @paulbalandan in codeigniter4#5010
- Make the session handlers all compatible with SessionHandlerInterface by @paulbalandan in codeigniter4#5012
- Make CITestStreamFilter compatible with php_user_filter by @paulbalandan in codeigniter4#5014
- Make Time compatible with DateTime by @paulbalandan in codeigniter4#5022
- Add
ReturnTypeWillChange
attribute to Entity by @paulbalandan in codeigniter4#5028 - Replace unused Entity private method by @paulbalandan in codeigniter4#5029
- Make File compatible with SplFileInfo by @paulbalandan in codeigniter4#5040
- Update documentation code samples by @paulbalandan in codeigniter4#5039
- PHP Copy-Paste Detector by @MGatner in codeigniter4#5031
- Fix key casting in form_dropdown helper. by @sfadschm in codeigniter4#5035
- Switch to official coding standard by @paulbalandan in codeigniter4#5038
New Contributors
- @mmfarhan made their first contribution in codeigniter4#4798
- @Mauricevb made their first contribution in codeigniter4#4939
v4.1.3 (2021-06-06)
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:
- Expand Query named binds recognition #4769 (paulbalandan)
- [Rector] Remove @var from class constant #4766 (samsonasik)
- Set WarningsReturnAsErrors = 0 before connection #4762 (obelisk-services)
- [Rector] Apply Rector: VarConstantCommentRector #4759 (samsonasik)
- [Autoloader] include_once is not needed on Autoloader::loadClass() with no namespace #4756 (samsonasik)
- Fix imagemagick build #4755 (michalsn)
- [Rector] Apply Rector: MoveVariableDeclarationNearReferenceRector #4752 (samsonasik)
- SQLite3 "nullable" #4749 (MGatner)
- Remove $response variable at ControllerResponse::__construct() as never defined #4747 (samsonasik)
- Use variable for Config/Paths config to reduce repetitive definition #4745 (samsonasik)
- [Rector] Apply Rector : ListToArrayDestructRector #4743 (samsonasik)
- Add default TTL #4742 (MGatner)
- update return sample of
dot array\_search\(\)
#4740 (totoprayogo1916) - Additional check for
$argv
variable when detecting CLI #4739 (paulbalandan) - Ensure variable declarations #4737 (jeromegamez)
- Fix setting of value in Cookie's flag attributes #4736 (paulbalandan)
- Add missing imports #4735 (jeromegamez)
- Add environment spark command #4734 (paulbalandan)
- Remove explicit condition that is always true #4731 (jeromegamez)
- Deduplicate code #4730 (jeromegamez)
- Replace
isset\(\)
with the??
null coalesce operator #4729 (jeromegamez) - Remove unused imports #4728 (jeromegamez)
- Fix truncated SCRIPT_NAME #4726 (MGatner)
- Expand CLI detection #4725 (paulbalandan)
- [Rector] Add custom Rector Rule: RemoveErrorSuppressInTryCatchStmtsRector rector rule #4724 (samsonasik)
- Test with MySQL 8 #4721 (jeromegamez)
- Replace URI string casts #4716 (MGatner)
- Format URI directly #4715 (MGatner)
- Additional File functions #4712 (MGatner)
- Remove unused private rowOffset property in Database/SQLSRV/Result.php #4709 (samsonasik)
- Check for configured instead of hard-coded database in DbUtilsTest #4705 (jeromegamez)
- Revert UG margins #4704 (MGatner)
- Create .git/hooks directory if not already present #4703 (jeromegamez)
- Annotate specifically designed slow tests with custom limits #4698 (paulbalandan)
- Cache robustness #4697 (MGatner)
v4.1.2 (2021-05-18)
Implemented enhancements:
- New HTTP classes,
Cookie
andCookieStore
, for abstracting web cookies. - New
assertRedirectTo()
assertion available for HTTP tests. - New logger handler,
ErrorlogHandler
, that writes toerror_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 ofnon-class
files will be listed in the$files
property ofConfig\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 ofCodeIgniter\Entity\Entity
- Deprecated cookie-related properties of
Response
in order to use theCookie
class. - Deprecated cookie-related properties of
Security
in order to use theCookie
class. - Deprecated cookie-related properties of
Session
in order to use theCookie
class. - Deprecated
Security::isExpired()
to use theCookie
's internal expires status. - Deprecated
CIDatabaseTestCase
to use theDatabaseTestTrait
instead. - Deprecated
FeatureTestCase
to use theFeatureTestTrait
instead. - Deprecated
ControllerTester
to use theControllerTestTrait
instead. - Consolidated and deprecated
ControllerResponse
andFeatureResponse
in favor ofTestResponse
. - Deprecated
Time::instance()
, useTime::createFromInstance()
instead (now acceptsDateTimeInterface
). - Deprecated
IncomingRequest::removeRelativeDirectory()
, useURI::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
andnl2br
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:
- Fix nullable type not showing in SQL string #4696 (paulbalandan)
- Add reference to cache repo #4694 (MGatner)
- Allow CI Environments #4692 (MGatner)
- Add URI cast #4691 (MGatner)
- MockCache::getCacheInfo() #4689 (MGatner)
- Remove Psr\Cache #4688 (MGatner)
- Spacing issues #4686 (MGatner)
- [Rector] Update rector 0.11.2 and phpstan 0.12.86 #4685 (samsonasik)
- Optimize CommandRunner and Commands #4683 (paulbalandan)
- Revert Actions minor version #4682 (MGatner)
- Revert Actions minor versioning #4681 (MGatner)
- Bump shivammathur/setup-php from 2 to 2.11.0 #4679 (dependabot[bot])
- Bump actions/checkout from 2 to 2.3.4 #4678 (dependabot[bot])
- [Rector] Update rector to 0.10.22, remove symplify/composer-json-manipulator #4677 (samsonasik)
- URL Functions #4675 (MGatner)
- Remove unused imports #4674 (paulbalandan)
- Split URL Helper tests #4672 (MGatner)
- [Rector] Apply Rector: RemoveUnusedPrivatePropertyRector #4671 (samsonasik)
- [UG] update line number for "managing apps" #4670 (totoprayogo1916)
- Add setLocale to UG #4669 (MGatner)
- UTC Time from timestamp #4668 (MGatner)
- PSR: Cache #4667 (MGatner)
- Limit cache filenames #4666 (MGatner)
- Use descriptive failure message for
assertLogged
#4665 (paulbalandan) - [Rector] Use $containerConfigurator->import() instead of "sets" Option #4664 (samsonasik)
- Update rector/rector requirement from 0.10.19 to 0.10.21 #4663 (dependabot[bot])
- Spark header suppression #4661 (MGatner)
- Registrar and .env priority #4659 (MGatner)
- Reset Single Service #4657 (MGatner)
- Unify migration message format for
migrate
andmigrate:rollback
#4656 (paulbalandan) - [Scripts] Make sure bash script still works in Windows #4655 (paulbalandan)
- change instance() to createFromInstance() #4654 (totoprayogo1916)
- Add branch alias for develop branch #4652 (paulbalandan)
- Refactor URI detection #4651 (MGatner)
- [Scipts] Ensure admin/setup.sh exists before run bash admin/setup.sh #4650 (samsonasik)
- Update rector/rector requirement from 0.10.17 to 0.10.19 #4649 (dependabot[bot])
- [ci skip] Remove ajax filter reference from docs. Fixes #2314 #4648 (lonnieezell)
- Internal URI handling #4646 (MGatner)
- URI::removeDotSegments() #4644 (MGatner)
- [Rector] Pin "nikic/php-parser": "4.10.4" #4642 (samsonasik)
- Update to psr/log v1.1.4 #4641 (paulbalandan)
- Update rector/rector requirement from 0.10.15 to 0.10.17 #4639 (dependabot[bot])
- Update MockCache #4638 (MGatner)
- Cache Key Validation #4637 (MGatner)
- [Cache] Allow covariant returns and optimize code #4635 (paulbalandan)
- Refactor ComposerScripts #4634 (paulbalandan)
- Expand Time for interface #4633 (MGatner)
- Patch Log code #4631 (MGatner)
- Cache Returns Types #4630 (MGatner)
- Cache getMetadata() Format #4629 (MGatner)
- fix(cache): add check for redis empty results in deleteMatching #4628 (yassinedoghri)
- Update rector/rector requirement from 0.10.12 to 0.10.15 #4627 (dependabot[bot])
- Add fallback for Config\Cookie #4625 (paulbalandan)
- [Test] Use @codeCoverageIgnore for deprecated class/method #4623 (samsonasik)
- Fix: Nested sections rendering #4622 (iRedds)
- Update rector/rector requirement from 0.10.11 to 0.10.12 #4621 (dependabot[bot])
- Update phpstan/phpstan requirement from 0.12.84 to 0.12.85 #4620 (dependabot[bot])
- Bump actions/github-script from v4.0.1 to v4.0.2 #4614 (dependabot[bot])
- Update rector/rector requirement from 0.10.9 to 0.10.11 #4613 (dependabot[bot])
- [Rector] Refactor UnderscoreToCamelCaseVariableNameRector with latest Rector compatible code #4612 (samsonasik)
- [Feat][Autoloader] Allow autoloading non-class files #4611 (paulbalandan)
- failValidationError can take an array of errors #4609 (caswell-wc)
- assertJsonFragment fails gracefully with invalid json #4608 (caswell-wc)
- Non-persistent fake #4607 (caswell-wc)
- Fix validation of array data #4606 (paulbalandan)
- Use realpath() to fix app prioritization of validation messages #4605 (paulbalandan)
- Optimizations for Autoloader #4604 (paulbalandan)
- format style #4603 (totoprayogo1916)
- whitespaces #4602 (totoprayogo1916)
- [Rector] Apply Full PHP 7.3 Rector Set List (Skip JsonThrowOnErrorRector & StringifyStrNeedlesRector) #4601 (samsonasik)
- Bump actions/github-script from v3 to v4.0.1 #4599 (dependabot[bot])
- Simplify Cookie Class #4596 (mostafakhudair)
- Fix service methods …$params type #4594 (najdanovicivan)
- Fix new service replacement service provider precedence on core factory implementations #4593 (element-code)
- Update rector/rector requirement from 0.10.6 to 0.10.9 #4592 (dependabot[bot])
- Debug/Toolbar - Memory issue fix #4590 (najdanovicivan)
- BaseModel - Add public getIdValue() method #4589 (najdanovicivan)
- Feature: Escaping array dot notation #4588 (iRedds)
- Update phpstan/phpstan requirement from 0.12.83 to 0.12.84 #4587 (dependabot[bot])
- extra </li> in tabs area #4586 (jbrahy)
- user_guide update: remove whitespaces, convert tabs to spaces & adjust the over-extended lines #4585 (totoprayogo1916)
- Fix: BaseModel. Removed duplicate code. #4581 (iRedds)
- Change Entity Namespace #4577 (mostafakhudair)
- [Rector] Remove RemoveDefaultArgumentValueRector #4576 (samsonasik)
- [Rector] Add Comment for reason RemoveDefaultArgumentValueRector copied to utils/Rector #4575 (samsonasik)
- [Rector] Copy RemoveDefaultArgumentValueRector to utils/Rector #4574 (samsonasik)
- Fix: Validation::withRequest() with Content-Type: multipart/form-data #4571 (iRedds)
- [Rector] Update Rector 0.10.6, re-enable auto imports #4569 (samsonasik)
- feat(cache): add deleteMatching method to remove multiple cache items #4567 (yassinedoghri)
- Mysql connection issue with MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT #4566 (fedeburo)
- Bump actions/cache from v2.1.4 to v2.1.5 #4564 (dependabot[bot])
- [Rector] Apply Rector: UnnecessaryTernaryExpressionRector #4563 (samsonasik)
- Check intl extension loaded on check min PHP version #4562 (samsonasik)
- Prefix calls to getenv() during config resolution #4561 (paulbalandan)
- [Rector] Apply Rector: ChangeArrayPushToArrayAssignRector #4560 (samsonasik)
- [Rector] Enable check tests/system/Models #4557 (samsonasik)
- Debugging SQL Server in Actions #4554 (paulbalandan)
- Support for masking sensitive debug data #4550 (pixobit)
- Use message directly if intl is not available #4549 (paulbalandan)
- Add compatibility for strict types #4548 (paulbalandan)
- Removes deprecated settings in env file #4547 (paulbalandan)
- Fix wrong argument passed in doc #4546 (paulbalandan)
- Fix dot notation for if_exist #4545 (paulbalandan)
- Relocate cookie exception #4544 (mostafakhudair)
- [Rector] Apply RemoveDefaultArgumentValueRector #4543 (samsonasik)
- Fix html formatting for exceptions and errors #4542 (musmanikram)
- Create Config::Cookie Class #4508 (mostafakhudair)
v4.1.1 (2021-02-01)
Fixed bugs:
- Fixed an issue where .gitattributes was preventing framework downloads
v4.1.0 (2021-01-31)
Implemented enhancements:
- Rector 0.9 fixes #4196
- Cannot declare class Config\App error on running PHPUnit #4114
- Backfill non-optional parameters (codeigniter4#3938)
- Change deprecated assertFileNotExists (codeigniter4#3862)
See CHANGELOG_4.0.md