Version 4.0.0-alpha.4

Release Date: Dec 15, 2018

Next alpha release of CodeIgniter4

Highlights:

  • Refactor for consistency: folder application renamed to app;
    constant BASEPATH renamed to SYSTEMPATH
  • Debug toolbar gets its own config, history collector
  • Numerous corrections and enhancements

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

  • admin/
    • docbot #1573
    • framework/composer.json #1555
    • release #1573
    • release-deploy #1573
    • starter/composer.json #1573, #1600
  • app/
    • Config/
      • App #1571
      • Autoload #1579
      • ContentSecurityPolicy #1581
      • Events #1571, #1595
      • Paths #1579
      • Routes #1579
      • Services #1579
      • Toolbar #1571, #1579
    • Filters/
      • Toolbar #1571
    • Views/
      • errors/* #1579
  • public/
    • index #1579
  • system/
    • Autoloader/
      • Autoloader #1562
      • FileLocator #1562, #1579
    • CLI/
      • CommandRunner #1562
    • Config/
      • AutoloadConfig #1555, #1579
      • BaseConfig #1562
      • Services #1571, #1562
    • Database/
      • BaseBuilder #a0fc68
      • MigrationRunner #1585
      • MySQLi/Connection #1561, #8f205a
    • Debug/
      • Collectors/* #1571, #1589, #1579
      • Exceptions #1579
      • Toolbar #1571
      • Views/toolbar.tpl #1571
      • Views/toolbarloader.js #1594
    • Helpers/
      • form_helper #1548
      • url_helper #1588
    • HTTP/
      • ContentSecurityPolicy #1581
      • DownloadResponse
    • I18n/
      • Time #1603
    • Language/
      • Language #1587, #1562, #1610
      • en/
        • CLI #1562
        • HTTP #d7dfc5
    • Log/
      • Handlers/FileHandler #1579
      • Logger #1562, #1579
    • Session/
      • Handlers/DatabaseHandler #1598
    • Test/
      • CIUnitTest #1581, #1593, #1579
      • FeatureResponse #1593
      • FeatureTestCase #1593
    • View/
      • View #1571, #1579
    • bootstrap #1579
    • CodeIgniter #ab8b5b, #1579
    • Common #1569, #1563, #1562, #1601, #1579
    • Entity #4c7bfe, #1575
    • Model #1602, #a0fc68
  • tests/
    • Autoloader/
      • AutolaoderTest #1562, #1579
      • FileLocatorTest #1562, #1579
    • Config/
      • ServicesTest #1562
    • Database/
      • Live/ModelTest #1602, #a0fc68
    • Files/
      • FileTest #1579
    • Helpers/
      • FormHelperTest #1548
      • URLHelperTest #1588
    • HTTP/
      • ContentSecurityPolicyTest #1581
      • DownloadResponseTest #1576, #1579
      • IncomingRequestDetectingTest #1576
      • IncomingRequestTest #1576
      • RedirectResponseTest #1562
      • ResponseTest #1576
    • I18n/
      • TimeDifferenceTest #1603
      • TimeTest #1603
    • Language/
      -LanguageTest #1587, #1610
    • Log/
      • FileHandlerTest #1579
    • Router/
      • RouterCollectionTest #1562
      • RouterTest #1562
    • Test/
      • FeatureResponseTest #1593
      • FeatureTestCaseTest #1593
      • TestCaseTest #1593
    • Validation/
      • ValidationTest #1562
    • View/
      • ParserPluginTest #1562
      • ParserTest #1562
      • ViewTest #1562
    • CodeIgniterTest #1562
    • CommonFunctionsTest #1569, #1562
    • EntityTest #4c7bfe, #1575
  • user_guide_src/source/
    • cli/
      • cli #1579
      • cli_commands #1579
    • concepts/
      • autoloader #1579
      • mvc #1579
      • services #1579
      • structure #1579
    • database/
      • configuration #1579
    • dbmgt/
      • migration #1579
      • seeds #1579
    • general/
      • common_functions #d7dfc5, #1579
      • configuration #1608
      • errors #1579
    • installation/
      • downloads #1579
    • models/
      • entities #547792, #1575
    • outgoing/
      • localization #1610
      • response #1581, #1579
      • view_parser #1579
    • testing/
      • debugging #1579
      • overview #1593, #1579
    • tutorial/
      • news_section #1586
      • static_pages #1579
  • composer.json #1555
  • ComposerScripts #1551
  • spark #1579
  • Vagrantfile.dist #1459

PRs merged:

  • #1610 Test, fix & enhance Language
  • #a0fc68 Clear binds after inserts, updates, and find queries
  • #1608 Note about environment configuration in UG
  • #1606 release framework script clean up
  • #1603 Flesh out I18n testing
  • #8f305a Catch mysql connection errors and sanitize username and password
  • #1602 Model's first and update didn't work primary key-less tables
  • #1601 clean up ConfigServices in Common.php
  • #1600 admin/starter/composer.json clean up
  • #1598 use $defaultGroup as default value for database session DBGroup
  • #1595 handle fatal error via pre_system
  • #1594 Fix Toolbar invalid css
  • #1593 Flesh out the Test package testing
  • #1589 Fix Toolbar file loading throw exception
  • #1588 Fix site_url generate invalid url
  • #1587 Add Language fallback
  • #1586 Fix model namespace in tutorial
  • #1585 Type hint MigrationRunner methods
  • #4c7bfe Entity fill() now respects mapped properties
  • #547792 Add _get and _set notes for Entity class
  • #1582 Fix changelog index & common functions UG indent
  • #1581 ContentSecurityPolicy testing & enhancement
  • #1579 Use Absolute Paths
  • #1576 Testing13/http
  • #1575 Adds ?integer, ?double, ?string, etc. cast types
  • #ab8b5b Set baseURL to example.com during testing by default.
  • #d7dfc5 Doc tweaks for redirects
  • #1573 Lessons learned
  • #1571 Toolbar updates
  • #1569 Test esc() with different encodings and ignore app-only helpers
  • #1563 id attribute support added for csrf_field
  • #1562 Integrates Autoloader and FileLocator
  • #1561 Update Connection.php
  • #1557 remove prefix on use statements
  • #1556 using protected intead of public modifier for setUp() function in tests
  • #1555 autoload clean up: remove PsrLog namespace from composer.json
  • #1551 remove manual define "system/" directory prefix at ComposerScripts
  • #1548 allows to set empty html attr
  • #1459 Add Vagrantfile