Version 4.0.0-beta.2¶
Release Date: April 4, 2019
Highlights:
- A number of fixes & improvements, importantly for the Model and testing classes
- Models now require a primary key
- Generated API docs accessible at https://codeigniter4.github.io/api/
- Validation rules have been enhanced
- .htaccess beefed up
New messages:
- Database.noPrimaryKey, forFindColumnHaveMultipleColumns, Database.forEmptyInputGiven
App changes:
- updated app/Config/Events
- added app/Controllers/BaseController
- added tests/ folder for unit testing
- added phpunit.xml.dist for unit testing configuration
The list of changed files follows, with PR numbers shown.
- .htaccess #1900
- app/
- Config/
- Events #1856
- Controllers/
- BaseController #1847
- Home #1847
- contributing/
- README.rst #1846
- styleguide #1872
- contributing.md #1846
- phpdoc.dist.xml #1872
- system/
- Autoloader/
- FileLocator #1860
- Cache/Handlers/
- FileHandler #1895
- MemcachedHandler #1895
- PredisHandler #1895
- RedisHandler #1863, #1895
- WincacheHandler #1895
- CLI/
- CLI #1891, #1910
- Commands/
- Server/Serve #1893
- Utilities/Routes #1859
- Config/
- BaseConfig #1811
- Routes #1847, #1850
- Database/
- BaseBuilder $1776, #1902
- BaseConnection #1899
- Forge #1844, #1899
- MigrationRunner #1860, #1865
- MySQLi/Connection #1896
- MySQLi/Forge #1899
- Postgre/Builder #1902
- Postgre/Forge #1899
- Query #1805, #1771
- SQLite3/Builder #1902
- SQLite3/Forge #1899
- Debug/
- Toolbar/Collectors/History #1869
- Toolbar #1897
- Events/
- Events #1867
- Exceptions/
- ModelException #1829
- PageNotFoundException #1844
- Files/
- File #1809, #1854
- Helpers/
- date_helper #d08b68
- form_helper #1803
- html_helper #1803
- number_helper #d08b68, #1803
- security_helper #d08b68
- text_helper #d08b68, #1803
- url_helper #d08b68, #1803
- xml_helper #1803
- Honeypot/
- Honeypot #1894
- HTTP/
- Header #1769
- IncomingRequest #1831
- Language/en/
- Database #1829, #1861, #1902
- Router/
- RouteCollection #1769
- Router #1839, #1882
- Session/
- Session #1769
- Test/
- ControllerTester #1769, #1848, #1855
- DOMParser #1848
- Validation/
- FormatRules #1762, #1863
- Rules #1791, #1814, #1818, #1862
- Validation #1769
- Views/list #1828
- View/
- Filters #1769
- Parser #1769
- View #1769, #1827
- CodeIgniter #1769, #1804, #1590
- Common #1802, #895ae0
- ComposerScripts #1804
- Controller #1769, #1850
- Entity #1769, #1804
- Model #1793, #1769, #1804, #1808, #1812, #1813, #1817, #1829, #1746, #1861
- tests/system/
- Cache/
- Handlers/
- FileHandlerTest #1796, #1895
- MemcachedHandlerTest #1895
- RedisHandlerTest #1895
- CacheFactoryTest #1796
- CLI/
- CLITest #1910
- Config/
- BaseConfigTest #1811
- ConfigTest #1811
- Database/
- Builder/EmptyTest #1902
- Builder/SelectTest #1902
- Live/ModelTest #1817, #1829, #1861
- Live/WhereTest #1906
- Events/
- EventsTest #1867
- HTTP/
- ContentSecurityPolicyTest #1848
- Router/
- RouteCollectionTest #1822, #1912, #1913
- Test/
- ControllerTesterTest #1848, #1855
- DOMParserTest #1848
- Validation/
- FormatRulesTest #1762
- RulesTest #1791
- View/
- ViewTest #1827, #1836
- ControllerTest #1850
- user_guide_src/
- cli/
- cli_commands #1777
- cli_library #1892, #1910
- concepts/
- services #1811
- database/
- examples #1794
- dbmgmt/
- forge #1844, #1899
- migration #1860, #1865
- extending/
- basecontroller #1847
- core_classes #1847
- general/
- common_functions #1802, #1895
- helpers/
- number_helper #d08b68
- url_helper #1803
- incoming/
- routing #1908
- libraries/
- caching #1895
- files #1790, #1854
- pagination #1823
- sessions #1843
- validation #1814, #1828, #1862
- models/
- models #1817, #1820, #1829, #1746, #1861
- outgoing/
- view_layouts #1827
- testing/
- controllers #1848
PRs merged:¶
- #1913 More RouteCollection tests for overwriting. Closes #1692
- #1912 Additional RouteCollectionTests
- #1910 Added print method to CLI library so you can print multiple times on same line
- #1908 Add filter parameters to User Guide
- #1906 SubQuery related test cases w.r.t #1775
- #1902 BaseBuilder corrections
- #1900 Update .htaccess for better security and caching
- #1899 Database Forge correction
- #1897 Toolbar fix w.r.t #1779
- #1896 Mysql connection issue with SSL cert (#1219)
- #1894 Typos fixings
- #1893 Fix spark serve with remove escapeshellarg()
- #1892 Add CLI background color list to the user guide
- #1891 Allow CLI::strlen null parameter
- #1886 Fixed issue #1880, fixed a few typos and updated code style
- #1882 Router Changes w.r.t #1541
- #1873-1889 Docs: move namespace declarations & add missing class docblocks
- #1872 Docs: fix phpdoc config
- #1871 Unmatched Cache Library get() return null
- #1869 History::SetFiles check #1778
- #1863 Module wise Typos changes
- #1861 New method Find Column w.r.t. #1619
- #1860 Migrationrunner use autoloader
- #1867 Events should actually work with any callable now. Fixes #1835
- #1865 MigrationRunner issue with definition resolved
- #1862 required_with and required_without definition changes
- #1859 Ignore callbacks in routes list
- #1858 Typos correction in DB module
- #1856 ensure ob_end_flush() when ob_get_level() > 0 on pre_system event
- #1855 Fix: ControllerTester::execute. Fixes #1834
- #1854 File::move now returns new file instance for relocated file. Fixes #1782
- #1851 Replace old CI3 .gitignore with root CI4 version
- #1850 Secure routable controller methods
- #1848 Test: fix & test Test/ControllerTest, tested
- #1847 Extend Controller to BaseController by default
- #1846 Fix contributing links
- #1844 Model Fix
- #1843 Replace CI3 $this->input reference
- #1842 Exception ‘forPageNotFound’ missing default value
- #1839 Dont replace slashes with backslashes in the to route
- #1836 Test: Improve ViewView coverage
- #1831 Fix some PHPDoc comments error
- #1829 Improve: Models now require a primary key. This is partially to keep the code …
- #1828 Fix: Remove bootstrap styles from validation views.
- #1827 Fix: Adding include method to View library to render view partials… views.
- #1823 Docs: Remove legacy Bootstrap references in Pagination class
- #1822 Test: enhance RouteCollection coverage
- #1820 Fix: Correct sphinx errors in model.rst
- #1819 Improve: Add apibot for API docs using phpDocumentor
- #1818 Improve: Code improvement in exact_length Rule
- #1817 Improve: Model setValidationMessage functions introduced
- #895ae0 Fix: Start session whenver using the old command
- #1814 Enhance: extended exact_length[1,3,5]
- #1813 Fix: Model::save fix for earlier PRs
- #1812 Test: Improve Filters coverage
- #1811 Test: Config module coverage improved
- #1809 Fix file move failed. Fixex #1785
- #1808 Fix: Fix save method return value
- #1805 Docs: Query Class Changes
- #1804 Docs: Some Base Functional Changes
- #1803 Docs: Some Helper Changes
- #1802 Docs: Common function correction
- #1796 Test: Improve Cache coverage
- #1794 Replace nonexistent “getAffectedRows”
- #1793 Set Model->chunk return type
- #1791 Fix: Remove is_numeric tests in ValidationRules
- #d08b68 Fix in ControllerTester for missing UserAgent
- #1790 Correction of typos in documentation as mentioned in issue #1781
- #1777 Add CLI namespace to example
- #1776 Fix: replace only last operator in field name
- #1771 Fix: fix typo in matchSimpleBinds
- #1769 Correction in Methods and Spellings
- #1762 Fix: decimal rule. shouldn’t it accept integers?
- #1746 Improve: Update Model, to selective update created_at / updated_at field.
- #1590 Improve: Enhance 404Override