Skip to content
Edit this page

Version 4.0.0-beta.4

Release Date: Jul 25, 2019

Highlights

There are some breaking changes...

  • The Entity class has been refactored
  • The Model class has been updated to better handle soft deletes
  • The routing has been beefed up

New Messages

  • New translation key: Database.noDateFormat

Testing Changes

  • Enhanced database & migration testing in tests/_support/

Changed Files

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

.
├── admin/
├── app/
│   └── Controllers/
│       └── Home #1999
├── public/
├── system/
│   ├── Autoloader/
│   │   └── FileLocator #2059, #2064
│   ├── Cache/
│   │   ├── CacheFactory #2060
│   │   └── Handlers/
│   │       ├── MemcachedHandler #2060
│   │       ├── PredisHandler #2060
│   │       └── RedisHandler #2060
│   ├── Commands/
│   │   └── Utilities/Routes #2008
│   ├── Config/
│   │   ├── Config #2079
│   │   └── Services #2024
│   ├── Database/
│   │   ├── MySQLi/
│   │   │   ├── Connection #2042
│   │   │   └── Result #2011
│   │   ├── Postgre/
│   │   │   ├── Connection #2042
│   │   │   └── Result #2011
│   │   ├── SQLite3/
│   │   │   ├── Connection #2042
│   │   │   ├── Forge #2042
│   │   │   ├── Result #2011
│   │   │   └── Table #2042
│   │   ├── BaseBuilder #1989
│   │   ├── BaseConnection #2042
│   │   ├── BaseResult #2002
│   │   ├── Forge #2042
│   │   ├── MigrateRollback #2035
│   │   └── MigrationRunner #2019
│   ├── Debug/
│   │   └── Toolbar/Collectors/Routes #2030
│   ├── Exceptions.
│   │   └── ModelException #2054
│   ├── Files/
│   │   └── File #2104
│   ├── Filters/
│   │   └── Filters #2039
│   ├── helpers/
│   │   └── date_helper #2091
│   ├── HTTP/
│   │   ├── CLIRequest #2024
│   │   ├── CURLRequest #1996, #2050
│   │   ├── IncomingRequest #2063
│   │   └── Request #2024
│   ├── Language/en/
│   │   └── Database #2054
│   ├── Pager/
│   │   └── Pager #2026
│   ├── Router/
│   │   ├── RouteCollection #1959, #2012, #2024
│   │   ├── Router #2024, #2031, #2043
│   │   └── RouterInterface #2024
│   ├── Session/
│   │   └── Handlers/ArrayHandler #2014
│   ├── Test/
│   │   ├── CIUnitTestCase #2002
│   │   └── FeatureTestCase #2043
│   ├── Throttle/
│   │   └── Throttler #2074
│   ├── CodeIgniter #2012, #2024
│   ├── Common #2036
│   ├── Entity #2002, #2004, #2011, #2081
│   └── Model #2050, #2051, #2053, #2054
├── tests/system/
│   ├── CLI/
│   │   └── ConsoleTest #2024
│   ├── Database/
│   │   ├── Live/
│   │   │   ├── DbUtilsTest #2051, #2053
│   │   │   ├── ForgeTest #2019, #2042
│   │   │   ├── ModelTest #2002, #2051, #2053, #2054
│   │   │   ├── SQLite/AlterTablesTest #2042
│   │   │   └── WhereTest #2052
│   │   └── Migrations/MigrationRunnerTest #2019
│   ├── HTTP/
│   │   ├── CLIRequest #2024
│   │   └── CURLRequestTest #1996
│   ├── Router/
│   │   ├── RouteCollectionTest #1959, #2012, #2024
│   │   └── RouterTest #2024, #2043
│   ├── Test/
│   │   └── FeatureTestCaseTest #2043
│   ├── Throttle/
│   │   └── ThrottleTest #2074
│   ├── View/
│   │   └── ParserTest #2005
│   ├── CodeIgniterTest #2024
│   └── EntityTest #2002, #2004
└── user_guide_src/
    ├── concepts/
    │   └── autoloader #2035, #2071
    ├── database/
    │   └── query_builder #2035
    ├── dbmgmt/
    │   ├── forge #2042
    │   └── migration #2042
    ├── helpers/
    │   └── date_helper #2091
    ├── incoming/
    │   └── routing #2035
    ├── installation/
    │   └── installing_composer #2015, #2035
    ├── libraries/
    │   ├── pagination #2026
    │   ├── sessions #2014, #2035
    │   ├── validation #2069
    │   └── uploaded_files #2104
    ├── models/
    │   ├── entities #2002, #2004, #2035
    │   └── model #2051, #2053, #2054
    ├── outgoing/
    │   └── view_parser #e21823, 32005
    └── testing/
        └── database #2051, #2053

PRs merged

  • #2104 File & UploadFile Fixes
  • #2091 Timezone select
  • #2081 JSON format checking improved
  • #2079 Update config() to check all namespaces
  • #2074 Throttler can access bucket for bucket life time
  • #2071 Fix autoloader.rst formatting
  • #2069 validation rule: then -> than (spelling)
  • #2064 Bugfix file locator slash error
  • #2063 Ensure query vars are part of request->uri. Fixes #2062
  • #2060 Cache Drive Backups
  • #2059 Add multi-path support to locateFile()
  • #2054 Add model exceptions for missing/invalid dateFormat
  • #2053 Change Model's deleted flag to a deleted_at datetime/timestamp. Fixes #2041
  • #2052 Add various tests for (not) null
  • #2051 Soft deletes use deleted_at
  • #2050 Stash insert ID before event trigger
  • #2043 Zero params should be passed through when routing. Fixes #2032
  • #2042 SQLite3 now supports dropping foreign keys. Fixes #1982
  • #2040 Update CURLRequest.php
  • #2039 Restrict filter matching of uris so they require an exact match. Fixes #2038
  • #2036 Make force_https() send headers before exit
  • #2035 Various typos and Guide corrections
  • #2031 Fallback to server request for default method
  • #2030 Support the new router service in Debug Toolbar
  • #2026 Extension Pager::makeLinks (optional group name)
  • #2024 Refactor the way the router and route collection determine the current HTTP verb
  • #2019 SQLite and Mysql driver additional tests and migration runner test fixes
  • #2015 Direct user to follow the upgrade steps after installation
  • #2014 Added a new Session/ArrayHandler that can be used during testing
  • #2012 Use request->method for HTTP verb
  • #2011 Set the raw data array without any mutations for the Entity
  • #2008 Add patch method to command "routes"
  • #2005 Plugin closures docs update and test
  • #2004 Allow hasChanged() without parameter
  • #2002 Entity Refactor
  • #1999 use CodeIgniterController; not needed since Home Controller extends ...
  • #1996 Attempting to fix CURLRequest debug issue. #1994
  • #e21823 Corrected docs for parser plugins. Closes #1995
  • #1989 argument set() must be of type string - cannot agree
  • #1959 Prevent reverseRoute from searching closures