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