Version 4.0.0-alpha.5¶
Release Date: Jan 30, 2019
Next alpha release of CodeIgniter4
Highlights¶
- Added
$maxQueriessetting to app/Config/Toolbar.php - Updated PHP dependency to 7.2
- New feature branches have been created for the email and queue modules, so they don't impact the release of 4.0.0
- Dropped several language messages that were unused (e.g.,
Migrations.missingTable) and added some new ones (e.g.,Migrations.invalidType) - Lots of bug fixes, especially for the database support
- Provided filters (
CSRF,Honeypot,DebugToolbar) have been moved from app/Filters/ to system/Filters/ - Revisited the installation and tutorial sections of the user guide
- Code coverage is at 77% ... getting ever closer to our target of 80% :)
We hope this will be the last alpha, and that the next pre-release will be our first beta ... fingers crossed!
Changed Files¶
The list of changed files follows, with PR numbers shown.
.
├── admin/
│ ├── starter/
│ │ ├── README.md #1637
│ │ └── app/Config/Paths.php #1685
│ └── release-appstarter #1685
├── app/
│ └── Config/
│ ├── Filters #1686
│ ├── Modules #1665
│ └── Services #614216
│ └── Toolbar
├── contributing/
│ ├── guidelines.rst #1671, #1673
│ └── internals.rst #1671
├── public/
│ └── index.php #1648, #1670
├── system/
│ ├── Autoloader/
│ │ ├── Autoloader #1665, #1672
│ │ └── FileLocator #1665
│ ├── Commands/
│ │ └── Database/MigrationRollback #1683
│ ├── Config/
│ │ ├── BaseConfig #1635
│ │ ├── BaseService #1635, #1665
│ │ ├── Paths #1626
│ │ ├── Services #614216, #3a4ade, #1643
│ │ └── View #1616
│ ├── Database/
│ │ ├── BaseBuilder #1640, #1663, #1677
│ │ ├── BaseConnection #1677
│ │ ├── Config #6b8b8b, #1660
│ │ ├── MigrationRunner #81d371, #1660
│ │ └── Query #1677
│ ├── Database/Postgre/
│ │ └── Builder #d2b377
│ ├── Debug/Toolbar/Collectors/
│ │ ├── Logs #1654
│ │ └── Views #3a4ade
│ ├── Events/
│ │ └── Events #1635
│ ├── Exceptions/
│ │ └── ConfigException #1660
│ ├── Files/
│ │ ├── Exceptions/FileException #1636
│ │ └── File #1636
│ ├── Filters/
│ │ ├── Filters #1635, #1625, #6dab8f
│ │ ├── CSRF #1686
│ │ ├── DebugToolbar #1686
│ │ └── Honeypot #1686
│ ├── Helpers/
│ │ ├── form_helper #1633
│ │ ├── html_helper #1538
│ │ └── xml_helper #1641
│ ├── HTTP/
│ │ ├── ContentSecurityPolicy #1641, #1642
│ │ └── URI #2e698a
│ ├── Language/
│ │ ├── /en/Files #1636
│ │ └── Language #1641
│ ├── Log/
│ │ └── Handlers/FileHandler #1641
│ ├── Router/
│ │ ├── RouteCollection #1665, #5951c3
│ │ └── Router #9e435c, #7993a7, #1678
│ ├── Session/
│ │ ├── Handlers/BaseHandler #1684
│ │ ├── Handlers/FileHandler #1684
│ │ ├── Handlers/MemcachedHandler #1679
│ │ └── Session #1679
│ ├── bootstrap #81d371, #1665
│ ├── Common #1660
│ ├── Entity #1623, #1622
│ └── Model #1617, #1632, #1656, #1689
├── tests/
│ └── README.md #1671
├── tests/system/
│ ├── API/
│ │ └── ResponseTraitTest #1635
│ ├── Autoloader/
│ │ ├── AutoloaderTest #1665
│ │ └── FileLocatorTest #1665, #1686
│ ├── CLI/
│ │ ├── CommandRunnerTest #1635
│ │ └── CommandsTest #1635
│ ├── Config/
│ │ ├── BaseConfigTest #1635
│ │ ├── ConfigTest #1643
│ │ └── ServicesTest #1635, #1643
│ ├── Database/Builder/
│ │ ├── AliasTest #bea1dd
│ │ ├── DeleteTest #1677
│ │ ├── GroupTest #1640
│ │ ├── InsertTest #1640, #1677
│ │ ├── LikeTest #1640, #1677
│ │ ├── SelectTest #1663
│ │ ├── UpdateTest #1640, #1677
│ │ └── WhereTest #1640, #1677
│ ├── Database/Live/
│ │ ├── AliasTest #1675
│ │ ├── ConnectTest #1660, #1675
│ │ ├── ForgeTest #6b8b8b
│ │ ├── InsertTest #1677
│ │ ├── Migrations/MigrationRunnerTest #1660, #1675
│ │ └── ModelTest #1617, #1689
│ ├── Events/
│ │ └── EventTest #1635
│ ├── Filters/
│ │ ├── CSRFTest #1686
│ │ ├── DebugToolbarTest #1686
│ │ ├── FiltersTest #1635, #6dab8f, #1686
│ │ └── HoneypotTest #1686
│ ├── Helpers/
│ │ ├── FormHelperTest #1633
│ │ └── XMLHelperTest #1641
│ ├── Honeypot/
│ │ └── HoneypotTest #1686
│ ├── HTTP/
│ │ ├── ContentSecurityPolicyTest #1641
│ │ └── IncomingRequestTest #1641
│ ├── Language/
│ │ └── LanguageTest #1643
│ ├── Router/
│ │ ├── RouteCollectionTest #5951c3
│ │ └── RouterTest #9e435c
│ ├── Validation/
│ │ └── RulesTest #1689
│ └── View/
│ ├── ParserPluginTest #1669
│ └── ParserTest #1669
├── user_guide_src/
│ ├── concepts/
│ │ ├── autoloader #1665
│ │ └── structure #1648
│ ├── database/
│ │ ├── connecting #1660
│ │ └── transactions #1645
│ ├── general/
│ │ ├── configuration #1643
│ │ ├── managing_apps #5f305a, #1648
│ │ └── modules #1613, #1665
│ ├── helpers/
│ │ └── form_helper #1633
│ ├── incoming/
│ │ ├── filters #1686
│ │ ├── index #4a1886
│ │ └── methodspoofing #4a1886
│ ├── installation/
│ │ ├── index #1690, #1693
│ │ ├── installing_composer #1673, #1690
│ │ ├── installing_git #1673, #1690
│ │ ├── installing_manual #1673, #1690
│ │ ├── repositories #1673, #1690
│ │ ├── running #1690, #1691
│ │ └── troubleshooting #1690, #1693
│ ├── libraries/
│ │ ├── honeypot #1686
│ │ ├── index #1643, #1690
│ │ └── throttler #1686
│ └── tutorial/
│ ├── create_news_item #1693
│ ├── index #1693
│ ├── news_section #1693
│ └── static_pages #1693
├── composer.json #1670
├── contributing.md #1670
├── README.md #1670
├── spark #1648
└── .travis.yml #1649, #1670
PRs merged¶
- #1693 Docs/tutorial
- #5951c3 Allow domain/sub-domain routes to overwrite existing routes
- #1691 Update the running docs
- #1690 Rework install docs
- #bea1dd Additional AliasTests for potential LeftJoin issue
- #1689 Model Validation Fix
- #1687 Add copyright blocks to filters
- #1686 Refactor/filters
- #1685 Fix admin - app starter creation
- #1684 Updating session id cleanup for filehandler
- #1683 Fix migrate:refresh bug
- #d2b377 Fix Postgres replace command to work with the new way of storing binds
- #4a1886 Document method spoofing
- #2e698a urldecode URI keys as well as values.
- #1679 save_path - for memcached
- #1678 fix route not replacing forward slashes
- #1677 Implement Don't Escape feature for db engine
- #1675 Add missing test group directives
- #1674 Update changelog
- #1673 Updated download & installation docs
- #1672 Update Autoloader.php
- #1670 Update PHP dependency to 7.2
- #1671 Update docs
- #1669 Enhance Parser & Plugin testing
- #1665 Composer PSR4 namespaces are now part of the modules auto-discovery
- #6dab8f Filters match case-insensitively
- #1663 Fix bind issue that occurred when using whereIn
- #1660 Migrations Tests and database tweaks
- #1656 DBGroup in __get() allows validating "database" data outside the model
- #1654 Toolbar - Return Logger::$logCache items
- #1649 remove php 7.3 from "allow_failures" in travis config
- #1648 Update "managing apps" docs
- #1645 Fix confusion about enabling transactions (docu)
- #1643 Remove email module
- #1642 CSP nonce attribute value in ""
- #81d371 Safety checks for config files during autoload and migrations
- #1641 More unit testing tweaks
- #1640 Update getCompiledX methods in BaseBuilder
- #1637 Fix starter README
- #1636 Refactor Files module
- #5f305a UG - Typo in managing apps
- #1635 Unit testing enhancements
- #1633 Uses csrf_field and form_hidden
- #1632 DBGroup should be passed to ->run instead of ->setRules
- #1631 move use statement after License doc at UploadedFile class
- #1630 Update copyright to 2019
- #1629 "application" to "app" directory doc and comments
- #3a4ade view() now properly reads the app config again
- #7993a7 Final piece to get translateURIDashes working appropriately
- #9e435c TranslateURIDashes fix
- #1626 clean up Paths::$viewDirectory property
- #1625 After matches is not set empty
- #1623 Property was not cast if it was defined as nullable
- #1622 Nullable support for __set
- #1617 countAllResults() should respect soft deletes
- #1616 Fix View config merge order
- #614216 Moved honeypot service out of the app Services file to the system Services where it belongs
- #6b8b8b Allow db forge and utils to take an array of connection info instead of a group name
- #1613 Typo in documentation
- #1538 img fix(?) - html_helper