CodeIgniter4/changelogs/v4.0.0-alpha.3.html
2021-10-16 17:07:59 +00:00

973 lines
39 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Version 4.0.0-alpha.3 &mdash; CodeIgniter 4.1.4 documentation</title><link rel="stylesheet" href="../_static/css/citheme.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" /><link rel="shortcut icon" href="../_static/favicon.ico"/>
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/language_data.js"></script>
<script src="../_static/js/citheme.js"></script>
<script src="../_static/js/carbon.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Version 4.0.0-alpha.2" href="v4.0.0-alpha.2.html" />
<link rel="prev" title="Version 4.0.0-alpha.4" href="v4.0.0-alpha.4.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" style="background: #DD4814" >
<a href="../index.html"><img src="../_static/ci-logo-text.png" class="logo" alt="Logo"/>
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul>
<li class="toctree-l1"><a class="reference internal" href="../intro/index.html">Welcome to CodeIgniter4</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../intro/index.html">Welcome to CodeIgniter4</a></li>
<li class="toctree-l2"><a class="reference internal" href="../intro/requirements.html">Server Requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="../intro/credits.html">Credits</a></li>
<li class="toctree-l2"><a class="reference internal" href="../intro/psr.html">PSR Compliance</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../installation/index.html">Installation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../installation/installing_composer.html">Composer Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../installation/installing_manual.html">Manual Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../installation/running.html">Running Your App</a></li>
<li class="toctree-l2"><a class="reference internal" href="../installation/upgrading.html">Upgrading From a Previous Version</a></li>
<li class="toctree-l2"><a class="reference internal" href="../installation/troubleshooting.html">Troubleshooting</a></li>
<li class="toctree-l2"><a class="reference internal" href="../installation/repositories.html">CodeIgniter Repositories</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Build Your First Application</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../tutorial/static_pages.html">Static pages</a></li>
<li class="toctree-l2"><a class="reference internal" href="../tutorial/news_section.html">News section</a></li>
<li class="toctree-l2"><a class="reference internal" href="../tutorial/create_news_items.html">Create news items</a></li>
<li class="toctree-l2"><a class="reference internal" href="../tutorial/conclusion.html">Conclusion</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../concepts/index.html">CodeIgniter4 Overview</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../concepts/structure.html">Application Structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../concepts/mvc.html">Models, Views, and Controllers</a></li>
<li class="toctree-l2"><a class="reference internal" href="../concepts/autoloader.html">Autoloading Files</a></li>
<li class="toctree-l2"><a class="reference internal" href="../concepts/services.html">Services</a></li>
<li class="toctree-l2"><a class="reference internal" href="../concepts/factories.html">Factories</a></li>
<li class="toctree-l2"><a class="reference internal" href="../concepts/http.html">Working With HTTP Requests</a></li>
<li class="toctree-l2"><a class="reference internal" href="../concepts/security.html">Security Guidelines</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../general/index.html">General Topics</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../general/configuration.html">Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../general/urls.html">CodeIgniter URLs</a></li>
<li class="toctree-l2"><a class="reference internal" href="../general/helpers.html">Helper Functions</a></li>
<li class="toctree-l2"><a class="reference internal" href="../general/common_functions.html">Global Functions and Constants</a></li>
<li class="toctree-l2"><a class="reference internal" href="../general/logging.html">Logging Information</a></li>
<li class="toctree-l2"><a class="reference internal" href="../general/errors.html">Error Handling</a></li>
<li class="toctree-l2"><a class="reference internal" href="../general/caching.html">Web Page Caching</a></li>
<li class="toctree-l2"><a class="reference internal" href="../general/ajax.html">AJAX Requests</a></li>
<li class="toctree-l2"><a class="reference internal" href="../general/modules.html">Code Modules</a></li>
<li class="toctree-l2"><a class="reference internal" href="../general/managing_apps.html">Managing your Applications</a></li>
<li class="toctree-l2"><a class="reference internal" href="../general/environments.html">Handling Multiple Environments</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../incoming/index.html">Controllers and Routing</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../incoming/controllers.html">Controllers</a></li>
<li class="toctree-l2"><a class="reference internal" href="../incoming/routing.html">URI Routing</a></li>
<li class="toctree-l2"><a class="reference internal" href="../incoming/filters.html">Controller Filters</a></li>
<li class="toctree-l2"><a class="reference internal" href="../incoming/message.html">HTTP Messages</a></li>
<li class="toctree-l2"><a class="reference internal" href="../incoming/request.html">Request Class</a></li>
<li class="toctree-l2"><a class="reference internal" href="../incoming/incomingrequest.html">IncomingRequest Class</a></li>
<li class="toctree-l2"><a class="reference internal" href="../incoming/content_negotiation.html">Content Negotiation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../incoming/methodspoofing.html">HTTP Method Spoofing</a></li>
<li class="toctree-l2"><a class="reference internal" href="../incoming/restful.html">RESTful Resource Handling</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../outgoing/index.html">Building Responses</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../outgoing/views.html">Views</a></li>
<li class="toctree-l2"><a class="reference internal" href="../outgoing/view_cells.html">View Cells</a></li>
<li class="toctree-l2"><a class="reference internal" href="../outgoing/view_renderer.html">View Renderer</a></li>
<li class="toctree-l2"><a class="reference internal" href="../outgoing/view_layouts.html">View Layouts</a></li>
<li class="toctree-l2"><a class="reference internal" href="../outgoing/view_parser.html">View Parser</a></li>
<li class="toctree-l2"><a class="reference internal" href="../outgoing/table.html">HTML Table Class</a></li>
<li class="toctree-l2"><a class="reference internal" href="../outgoing/response.html">HTTP Responses</a></li>
<li class="toctree-l2"><a class="reference internal" href="../outgoing/api_responses.html">API Response Trait</a></li>
<li class="toctree-l2"><a class="reference internal" href="../outgoing/localization.html">Localization</a></li>
<li class="toctree-l2"><a class="reference internal" href="../outgoing/alternative_php.html">Alternate PHP Syntax for View Files</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../database/index.html">Working With Databases</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../database/examples.html">Quick Start: Usage Examples</a></li>
<li class="toctree-l2"><a class="reference internal" href="../database/configuration.html">Database Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../database/connecting.html">Connecting to a Database</a></li>
<li class="toctree-l2"><a class="reference internal" href="../database/queries.html">Running Queries</a></li>
<li class="toctree-l2"><a class="reference internal" href="../database/results.html">Generating Query Results</a></li>
<li class="toctree-l2"><a class="reference internal" href="../database/helpers.html">Query Helper Functions</a></li>
<li class="toctree-l2"><a class="reference internal" href="../database/query_builder.html">Query Builder Class</a></li>
<li class="toctree-l2"><a class="reference internal" href="../database/transactions.html">Transactions</a></li>
<li class="toctree-l2"><a class="reference internal" href="../database/metadata.html">Getting MetaData</a></li>
<li class="toctree-l2"><a class="reference internal" href="../database/call_function.html">Custom Function Calls</a></li>
<li class="toctree-l2"><a class="reference internal" href="../database/events.html">Database Events</a></li>
<li class="toctree-l2"><a class="reference internal" href="../database/utilities.html">Database Utilities</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../models/index.html">Modeling Data</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../models/model.html">Using CodeIgniter's Model</a></li>
<li class="toctree-l2"><a class="reference internal" href="../models/entities.html">Using Entity Classes</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../dbmgmt/index.html">Managing Databases</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../dbmgmt/forge.html">Database Manipulation with Database Forge</a></li>
<li class="toctree-l2"><a class="reference internal" href="../dbmgmt/migration.html">Database Migrations</a></li>
<li class="toctree-l2"><a class="reference internal" href="../dbmgmt/seeds.html">Database Seeding</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../libraries/index.html">Library Reference</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../libraries/caching.html">Caching Driver</a></li>
<li class="toctree-l2"><a class="reference internal" href="../libraries/cookies.html">Cookies</a></li>
<li class="toctree-l2"><a class="reference internal" href="../libraries/curlrequest.html">CURLRequest Class</a></li>
<li class="toctree-l2"><a class="reference internal" href="../libraries/email.html">Email Class</a></li>
<li class="toctree-l2"><a class="reference internal" href="../libraries/encryption.html">Encryption Service</a></li>
<li class="toctree-l2"><a class="reference internal" href="../libraries/files.html">Working with Files</a></li>
<li class="toctree-l2"><a class="reference internal" href="../libraries/files.html#file-collections">File Collections</a></li>
<li class="toctree-l2"><a class="reference internal" href="../libraries/honeypot.html">Honeypot Class</a></li>
<li class="toctree-l2"><a class="reference internal" href="../libraries/images.html">Image Manipulation Class</a></li>
<li class="toctree-l2"><a class="reference internal" href="../libraries/pagination.html">Pagination</a></li>
<li class="toctree-l2"><a class="reference internal" href="../libraries/publisher.html">Publisher</a></li>
<li class="toctree-l2"><a class="reference internal" href="../libraries/security.html">Security</a></li>
<li class="toctree-l2"><a class="reference internal" href="../libraries/sessions.html">Session Library</a></li>
<li class="toctree-l2"><a class="reference internal" href="../libraries/throttler.html">Throttler</a></li>
<li class="toctree-l2"><a class="reference internal" href="../libraries/time.html">Times and Dates</a></li>
<li class="toctree-l2"><a class="reference internal" href="../libraries/typography.html">Typography</a></li>
<li class="toctree-l2"><a class="reference internal" href="../libraries/uploaded_files.html">Working with Uploaded Files</a></li>
<li class="toctree-l2"><a class="reference internal" href="../libraries/uri.html">Working with URIs</a></li>
<li class="toctree-l2"><a class="reference internal" href="../libraries/user_agent.html">User Agent Class</a></li>
<li class="toctree-l2"><a class="reference internal" href="../libraries/validation.html">Validation</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../helpers/index.html">Helpers</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../helpers/array_helper.html">Array Helper</a></li>
<li class="toctree-l2"><a class="reference internal" href="../helpers/cookie_helper.html">Cookie Helper</a></li>
<li class="toctree-l2"><a class="reference internal" href="../helpers/date_helper.html">Date Helper</a></li>
<li class="toctree-l2"><a class="reference internal" href="../helpers/filesystem_helper.html">Filesystem Helper</a></li>
<li class="toctree-l2"><a class="reference internal" href="../helpers/form_helper.html">Form Helper</a></li>
<li class="toctree-l2"><a class="reference internal" href="../helpers/html_helper.html">HTML Helper</a></li>
<li class="toctree-l2"><a class="reference internal" href="../helpers/inflector_helper.html">Inflector Helper</a></li>
<li class="toctree-l2"><a class="reference internal" href="../helpers/number_helper.html">Number Helper</a></li>
<li class="toctree-l2"><a class="reference internal" href="../helpers/security_helper.html">Security Helper</a></li>
<li class="toctree-l2"><a class="reference internal" href="../helpers/test_helper.html">Test Helper</a></li>
<li class="toctree-l2"><a class="reference internal" href="../helpers/text_helper.html">Text Helper</a></li>
<li class="toctree-l2"><a class="reference internal" href="../helpers/url_helper.html">URL Helper</a></li>
<li class="toctree-l2"><a class="reference internal" href="../helpers/xml_helper.html">XML Helper</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../testing/index.html">Testing</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../testing/overview.html">Getting Started</a></li>
<li class="toctree-l2"><a class="reference internal" href="../testing/database.html">Database</a></li>
<li class="toctree-l2"><a class="reference internal" href="../testing/fabricator.html">Generating Data</a></li>
<li class="toctree-l2"><a class="reference internal" href="../testing/controllers.html">Controller Testing</a></li>
<li class="toctree-l2"><a class="reference internal" href="../testing/feature.html">HTTP Testing</a></li>
<li class="toctree-l2"><a class="reference internal" href="../testing/response.html">Testing Responses</a></li>
<li class="toctree-l2"><a class="reference internal" href="../testing/benchmark.html">Benchmarking</a></li>
<li class="toctree-l2"><a class="reference internal" href="../testing/debugging.html">Debugging Your Application</a></li>
<li class="toctree-l2"><a class="reference internal" href="../testing/mocking.html">Mocking</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../cli/index.html">Command Line Usage</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../cli/cli.html">Running via the Command Line</a></li>
<li class="toctree-l2"><a class="reference internal" href="../cli/cli_commands.html">Custom CLI Commands</a></li>
<li class="toctree-l2"><a class="reference internal" href="../cli/cli_generators.html">CLI Generators</a></li>
<li class="toctree-l2"><a class="reference internal" href="../cli/cli_library.html">CLI Library</a></li>
<li class="toctree-l2"><a class="reference internal" href="../cli/cli_request.html">CLIRequest Class</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../extending/index.html">Extending CodeIgniter</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../extending/core_classes.html">Creating Core System Classes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../extending/common.html">Replacing Common Functions</a></li>
<li class="toctree-l2"><a class="reference internal" href="../extending/events.html">Events</a></li>
<li class="toctree-l2"><a class="reference internal" href="../extending/basecontroller.html">Extending the Controller</a></li>
<li class="toctree-l2"><a class="reference internal" href="../extending/authentication.html">Authentication</a></li>
<li class="toctree-l2"><a class="reference internal" href="../extending/contributing.html">Contributing to CodeIgniter</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" style="background: #DD4814" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">CodeIgniter</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li><a href="index.html">Change Logs</a> &raquo;</li>
<li>Version 4.0.0-alpha.3</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="version-4-0-0-alpha-3">
<h1>Version 4.0.0-alpha.3<a class="headerlink" href="#version-4-0-0-alpha-3" title="Permalink to this headline"></a></h1>
<p>Release Date: November 30, 2018</p>
<p><strong>Next alpha release of CodeIgniter4</strong></p>
<p>The list of changed files follows, with PR numbers shown.</p>
<ul class="simple">
<li><dl class="simple">
<dt>admin/</dt><dd><ul>
<li><p>framework/* #1553</p></li>
<li><p>starter/* #1553</p></li>
<li><p>docbot #1553</p></li>
<li><p>release* #1484,</p></li>
<li><p>pre-commit #1388</p></li>
<li><p>README.md #1553</p></li>
<li><p>setup.sh #1388</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>application /</dt><dd><ul>
<li><dl class="simple">
<dt>Config/</dt><dd><ul>
<li><p>Autoload #1396, #1416</p></li>
<li><p>Mimes #1368, #1465</p></li>
<li><p>Pager #622</p></li>
<li><p>Services #1469</p></li>
</ul>
</dd>
</dl>
</li>
<li><p>Filters/Honeypot #1376</p></li>
<li><dl class="simple">
<dt>Views/</dt><dd><ul>
<li><p>errors/* #1415, #1413, #1469</p></li>
<li><p>form.php removed #1442</p></li>
</ul>
</dd>
</dl>
</li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>public /</dt><dd><ul>
<li><p>index.php #1388, #1457</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>system /</dt><dd><ul>
<li><dl class="simple">
<dt>Autoloader/</dt><dd><ul>
<li><p>Autoloader #1547</p></li>
<li><p>FileLocator #1547, #1550</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Cache/</dt><dd><ul>
<li><p>Exceptions/CacheException #1525</p></li>
<li><p>Handlers/FileHandler #1547, #1525</p></li>
<li><p>Handlers/MemcachedHandler #1383</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>CLI/</dt><dd><ul>
<li><p>CLI #1432, #1489</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Commands/</dt><dd><ul>
<li><dl class="simple">
<dt>Database/</dt><dd><ul>
<li><p>CreateMigration #1374, #1422, #1431</p></li>
<li><p>MigrateCurrent #1431</p></li>
<li><p>MigrateLatest #1431</p></li>
<li><p>MigrateRollback #1431</p></li>
<li><p>MigrateStatus #1431</p></li>
<li><p>MigrateVersion #1431</p></li>
</ul>
</dd>
</dl>
</li>
<li><p>Sessions/CrateMigration #1357</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Config/</dt><dd><ul>
<li><p>AutoloadConfig #1416</p></li>
<li><p>BaseService #1469</p></li>
<li><p>Mimes #1453</p></li>
<li><p>Services #1180, #1469</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Database/</dt><dd><ul>
<li><p>BaseBuilder #1335, #1491, #1522</p></li>
<li><p>BaseConnection #1335, #1407, #1491, #1522</p></li>
<li><p>BaseResult #1426</p></li>
<li><p>Config #1465, #1469, #1554</p></li>
<li><p>Forge #1343, #1449, #1470, #1530</p></li>
<li><p>MigrationRunner #1371</p></li>
<li><p>MySQLi/Connection #1335, #1449</p></li>
<li><p>MySQLi/Forge #1343, #1344, #1530</p></li>
<li><p>MySQLi/Result #1530</p></li>
<li><p>Postgre/Connection #1335, #1449</p></li>
<li><p>Postgre/Forge #1530</p></li>
<li><p>SQLite3/Connection #1335, #1449</p></li>
<li><p>SQLite3/Forge #1470, #1547</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Debug</dt><dd><ul>
<li><p>Exceptions #1500</p></li>
<li><p>Toolbar #1370, #1465, #1469, #1547</p></li>
<li><p>Toolbar/Views/toolbar.tpl #1469</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Email/</dt><dd><ul>
<li><p>Email #1389, #1413, #1438, #1454, #1465, #1469, #1547</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Events/</dt><dd><ul>
<li><p>Events #1465, #1469, #1547</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Files/</dt><dd><ul>
<li><p>File #1399, #1547</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Format/</dt><dd><ul>
<li><p>XMLFormatter #1471</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Helpers/</dt><dd><ul>
<li><p>array_helper #1412</p></li>
<li><p>filesystem_helper #1547</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Honeypot/</dt><dd><ul>
<li><p>Honeypot #1460</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>HTTP/</dt><dd><ul>
<li><p>CURLRequest #1547, #1498</p></li>
<li><p>DownloadResponse #1375</p></li>
<li><p>Exceptions/DownloadException #1405</p></li>
<li><p>Files/FileCollection #1506</p></li>
<li><p>Files/UploadedFile #1335, #1399, #1500, #1506, #1547</p></li>
<li><p>IncomingRequest #1445, #1469, #1496</p></li>
<li><p>Message #1497</p></li>
<li><p>RedirectResponse #1387, #1451, #1464</p></li>
<li><p>Response #1456, #1472, #1477, #1486, #1504, #1505, #1497, #622</p></li>
<li><p>ResponseInterface #1384</p></li>
<li><p>UploadedFile #1368, #1456</p></li>
<li><p>URI #1213, #1469, #1508</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Images/Handlers/</dt><dd><ul>
<li><p>ImageMagickHandler #1546</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Language/</dt><dd><ul>
<li><p>en/Cache #1525</p></li>
<li><p>en/Database #1335</p></li>
<li><p>en/Filters #1378</p></li>
<li><p>en/Migrations #1374</p></li>
<li><p>Language #1480, #1489</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Log/</dt><dd><ul>
<li><p>Handlers/FileHandler #1547</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Pager/</dt><dd><ul>
<li><p>Pager #1213, #622</p></li>
<li><p>PagerInterface #622</p></li>
<li><p>PagerRenderer #1213, #622</p></li>
<li><p>Views/default_full #622</p></li>
<li><p>Views/default_head #622</p></li>
<li><p>Views/default_simple #622</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Router/</dt><dd><ul>
<li><p>RouteCollection #1464, #1524</p></li>
<li><p>RouteCollectionInterface #1406, #1410</p></li>
<li><p>Router #1523, #1547</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Session/Handlers/</dt><dd><ul>
<li><p>BaseHandler #1180, #1483</p></li>
<li><p>DatabaseHandler #1180</p></li>
<li><p>FileHandler #1180, #1547</p></li>
<li><p>MemcachedHandler #1180</p></li>
<li><p>RedisHandler #1180</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Test/</dt><dd><ul>
<li><p>CIUnitTestCase #1467</p></li>
<li><p>FeatureTestCase #1427, #1468</p></li>
<li><p>Filters/CITestStreamFilter #1465</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Validation /</dt><dd><ul>
<li><p>CreditCardRules #1447, #1529</p></li>
<li><p>FormatRules #1507</p></li>
<li><p>Rules #1345</p></li>
<li><p>Validation #1345</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>View/</dt><dd><ul>
<li><p>Filters #1469</p></li>
<li><p>Parser #1417, #1547</p></li>
<li><p>View #1357, #1377, #1410, #1547</p></li>
</ul>
</dd>
</dl>
</li>
<li><p>bootstrap #1547</p></li>
<li><p>CodeIgniter #1465, #1505, #1523, 2047b5a, #1547</p></li>
<li><p>Common #1486, #1496, #1504, #1513</p></li>
<li><p>ComposerScripts #1469, #1547</p></li>
<li><p>Controller #1423</p></li>
<li><p>Entity #1369, #1373</p></li>
<li><p>Model #1345, #1380, #1373, #1440</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>tests /</dt><dd><ul>
<li><dl class="simple">
<dt>_support/</dt><dd><ul>
<li><p>HTTP/MockResponse #1456</p></li>
<li><p>_bootstrap.php #1397, #1443</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Cache/Handlers/</dt><dd><ul>
<li><p>FileHandlerTest #1547, #1525</p></li>
<li><p>MemcachedHandlerTest #1180, #1383</p></li>
<li><p>RedisHandlerTest #1180, #1481</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>CLI/</dt><dd><ul>
<li><p>CLITest #1467, #1489</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Commands/</dt><dd><ul>
<li><p>SessionCommandsTest #1455</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Database/Live/</dt><dd><ul>
<li><p>ConnectTest #1554</p></li>
<li><p>ForgeTest #1449, #1470</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>HTTP/</dt><dd><ul>
<li><p>CURLRequestTest#1498</p></li>
<li><p>Files/FileCOllectionTest #1506</p></li>
<li><p>Files/FileMovingTest #1424</p></li>
<li><p>DownloadResponseTest #1375</p></li>
<li><p>IncomingRequestTest #1496</p></li>
<li><p>RedirectResponseTest #1387, #1456</p></li>
<li><p>ResponseCookieTest #1472, #1509</p></li>
<li><p>ResponseSendTest #1477, #1486, #1509</p></li>
<li><p>ResponseTest #1375, #1456, #1472, #1486, #622</p></li>
<li><p>URITest #1456, #1495</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Helpers/</dt><dd><ul>
<li><p>DateHelperTest #1479</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>I18n/</dt><dd><ul>
<li><p>TimeTest #1467, #1473</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Language/</dt><dd><ul>
<li><p>LanguageTest #1480</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Log/</dt><dd><ul>
<li><p>FileHandlerTest #1425</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Pager/</dt><dd><ul>
<li><p>PagerRendererTest #1213, #622</p></li>
<li><p>PagerTest #622</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Router/</dt><dd><ul>
<li><p>RouteCollectionTest #1438, #1524</p></li>
<li><p>RouterTest #1438, #1523</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Session/</dt><dd><ul>
<li><p>SessionTest #1180</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Test/</dt><dd><ul>
<li><p>BootstrapFCPATHTest #1397</p></li>
<li><p>FeatureTestCase #1468</p></li>
<li><p>TestCaseEmissionsTest #1477</p></li>
<li><p>TestCaseTest #1390</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Throttle/</dt><dd><ul>
<li><p>ThrottleTest #1398</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Validation/</dt><dd><ul>
<li><p>FormatRulesTest #1507</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>View/</dt><dd><ul>
<li><p>ParserTest #1335</p></li>
</ul>
</dd>
</dl>
</li>
<li><p>CodeIgniterTest #1500</p></li>
<li><p>CommonFunctionsSendTest #1486, #1509</p></li>
<li><p>CommonFunctionsTest #1180, #1486, #1496</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>user_guide_src /source/</dt><dd><ul>
<li><p>changelogs/ #1385, #1490, #1553</p></li>
<li><dl class="simple">
<dt>concepts/</dt><dd><ul>
<li><p>autoloader #1547</p></li>
<li><p>security #1540</p></li>
<li><p>services #1469</p></li>
<li><p>structure #1448</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>database/</dt><dd><ul>
<li><p>queries #1407</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>dbmgmt/</dt><dd><ul>
<li><p>forge #1470</p></li>
<li><p>migration #1374, #1385, #1431</p></li>
<li><p>seeds #1482</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>extending/</dt><dd><ul>
<li><p>core_classes #1469</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>helpers/</dt><dd><ul>
<li><p>form_helper #1499</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>installation/</dt><dd><ul>
<li><p>index #1388</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>libraries/</dt><dd><ul>
<li><p>caching #1525</p></li>
<li><p>pagination #1213</p></li>
<li><p>validation #27868b, #1540</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>models/</dt><dd><ul>
<li><p>entities #1518, #1540</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>outgoing/</dt><dd><ul>
<li><p>response #1472, #1494</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>testing/</dt><dd><ul>
<li><p>overview #1467</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>tutorial/</dt><dd><ul>
<li><p>create_news_item #1442</p></li>
<li><p>static_pages #1547</p></li>
</ul>
</dd>
</dl>
</li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>/</dt><dd><ul>
<li><p>composer.json #1388, #1418, #1536, #1553</p></li>
<li><p>README.md #1553</p></li>
<li><p>spark 2047b5a</p></li>
<li><p>.travis.yml #1394</p></li>
</ul>
</dd>
</dl>
</li>
</ul>
<section id="prs-merged">
<h2>PRs merged:<a class="headerlink" href="#prs-merged" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>#1554 Serviceinstances</p></li>
<li><p>#1553 Admin/scripts</p></li>
<li><p>#1550 remove commented CLI::newLine($tempFiles) at FileLocator</p></li>
<li><p>#1549 use .gitkeep instead of .gitignore in Database/Seeds directory</p></li>
<li><p>#1547 Change file exists to is file</p></li>
<li><p>#1546 ImageMagickHandler::__construct …</p></li>
<li><p>#1540 Update validation class User Guide</p></li>
<li><p>#1530 database performance improvement : use foreach() when possible</p></li>
<li><p>2047b5a Dont run filters when using spark.</p></li>
<li><p>#1539 remove mb_* (mb string usage) in CreditCardRules</p></li>
<li><p>#1536 ext-json in composer.json</p></li>
<li><p>#1525 remove unneeded try {} catch {}</p></li>
<li><p>#1524 Test routes resource with websafe option</p></li>
<li><p>#1523 Check if the matched route regex is filtered</p></li>
<li><p>#1522 add property_exists check on BaseBuilder</p></li>
<li><p>#1521 .gitignore clean up</p></li>
<li><p>#1518 Small typo: changed setCreatedOn to setCreatedAt</p></li>
<li><p>#1517 move .htaccess from per-directory in writable/{directory} to writable/</p></li>
<li><p>#1513 More secure redirection</p></li>
<li><p>#1509 remove unused use statements</p></li>
<li><p>#1508 remove duplicate strtolower() call in URI::setScheme() call</p></li>
<li><p>#1507 Fix multi “empty” string separated by “,” marked as valid emails</p></li>
<li><p>#1506 Flesh out HTTP/File unit testing</p></li>
<li><p>#1505 Do not exit until all Response is completed</p></li>
<li><p>27868b Add missing docs for {field} and {param} placeholders</p></li>
<li><p>#1504 Revert RedirectResponse changes</p></li>
<li><p>#1500 Ignoring errors suppressed by &#64;</p></li>
<li><p>#1499 Fix form_helpers set_value writeup</p></li>
<li><p>#1498 Add CURLRequest helper methods</p></li>
<li><p>#1497 Remove unused RedirectException</p></li>
<li><p>#1496 Fix Common::old()</p></li>
<li><p>#1495 Add URI segment test</p></li>
<li><p>#1494 Method naming in user guide</p></li>
<li><p>#1491 Error logging</p></li>
<li><p>#1490 Changelog(s) restructure</p></li>
<li><p>#1489 Add CLI::strlen()</p></li>
<li><p>#1488 Load Language strings from other locations</p></li>
<li><p>#1486 Test RedirectResponse problem report</p></li>
<li><p>#1484 missing slash</p></li>
<li><p>#1483 Small typo in SessionHandlersBaseHandler.php</p></li>
<li><p>#1482 doc fix: query binding fix in Seeds documentation</p></li>
<li><p>#1481 RedisHandler test clean up</p></li>
<li><p>#1480 Fix Language Key-File confusion</p></li>
<li><p>#1479 Yet another time test to fix</p></li>
<li><p>#1477 Add Response send testing</p></li>
<li><p>#1475 Correct phpdocs for Forge::addField()</p></li>
<li><p>#1473 Fuzzify another time test</p></li>
<li><p>#1472 HTTPResponse cookie testing &amp; missing functionality</p></li>
<li><p>#1471 remove unused local variable $result in XMLFormatter::format()</p></li>
<li><p>#1470 Allow create table with array field constraints</p></li>
<li><p>#1469 use static:: instead of self:: for call protected/public functions as well</p></li>
<li><p>#1468 Fix FeatureTestCaseTest output buffer</p></li>
<li><p>#1467 Provide time testing within tolerance</p></li>
<li><p>#1466 Fix phpdocs for BaseBuilder</p></li>
<li><p>#1465 use static:: instead of self:: for protected and public properties</p></li>
<li><p>#1464 remove unused use statements</p></li>
<li><p>#1463 Fix the remaining bcit-ci references</p></li>
<li><p>#1461 Typo fix: donload -&gt; download</p></li>
<li><p>#1460 remove unneeded ternary check at HoneyPot</p></li>
<li><p>#1457 use $paths-&gt;systemDirectory in public/index.php</p></li>
<li><p>#1456 Beef up HTTP URI &amp; Response testing</p></li>
<li><p>#1455 un-ignore app/Database/Migrations directory</p></li>
<li><p>#1454 add missing break; in loop at Email::getEncoding()</p></li>
<li><p>#1453 BugFix if there extension has only one mime type</p></li>
<li><p>#1451 remove unneeded $session-&gt;start(); check on RedirectResponse</p></li>
<li><p>#1450 phpcbf: fix all at once</p></li>
<li><p>#1449 Simplify how to get indexData from mysql/mariadb</p></li>
<li><p>#1448 documentation: add missing application structures</p></li>
<li><p>#1447 add missing break; on loop cards to get card info at CreditCardRules</p></li>
<li><p>#1445 using existing is_cli() function in HTTPIncomingRequest</p></li>
<li><p>#1444 Dox for reorganized repo admin (4 of 4)</p></li>
<li><p>#1443 Fixes unit test output not captured</p></li>
<li><p>#1442 remove form view in app/View/ and form helper usage in create new items tutorial</p></li>
<li><p>#1440 Access to models last inserted ID</p></li>
<li><p>#1438 Tailor the last few repo org names (3 of 4)</p></li>
<li><p>#1437 Replace repo org name in MOST php docs (2 of 4)</p></li>
<li><p>#1436 Change github organization name in docs (1 of 4)</p></li>
<li><p>#1432 Use mb_strlen to get length of columns</p></li>
<li><p>#1431 cant call run() method with params from commands migrations</p></li>
<li><p>#1427 Fixes “options” request call parameter in FeatureTestCase</p></li>
<li><p>#1416 performance improvement in DatabaseBaseResult</p></li>
<li><p>#1425 Ensure FileHandlerTest uses MockFileHandler</p></li>
<li><p>#1424 Fix FileMovingTest leaving cruft</p></li>
<li><p>#1423 Fix Controller use validate bug</p></li>
<li><p>#1422 fix Migrations.classNotFound</p></li>
<li><p>#1418 normalize composer.json</p></li>
<li><p>#1417 fix Parser::parsePairs always escapes</p></li>
<li><p>#1416 remove $psr4[TestsSupport] definition in applicationConfigAutoload</p></li>
<li><p>#1415 remove unneded “defined(BASEPATH) …</p></li>
<li><p>#1413 set more_entropy = true in all uniqid() usage</p></li>
<li><p>#1412 function_exists() typo fixes on array_helper</p></li>
<li><p>#1411 add missing break; in loop in View::render()</p></li>
<li><p>#1410 Fix spark serve not working from commit 2d0b325</p></li>
<li><p>#1407 Database: add missing call initialize() check on BaseConnection-&gt;prepare()</p></li>
<li><p>#1406 Add missing parameter to RouteCollectionInterface</p></li>
<li><p>#1405 Fix language string used in DownloadException</p></li>
<li><p>#1402 Correct class namespacing in the user guide</p></li>
<li><p>#1399 optional type hinting in guessExtension</p></li>
<li><p>#1398 Tweak throttle testing</p></li>
<li><p>#1397 Correcting FCPATH setting in tests/_support/_bootstrap.php</p></li>
<li><p>#1396 only register PSR4 “TestsSupport” namespace in “testing” environment</p></li>
<li><p>#1395 short array syntax in docs</p></li>
<li><p>#1394 add php 7.3 to travis config</p></li>
<li><p>#1390 Fixed not to output “Hello” at test execution</p></li>
<li><p>#1389 Capitalize email filename</p></li>
<li><p>#1388 Phpcs Auto-fix on commit</p></li>
<li><p>#1387 Redirect to named route</p></li>
<li><p>#1385 Fix migration page; udpate changelog</p></li>
<li><p>#1384 add missing ResponseInterface contants</p></li>
<li><p>#1383 fix TypeError in MemcachedHandler::__construct()</p></li>
<li><p>#1381 Remove unused use statements</p></li>
<li><p>#1380 count() improvement, use truthy check</p></li>
<li><p>#1378 Update Filters language file</p></li>
<li><p>#1377 fix monolog will cause an error</p></li>
<li><p>#1376 Fix cannot use class Honeypot because already in use in AppFiltersHoneypot</p></li>
<li><p>#1375 Give download a header conforming to RFC 6266</p></li>
<li><p>#1374 Missing feature migration.</p></li>
<li><p>#1373 Turning off casting for db insert/save</p></li>
<li><p>#1371 update method name in coding style</p></li>
<li><p>#1370 Toolbar needs logging. Fixes #1258</p></li>
<li><p>#1369 Remove invisible character</p></li>
<li><p>#1368 UploadedFile-&gt;guessExtenstion()…</p></li>
<li><p>#1360 rm cached php_errors.log file</p></li>
<li><p>#1357 Update template file is not .php compatibility</p></li>
<li><p>#1345 is_unique tried to connect to default database instead of defined in DBGroup</p></li>
<li><p>#1344 Not to quote unecessary table options</p></li>
<li><p>#1343 Avoid add two single quote to constraint</p></li>
<li><p>#1335 Review and improvements in databases drivers MySQLi, Postgre and SQLite</p></li>
<li><p>#1213 URI segment as page number in Pagination</p></li>
<li><p>#1180 using HTTPRequest instance to pull ip address</p></li>
<li><p>#622 Add Header Link Pagination</p></li>
</ul>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="v4.0.0-alpha.4.html" class="btn btn-neutral float-left" title="Version 4.0.0-alpha.4" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="v4.0.0-alpha.2.html" class="btn btn-neutral float-right" title="Version 4.0.0-alpha.2" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2019-2021 CodeIgniter Foundation.
<span class="lastupdated">Last updated on Oct 16, 2021.
</span></p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(false);
});
</script>
</body>
</html>