Version 4.0.0-rc.2

Release Date: Sept 27, 2019

RC.2 release of CodeIgniter4

Enhancements:

  • query builder testability simplified with new property, but dropped
    method parameters (breaking change)
  • database, migrations and sessions beefed up
  • numerous smaller bugs corrected

App changes:

  • Config/Constants, Paths & some config settings have had changes

Message changes:

  • N/A

The list of changed files follows, with PR numbers shown.

  • admin/
  • app/
    • Config/
      • Boot/* #2241
      • Constants #2183
      • Paths #2181
  • public/
  • system/
    • CLI/
      • BaseCommand #2231
    • Database/
      • MySQLi/Connection #2201, 2229
      • Postgre/
        • BaseBuilder #2269
        • Connection #2201
      • SQLite3/Connection #2201, 2228, 2230
      • BaseBuilder #2257, 2232, 2269, 2270
      • BaseConnection #2208, 2213, 2231
      • Config #2224
      • Forge #2205
      • MigrationRunner #2191
    • Debug/
      • Exceptions #2262
    • Encryption/
      • Encryption #2231
      • Handlers/BaseHandler #2231
    • Files/
      • FileCollection #2265
    • HTTP/
      • CURLRequest #2168
      • IncomingRequest #2265
      • Request #2253
      • Response #2253
    • I18n/
      • Time #2231
      • TimeDifference #2231
    • Images/
      • Handlers/BaseHandler #2246
    • RESTful/
      • ResourcePresenter #2271
    • Security/
      • Security #2240
    • Session/
      • Session #2197, 2231
    • Test/
      • CIDatabaseTestCase #2205
      • CIDatabaseUnitTestCase #2184
    • Validation/
      • FileRules #2265
      • Validation #2268
    • View/
      • Parser #2264
    • Common #2200, 2209, 2261
    • Model #2231
  • tests/_support/
  • tests/system/
    • Commands/
      • CommandClassTest #2231
    • Database/
      • Builder/
        • GetTest #2232
          • CountTest #2269
          • DeleteTest #2269
          • EmptyTest #2269
          • GetTest #2269
        • GroupTest #2257
          • InsertTest #2269
          • ReplaceTest #2269
          • TruncateTest #2269
          • UpdateTest #2269
      • Live/
        • EscapeTest #2229
        • ForgeTest #2201, 2211
        • GroupTest #2257
        • MetadataTest #2211
        • ModelTest #2231
      • BaseConnectionTest #2229, 2231
    • Encryption/
      • EncryptionTest #2231
    • Helpers/
      • URLHelperTest #2259
    • HTTP/
      • CURLRequestTest #2168
      • FileCOllectionTest #2265
      • URITest #2259
    • I18n/
      • TimeDifferenceTest #2231
      • TimeTest #2231
    • Pager/
      • pagerTest #2259
    • RESTful/
      • ResourcePresenterTest #2271
    • Session/
      • SessionTest #2231
    • View/
      • ParserTest #2264
  • user_guide_src/
    • concepts/
      • structure #2221
    • database/
      • metadata #2199, 2201, 2208
      • queries #2208
      • query_builder #2257, 2232, 2269
    • dbmgmt/
      • migration #2190, 2191
    • extending/
      • contributing #2221
    • general/
      • errors #2221
    • helpera/
      • url_helper #2259
    • incoming/
      • restful #2189
      • routing #2221
    • installation/
      • troubleshooting #2260
    • libraries/
      • encryption #2221
      • pagination #2216
      • time #2221
      • uti #2216
    • outgoing/
      • api_responses #2245
      • view_layouts #2218
      • view_parser #2218, 2264
    • testing/
      • controllers #2221
      • debugging #2221, 2209
      • feature #2218, 2221
      • overview #2221
    • tutorial/
      • news_section #2221
      • static_pages #2221

PRs merged:

  • #2271 fix ResourcePresenter::setModel()
  • #2270 groupStart() refactorization
  • #2269 testMode() method for BaseBuilder
  • #2268 Validation session use only if exists
  • #2267 Tests setUp and tearDown: void
  • #2265 Fix a validation issue on multiple file upload
  • #2264 fix. Parser allow other extension
  • #2262 Fix parameter type in Debug/Exceptions
  • #2261 Fix lang() signature
  • #2260 Explain the whoops page
  • #2259 Add URI & url_helper tests
  • #2257 Several updates to the HAVING clauses
  • #2253 Fix invalid parameters
  • #2246 EXIF not supported for GIF
  • #2245 Fix class ref parameter types
  • #2241 Fix ini_set parameter type
  • #2240 Handle JSON POSTs in CSRF
  • #2232 Fixes BaseBuilder getWhere() bug
  • #2231 Add magic __isset to classes with __get
  • #2230 Add escape to SQLite _listTables()
  • #2229 MySQLi escapeLikeStringDirect()
  • #2228 Exclude sqlite_% from listTables()
  • #2224 change new ConfigDatabase() to config(『Database』)
  • #2221 Documentation fixes
  • #2218 Typo corrected
  • #2216 Update uri.rst
  • #2213 Filter listTables cache response on constrainPrefix
  • #2211 Add listTable() tests
  • #2209 Add trace()
  • #2208 Add $db->getPrefix()
  • #2205 Fix empty() bug on DBPrefix
  • #2201 Foreign key columns
  • #2200 Notify Kint of dd alias
  • #2199 Add getForeignKeyData to User Guide
  • #2187 Update Session.php
  • #2191 Migration rollback reverse
  • #2190 Fix name of ForeignKeyChecks
  • #2189 missing return
  • #2184 Fix case on 「Seeds/」 directory
  • #2183 Check defined for constants
  • #2181 Remove copy-paste extraneous text
  • #2168 Fix for CURL for 『debug』 option