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)
v4.0.5 (2021-01-31)
Deprecations:
CodeIgniter\Database\ModelFactory
is now deprecated in favor ofCodeIgniter\Config\Factories::models()
CodeIgniter\Config\Config
is now deprecated in favor ofCodeIgniter\Config\Factories::config()
- HTTP Layer Refactor: Numerous deprecations have been made towards a transition to a PSR-compliant HTTP layer. See the User Guide
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()
andUploadedFile->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:
- Finishing touches to generator refactor #4197 (paulbalandan)
- Add additional empty checks after field protection for update/insert. #4195 (sfadschm)
- Minor fixes in Common.php #4192 (kenjis)
- Fix Parser file path in ViewException message is empty #4191 (kenjis)
- docs: Fix double "the" #4190 (kenjis)
- Fix typo in IncomingRequestTest #4189 (kenjis)
- feat: add methods to get page numbers in PagerRenderer #4188 (kenjis)
- fix: UploadedFile::store() return type inconsistancy #4187 (kenjis)
- Add STL mime support #4186 (MGatner)
- [Rector] Run Rector when composer.json updated #4185 (samsonasik)
- new array helper: array_flatten_with_dots #4184 (paulbalandan)
- fix: BaseBuilder::getCompiledDelete() runs real query #4181 (kenjis)
- fix the missing / hidden userguide #4175 (totoprayogo1916)
- Revert "Update phpstan/phpstan requirement from 0.12.69 to 0.12.70" #4173 (samsonasik)
- Add missing escaping in error_exception.php #4171 (kenjis)
- Update phpstan/phpstan requirement from 0.12.69 to 0.12.70 #4170 (dependabot[bot])
- add phpunit.xml.dist to .gitattributes for admin/framework #4163 (samsonasik)
- Fix strict checking for SQLite3 memory filename #4161 (paulbalandan)
- Discuss dbcreate in userguide #4160 (paulbalandan)
- Fix misplaced closing tbody #4159 (paulbalandan)
- [Develop] Fixes #4114 Cannot declare class Config\App error on running PHPUnit #4157 (samsonasik)
- Specifically exclude migrations from class mapping #4156 (paulbalandan)
- config: add logger.threshold in env as comment #4153 (kenjis)
- Update phpstan/phpstan requirement from 0.12.68 to 0.12.69 #4152 (dependabot[bot])
- convert indentation from tabs to spaces & update code-block [changelogs, database] #4150 (totoprayogo1916)
- Fix for retrieving migration history #4147 (michalsn)
- Fix phpstan notice #4146 (samsonasik)
- Update docs for Entity #4145 (michalsn)
- update faker #4139 (totoprayogo1916)
- docs: add table of contents in 2 libs #4138 (kenjis)
- PHPStan Fixes #4136 (MGatner)
- prep_url() with https:// #4135 (totoprayogo1916)
- Update phpstan/phpstan requirement from 0.12.65 to 0.12.68 #4134 (dependabot[bot])
- set uppercase #4132 (totoprayogo1916)
- remove useless "raw html" #4131 (totoprayogo1916)
- Fix errors/html/error_exception.php #4128 (kenjis)
- set note-block for some notes #4127 (totoprayogo1916)
- Fix
@var
in SessionTestCase. #4124 (kenjis) - Fix Session phpdoc #4123 (kenjis)
- Refactor Generators #4121 (mostafakhudair)
- Fix few typos. #4119 (npwsamarasinghe)
- Precise exception trace #4118 (paulbalandan)
- Wrap extract calls in IIFEs in View #4113 (paulbalandan)
- Fix Request::withMethod() #4112 (paulbalandan)
- Cache remember #4107 (agungsugiarto)
- docs: change sample code of redirect() to be more common #4106 (kenjis)
- Add Cache File mode #4103 (MGatner)
- Clarify Renderer discrepancy #4102 (MGatner)
- Catch DateTime failure #4097 (MGatner)
- Fix URL type. #4095 (npwsamarasinghe)
- Fixed a bug where a newline was treated as a valid value even if it was included at the end. #4094 (ytetsuro)
- BaseModel/Model - Removed $escape from doUpdate #4090 (najdanovicivan)
- BaseConnection - Added automatic handling of query class for 3rd party drivers #4089 (najdanovicivan)
- Fix loss of escape value and data in the model #4088 (michalsn)
- Use getMimeType instead of getClientMimeType. #4085 (sfadschm)
- fix codeblock in installing_composer.rst #4083 (totoprayogo1916)
- Fixing a bug in Message::isJSON #4081 (caswell-wc)
- Get JSON Variable #4080 (caswell-wc)
- Fix userguide indent #4078 (totoprayogo1916)
- DebugToolbar - Handle Query display in Query class #4077 (najdanovicivan)
- Update userguide indentation #4075 (totoprayogo1916)
- docs: fix models indentation #4073 (kenjis)
- BaseModel/Model - Attempt to rework escape parameter #4072 (najdanovicivan)
- Model/BaseModel - Fix primary key and add @throws for builder method #4071 (najdanovicivan)
- Fix DOMParser rules to search also outside the body tag #4070 (michalsn)
- Warn users on system messages being for internal use #4068 (paulbalandan)
- Remove discussion on LoggerAwareTrait #4067 (paulbalandan)
- PHPStan Ignore File #4065 (MGatner)
- site_url tests #4063 (MGatner)
- Use full table name with schema for SQLSRV #4058 (michalsn)
- fix userguide config path #4057 (totoprayogo1916)
- Solidate mime type guessing. #4056 (sfadschm)
- Add mime type for rar files #4054 (michalsn)
- Fix for deleting session flash data in php8 #4053 (michalsn)
- Added omitted function parameter description. #4052 (francis94c)
- New Year 2021 #4051 (totoprayogo1916)
- Fix countAll() docs #4050 (kenjis)
- adds BaseResult::getNumRows(). adds getNumRows to various DBMS Result classes #4049 (sneakyimp)
- [UG] a comma after use: i.e., and e.g., #4042 (totoprayogo1916)
- Fix database test case test #4041 (kenjis)
- Add initDriver Method #4040 (mostafakhudair)
- docs: fix general indentation #4039 (kenjis)
- fix codeblock #4037 (totoprayogo1916)
- Remove 'tests' #4034 (totoprayogo1916)
- Alias Forge with use operator #4032 (mostafakhudair)
- New line for License copyright #4029 (totoprayogo1916)
- Rename Sqlsrv driver #4023 (mostafakhudair)
- PHP 8 Actions #4012 (MGatner)
- feat: make migration/seed settings flexible on database testing #3993 (kenjis)
- Deprecate redundant HTTP keys #3973 (paulbalandan)
- Replace Core Services #3943 (MGatner)
- Handling requests sent back from filters #3900 (caswell-wc)
- DX: Split Model testing into several subunits #3891 (paulbalandan)
v4.0.4 (2020-07-15)
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:
- Changelog update #3322 (michalsn)
- Changelog for 4.0.4 update #3321 (michalsn)
- Fix protocol version for DownloadResponse #3320 (michalsn)
- Add Honeypot::$container to env file #3318 (paulbalandan)
- Pass filter arguments to after() and before() methods #3316 (tangix)
- count on \Config\Services #3308 (mostafakhudair)
- Add hex2bin prefix handling for encryption key #3307 (michalsn)
- add break; in foreach at Time::getDst() when daylightSaving set #3305 (samsonasik)
- New command: cache:clear #3304 (lonnieezell)
- force_https didn’t force https #3302 (colethorsen)
- add test for CommandRunner::_remap() with empty first params #3301 (samsonasik)
- FieldData -> add typeName field and length field #3299 (devorama)
- reduce repetitive getDefaultNamespace() and controllerName() function call in Router #3298 (samsonasik)
- Fix PHPDocs for Filters #3296 (paulbalandan)
- Fix PHPDocs for HTTP #3295 (paulbalandan)
- Update phpdoc.dist.xml #3293 (paulbalandan)
- Fix for force_https() function #3292 (michalsn)
- Fix PHPDocs for I18n #3291 (paulbalandan)
- Fix PHPDocs for Router #3290 (paulbalandan)
- Fix PHPDocs for CLI #3289 (paulbalandan)
- add JSON_NUMERIC_CHECK to json encode options #3288 (devorama)
- typo fix s/Memcached/Redis in RedisHandler cache #3285 (samsonasik)
- optimize Session : use foreach instead of for with count when possible #3284 (samsonasik)
- using strpos instead of substr when possible #3283 (samsonasik)
- optimize Database BaseBuilder : use foreach instead of for with count when possible #3282 (samsonasik)
- optimize RouteCollection : use foreach instead of for with count when possible #3281 (samsonasik)
- optimize FileLocator autoloader : use foreach instead of for with count when possible #3280 (samsonasik)
- Fix "100 Continue" header handling in CURLRequest class #3274 (michalsn)
- cs fix in Session class #3272 (samsonasik)
- Throttler code style update #3271 (michalsn)
- cs : remove unused import use statements and sort use statements #3270 (samsonasik)
- Add more URI class tests to fully illustrate current behavior #3269 (michalsn)
- Fix Image::save() when target value is null #3268 (michalsn)
- Use named variable in honeypot container #3267 (michalsn)
- Check server headers via Request class #3265 (michalsn)
- PHPUnit-annotate untestable code in CLI #3264 (paulbalandan)
- Update phpdocs of Cache library #3263 (paulbalandan)
- Update htaccess #3262 (paulbalandan)
- Fixes #3125 : add ability to override existing translation en in system language from App #3254 (samsonasik)
- Add Fabricator model error #3253 (MGatner)
- Implement model callback overrides #3252 (MGatner)
- Fix PHPDocBlock of Images library #3250 (paulbalandan)
- Update html_helper.rst #3248 (avegacms)
- Update html_helper.php #3247 (avegacms)
- Syntax fix for migration.rst #3244 (paulbalandan)
- Run apidocs action only when system files are changed #3241 (paulbalandan)
- Fix formatting issue in userguide/outgoing/view_parser #3240 (Connum)
- Add ability to call commands programatically. #3238 (lonnieezell)
- Reset Filters between feature tests #3237 (MGatner)
- Fix CLI::validate() usage when using dot sign #3236 (michalsn)
- Remove cilexer from gitignore #3235 (paulbalandan)
- Feature seed command #3234 (abilioposada)
- more test Files\File class #3232 (samsonasik)
- more tests on Autoloader\FileLocator #3231 (samsonasik)
- Fix set_checkbox() and set_radio() when default is set to true #3229 (michalsn)
- Use Throwable in catch block of filesystem helper #3227 (paulbalandan)
- Check color support for STDERR for CLI::error #3226 (paulbalandan)
- Fix 'exit code 23' in apidocs action #3225 (paulbalandan)
- Fix result object handling in Model class #3224 (michalsn)
- Fix update query to return false on error #3223 (michalsn)
- Fix insert Entity object on postgres #3222 (MashinaMashina)
- DatabaseTestCase migrations #3221 (MGatner)
- Allow ignoring *.db inside folders #3220 (paulbalandan)
- SQLite3 escapeChar fix #3219 (michalsn)
- Remove underscore in UG build path #3218 (paulbalandan)
- add test for Filters with empty except #3215 (samsonasik)
- remove unnecessary foreach in RouteCollection::checkSubdomains() #3214 (samsonasik)
- Add Fabricator counts #3213 (MGatner)
- Cast currentPage value to integer in Pager class #3209 (michalsn)
- Allow dashes in the CLI segment #3208 (michalsn)
- Fix for getting database error #3207 (michalsn)
- Fixed #3199 #3203 (mpmont)
- Fix extra slash in URI #3202 (MGatner)
- Update for FabricatorLiveTest #3201 (michalsn)
- Add closing parenthesis #3200 (abilioposada)
- Hide in bootstrap4 #3197 (Sosko)
- The permissions of the new file should be modified, not the old file #3196 (wangyupeng)
- Fix default value for page in Model::paginate() #3194 (michalsn)
- Test Case Mocking #3193 (MGatner)
- ArgType 'String' is not valid in MessageFormatter class (fixes #3191) #3192 (HughieW)
- Bugfix: Multipart Content-Length #3189 (MGatner)
- Add apidocs action #3183 (paulbalandan)
- Improve CLI clear screen #3182 (paulbalandan)
- Refactor color detection in CLI #3181 (paulbalandan)
- Use explicit 'PHP_EOL' in wordwrap #3179 (paulbalandan)
- Add webp support to Image class #3176 (michalsn)
- Fix for multicolored strings in CLI #3175 (michalsn)
- Add Unicode support for regular expressions in router #3172 (michalsn)
- Add the upload artifact action #3167 (paulbalandan)
- More robust color support detection in CLI #3165 (paulbalandan)
- Fix testMode() for batch methods in Model #3163 (michalsn)
- Update delete_files() helper function #3162 (michalsn)
- Refresh Composer files #3153 (MGatner)
- use writable directory for sqlite default location #3151 (samsonasik)
- Add webp support to Image Manipulation Class #3084 (nicojmb)
- Bug fix in Throttler class check validation #2873 (jlamim)
v4.0.3 (2020-05-01)
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
- 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
- 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)
- 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)
4.0.2 (2020-02-25)
Fixed bugs:
- Bug: Your requirements could not be resolved to an installable set of packages. #2613
Merged pull requests:
- Removed unused test class that was causing appstarter not to work from CLI. #2614 (lonnieezell)
- [UG] Fix all Sphinx warnings #2611 (LittleJ)
- [UG] Sphinx_rtd_theme fixes and improvements #2610 (LittleJ)
v4.0.1 (2020-02-24)
Fixed bugs:
- Bug: Difficult architecture of the codeigniter4 project #2602
- Bug: mentioned rc4 in the changelog file of V4 userguide #2599
Merged pull requests:
4.0.0 (2020-02-24)
Fixed bugs:
- Bug: CI cant display error with API Response Trait #2586
- Bug: testOrHavingBy() requires a select #2584
- Bug: Email->validateEmail() on wrong email address leads to TypeError #2580
- Bug: $forge->dropColumn not allowing arrays #2576
- Bug: CI4 set ID to NULL when I try insert a row #2557
- "Required" rules are not being enforced at all by the model #2555
- Bug: Debug Bar showing before the head tag #2545
- Bug: Docs / Library Reference / Validation: missing important information on reset() method #2535
- Bug: system/Config/BaseService.php getSharedInstance() will not return mocks with non-lowercase key #2534
- Bug: multi-column WHERE not prefixed #2532
- Bug: CodeIgniter\Files\File::getSize() - wrong type of result #2476
- Bug: Move work with $_GET['page'] from Model to Pager #2467
- Bug: ImageHandler has no reality checks #2421
- Bug: No default HTTP protocol version is set when creating a new Response #2383
- Bug: Filter wildcards ignore default methods #2455
- trailing slash cause redirect to root #2445
- Bug: Commands cannot accept many paths #2148
Closed issues:
- Add an 'alpha_numeric_punct' rule to FormatRules #2549
- Feature: Forge, Adding Foreign key for table already created #2543
- Error In UserGuide #2530
- Lack of test on Travis for PHP 7.4 and tests don't run on upcoming PHP versions #2293
- Feature: model helper #2292
- Issue with layouts renderer and sections => merge sections in one view #2491
- Update package dependency version for kint-php/kint #2373
Merged pull requests:
- Deprecate Devstarter, add
builds
#2598 (MGatner) - Fix typo issues causing Sphinx warnings + Update "Welcome page" screenshot #2597 (LittleJ)
- Update sphinx_rtd_theme from version 0.2.4 to version 0.4.3 #2596 (LittleJ)
- Fixed Bug: testOrHavingBy() requires a select | #2584 #2595 (jlamim)
- Add Slack to the "Support" section of the documentation #2594 (LittleJ)
- Fixed links to the AJAX Requests details page #2593 (jlamim)
- Add color scheme information in the documentation #2592 (LittleJ)
- User Guide authentication recommendations #2591 (MGatner)
- Add a "Go further" section on the welcome page #2590 (LittleJ)
- Add DotEnv::parse() #2588 (MGatner)
- Better debug routes #2587 (atishamte)
- Typos change in contributing.md #2583 (atishamte)
- Fix type error in email validation #2582 (musmanikram)
- Fixed Markdown heading #2581 (ImMaax)
- Cache FileHandler unlink exception #2579 (MGatner)
- Fix drop column with array #2578 (musmanikram)
- Refactor Tests #2577 (MGatner)
- Subfolder base_url() with parameter #2574 (MGatner)
- Image verification #2573 (MGatner)
- Use default protocol if unspecified #2572 (MGatner)
- Retain CLI segments #2571 (MGatner)
- Model's set method should accept not only string #2570 (nowackipawel)
- Use lowercase service names #2569 (MGatner)
- Apply User Guide code style to Errors #2567 (MGatner)
- Move debug toolbar after head tag. Fixes #2545 #2566 (MGatner)
- Updates To Kint Loading #2565 (najdanovicivan)
- Updated loader and composer script to use Kint 3.3 for #2373 #2564 (lonnieezell)
- Added rule "alpha_numeric_punct" #2562 (dafriend)
- Fix - Add ajax to docs "General " page [ci skip] #2561 (dafriend)
- MySQLi: Incorrect DBDebug flag used for connection charset #2558 (jreklund)
- Update File.php #2552 (thanhtaivtt)
- disable buffer check on "testing" environment #2551 (samsonasik)
- Improved view: welcome_message.php #2550 (Vizzielli)
- Add retry creation server when the port is used #2544 (thanhtaivtt)
- New "welcome" page #2541 (LittleJ)
- valid_ip removed $data which was causing exception #2540 (nowackipawel)
- explanation of reset() method in section Working With Validation fixes #2535 #2539 (bivanbi)
- Update TravisCI config for PHP7.4 #2537 (musmanikram)
- Fix multi-column WHERE not prefixed with DBPrefix #2533 (musmanikram)
- Update images.rst #2529 (avegacms)
- Added new model helper method. #2514 (lonnieezell)
- Debug bar: Dark/light mode + Complete CSS refactoring #2478 (LittleJ)
- WIP Update Validation.php #2083 (MohKari)
v4.0.0-rc.4 (2020-02-07)
Fixed bugs:
- Bug: Class 'Locale' not found when I try to use Time::parse() #2519
- Bug: Wrong Links for pager when having subfolders #2505
- View Cell render not be call initController #2500
- Bug: user guide compile failed. #2492
- Bug: setAutoRoute to false not working #2480
- Bug: CodeIgniter\Router\Router->checkRoutes() strpos() expects parameter 1 to be string, array given #2479
- Bug: Unable to use ul() helper with out modification #2473
- Bug: Cannot pass value in the function in ControllerTest #2470
- Bug: $useTimestamps cause insert() exception #2469
- Bug: prototype of setBody($data); method in CodeIgniter\HTTP\Message should be changed to setBody(string $data); #2466
- Don't update it. It's rubbishBug: #2463
- Bug: Autoload over Composer #2461
- Bug: The docs say
composer install
instead ofcomposer required
#2457 - Bug: if not CSPEnaled but i have some #2456
- Bug: IsAJAX() relies on inconsistent headers #2454
- Bug: #2448
- Bug: Double use where and etc #2444
- Bug: Double use esc function with form_input and etc... #2443
- Bug: Entity casts do not cast the original data #2441
- Bug: namespace view returns empty value #2440
- Bug: php spark Call to undefined function CodeIgniter\Autoloader\get_filenames() #2439
- Bug: Curly brace deprecation #2430
- Bug: Routes and Namespace #2423
- Bug: Validation not working #2418
- Bug: Baseservice - getSharedInstance #2414
- Bug: base_url() and redirect() not honoring baseURL with paths #2409
- form_input double escaping data why ? #2405
- Bug: initController not called in ResourceController #2404
- Bug: #2397
- URL Helper safe_mailto UTF8Bug: #2396
- CSRF Filter redirect back not working #2395
- Bug: 404 error page override with cache #2391
- Bug: Mixed migration formats don't order #2386
- Bug: \CodeIgniter\Model::validate() returns TRUE if $data is empty #2384
- Bug: Usage of
static::methodName
in CodeIgniter\Config\Services prevents Service overriding #2376 - Bug: Duplicate headers in response #2375
- Bug: Nothing work with minimal config (DIRECTORY SEPARATOR) #2370
- Bug: current_url function not working as expected. #2365
- Bug: localhost development server after edit the content not updated or reloaded #2363
- Bug: with the parser, nl2br in a foreach duplicates entries. #2360
- Bug: Prevents the use of global functions with parameters [Validation] #2357
- Bug: lang('app.name') should prefer APPPATH.Language/Validation/en/app.php over installed packages #2354
- Bug: Inappropriate delimiter used in fillRouteParams #2353
- Bug: Please there is issue on the time and date guide in codeigniter 4 #2351
- Bug: Model()->find(null) should return null value #2350
- Bug: URL, Redirect and Pagination misbehave #2347
- Bug: Toolbar ErrorException Division by zero #2340
- Bug: Cannot pass a string param with a space to a custom parser plugin #2318
- Bug: Logger Path Duplicated #2286
- Bug: Email: SMTP Protocol Implementation @ Data Termination #2274
- Bug: Redirect to route ignores path set in baseurl #2119
Closed issues:
- $routes not do the job as well #2531
- Multiple composer.json handling in codeigniter!! #2528
- Mention about events in the upgrading doc pages #2521
- Missing Constant in E-Mail #2512
- Image Manipulation Class #2498
- Schema param in the .env file #2483
- system\Database\MigrationRunner->regress() resets instance variable $namespace to null #2474
- Issue passing data to views #2464
- currentURL & previousURL doesnt work in parser #2460
- Double quotes #2459
- Feature about Localization #2419
- Documentation Fix Needed #2412
- No such file or Directory found In Ubuntu 19.10 #2394
- previous_url() not loading the base path together #2378
- Wrong Logo on GitHub page #2372
- How to use the pagination with view parser? #2371
- Feature Request: Validation: in_db[table.field] #2366
- Feature request #2361
- Feature: AJAX route option #2310
- Return value of CodeIgniter\Database\BaseConnection::getConnectStart() must be of the type float, null returned #2158
- Create Security Guideline #73
Merged pull requests:
- Update manual.rst #2527 (avegacms)
- Page in the official documentation on ajax requests with iSAJAX() fixes #2454 #2526 (jlamim)
- Remove incorrect inline doc type #2525 (MGatner)
- Restore namespace after regress. Fixes #2474 #2524 (MGatner)
- Replace legacy CI3 constant. Fixes #2512 #2523 (MGatner)
- Adding Events information in the 'Upgrading from 3.x to 4.x' section #2522 (jlamim)
- Fix pager URI to work in subfolders. #2518 (lonnieezell)
- HTML Helper - Fix attribute type for lists #2516 (najdanovicivan)
- Layout Renderer Fix #2515 (najdanovicivan)
- [ci skip] Typo in userguide "Entity Classes - Business Logic" #2513 (jreklund)
- Database add highlight #2511 (MashinaMashina)
- Revert Renderer section reset #2509 (MGatner)
- Update ordering of search locations for better prioritization. Fixes #2354 #2507 (lonnieezell)
- Proposal: HTTP Response - Fix crash on CSP methods CSP is disabled #2506 (najdanovicivan)
- BaseConnection - Nullable return type in getConnectStart() #2504 (najdanovicivan)
- View Renderer - Reset sections after generating the ouput #2502 (najdanovicivan)
- view_cell call controller on initController method. #2501 (byazrail)
- View Parser - Fix ParsePair() with filter #2499 (najdanovicivan)
- Fix splitQueryPart() #2497 (MashinaMashina)
- Use site_url for RedirectResponse. Fixes #2119 #2496 (lonnieezell)
- [ci skip] update toolbar userguide #2495 (Instrye)
- Debug Toolbar - Fix Debugbar-Time header, Render in <head> #2494 (najdanovicivan)
- fix sphinx version. #2493 (ytetsuro)
- fix. Toolbar init view Error #2490 (Instrye)
- Fix pager #2489 (MashinaMashina)
- Update current_url and previous_url in the docs for View Parser. Fixes #2460 #2486 (lonnieezell)
- Typo in user guide "Running via the Command Line" #2485 (jreklund)
- Services request add URI Core System extend support #2482 (byazrail)
- Fix #2479. Priority Redirection. #2481 (Instrye)
- ControllerTest should work without URI specified. Fixes #2470 #2472 (lonnieezell)
- Transition from Zend Escaper to Laminas Escaper #2471 (lonnieezell)
- Fix impossible length for migration table id. #2462 (ytetsuro)
- Replace
composer install
bycomposer require
#2458 (SteeveDroz) - [ci skip] Error correction in reference to Query Builder emptyTable m… #2452 (jlamim)
- CRITICAL when $_SESSION is null / Argument 2 passed to dot_array_search() must be [] #2450 (nowackipawel)
- User Guide: Query Builder selectCount - error correction in example #2449 (jlamim)
- Existing File checks (Nowackipawel/patch-69) #2447 (MGatner)
- DB Insert Ignore (Tada5hi/database-feature) #2446 (MGatner)
- Nice array view in debug toolbar #2438 (MashinaMashina)
- [ci skip] Fix Message method reference #2436 (MGatner)
- Inserting through a model should respect all validation rules. Fixes #2384 #2433 (lonnieezell)
- Fix curly brace deprecation in php 7.4 #2432 (musmanikram)
- fix. safe_mailto multi-byte safe #2429 (Instrye)
- Add $recipients property to Config\Email #2427 (dafriend)
- Add hex validation rule, test, Guide #2426 (MGatner)
- fix: Router setDefaultNameSpace can't worker #2425 (Instrye)
- Don't show duplicate Date headers when running under PHPs server. Fixes #2375 #2422 (lonnieezell)
- Change current_url() to use cloned URI #2420 (MGatner)
- Revise Encryption Service Documentation [ci skip] #2417 (dafriend)
- Add missing closing braces of condition 'hasError()' under `Check If… #2416 (musmanikram)
- Add 'nullable' to MySQL field data #2415 (MGatner)
- fix. toolbar file 301 #2413 (Instrye)
- #2318 - fix parse params of plugin #2411 (oleg1540)
- Looks like a typo. #2410 (AndiKod)
- Ensure previous_url() gets accurate URI. #2408 (lonnieezell)
- Fix url helper functions to work when site hosted in subfolders. #2407 (lonnieezell)
- Fix issue #2391 CodeIgniter::display404errors() #2406 (dafriend)
- Removed pointless isset() check #2402 (dafriend)
- Remove pointless check from conditional #2401 (dafriend)
- Remove redundant check in conditionals #2400 (dafriend)
- Revise Controllers Documentation [ci skip] #2399 (dafriend)
- Edit .htaccess #2398 (MashinaMashina)
- Add validation function
is\_not\_unique
#2392 (kennylajara) - Confer silent status to nested seeders #2389 (MGatner)
- Fix copypaste command comment #2388 (MGatner)
- Use only digits for migrations order #2387 (MGatner)
- quick fix postgresql insert id #2382 (iam-adty)
- Fix: Use of CodeIgniter\Config\Services prevents Service overriding #2381 (dafriend)
- Replace null log file extension check #2379 (MGatner)
- Docs Rev: Replacing Core Classes [ci skip] #2377 (dafriend)
- Remove LoggerAwareTrait from Email class #2369 (dafriend)
- Remove log_message from Email::__construct #2368 (dafriend)
- Email config doesn't incorporate .env items #2364 (dafriend)
- Fix SMTP protocol problem #2362 (jim-parry)
- Bugfix Model after event data #2359 (MGatner)
- Fix Logger config #2358 (jim-parry)
- Fix typo in comments of Services.php #2356 (mladoux)
- Fix method name to 'toDateString()' in Date and Times user guide #2352 (musmanikram)
- Inccorectly formated JSON response , if body is string #2276 (nowackipawel)
v4.0.0-rc.3 (2019-10-19)
Fixed bugs:
- Route can not work: Controller or its method is not found #2299
- CURLRequest - supplied argument is not a valid File-Handle resource #Windows x64 #2202
- FilterExceptions result in blank page #2077
Closed issues:
- Codeigniter 4 not redirecting well. is not including the baseUrl well on redirect #2342
- Session variable value set to 0 #2334
- Undefined variable: errors SYSTEMPATH/Validation/Validation.php at line 651 #2331
- Router Regex not working with controllers #2330
- --host,--port and others are not working #2329
- Type juggling can be eliminated if these three small changes are made #2326
- url_title doesn't handle diacritics #2323
- View Cell Feature ? #2322
- autoRoute function issue in case of sub-directory #2319
- Can't store multidimensional data with Session Library #2309
- Model()->find() return NULL for existing row #2306
- Requesting Model::getValidationRules() documentation #2304
- Routes Not working #2301
- ViewPath cannot be moved only another path added #2291
- Version not updated? #2287
- _remap is not working #2277
- Debug Toolbar error not found tpl error and fix #2275
- cURL request returns 404 #2250
- Problem with renaming deleted_at column inside model #2248
- App\Config\Routes loaded twice #2203
- Feature idea: Model results by key #2167
- Remove "separator" comment between function declarations? #2146
- find() is returning one character string instead of boolean #2096
- Database Groups in Migrations #2087
- "Cannot call session save handler in a recursive manner" #2056
- Model afterInsert return originals? #2045
- debug toolbar renderTimeline couses a non well formed numeric value encountered error #2034
- Mysql update , affectedRows return bug #2003
- Add validation on exists database before created #1759
Merged pull requests:
- Prep changelog for RC.3 [ci skip] #2349 (jim-parry)
- CodeIgniter Foundation gets copyright [ci skip] #2348 (jim-parry)
- Fix FilerHandlerTest.php wierdness #2346 (dafriend)
- Tests readme polish #2345 (dafriend)
- Setup vs Set Up #2344 (dafriend)
- User guide minor fixes. Fix class names and code area. #2343 (natanfelles)
- Simplify Validation::getErrors() #2341 (dafriend)
- Fix Session::get('key') returns null when value is (int) 0 #2339 (dafriend)
- Revert RedirectException change #2338 (MGatner)
- [ci skip] Guide: Minor grammar corrections #2337 (dafriend)
- Correct cleaning of namespaces in FileLocater for better Windows compatibility. See #2203 #2336 (lonnieezell)
- [ci skip] Guide: RESTful table formatting #2333 (MGatner)
- Change after methods to use actual data #2332 (MGatner)
- Update Application Structure #2328 (kenjis)
- Correct the routing UG page #2327 (jim-parry)
- Fix bug in url_title() function with diacritics #2325 (michalsn)
- Renderer Toolbar Debug Toggle #2324 (MGatner)
- [ci skip] Update RESTful User Guide #2321 (MGatner)
- Add getValidationRules() to model UG page #2316 (jim-parry)
- Enhance Toolbar::renderTimeline #2315 (jim-parry)
- RESTful User Guide cleanup #2313 (MGatner)
- BaseBuilder variable type fix #2312 (TysiacSzescset)
- Convert all language returns to single quote #2311 (MGatner)
- Bugfix extra autoroute slashes #2308 (MGatner)
- Resolve session save handler issue #2307 (jim-parry)
- Fix curl debug bug #2305 (michalsn)
- Use DBGroup variable from migration class if defined #2303 (michalsn)
- Fix MySql _fromTables() #2302 (pjsde)
- [ci skip] Routes collector for toolbar should not die when a method name is calculated through _remap #2300 (lonnieezell)
- fix issue on session_regenerate. #2298 (pjsde)
- Add counted() to Inflector Helper #2296 (MGatner)
- Test set() method in Builder class more #2295 (michalsn)
- Fix Code Modules documentation for psr4 namespace configuration #2290 (romaven)
- Don't restrict model's access to properties in a read-only manner #2289 (lonnieezell)
- Fix line numbering in Debug/Exceptions class #2288 (michalsn)
- Fix error with Host header for CURLRequest class #2285 (michalsn)
- Fix getErrors() for validation with redirect #2284 (michalsn)
- Rename collectors _*.tpl.php to _*.tpl #2283 (MGatner)
- Bug in CSRF parameter cleanup #2279 (michalsn)
- WIP fix store() default value bug #2123 (s-proj)
- WIP Added validation on exists database before created for MySQLi… #2100 (oleg1540)
v4.0.0-rc.2b (2019-09-28)
Merged pull requests:
- Fix user guide for Message class #2282 (michalsn)
- Handle X-CSRF-TOKEN - CSRF #2272 (nowackipawel)
- QUICKFIX Batch Update Where Reset #2252 (searchy2)
v4.0.0-rc.2.1 (2019-09-28)
Closed issues:
v4.0.0-rc.2 (2019-09-27)
Fixed bugs:
- Add magic __isset to classes with __get #2219
- CIDatabaseTestCase double-deletes tables #2206
- Locals problems #2195
- Translations are not loaded from composer repository #2120
Closed issues:
- Query grouping not working for HAVING clause #2247
- $builder->like() not support for HAVING clause #2242
- invalid switch parameter #2239
- DateTime::createFromFormat() parameter incorrect #2238
- strlen() expects parameter string, integer given #2237
- ini_set() expects parameter 2 to be string, integer given #2236
- ini_set() expects parameter 2 to be string, integer given #2235
- # ini_set() expects parameter 2 to be string, integer given #2234
- Extending The Model #2223
- BUG curl_setopt_array(): supplied argument is not a valid file-handle resource #2222
- How do I dynamically modify the configuration? #2214
- Document the "whoops" error page #2198
- Fail to open system/bootstrap.php #2193
- Function lang() / Type of return value #2192
- Can we use codeigniter 4 on live server?? #2188
- Custom query in model CI4 #2187
- conflict between php zlib.output_compression and output buffering #2182
- API Trait documentation fix - failValidationError #2176
- Validation issue on multiple file upload #2175
- exif_read_data #2161
- Database count methods #2159
- Devstarter $salt #2156
- Migration migrate, rollback and create problems #2147
- Query Builder getWhere Crash #2143
- View: $parser->render(); #2086
- Return value of lang() must be of the type string, array returned #2075
- Wrong links for pager #2016
- base_url() value dropped between namespaces #1942
- Unable to use _remap without default method in controller #1928
- RESTful resources #1765
Merged pull requests:
- Fix changelog [ci skip] #2273 (jim-parry)
- fix ResourcePresenter::setModel() #2271 (pjsde)
- groupStart() refactorization #2270 (michalsn)
- testMode() method for BaseBuilder #2269 (michalsn)
- Validation session use only if exists #2268 (jim-parry)
- Tests setUp and tearDown: void #2267 (MGatner)
- RC.2 release prep #2266 (jim-parry)
- Fix a validation issue on multiple file upload #2265 (pjsde)
- fix. Parser allow other extension #2264 (Instrye)
- Fix parameter type in Debug/Exceptions #2262 (jim-parry)
- Fix lang() signature #2261 (jim-parry)
- Explain the whoops page #2260 (jim-parry)
- Add URI & url_helper tests #2259 (jim-parry)
- Several updates to the HAVING clauses #2257 (michalsn)
- Fix invalid parameters #2253 (pjsde)
- EXIF not supported for GIF #2246 (jim-parry)
- Fix class ref parameter types #2245 (jim-parry)
- Fix ini_set parameter type #2241 (jim-parry)
- Handle JSON POSTs in CSRF #2240 (nowackipawel)
- Fixes BaseBuilder getWhere() bug #2232 (michalsn)
- Add magic __isset to classes with __get #2231 (MGatner)
- Add escape to SQLite _listTables() #2230 (MGatner)
- MySQLi escapeLikeStringDirect() #2229 (MGatner)
- Exclude
sqlite\_%
from listTables() #2228 (MGatner) - fix. CONTRIBUTING.md link #2226 (Instrye)
- [ci skip] Fix malformed table in view_parser.rst #2225 (jim-parry)
- change new \Config\Database() to config('Database') #2224 (techoner)
- Documentation fixes #2221 (najdanovicivan)
- Typo corrected #2218 (dangereyes88)
- Update uri.rst #2216 (dangereyes88)
- Filter listTables cache response on constrainPrefix #2213 (MGatner)
- Add listTable() tests #2211 (MGatner)
- Add trace() #2209 (MGatner)
- Add $db->getPrefix() #2208 (MGatner)
- Fix empty() bug on DBPrefix #2205 (MGatner)
- Foreign key columns #2201 (MGatner)
- Notify Kint of dd alias #2200 (MGatner)
- Add getForeignKeyData to User Guide #2199 (MGatner)
- Update Session.php #2197 (cstechsandesh)
- Migration rollback reverse #2191 (MGatner)
- [ci skip] Fix name of ForeignKeyChecks #2190 (MGatner)
- missing return #2189 (titounnes)
- Fix case on "Seeds/" directory #2184 (MGatner)
- Check
defined
for constants #2183 (MGatner) - Remove copy-paste extraneous text #2181 (MGatner)
- Fix _fromTables() #2174 (pjsde)
- Fix for CURL for 'debug' option #2168 (MGatner)
v4.0.0-rc.1 (2019-09-03)
Implemented enhancements:
- BaseConfig should support array values with dot syntax #454
Closed issues:
- [internal function]: CodeIgniter\Debug\Exceptions->shutdownHandler() #2173
- Message->setHeader allowing duplicates #2170
- CLI: Exit status #2163
- QB countAllResults shouldn't use LIMIT settings #2152
- BaseBuilder::get() resets query even if reset = false #2141
- Some migrations not running #2139
- Migrations Refactor Namespaces #2138
- $primaryKey forcefully 'needs' to be auto_increment #2133
- response data not set #2124
- RESTful behaviour #2122
- Redis #2121
- Toolbar download bug #2117
- Packagist not updated with latest release? #2115
- Fatal error Installing using composer #2114
- Allow loading Common.php function overrides #2101
- Result from database was auto encoded when using Entity #2088
- Honeypot does not close the form #2084
- Imagick Image library handler return array instead of boolean #2029
- Migrations command should use the UTC datetime when creating new migrations #2018
- FileLocator->getNamespaces with parameter #1866
Merged pull requests:
- Fix query builder user guide page #2180 (jim-parry)
- RC.1 prep #2179 (jim-parry)
- Add fallback for missing finfo_open #2178 (MGatner)
- Fix missing form close tag #2177 (jim-parry)
- Base FeatureTestCase on CIUnitTestCase #2172 (jim-parry)
- Setheader dupes #2171 (MGatner)
- Add $quality usage for Image Library #2169 (MGatner)
- Cookie error #2166 (pjsde)
- RESTful help #2165 (jim-parry)
- Exit error code on CLI Command failure #2164 (MGatner)
- User Guide updates for Common.php #2162 (MGatner)
- Add BaseBuilder SelectCount #2160 (MGatner)
- Update migrations config #2157 (jim-parry)
- Include .gitignore in starters #2155 (MGatner)
- Fix email & migrations docs; update changelog #2154 (jim-parry)
- Bug fix countAllResults with LIMIT #2153 (tangix)
- ImageMagick->save() return value #2151 (MGatner)
- New logic for Image->fit() #2150 (MGatner)
- listNamespaceFiles: Ensure trailing slash #2149 (MGatner)
- Remove UserModel reference from Home controller #2145 (andreportaro)
- Update Redis legacy function #2144 (MGatner)
- Fixing BuilderBase resetting when getting the SQL #2142 (tangix)
- New Migration Logic #2137 (MGatner)
- Migrations user guide fixes #2136 (MGatner)
- Encryption #2135 (jim-parry)
- Fix localization writeup #2134 (jim-parry)
- Update migration User Guide #2132 (MGatner)
- Added No Content response to API\ResponseTrait #2131 (tangix)
- Add setFileName() to DownloadResponse #2129 (MGatner)
- guessExtension fallback to clientExtension #2128 (MGatner)
- Update limit function since $offset is nullable #2127 (vibbow)
- Limit storePreviousURL to certain requests #2126 (MGatner)
- Updated redis session handler to support redis 5.0.x #2125 (tangix)
- Disabled Toolbar on downloads #2118 (MGatner)
- Add Image->convert() #2113 (MGatner)
- Update
Entity.php
\_\_isset
method #2112 (vibbow) - Added app/Common.php #2110 (jason-napolitano)
- Fix typo in checking if exists db_connect() #2109 (xbotkaj)
- Original email port #2092 (jim-parry)
- Fix prevent soft delete all without conditions set #2090 (rino7)
- Update BaseConfig.php #2082 (zl59503020)
- WIP: Migration updates for more wholistic functionality #2065 (lonnieezell)
- clean base controller code #2046 (behnampro)
- Fix CSRF hash regeneration #2027 (Workoverflow)
- WIP Verbiage revisions #2010 (kydojo)
- Subqueries in BaseBuilder #2001 (iRedds)
v4.0.0-beta.4 (2019-07-25)
Fixed bugs:
- Controller filters match too loosely. #2038
Closed issues:
- File->getDestination fails without extension #2103
- User Guide: UploadedFile Class #2102
- Worries about postgresql errors #2097
- README.md - Link to Announcement on Forums is a 404? #2094
- Entity castAsJson returns an empty array #2080
- Migrations Sequential field information is required #2076
- function gussExtension return wrong result, return csv instead of right answer "txt" or "text" #2066
- Unexpected empty "query" property when returning CodeIgniter\HTTP\URI #2062
- Multiple rules for file upload always return false #2061
- The assets of the public_folder are not loaded #2047
- Modify Model's deleted field to be a date #2041
- Filter Config not quite working with Routes? #2037
- force_https() doesn't redirect #2033
- URI segments passed in as method parameters skips segments with value as 0 (zero) #2032
- /System/Debug/Toolbar/Collectors/Routes.php on line 83 #2028
- php spark not working #2025
- PR#2012 caused 404 exception in spark #2021
- Cache config #2017
- CodeIgniter\Entity Setter doesn't work #2013
- validation match[x] don't work anymore... if custom setter is used. #2006
- Paths issue when moving Views outside of app folder #1998
- View Parser Register Plugins as closures not works! #1997
- View Parser site_url not works? #1995
- CURLRequest not respecting debug flag #1994
- Entity null values cause database error #1992
- SQLite driver throws exception when using dropForeignKey #1982
- Security: DotEnv loads DB password plaintext in $_SERVER #1969
- Feature: FK Constraint Enable/Disable #1964
- redirect($namedRoute) missing helpful exception #1953
Merged pull requests:
- Update the starters #2108 (jim-parry)
- Prep for beta.4 #2107 (jim-parry)
- File & UploadFile Fixes #2104 (MGatner)
- Timezone select #2091 (MGatner)
- JSON format checking improved #2081 (nowackipawel)
- Update config() to check all namespaces #2079 (MGatner)
- Throttler can access bucket for bucket life time #2074 (MohKari)
- Fix autoloader.rst formatting #2071 (jim-parry)
- validation rule: then -> than (spelling) #2069 (nowackipawel)
- Bugfix file locator slash error #2064 (MGatner)
- Ensure query vars are part of request->uri. Fixes #2062 #2063 (lonnieezell)
- Cache Drive Backups #2060 (MohKari)
- Add multi-path support to
locateFile\(\)
#2059 (MGatner) - Add model exceptions for missing/invalid dateFormat #2054 (MGatner)
- Change Model's deleted flag to a deleted_at datetime/timestamp. Fixes #2041 #2053 (lonnieezell)
- Add various tests for (not) null #2052 (MGatner)
- Soft deletes use deleted_at #2051 (MGatner)
- Stash insert ID before event trigger #2050 (MGatner)
- Zero params should be passed through when routing. Fixes #2032 #2043 (lonnieezell)
- SQLite3 now supports dropping foreign keys. Fixes #1982 #2042 (lonnieezell)
- Update CURLRequest.php #2040 (nowackipawel)
- Restrict filter matching of uris so they require an exact match. Fixes #2038 #2039 (lonnieezell)
- Make
force\_https\(\)
send headers before exit #2036 (MGatner) - Various typos and Guide corrections #2035 (MGatner)
- Fallback to server request for default method #2031 (MGatner)
- Support the new
router
service in Debug Toolbar #2030 (MGatner) - Extension Pager::makeLinks (optional grup name) #2026 (nowackipawel)
- Refactor the way the router and route collection determine the current HTTP verb. #2024 (lonnieezell)
- SQLite and Mysql driver additional tests and migration runner test fixes #2019 (lonnieezell)
- Direct user to follow the upgrade steps after installation #2015 (agmckee)
- Added a new Session/ArrayHandler that can be used during testing. #2014 (lonnieezell)
- Use request->method for HTTP verb #2012 (MGatner)
- Set the raw data array without any mutations for the Entity #2011 (iRedds)
- Add
patch
method to command "routes" #2008 (MGatner) - Plugin closures docs update and test #2005 (lonnieezell)
- Allow hasChanged() without parameter #2004 (MGatner)
- Entity refactor #2002 (lonnieezell)
- use CodeIgniter\Controller; not needed since Home Controller extends … #1999 (titounnes)
- Attempting to fix CURLRequest debug issue. #1994 #1996 (lonnieezell)
- argument set() must by type of string - cannot agree #1989 (nowackipawel)
- Prevent reverseRoute from searching closures #1959 (MGatner)
v4.0.0-beta.3 (2019-05-06)
Fixed bugs:
- travis-ci build broken #1830
- [Re-opened] 404 File not found when running CodeIgniter on local Apache web server and virtual hosts #1400
- MySQLi SSL verify #1219
Closed issues:
- SQLite driver doesn't drop indexes when dropping a table #1983
- About mysqli options MYSQLI_OPT_INT_AND_FLOAT_NATIVE #1979
- Toolbar won't accept custom collectors #1971
- 404 Error in pathinfo mode #1965
- A controller parameter without default value creates ReflectionException error #1948
- Wrong datetime on history debug toolbar #1944
- Appstarter is not working after installation #1941
- AppStarter Vanilla Installation - No hint that writable directory is not writable #1934
- Updating appstarter with composer does not take composer.phar into account #1932
- Problem with extending core class. #1922
- Debug Toolbar causes error if an array is provided as session value since Beta 2 #1919
- Wrong controller filter processing because of faulty regular expression generation #1907
- Toolbar not supporting IE11 (realXHR.responseURL) #1905
- Validation Always Print Error Message #1903
- Using soft deletes can lead to mysql ambiguous exception #1881
- Error when running
php spark serve
(spaces in folder names) #1880 - Class 'CodeIgniter\Filters\DebugToolbar' not found #1871
- Should unmatched cache() return null? #1870
- Class 'CodeIgniter\Test\CIUnitTestCase' not found when testing in Appstarter project #1864
- Public methods in system/Controller #1849
- Controller in folder - method not accessible unless I set a route on Linux - Windows OK #1841
- Routing to hardcoded ids does not work #1838
- Form Validation: required_with and required_without implementations #1837
- Events.php on method $callable parameter accepts only callable #1835
- Controller response property overriding by ControllerResponse inPHPUnit #1834
- ValidationInterface run method $data attribute should be nullable #1833
- Fail to render view in a view with layout #1826
- UploadedFile::move and File::move have different implementation #1825
- Missing documentation: parser is not able to handle nested loops #1821
- Is hashId function missing? #1801
- Parser is not able to handle nested loops #1799
- Routing rules order [suspended / probably csrf] #1798
- I need to call session() if I want to be able to use old() in the forms. #1795
- Output getting buffered when running via command line #1792
- Wrong CodeIgniter::handleRequest method definition #1786
- File::move is not moving file #1785
- Question about date helper #1783
- Intention or bug? File::move does not update path #1782
- Small typos in documentation section "Taking Advantage of Spl" #1781
- Documentation mistake: Model::save does not return a boolean only #1780
- Toolbar::run produces incompatible data for json_encode #1779
- History::setFiles may crash when reading empty file #1778
- Can't set subquery as WHERE condition. #1775
- Ignoring 'required' validation rule for inserts. #1773
- save() method trying to insert instead of update #1770
- Controller Test / Feature Testing output issues #1767
- MigrationRunner::version should return "current version string on success" #1766
- DIRECTORY_SEPARATOR / Different Behavior under Windows #1760
- HTTP Feature Testing not working #1710
- alpha4->5 requires to have primary key in every model/table #1706
- route_to('name'); does not work for other subdomains #1697
- Router issue - overwriting. #1692
- Using Memcache as Session Handler cause exception during regenerate. #1676
- Model's without primary keys get pagination counts wrong #1597
- Unable set ENVIRONMENT with Spark #1268
- WIP Improve unit tests #512
Merged pull requests:
- Prep for beta.3 #1990 (jim-parry)
- Correct API docblock problems for phpdocs #1987 (jim-parry)
- Update docblock version to 4.0.0 #1986 (jim-parry)
- Fix filter processing. Fixes #1907 #1985 (jim-parry)
- Add footing to HTML Table #1984 (jim-parry)
- Using soft deletes should not return an ambiguous field message when joining tables. Closes #1881 #1981 (lonnieezell)
- Corrected return value for Session/RedisHandler::read to string, per PHP specs #1980 (lonnieezell)
- Implement HTML Table for CI4 #1978 (jim-parry)
- Test/featuretestcase #1977 (jim-parry)
- Fix validation rules table format #1975 (jim-parry)
- Remove framework classes from the autoloader classmap. #1974 (lonnieezell)
- Defaultfixes #1973 (lonnieezell)
- Toolbar fix for custom collectors #1972 (MGatner)
- Add back filter arguments #1970 (MGatner)
- Fixed pathinfo mode 404 error, rebuild array index of uri segments from array_filter() #1968 (viosion)
- String type primary key should also wrap into an array during db update #1963 (vibbow)
- WIP - Fix side issue #1962 (vibbow)
- Fix Debugbar url tail slash issue #1961 (vibbow)
- New generic string validation rule. #1957 (lonnieezell)
- Use Null Coalesce Operator #1956 (carusogabriel)
- Travis-CI build failed fix #1955 (atishamte)
- Fix validation table format #1954 (jim-parry)
- Add Validations for
equals\(\)
andnot\_equals\(\)
#1952 (MGatner) - System typos changes & code cleanup #1951 (atishamte)
- Fix some side issue #1950 (vibbow)
- Toobar/Routes correction #1949 (atishamte)
- Fix BaseConfig didn't load Registrar files properly #1947 (vibbow)
- Fix datetime extraction from debugbar file #1945 (soft2u)
- Model, Entity, Exception & Migration test cases #1943 (atishamte)
- Remove section that prevents hotlinking #1939 (MGatner)
- Database typos changes #1938 (atishamte)
- Docs: improve app testing writeup #1936 (jim-parry)
- Update phpunit.xml scripts. Fixes #1932 #1935 (jim-parry)
- having (Is NULL deletion) #1933 (nowackipawel)
- Toolbar IE11 fix #1931 (REJack)
- Model Changes w.r.t. #1773 #1930 (atishamte)
- Entity exception for non existed props. #1927 (nowackipawel)
- Docs: update installation guide #1926 (jim-parry)
- removed $_SERVER['CI_ENVIRONMENT'] #1925 (truelineinfotech)
- missing return #1923 (titounnes)
- JSONFormatter #1918 (nowackipawel)
- Database Test Cases #1917 (atishamte)
- Check if the value is string #1916 (daif)
- Fix for POST + JSON (Content-Length added) #1915 (nowackipawel)
- Housekeeping - prep for beta.2 #1914 (jim-parry)
- More RouteCollection tests for overwriting. Closes #1692 #1913 (jim-parry)
- Additional RouteCollectionTests #1912 (jim-parry)
- JSON Cast exception test cases #1911 (atishamte)
- Added print method to CLI library so you can print multiple times on same line #1910 (lonnieezell)
- Add filter parameters to User Guide #1908 (MGatner)
- SubQuery related test cases w.r.t #1775 #1906 (atishamte)
- BaseBuilder Corrections #1902 (atishamte)
- Update .htaccess for better security and caching #1900 (atishamte)
- Database Forge correction #1899 (atishamte)
- Toolbar fix w.r.t #1779 #1897 (atishamte)
- Mysql connection issue with MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT #1219 #1896 (atishamte)
- Unmatched Cache Library
get\(\)
return null #1895 (MGatner) - New method Find Column w.r.t. #1619 #1861 (atishamte)
v4.0.0-beta.1 (2019-03-01)
Fixed bugs:
- Sequential Migrations don't run to the correct version #1666
Closed issues:
- Back references not working in route #1761
- setDefaultController not working as expected #1758
- Spark doesn't work when using devstarter #1748
- required_with and required_without validation rules #1735
- validation rule password never match #1728
- Entities errors #1727
- Loading namespace helpers doesn't work as expected CI4 alpha5 #1726
- spark migrate:latest ErrorException alpha5 #1724
- redirect()->to lost $baseURL config #1721
- Bug Report: Seeding #1720
- Spark missing arguments #1718
- Model required validation rule not working #1717
- ZendEscaper - duplicate? #1716
- Why we required form pointed to correct url? #1713
- Why there is only 1 function in ArrayHelper? Can we introduce more? #1711
- CodeIgniter\Model::cleanValidationRules() must be of the type array, string given #1707
- alpha 4->5 query param binding #1705
- failValidationError($description) #1702
- Bug : changing viewsDirectory misses errors folder when exception occures #1701
- Cannot define complex routes , i.e. date #1700
- lang bug or not? (empty translations) #1698
- Issue Extend Core Class #1653
- Turn OFF getMyProperty() method during DB save. #1646
- Model class crashes when handling complex validation rules #1574
- Database ForgeTest hiccup #1478
- SQLLite3 Forge needs better column handling #1255
- TODO BaseConnection needs better error handling #1254
- Model Alternative Keys #428
Merged pull requests:
- Housekeeping for beta.1 #1774 (jim-parry)
- Helper changes #1768 (atishamte)
- Fix routing when no default route has been specified. Fixes #1758 #1764 (lonnieezell)
- Ensure validation works in Model with errors as part of rules. Fixes #1574 #1763 (lonnieezell)
- Correct the unneeded double-quote (typo) #1757 (smhnaji)
- lowercase 'vfsStream' in composer files #1755 (MGatner)
- Fixed typo preventing link format #1752 (MGatner)
- Guide: Moving misplaced text under correct heading #1751 (MGatner)
- Remove reference to Encryption Key in User Guide #1750 (MGatner)
- Adding environment to .env #1749 (MGatner)
- Updated composite key tests for SQLite3 support. Fixes #1478 #1745 (lonnieezell)
- Update entity docs for current framework state. Fixes #1727 #1744 (lonnieezell)
- Manually sort migrations found instead of relying on the OS. Fixes #1666 #1743 (lonnieezell)
- Fix required_without rule bug. #1742 (bangbangda)
- Helpers with a specific namespace can be loaded now. Fixes #1726 #1741 (lonnieezell)
- Refactor test support for app starter #1740 (jim-parry)
- Fix typo #1739 (vibbow)
- Fix required_with rule bug. Fixes #1728 #1738 (bangbangda)
- Added support for dropTable and modifyTable with SQLite driver #1737 (lonnieezell)
- Accommodate long travis execution times #1736 (jim-parry)
- Fix increment and decrement errors with Postgres #1733 (lonnieezell)
- Don't check from CLI in Routes. Fixes #1724 #1732 (lonnieezell)
- Revert "Ensure isn't checked during RouteCollection calls when called from CLI" #1731 (lonnieezell)
- Ensure isn't checked during RouteCollection calls when called from CLI #1730 (lonnieezell)
- New View Layout functionality for simple template functionality. #1729 (lonnieezell)
- Update Request.php #1725 (HieuPT7)
- Log an error if redis authentication is failed. #1723 (vibbow)
- Seeder adds default namespace to seeds #1722 (lonnieezell)
- Update Cache RedisHandler to support select database. #1719 (vibbow)
- minors (Model.php) #1712 (nowackipawel)
- Fix/rc #1709 (jim-parry)
- UploadFile - language support #1708 (nowackipawel)
- Fix viewsDirectory bug Fixes #1701 #1704 (bangbangda)
- Fix install link in user guide #1699 (jim-parry)
- Fix page structure etc #1696 (jim-parry)
- Tidy up code blocks in the user guide #1695 (jim-parry)
v4.0.0.0-alpha.5 (2019-01-30)
Implemented enhancements:
- Cache system should support site-wide prefixes #1659
Fixed bugs:
- Problem with Database BaseBuilder binds #1226
Closed issues:
- DB query not working with disabled escaping #1687
- migrate:refresh ArgumentCountError #1682
- Do I need to clear old session files manually? #1681
- Pagination / pager->links() double encodes links #1680
- Document Method Spoofing for forms. #1668
- insertBatch with escape=false still escapes values #1667
- Filters should not be case sensitive #1664
- RouteCollection::discoverRoutes incomplete #1662
- Feature request make is_unique - more than one field. #1655
- Toolbar logs tab - not logging #1651
- DebugToolbar - too much recursion #1650
- [documentation] Typing mistake in transaction example #1639
- Transaction documentation error and/or bug #1638
- Bug : pagination broken when using 1 as perPage #1628
- View data not being passed between each call? #1621
- Composer Installation downloads app and application folder. #1620
- countAllResults() should respect soft deletes #1617
- redirect function don't redirect to base_url #1611
- Memory issue - Toolbar collects every query #1607
- Pls remove string type in parameter $group at Database::forge #1605
- SQL JOIN : bad aliasing on join with prefixed db tables #1599
- Model's update method fails when validation rules exist #1584
- maybe need to modify session garbage collector section. (FileHandler) #1565
- Maybe routes has problem. [setTranslateURIDashes] #1564
- ErrorException Trying to get property 'affected_rows' of non-object #1559
- UG - typo in Managing Apps #1558
- Database migration uses wrong database when initialising migration classes #1532
- Database migration table not correctly created when a non-default database connection is used #1531
- MYSQL : orderBy() considers CASE statement as a column #1528
- getCompiledSelect() return query without binds #1526
- Commit pre-hook misbehaving #1404
- Lack of proper instruction in documentation for changing Application and System folder name #1366
- SubQueries (tables from outside of the current model) #1175
- FileHandler Garbage Collector fails to delete expired session files. #942
Merged pull requests:
- Update changelog for alpha.5 #1694 (jim-parry)
- Docs/tutorial #1693 (jim-parry)
- Update the running docs #1691 (jim-parry)
- Rework install docs #1690 (jim-parry)
- Model Validation Fix #1689 (lonnieezell)
- Add copyright blocks to filters #1688 (jim-parry)
- Refactor/filters #1686 (jim-parry)
- Fix admin - app starter creation #1685 (jim-parry)
- Updating session id cleanup for filehandler. Fixes #1681 Fixes #1565 #1684 (lonnieezell)
- Fix migrate:refresh bug Fixes #1682 #1683 (bangbangda)
- save_path - for memcached (Session.php) + sess_prefix (..Handler.php) #1679 (nowackipawel)
- fix route not replacing forward slashes #1678 (puschie286)
- Implement Don't Escape feature for db engine #1677 (lonnieezell)
- Add missing test group directives #1675 (jim-parry)
- Changelog alpha.5 so far #1674 (jim-parry)
- Updated download & installation docs #1673 (jim-parry)
- Update Autoloader.php #1672 (zl59503020)
- Update docs #1671 (jim-parry)
- Update PHP dependency to 7.2 #1670 (jim-parry)
- Enhance Parser & Plugin testing #1669 (jim-parry)
- Composer PSR4 namespaces are now part of the modules auto-discovery #1665 (lonnieezell)
- Fix bind issue that occurred when using whereIn or orWhereIn with a c… #1663 (lonnieezell)
- Migrations Tests and database tweaks #1660 (lonnieezell)
- DBGroup in __get(), allows to validate "database" data outside the model. #1656 (nowackipawel)
- Toolbar - Return Logger::$logCache items when collecting #1654 (natanfelles)
- remove php 7.3 from "allow_failures" in travis config #1649 (samsonasik)
- Update "managing apps" docs #1648 (jim-parry)
- Fix transaction enabling confusing (docu) #1645 (puschie286)
- Remove Email module #1643 (jim-parry)
- CSP nonce attribute value in "" #1642 (nowackipawel)
- More unit testing tweaks #1641 (jim-parry)
- Update getCompiledX methods in BaseBuilder to return fully compiled q… #1640 (lonnieezell)
- Fix starter README #1637 (kenjis)
- Refactor Files module #1636 (jim-parry)
- Unit testing enhancements #1635 (jim-parry)
- Uses csrf_field and form_hidden instead of inline-html in form_open #1633 (nowackipawel)
- DBGroup should be passed to ->run instead of ->setRules #1632 (nowackipawel)
- move use statement after License doc at UploadedFile class #1631 (samsonasik)
- Update copyright to 2019 #1630 (jim-parry)
- "application" to "app" directory doc and comments and welcome_message clean up #1629 (samsonasik)
- clean up Paths::$viewDirectory property #1626 (samsonasik)
- fix. After matches is not set empty #1625 (Instrye)
- Property was not cast if was defined as nullable. #1623 (nowackipawel)
- Nullable support for __set. #1622 (nowackipawel)
- Fix View config merge order #1616 (jim-parry)
- Typo in documentation #1613 (tpw1314)
- WIP img fix(?) - html_helper #1538 (nowackipawel)
v4.0.0-alpha.5 (2018-12-15)
v4.0.0-alpha.4 (2018-12-15)
Implemented enhancements:
- WIP Vagrant and/or Docker support #1452
Closed issues:
- Custom routing rule not match the User Guide #1609
- Memory leak - binds not being cleared after find() #1604
- Soft deletes need parentheses around proceeding query? #1592
- Cannot use Model first() and update() in table without primary key #1583
- tried to allocate #1578
- Database Migrations inconsistent info about sequential type #1577
- Wrong or not precise documentation of magic __get and __set methods in section Handling Business Logic #1568
- Entity's fill method is not supporting key mapping #1567
- Ability to add namespace to FileLocator class #1552
- Should log file contain plain text database username passwords etc? #1542
- Issues with redirects - had to use exit to make it work and blank page #1501
- Use of undefined constant BASEPATH #1439
- MYSQL : BETWEEN operator loses condition value on JOIN in (:) used #1403
- The problem in catching exceptions #1274
- TODO Language needs improved locating #1262
- Email attachment #1008
Merged pull requests:
- Alpha.4 release prep #1612 (jim-parry)
- Test, fix & enhance Language #1610 (jim-parry)
- Note about environment configuration in UG #1608 (jim-parry)
- release framework script clean up #1606 (samsonasik)
- Flesh out I18n testing #1603 (jim-parry)
- Model's first and update didn't work primary key-less tables #1602 (lonnieezell)
- clean up \Config\Services in Common.php #1601 (samsonasik)
- admin/starter/composer.json clean up #1600 (samsonasik)
- use $defaultGroup as default value for database session DBGroup #1598 (puschie286)
- Retry handle fatal error via pre_system #1595 (samsonasik)
- Fix Toolbar invalid css #1594 (puschie286)
- Flesh out the Test package testing #1593 (jim-parry)
- Fix Toolbar file loading throw exception #1589 (puschie286)
- Fix site_url generate invalid url #1588 (puschie286)
- Add Language fallback #1587 (natanfelles)
- Fix model namespace in tutorial #1586 (jim-parry)
- Type hint MigrationRunner methods #1585 (natanfelles)
- Fix changelog index & common functions UG indent #1582 (jim-parry)
- ContentSecurityPolicy testing & enhancement #1581 (jim-parry)
- Use Absolute Paths #1579 (natanfelles)
- Testing13/http #1576 (jim-parry)
- Adds ?integer, ?double, ?string, etc. cast types :) #1575 (nowackipawel)
- Lessons learned #1573 (jim-parry)
- Toolbar updates #1571 (natanfelles)
- Test esc() with different encodings and ignore app-only helpers #1569 (natanfelles)
- id attribute support added for csrf_field #1563 (nowackipawel)
- Integrates Autoloader and FileLocator #1562 (natanfelles)
- Update Connection.php #1561 (nowackipawel)
- remove \ prefix on use statements #1557 (samsonasik)
- using protected intead of public modifier for setUp() function in tests #1556 (samsonasik)
- autoload clean up: remove Psr\Log namespace from composer.json #1555 (samsonasik)
- remove manual define "system/" directory prefix at ComposerScripts #1551 (samsonasik)
- allows to set empty html attr #1548 (nowackipawel)
- Add Vagrantfile #1459 (natanfelles)
v4.0.0-alpha.3 (2018-11-30)
Implemented enhancements:
- Events should pass it's arguments by reference #1298
- Feature request. Small but useful. Entity class. #1176
Fixed bugs:
- \Config\Database::connect returns unexpected result for custom config values #1533
- Old() - Seems to have an issue with retrieving array values #1492
- Language is not merging with modules #1433
- RedirectResponse does not set cookies #1393
- ThrottleTest intermittent failure #1382
- Support replacer functions on validations #1363
- Filter on route group only attach / #1247
- TypeError in MemcachedHandler::__construct() #1204
- Required_without validation rule #1007
- Division by zero - fresh install #979
Closed issues:
- need change file_exists to is_file? #1543
- Docs : some links are broken due to lack of prefix CodeIgniter4 #1537
- Spelling mistake /wrong function reference in documentation "Handling Business Logic" #1535
- Sample code in Entity documentation contains useless statement #1534
- Model events why is there no beforeFind? #1527
- [Documentation] Bug in code example for "Validating $_POST data" #1520
- Before filters with sessions break php spark serve #1519
- Missing documentation for placeholders in validation errors #1503
- no $baseURL set will be notice "The baseURL value must be set" #1476
- $field parameter as string at Forge::addField #1474
- FeatureTestCaseTest still broken #1446
- Unit test output not captured #1435
- Response setJSON body <?php{ problem #1430
- Migrations.classNotFound #1420
- Controller helper Form validate('groupname') error with rules group #1419
- Use the update() in BaseBuilder method #1414
- Spark error #1408
- Fix class namespacing in the user guide #1401
- 404 File not found error when running CodeIgniter on local Apache web server and virtual hosts #1391
- boolean cast in entity and validation error for required, in_list[0,1] #1372
- guessExtension() #1367
- insert() doesn't return boolean but CodeIgniter\Database\MySQLi\Result #1365
- Entity json-array casting not functioning as expected #1359
- An error occurs in View Class #1358
- URI Routing bug #1354
- Query binding - long names with funcs #1353
- Bug report: Important bug in is_unique with DBGroup different than defined in $defaultGroup #1326
- Environment Configuration file #1309
- Can't call run() method with params from migrate:latest #1308
- TODO ImageMagickHandler needs resizing fixed #1261
- TODO CURLRequest needs helpers #1259
- TODO Toolbar needs logging #1258
- TODO BaseBuilder error handling #1250
- TODO Database migrations need more flexibility #1249
- Kint problem, chinese characters #1177
- CSP + DebugBar #1165
- The _remap function is wrong in the development (CI_DEBUG) #1137
- Debug Bar Routes params bug #1104
- Session expire time refresh by xhr/ajax request. #1074
Merged pull requests:
- Serviceinstances #1554 (lonnieezell)
- Admin/scripts #1553 (jim-parry)
- remove commented CLI::newLine($tempFiles) at FileLocator class #1550 (samsonasik)
- use .gitkeep instead of .gitignore in Database/Seeds directory #1549 (samsonasik)
- Change file exists to is file. #1547 (ytetsuro)
- add extension_loaded('imagick') and class_exists('Imagick') check at ImageMagickHandler::__construct #1546 (samsonasik)
- Update validation class User Guide #1540 (bangbangda)
- ext-json in composer.json #1536 (nowackipawel)
- database performance improvement : use foreach() when possible #1530 (samsonasik)
- remove mb_* (mb string usage) in CreditCardRules #1529 (samsonasik)
- remove unneeded try {} catch {} on @fopen at Cache FileHandler::writeFile() #1525 (samsonasik)
- Test routes resource with 'websafe' option #1524 (natanfelles)
- Check if the matched route regex is filtered #1523 (natanfelles)
- add property_exists check on BaseBuilder and BaseConnection for $this->$key set value #1522 (samsonasik)
- .gitignore clean up #1521 (samsonasik)
- Small typo: changed setCreatedOn to setCreatedAt #1518 (obozdag)
- move .htaccess from per-directory in writable/{directory} to writable/ #1517 (samsonasik)
- More secure redirection #1513 (jim-parry)
- remove unused use statements #1509 (samsonasik)
- remove duplicate strtolower() call in URI::setScheme() call #1508 (samsonasik)
- Fix multi "empty" string separated by "," marked as valid emails #1507 (samsonasik)
- Flesh out HTTP/File unit testing #1506 (jim-parry)
- Do not exit until all Response is completed #1505 (natanfelles)
- Revert RedirectResponse changes #1504 (jim-parry)
- Revert to buggy oldInput #1502 (jim-parry)
- Ignoring errors suppressed by @ #1500 (samsonasik)
- Fix form_helper's set_value writeup #1499 (jim-parry)
- Add CURLRequest helper methods #1498 (natanfelles)
- Remove unused RedirectException and add some PHPDocs #1497 (natanfelles)
- Fix Common::old() #1496 (jim-parry)
- Add URI segment test #1495 (natanfelles)
- Method naming #1494 (ghost)
- Error logging #1491 (jim-parry)
- Changelog(s) restructure #1490 (jim-parry)
- Add CLI::strlen() #1489 (natanfelles)
- Load Language strings from other locations #1488 (natanfelles)
- Test RedirectResponse problem report #1486 (jim-parry)
- missing slash #1484 (titounnes)
- Small typo in Session\Handlers\BaseHandler.php #1483 (obozdag)
- doc fix: query binding fix in Seeds documentation #1482 (samsonasik)
- RedisHandler test clean up: remove unneeded 2nd parameter in __construct #1481 (samsonasik)
- Fix Language Key-File confusion #1480 (puschie286)
- Yet another time test to fix #1479 (jim-parry)
- Add Response send testing #1477 (jim-parry)
- Correct phpdocs for Forge::addField() #1475 (jim-parry)
- Fuzzify another time test #1473 (jim-parry)
- HTTP\Response cookie testing & missing functionality #1472 (jim-parry)
- remove unused local variable $result in XMLFormatter::format() #1471 (samsonasik)
- Allow create table with array field constraints #1470 (natanfelles)
- use static:: instead of self:: for call protected/public functions as well #1469 (samsonasik)
- Fix FeatureTestCaseTest output buffer #1468 (puschie286)
- Provide time testing within tolerance #1467 (jim-parry)
- Fix phpdocs for BaseBuilder #1466 (jim-parry)
- use static:: instead of self:: for protected and public properties #1465 (samsonasik)
- remove unused use statements #1464 (samsonasik)
- Fix the remaining bcit-ci references #1463 (jim-parry)
- Typo fix: donload -> download #1461 (samsonasik)
- remove unneeded ternary check at HoneyPot::hasContent() #1460 (samsonasik)
- WIP use $paths->systemDirectory in public/index.php #1457 (samsonasik)
- Beef up HTTP URI & Response testing #1456 (jim-parry)
- WIP un-ignore application/Database/Migrations directory from .gitignore #1455 (samsonasik)
- add missing break; in loop at Email::getEncoding() #1454 (samsonasik)
- BugFix if there extension has only one mime type (string) #1453 (nowackipawel)
- remove unneeded $session->start(); check on RedirectResponse::ensureSession() #1451 (samsonasik)
- phpcbf: fix all at once #1450 (natanfelles)
- Simplify how to get indexData from mysql/mariadb #1449 (natanfelles)
- documentation: add missing application structures: Database, Filters, ThirdParty directory #1448 (samsonasik)
- add missing break; on loop cards to get card info at CreditCardRules::valid_cc_number() #1447 (samsonasik)
- using existing is_cli() function in HTTP\IncomingRequest::isCLI() #1445 (samsonasik)
- Dox for reorganized repo admin (4of4) #1444 (jim-parry)
- Fixes #1435 : unit test output not captured #1443 (samsonasik)
- remove form view in application/View/ and form helper usage in create new items tutorial #1442 (samsonasik)
- Access to model's last inserted ID #1440 (nowackipawel)
- Tailor the last few repo org names (3of4) #1438 (jim-parry)
- Replace repo org name in MOST php docs (2 of 4) #1437 (jim-parry)
- Change github organization name in docs (1of4) #1436 (jim-parry)
- Use mb_strlen to get length of columns #1432 (natanfelles)
- can't call run() method with params from commands migrations. #1431 (bangbangda)
- performance improvement in Database\BaseResult to use truthy check instead of count($var) when possible #1426 (samsonasik)
- Ensure FileHandlerTest uses MockFileHandler #1425 (jim-parry)
- Fix FileMovingTest leaving cruft #1424 (jim-parry)
- Fix Controller use validate bug Fixes #1419 #1423 (bangbangda)
- normalize composer.json #1418 (samsonasik)
- add php 7.3 to travis config #1394 (samsonasik)
- Add Header Link Pagination #622 (natanfelles)
v4.0.0-alpha.2 (2018-10-26)
Implemented enhancements:
Fixed bugs:
- Error in user guide for session config #1330
- Route in the News Tutorial Routes are ERROR all over. #1240
- Time testing in travis-ci wonky #1229
Closed issues:
- CLI CommandRunner is trying to instantiate abstract classes #1349
- redirect()-> problem #1346
- Question new form validation rule #1332
- Download Response Not working #1331
- Incorrect Error Message ? #1328
- Wrong variable reference #1324
- Model Pagination: Problem with total rows #1318
- Should display an exception when minimum PHP version not met. #1307
- News Tutorial Error on form submit #1301
- Small Typo Correction #1299
- Making config variable global as CI3 #1297
- Config files aren't discovered automatically when using the config() function. #1293
- News Tutorial post riute still not working #1292
- Form Validation #1290
- News Tutorial Routes #1288
- I want to separate responsibility of Cast from Entity. #1287
- error 404 in routing with controller in subdirectories #1276
- TODO Extending helpers #1264
- TODO MockResponse needs cookies solution #1263
- TODO url_helper needs fixing #1260
- TODO FileLocator better path checking #1252
- TODO FileLocator filename sanitizing #1251
- BUG in form_hidden with associative array #1244
- Save entity after selected find results in null data #1234
- System/Database/Database.php::loadForge returns Connection when using custom DBDriver #1225
Merged pull requests:
- Add timing assertion to CIUnitTestCase #1361 (jim-parry)
- Testing/commands #1356 (jim-parry)
- Handle duplicate HTTP verb and generic rules properly #1355 (jim-parry)
- Refresh changelog #1352 (jim-parry)
- Checks if class is instantiable and is a command #1350 (natanfelles)
- Fix sphinx formatting in sessions #1348 (jim-parry)
- Fix sphinx formatting in sessions #1347 (jim-parry)
- Toolbar Styles #1342 (lonnieezell)
- Make viewpath configurable in Paths.php. Fixes #1296 #1341 (lonnieezell)
- Update docs for downloads to reflect the need to return it. Fixes #1331 #1340 (lonnieezell)
- Fix error where Forge class might not be returned. Fixes #1225 #1339 (lonnieezell)
- Filter in the router Fixes #1315 #1337 (bangbangda)
- Revert alpha.2 #1336 (jim-parry)
- Proposed changelog for alpha.2 #1334 (jim-parry)
- Error in user guide for session config. Fixes #1330 #1333 (bangbangda)
- Tweaks #1329 (lonnieezell)
- FIX form_hidden and form_open - value escaping as is in form_input. #1327 (nowackipawel)
- Fix doc error : show_404() doesn't exist any more #1323 (bvrignaud)
- Added missing xml_helper UG page #1321 (jim-parry)
- Testing/entity #1319 (jim-parry)
- Refactor TimeTest #1316 (jim-parry)
- Fix & expand Honeypot & its tests #1314 (jim-parry)
- Clean exception #1313 (lonnieezell)
- Add headerEmited (or not) assertions to CIUnitTestCase #1312 (jim-parry)
- Entities store an original stack of values to compare against so we d… #1311 (lonnieezell)
- Testing3/http #1306 (jim-parry)
- Change chdir('public') to chdir($public) #1305 (titounnes)
- Refactor script name stripping in parseRequestURI() #1304 (jim-parry)
- Testing/http #1303 (jim-parry)
- Exception:No Formatter defined for mime type '' #1302 (bangbangda)
- Allow redirect with Query Vars from the current request. #1300 (lonnieezell)
- Fix grammar in front controller comment. #1295 (mdwheele)
- Updated final tutorial page. Fixes #1292 #1294 (lonnieezell)
- Allows extending of helpers. Fixes #1264 #1291 (lonnieezell)
- Cookies #1286 (lonnieezell)
- Ensure current HTTP verb routes are matched prior to any * matched ro… #1285 (lonnieezell)
- Entities #1283 (lonnieezell)
- system/Test/FeatureTestCase::setupRequest(), minor fixes phpdoc block… #1282 (fmertins)
- Tut #1281 (lonnieezell)
- Add contributing reference to user guide #1280 (jim-parry)
- Fix/timing #1273 (jim-parry)
- Fix undefined variable "heading" in cli 404 #1272 (samsonasik)
- remove inexistent "CodeIgniter\Loader" from AutoloadConfig::classmap #1271 (samsonasik)
- Release notes & process #1269 (jim-parry)
- Fix #1244 (form_hidden declaration) #1245 (bvrignaud)
- 【Unsolicited PR】I changed the download method to testable. #1239 (ytetsuro)
- Optional parameter for resetSelect() call in Builder's countAll(); #1217 (nowackipawel)
- Fix undefined function xml_convert at Database\BaseUtils #1209 (samsonasik)
v4.0.0-alpha.1 (2018-09-29)
Implemented enhancements:
- Parser plugins should be allowed to have non-paired directives #547
- Modify View Parser to support quoted phrases #537
- Move Formatting functionality from the API namespace to it's own namespace #451
- Add method spoofing for forms. #432
- Add overwrite option to UploadedFile->move() #275
- Add Download method to Response object. #208
- Cache/Session fallback to predis/predis composer package if phpredis not available #192
- View: saveData #181
- url_helper implementation #157
- Add true 'prepare' functionality to Queries #131
- Add :hash placeholder for URI parameters #130
- [URI] Provide ability for query vars manipulation #119
- [FilesCollection] Allow getFiles with dot syntax #112
- Database to fire events #105
- New Toolbar Collector for Events #84
- Debug Toolbar Enhancements #83
- Add indexing functions to Forge #65
- Refactor DB Backup to stream to file instead of holding in memory #64
- Add support for foreign keys to the Forge #63
- Headers must support multiple headers with same name #16
- Add 'secure' option for Routes #10
- [Test Helper] assertLogged #9
- Additional Logger Enhancements #8
- Implement Content Secure Policy #6
- Replace our escaper with Zend Escaper #5
- Redirect Security #4
- Reverse Routing #3
Fixed bugs:
- Testing output buffer not closed #1230
- XML formater xmltoarray indexed array incorrect #577
- stringify_attributes method MUST escape the values #282
- base_url() function doesn't work properly when it used on page with uri segments #240
- mysqli update bug #229
- database update #201
- Paginating Multiple Results - user Guides #196
- 'Filters' Bug #188
- POST and debugbar #172
- url_helper functions don't correctly apply $baseURL #155
- Routes ending in '/' redirect oddly #147
- Error when trying access URI with Global Function's name #136
- CLI problem with progress complete's message #135
Closed issues:
- validation error #1214
- How to use Controller own constructer? #1208
- autoload psr4 is not right. #1205
- multiple rules in validate() for File Upload not working #1201
- can't use the same model to update, delete and insert record #1193
- $myModel->find(string "value-of-my-primary-key") #1188
- Undefined variable: _SESSION in command php spark #1183
- Typographical error #1179
- CSP + .kint d(foo) #1174
- DebugBar -> Server Error 500 #1170
- NULL in select is escaped (mysqli_sql_exception) #1169
- Routing for "cli" actions. #1166
- Create Auto-discovery system #1161
- Routing wrong default value #1139
- $session->push gets wrong #1136
- Toolbar Oldest files delete bug #1135
- redirect helper : redirectResponse is ignored #1127
- redirect to route ignore baseurl #1126
- redirect->route wrong docu or default values #1125
- #1109 breaks route setup/uri parsing #1114
- [TESTS] Session tests for php 7.2 #1106
- set_cookie - not working #1103
- safe_mailto - not working #1102
- CLI tool sorting wrong #1099
- Issues with redirect #1098
- Can't use validate with regex_match[] #1084
- problem with redirect() withInput() when validation #1081
- Redis Handler Fails #1079
- about cache path #1078
- validation error #1077
- #Request. Features for REST server. #1076
- Database Migrations #1075
- Codeigniter/Model - Select Database Table Fields #1072
- New Config helper #1071
- HTTP\ResponseTest Language Problem #1069
- CLI Error #1068
- Entity _options dates #1061
- class Locale not found when using I18n/Time on xampp localhost #1059
- Cookie not working #1057
- Where is class 'MessageFormatter' #1054
- Is CI 4 ready for production, please? #1051
- Router 404 #1050
- Toolbar - memory usage #1049
- Session saving #1045
- $Email->initialize($config) not work! #1042
- Class '\CodeIgniter\Database\postgre\Connection' not found #1038
- Tutorial controller Pages and file_exists() case sensitivity #1030
- options base_uri not being based from curlrequest client instantiation #1029
- Missing method in db result #1022
- Email Config $fromEmail not work #1021
- Class 'CodeIgniter\PageNotFoundException' not found #1016
- Redirect glitch #1013
- CSRF Error #1012
- Php serv CLI stopped working #1006
- Unit testing broken in travis-ci #1003
- empty php_errors.log file #1001
- [Help] setVar('body', $view, 'raw') #1000
- It's blank page and set $baseURL #999
- Unable to use another controller'method in one controller? #997
- CodeIgniter\Session\Handlers\FileHandler Class and writable\session Directory not found while using .env #994
- route_to() function not work if greater than 3 parameters. #992
- Redirect Back #991
- helper method should accept more than one filename.... #987
- New Feature Request - Sub queries using query builder class #985
- MySQL join / missing value for field which was used in join. #983
- Documentation - Session Library - session()->start() #982
- Cache with handler file woking incorrect on windown os #978
- Formatter for: "content-type: application/json" #977
- route_to function working incorrect #975
- Getters and Setters in the Model #974
- About Replacing Core Classes! #973
- CodeIgniter 4 should use PSR-2 #972
- Model Validations and Insert/Update Batchs #967
- function old() not allow input name type array #966
- test #963
- namespace error in centos7 #959
- Session cannot be saved #958
- Model calling Query Builder replace() #957
- gzuncompress(): data error #956
- Additional space in a parameter which is a string (mysql) #955
- Pager with search queries #950
- IncomingRequest getUserAgent problem only object #948
- url_helper current_url https fix. #947
- Validation "matches" rule is not getting the label from the corresponding field #946
- no luck setting up user_guide #944
- mysqli_sql_exception: No such file or directory #943
- Major Security Flaw - Database Credentials get leaked. #935
- Debug Toolbar is not loaded when CSP is enabled #934
- This is a problem with frequent operations #933
- Redirects not working #931
- Model fillPlaceholders() rule reference #930
- session in not working on database #925
- Twig #919
- setDefaultNamespace Sub directories #917
- Load language issue #913
- Find a bug ,CSRFVerify #912
- validation form_error() #911
- About Filters matching rules #908
- Prepared Query Update problem #904
- Model::first() ambiguous id error #903
- Add Model beforeDelete property #902
- passing form_validation() errors with redirect() to any view | and include methods for post only by using [ HTTP verbs in routes ] and Resource route #900
- Database failover error on postgresql #899
- valid_email validation error #898
- Multi language ( on same page ) support #891
- About environnement error_reporting #889
- Subfolders for lang() #887
- Urgent issues #875
- remark #871
- Bug fix mysqli transaction function call #870
- Debugbar SSL request javascript problem #867
- Backslashes being escaped in where conditions. #866
- Model::delete method #865
- about SessionHandlerInterface error #864
- Respond Error Pages by Content-Type #863
- When codeigniter 4 will be released ? #860
- Catch in Controllers/Checks.php #859
- View render function LFI(local arbitray file include) issue #857
- Suggestion regarding codeigniter 4 #856
- Problem with using Entity class (Could not execute App\Entities::__construct()) #855
- Config Unexpectedly Being Overwritten by $_ENV variable #853
- Use PHP 7.0 or 7.1 typehints? #847
- There is something wrong with ViewTest::testRenderScrapsDataByDefault #846
- Session in filter #840
- Moved uploaded files doesn't retain new filename. #839
- Unable to use like in where? #838
- Status of the version #837
- when set cache to file, when get a error #836
- Bug toolbar #834
- Table name can not use the alias #831
- Validation - permit_empty #830
- Unable to install Codeigniter using composer #829
- Throttler usage #827
- Display Label on Form Validation #826
- Question about Filters #824
- uri->getHost() #815
- Error changing databases CodeIgniter\Database\MySQLi\Connection::dbSelect() #813
- Create a skeleton system for codeigniter #806
- Feature - CLI Prompt with Validation #800
- Routing problem /sth-abc->App:sth/foo (ok) and /sth/abc->App:sth/foo (nok) #799
- Update with delete value #796
- redirect()->to() is changing value of the base64 parameter #790
- View Parser escaping data even if passed 'raw' as context in setData() #788
- Cant instantiate Parser Directly. #787
- about redis error #783
- Validation issue and routing issue #782
- Query binding stopped working #781
- Entity exception in line 270 and 143 (current version). #780
- about Error Handling #778
- $this->CI->request->getIPAddress() protected #776
- How do you access the $this bound data of the controller in the view? Ci3 is OK, ci4 doesn't seem to work #775
- I wish I could call the $this of the controller in the business model. What's the solution? #774
- Ignore_value should be the value of ID, how do I get it? #772
- Can you increase the function of unique values in the test database? #771
- about where(null) #770
- redirect()->to() problem with output buffering #769
- Class 'App\Models\NewsModel' not found #766
- Undefined property: Config\App::$errorViewPath #765
- Zend/Escaper too big ,its not necessary #764
- .htaccess on php7.0.12 nts not work. #763
- DebugBar Routes Collector throws ErrorException when optional parameter is not passed to controller #762
- Debug View change page structure #761
- Debug Tool: Show view filepath #758
- PHPCBF - CodeIgniter4-Standard #757
- about errorViewPath #745
- Combine Composer with Install #744
- I have multiple applications. How can I share helpers and Class Map in multiple applications? #742
- I have multiple applications. How can I share helpers and Class Map in multiple applications? #741
- When can the fourth version be released, too much #738
- about Sub-directories #737
- About 【Use Config\Services as CodeIgniter\Services】 #735
- Mysqli Driver doesn't throw sql level exceptions / error #734
- LogicException #403 - CSRF #733
- User guide for ci4 is not responsive on mobile.(screen width less then 769px) #730
- Composer intall, as described in documentation, points to different github repository(!) #726
- Fatal error when trying to run using PHP built in server #725
- Passing array as argument in Parser Plugin not working #724
- $request->uri->getSegment(); return error #722
- Double quotation in getFieldData(); #721
- Should Model class implement the magic setter/getter methods for protected properties? #720
- Forge class trying to create UNSIGNED integer fields in Postgresql #719
- Tests Failing #717
- Form validation not working when Passing Empty array [ ] #715
- Redirects to wrong incomplete URL #710
- pg_escape_literal() expects parameter 1 to be resource, boolean given #709
- Separate DebugToolbar from CI_DEBUG #707
- common.php #706
- Parser::parsePair fails if template contains a $ sign #705
- view parser throws InvalidArgumentException #704
- Auto redirect to root folder #703
- ErrorException #1 htmlspecialchars() expects parameter 1 to be string #702
- Support for Labels in Validation #696
- Why is system/bootstrap.php lowercase? #695
- To much escaping in where #691
- session in DB not working #690
- imagecopyresampled(): supplied resource is not a valid Image resource #689
- Postgres json column search error #680
- multiple File upload issue #679
- Postgres Json type error on save #677
- show strange chracters in kint.php inside system/ThirdParty folder. #676
- Need Parser plugin for validation errors. #675
- Fatal error: Cannot use Config\Services as Services #674
- Routing issue - bad args in function call. #672
- Entity Concerns #662
- Undefined method CLIRequest::isSecure() #656
- PREG_QUOTE and SQL String Binding #655
- Discussions on Pagination hasNext() and hasPrevious() #651
- Feature requested- Auth and Template Engine #647
- route_to doesn't work for post routes #642
- CURL response header parsing (100-continue) #638
- Q: Support of array notations is not longer supported? #627
- Formvalidation not skip validation rules if field not required and field data empty #614
- Route naming and Groups #612
- Image resizing issue #610
- Too much escaping negative int (int < 0) #606
- Problem with Sth3Model loading from Sth2Model when Sth3Model is in subdiretory (Subdir1) #605
- I'm not sure but captcha seems currently unavailable. Would it be included in ci4? #604
- Issue with UploadFile [tempName == name/originalName] ? #602
- Command Line Seeding Error #601
- form_open_multipart('', [], $hidden) #598
- Minor issue with docs - form helper (there is no html_escape function) - shoud be esc #595
- $session->destroy() and $session->stop() do not work? #592
- file upload issue #591
- \IncomingRequest method getFiles() - Should really return only arrays? #590
- Third argument '$param' missing in validation getErrorMessage #589
- Error on Postgre insertID #587
- \InputRequest $request->getFiles() doesn't return FileCollection instance #586
- Documentation out of date? discoverLocal() #581
- Storing data #580
- Propose Moving Model::classToArray() method to Entity class as public method #579
- camelize helper function incorrect #576
- helper function uses include instead of include_once #575
- system/Validation/Views/list.php fix #574
- [FEATURE] Model Class: updateWhere() #572
- Model Order #571
- Minor thing with View file not found exception... #570
- Error: redirect() - ltrim() expects parameter 1 to be string, object given #568
- Tutorial is Wrong #562
- Model Hooks/Events Suggestion #557
- Initialize on Model __construct #556
- Event trigger "pre_system" not found #555
- Validation Issues #550
- Model Entity suggestion #549
- CodeIgniter\Files\File() and FileNotFoundException issue with creating new files #548
- override core files #546
- CodeIgniter\Format\JSONFormatter needs a look. #544
- getenv non covered system method #543
- Couldn't manage without index.php #541
- Debug bar: Uncaught ErrorException: str_repeat(): Second argument has to be greater than or equal to 0 #538
- Create localization filters for View Parser to aid in formatting numbers #536
- Create lang plugin for the View Parser #535
- Minor: Debug bar showing htmlentities (<strong>) #531
- Autoloading not functional with custom namespaces outside application dir #529
- where i extends Controller, and rewrite __construct, get error #527
- Debug/ImageException.php failed to open stream: No such file or directory #525
- Superglobals reset #524
- Bring ENV definition back out to the index file. #519
- Exception issue #517
- Port Zip library from CI3 #505
- Port Encryption library from CI3 #504
- Port SQLite database driver from CI3 #502
- A template engine suggession in this phase #500
- __set in \App\Entities\Sample doesnt works #499
- Router rule: (:alphanum) doesn't work #498
- Undefined index: host #497
- Unreasonable default parameter #482
- Model issues #479
- Route Blocking #474
- Class 'CodeIgniter\Hooks\Hooks' not found #473
- Work with entities and validation bug #472
- route bug or not? #470
- serve.php option --host no effect on line 37 #469
- File class should stand on its own #468
- Database can't save connect instances because var "$group" default is NULL #466
- redirect() issue #465
- Join not working in Query Builder #464
- If the controller’s method's parameter has a default value , the program will show 500 error #461
- Wrong ROOTPATH on console #460
- Rename "public" Folder Not Working #453
- Environment File #452
- Currency Localisation Not Working #448
- session getFlashdata() is not removing the flash data #446
- CURLRequest: HTTPHEADER and POSTFIELDS #445
- Language Line Prepend Recommendation #443
- Debug Toolbar Array Post Data #442
- Migration File & Class Name Issues #437
- Validation Rule Constants #436
- CURLRequest: Only variables should be passed by reference #434
- CLI new commands #433
- issue in phpunit #429
- Model Class To Array Does Not Use Get Magic Method Or Allowed Fields Property #427
- Response 404 not same satus get it #425
- Response Trait Fail Server Error Method #424
- Validation Required Rule Only Accepts Arrays or Strings #423
- CLI with parameters is not working #422
- API Response Trait :: failValidationError() Status Code 422 #420
- Validation Get & Set Rule Group #419
- One-Off Validation for a Single Value #418
- Language File Array Support #414
- Pagination: How to trans string param when using $pager->links()? #413
- Validation Exceptions #412
- Incorrect .htaccess #410
- Call to a member function getResult() on boolean #409
- Writable directory question #407
- Paginate Class #406
- Base URL Not Working With HTTPS #396
- How to current page detailed information on router or etc? #393
- timer long time getElapsedTime problem #390
- Problem with system bootstrap file needs to be fixed! #389
- redirect reverseRoute problem #387
- Hooks::on not working (it was working some time ago) #383
- disable coveralls auto comment on pull request #382
- phpunit don't work (fatal error) on PHP 7.0.0 #373
- session id validation when using php7.1 #371
- travis test coverage report service #370
- The efficiency of 'insertBatch' function #368
- Run phpunit with --coverage-text/html got Error: Undefined variable: matchIP #363
- Extending Core Classes #358
- Validation field name issue? #356
- Old Cache-Control header tag remove? #355
- $this->request->getPost() // Subkey not included data #353
- Routes static parameter problem not found page #352
- bug-form_open_multipart #345
- Recently ci4 everything goes well? I look ci the space named #336
- Request setBody not working #332
- HTTP/URI, CreateURIString yield unexpected result (http:/// instead of http://) #331
- session class: inconsistency on get() between document and code #330
- Model.php Return Type Object causes Error when Saving. (Fixed with this modification) #329
- a bug about set() #325
google map
in Mysqli Could be a Mistake #324- Modules Controllers sub-directory problem #322
- Post action after Toolbar -> Vars -> Headers Content-Type 2 lines #321
- Database builder->table() connection reference problem #320
- RedisHandler, Session regenerate id problem #318
- view_cell optional variables array_key_exists null fix. #317
- sessionDriver Database not available #315
- Add support for Content-MD5 headers #314
- Scalar type declaration 'string' must be unqualified #312
- Now ci4 product development can be used? Or how long before they can be released? Very much looking forward #311
- Sessions in Debug Bar Could be a Mistake #310
- Should namespaces be used or fully written at method heads #309
- More filtering issues with Query #306
- Too much escaping in DB? #302
- Error Cell caching #297
- A suggestion for debug exceptions layout #295
- getSharedInstance doesn't work on costum services #294
- Separated services default with trait #292
- HTML-Purifier #291
- Implement native ORM #289
- Igniter 4 services #287
- Error Documentation - Tutorial #286
- Request is doing the filter_var even if value is not in the $_REQUEST array #285
- controller routing #284
- URI Routing issues #278
- Email Library #276
- sql error #273
- DB Needs Transactions implemented. #268
- Error Call to undefined method CodeIgniter\Database\MySQLi\Connection::close() #267
- Application/ThirdParty folder necessity #265
- ErrorException when Connecting to Multiple Databases #255
- Toolbar.php :: ErrorException: Array to string conversion #254
- The Hooks feature does not work #248
- $baseUrl problem with Router #238
- File upload bugs #236
- standardize comments #234
- 3.1.0 Email Library Corrupting PDF Attachments #220
- Error DotEnv.php on line 121 #216
- Typography Helper #214
- Security Helper #213
- Number Helper #212
- Text Helper #211
- Inflector Helper #210
- HTML Helper #209
- FileSystem "Helper" #207
- Date Helper #206
- Cookie Helper #205
- Missing {memory_usage} ? #197
- Exception or disable toolbar for specific URI #195
- Config Settings Usability #186
- Binders #185
- Mess Detector rules #184
- Coding Standards Fixer rules #183
- Code Sniffer Rules #182
- Placing view template outside of the 'Views' dir when using view() #180
- Controller return output instead of echo view #179
- Honeypot Filter #176
- Form Helper #174
- ILIKE-based portion of the query for PostgreSQL #173
- “&get_instance()” in the Ci3 how to use it? #166
- system/Database/BaseConnection.php Change in getFieldNames() method #164
- Error in session FileHandler and BaseHandler #152
- No listFields() method in Postgre connection #151
- Controller Filters #150
- insert bug #149
- Router striping real dirpath from the urls. #148
- Problem throw error for default controller #146
- Routing issues. #145
- Pagination Library #142
- [i18n] Localization In Core #141
- Language #140
- Parser #139
- Application directory is missing the Helpers folder #133
- HTTP/Request.php Error #132
- Public properties issue? #124
- ci4 support websocket it? #121
- View Cells #116
- Cache Engine #115
- Image Class #114
- Uploader Class #113
- API Response Trait #86
- phpDocumentor bug #85
- Reserved method name #76
- Provide Throttler Filter #75
- Ensure docs are updated for current code. #72
- Writing Testing Docs #71
- Update Tutorial #70
- Review Contribution Guidelines #69
- Database Connection setDatabase() and getVersion() methods #68
- BaseConfig getEnvValue type juggling #67
- Migrations should track history per db group. #66
- Allow passing custom config values to Config\Database::connect() #62
- SessionInterface: unset() vs remove() #60
- Remove Query Builder caching #59
- Why is
$getShared = false
the default? #55 - Why IncomingRequest has setCookie()? #52
- AutoRoute and method arguments #45
- Rename the loader class #39
- exit() prevents from testing #31
- getHeaders #27
- SYSDIR #25
- Coding style checker #21
- Test folder structure #20
- Namespace for test case classes #17
- Missing protocolVersion in response header #15
- Problem with Code Coverage Reporting #13
- Class 'Config\App' not found #12
- Can't get Code Coverage #7
- APPPATH, SYSPATH and similar constants. Rename? #2
Merged pull requests:
- Adjusting the release build scripts #1266 (jim-parry)
- WIP Fix docs re PHP server #1265 (jim-parry)
- Release prep part 1 #1248 (jim-parry)
- Tweaking the release builder #1246 (jim-parry)
- Move Response & APIResponseTrait to outgoing section of UG #1243 (jim-parry)
- workaround for buffer problem #1242 (puschie286)
- Docs/restructure #1241 (jim-parry)
- doc fix: replace validation_errors() function with \Config\Services::validation()->listErrors() #1238 (samsonasik)
- doc fix: remove unneeded call helper(url) as already bootstrapped by default #1237 (samsonasik)
- Fix gh-pages deployment #1236 (jim-parry)
- Doc/fixes #1235 (jim-parry)
- typo in unset #1233 (titounnes)
- Release build script #1231 (jim-parry)
- Fix user guide errors #1228 (jim-parry)
- Admin script for user guide build & deploy #1227 (jim-parry)
- use short array syntax #1223 (samsonasik)
- doc fix: FormatterInterface namespace #1222 (samsonasik)
- Improved division logic of validation rules. #1220 (ytetsuro)
- Docs/contributing #1218 (jim-parry)
- Niggly fixes #1216 (jim-parry)
- Autodiscovery #1215 (lonnieezell)
- Fix warnings in welcome_message.php #1211 (puschie286)
- Correct helper tests namespace #1207 (jim-parry)
- Validation Class - corresponding about the escaped separator. #1203 (ytetsuro)
- Fixes FileRules::max_size() to use file->getSize() instead of number_formatted size #1199 (samsonasik)
- use Validation->getErrors() call instead of Valdation::errors to handle errors that came from session #1197 (samsonasik)
- allows to get table and primary key name out of the model #1196 (nowackipawel)
- pagination - optional page number #1195 (nowackipawel)
- add writable/session directory and set default App::sessionSavePath to it #1194 (samsonasik)
- Fix travis error build on Router and RouteCollection #1192 (samsonasik)
- add bool type hint for getShared parameter #1191 (samsonasik)
- Catch Email Exceptions #1190 (puschie286)
- $myModel->find(string "value-of-my-primary-key") #1188 #1189 (nowackipawel)
- Adds valid_json which is using json_last_error() === JSON_ERROR_NONE #1187 (nowackipawel)
- remove start() call on session() function call at Validation #1185 (samsonasik)
- remove unused salt in Model #1184 (samsonasik)
- log file:failed to delete buffer. No buffer to delete. #1182 (bangbangda)
- use string type hint in $file parameter in DotEnv::__construct() #1181 (samsonasik)
- Adjust log level to match RFC 5424 #1178 (sugenganthos)
- Update Response.php #1173 (sugenganthos)
- comparison fix at CIDatabaseTestCase #1172 (samsonasik)
- remove if ($template==forums/categories) check in View/Parser #1171 (samsonasik)
- show PageNotFoundException message #1168 (puschie286)
- make name parameter in HTTP\Header mandatory #1164 (samsonasik)
- Fixed insufficient validation of parameters related to pager. #1162 (ytetsuro)
- remove unneeded helper('url') call in plugins and form helper as already called in bootstrap file #1160 (samsonasik)
- reduce str_replace in View/Parser::render() #1159 (samsonasik)
- add missing string parameter type hint in Autoload methods #1158 (samsonasik)
- remove unneeded isset($options[hostname]) when next check is !empty($options[hostname]) #1157 (samsonasik)
- remove commented and never used methods in View\Parser class #1156 (samsonasik)
- Fixes #1135 : Toolbar oldest file delete and show maximum in the list as App::toolbarMaxHistory #1155 (samsonasik)
- add ext-intl to require at composer.json #1153 (samsonasik)
- remove unneeded (string) cast as type hinted #1152 (samsonasik)
- implements session->push() #1151 (samsonasik)
- SplFileInfo type case #1150 (samsonasik)
- Update views.rst #1149 (sugenganthos)
- remove unneeded @todo for Time::setMonth() to check max #1148 (samsonasik)
- fix RedirectResponse::route and added test #1147 (puschie286)
- Fix uri detection with no index in uri #1146 (puschie286)
- remove unneeded isset($_SESSION) when next check is !empty($_SESSION) #1145 (samsonasik)
- Add a namespace to the Pages.php #1143 (fdjkgh580)
- Add a namespace to the controller. #1142 (fdjkgh580)
- remove unused use statements #1141 (samsonasik)
- implements @todo max day in current month at Time::setDay() #1140 (samsonasik)
- remove unneeded (int) casting as use int type hint or certainly an int #1138 (samsonasik)
- Update html_helper.php #1133 (WaldemarStanislawski)
- update to latest php-coveralls #1131 (samsonasik)
- Update View.php #1130 (sugenganthos)
- Fix debugbar loading while csp is enabled #1129 (puschie286)
- Run session tests in separate processes - fix for #1106 #1128 (andreif23)
- Feature/sqlite #793 (lonnieezell)
* This Changelog was automatically generated by github_changelog_generator