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

Changelog History
Page 4

  • v4.0.0-beta.1 Changes

    March 01, 2019

    Full Changelog

    πŸ›  Fixed bugs:

    • Sequential Migrations don't run to the correct version #1666

    Closed issues:

    • Back references not working in route #1761
    • 0️⃣ 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:

  • v4.0.0-alpha.4 Changes

    December 15, 2018

    Full Changelog

    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:

  • v4.0.0-alpha.3 Changes

    November 30, 2018

    Full Changelog

    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:

  • v4.0.0-alpha.2 Changes

    October 26, 2018

    Full Changelog

    Implemented enhancements:

    • Filter in the router #1315
    • Making Views path changeable #1296

    πŸ›  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:

  • v4.0.0-alpha.1 Changes

    September 29, 2018

    Full Changelog

    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
    • 0️⃣ 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
    • 0️⃣ 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
    • 0️⃣ 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
    • 0️⃣ 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
    • 0️⃣ Database can't save connect instances because var "$group" default is NULL #466
    • redirect() issue #465
    • πŸ— Join not working in Query Builder #464
    • 0️⃣ 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
    • 0️⃣ 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
    • 0️⃣ 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
    • 0️⃣ 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:

    * This Changelog was automatically generated by github_changelog_generator

  • v4.0.0.0 Changes

    January 30, 2019

    Full Changelog

    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
    • 0️⃣ 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: