You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: user_guide_src/source/changelogs/v4.3.0.rst
+52-23Lines changed: 52 additions & 23 deletions
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,12 @@ Release Date: Unreleased
7
7
8
8
.. contents::
9
9
:local:
10
-
:depth: 2
10
+
:depth: 3
11
+
12
+
Highlights
13
+
**********
14
+
15
+
- TBD
11
16
12
17
BREAKING
13
18
********
@@ -42,10 +47,10 @@ Others
42
47
43
48
- The ``spark`` file has been changed due to a change in the processing of Spark commands.
44
49
- ``InvalidArgumentException`` that is a kind of ``LogicException`` in ``BaseBuilder::_whereIn()`` is not suppressed by the configuration. Previously if ``CI_DEBUG`` was false, the exception was suppressed.
50
+
- The data structure returned by :ref:`BaseConnection::getForeignKeyData() <metadata-getforeignkeydata>` has been changed.
45
51
- ``RouteCollection::resetRoutes()`` resets Auto-Discovery of Routes. Previously once discovered, RouteCollection never discover Routes files again even if ``RouteCollection::resetRoutes()`` is called.
46
52
- ``CITestStreamFilter::$buffer = ''`` no longer causes the filter to be registered to listen for streams. Now there
47
53
is a ``CITestStreamFilter::registration()`` method for this. See :ref:`upgrade-430-stream-filter` for details.
48
-
- The data structure returned by :ref:`BaseConnection::getForeignKeyData() <metadata-getforeignkeydata>` has been changed.
49
54
- :php:func:`script_tag()` and :php:func:`safe_mailto()` no longer output ``type="text/javascript"`` in ``<script>`` tag.
50
55
51
56
.. _v430-interface-changes:
@@ -57,6 +62,7 @@ Interface Changes
57
62
- Now ``RequestInterface`` extends ``MessageInterface``.
58
63
- Now ``ResponseInterface`` extends ``MessageInterface``.
59
64
- Added missing ``ResponseInterface::getCSP()`` (and ``Response::getCSP()``), ``ResponseInterface::getReasonPhrase()`` and ``ResponseInterface::getCookieStore()`` methods.
65
+
- See also `Validation Changes`_.
60
66
61
67
Method Signature Changes
62
68
========================
@@ -87,8 +93,8 @@ Validation
87
93
88
94
The return value of ``Validation::loadRuleGroup()`` has been changed ``null`` to ``[]`` when the ``$group`` is empty.
89
95
90
-
Others
91
-
------
96
+
Database
97
+
--------
92
98
93
99
- The return types of ``CodeIgniter\Database\BasePreparedQuery::close()`` and ``CodeIgniter\Database\PreparedQueryInterface`` have been changed to ``bool`` (previously untyped).
94
100
- The return type of ``CodeIgniter\Database\Database::loadForge()`` has been changed to ``Forge``.
@@ -99,10 +105,10 @@ Others
99
105
- ``BaseBuilder::_updateBatch()``
100
106
- The second parameter ``$values`` has changed to ``$keys``.
101
107
- The third parameter ``$index`` has changed to ``$values``. The parameter type also has changed to ``array``.
102
-
- The return type of ``API\ResponseTrait::failServerError()`` has been changed to ``ResponseInterface``.
103
-
- The following methods have been changed to accept ``ResponseInterface`` as a parameter instead of ``Response``.
104
-
- ``Debug\Exceptions::__construct()``
105
-
- ``Services::exceptions()``
108
+
109
+
Database Forge
110
+
--------------
111
+
106
112
- The method signature of ``Forge::dropKey()`` has changed. An additional optional parameter ``$prefixKeyName`` has been added.
107
113
- The method signature of ``Forge::addKey()`` has changed. An additional optional parameter ``$keyName`` has been added.
108
114
- The method signature of ``Forge::addPrimaryKey()`` has changed. An additional optional parameter ``$keyName`` has been added.
- The return type of ``API\ResponseTrait::failServerError()`` has been changed to ``ResponseInterface``.
126
+
- The following methods have been changed to accept ``ResponseInterface`` as a parameter instead of ``Response``.
127
+
- ``Debug\Exceptions::__construct()``
128
+
- ``Services::exceptions()``
129
+
116
130
Enhancements
117
131
************
118
132
@@ -139,19 +153,30 @@ Testing
139
153
Database
140
154
========
141
155
142
-
- SQLite :ref:`BaseConnection::getIndexData() <db-metadata-getindexdata>` now can return pseudo index named ``PRIMARY`` for `AUTOINCREMENT` column, and each returned index data has ``type`` property.
143
-
- SQLSRV now automatically drops ``DEFAULT`` constraint when using :ref:`Forge::dropColumn() <db-forge-dropColumn>`.
144
-
- ``BaseConnection::escape()`` now excludes the ``RawSql`` data type. This allows passing SQL strings into data.
145
-
- The new method ``Forge::dropPrimaryKey()`` allows dropping the primary key on a table. See :ref:`dropping-a-primary-key`.
156
+
Query Builder
157
+
-------------
158
+
146
159
- Improved the SQL structure for ``Builder::updateBatch()``. See :ref:`update-batch` for the details.
147
-
- Improved data returned by :ref:`BaseConnection::getForeignKeyData() <metadata-getforeignkeydata>`. All DBMS returns the same structure.
148
-
- :php:meth:`CodeIgniter\\Database\\Forge::addForeignKey()` now includes a name parameter to manual set foreign key names. Not supported in SQLite3.
149
160
- Added ``when()`` and ``whenNot()`` methods to conditionally add clauses to the query. See :ref:`BaseBuilder::when() <db-builder-when>` for details.
150
-
- Added the ability to manually set index names. These methods include: ``Forge::addKey()``, ``Forge::addPrimaryKey()``, and ``Forge::addUniqueKey()``
151
-
- Fixed ``Forge::dropKey()`` to allow droping unique indexes. This required the ``DROP CONSTRAINT`` SQL command.
152
161
- Added ``upsert()`` and ``upsertBatch()`` methods to QueryBuilder. See :ref:`upsert-data`.
153
-
- ``BasePreparedQuery::close()`` now deallocates the prepared statement in all DBMS. Previously, they were not deallocated in Postgre, SQLSRV and OCI8. See :ref:`database-queries-stmt-close`.
162
+
163
+
Forge
164
+
-----
165
+
154
166
- Added ``Forge::processIndexes()`` allowing the creation of indexes on an existing table. See :ref:`adding-keys` for the details.
167
+
- Added the ability to manually set index names. These methods include: ``Forge::addKey()``, ``Forge::addPrimaryKey()``, and ``Forge::addUniqueKey()``
168
+
- The new method ``Forge::dropPrimaryKey()`` allows dropping the primary key on a table. See :ref:`dropping-a-primary-key`.
169
+
- Fixed ``Forge::dropKey()`` to allow dropping unique indexes. This required the ``DROP CONSTRAINT`` SQL command.
170
+
- :php:meth:`CodeIgniter\\Database\\Forge::addForeignKey()` now includes a name parameter to manual set foreign key names. Not supported in SQLite3.
171
+
- SQLSRV now automatically drops ``DEFAULT`` constraint when using :ref:`Forge::dropColumn() <db-forge-dropColumn>`.
172
+
173
+
Others
174
+
------
175
+
176
+
- ``BaseConnection::escape()`` now excludes the ``RawSql`` data type. This allows passing SQL strings into data.
177
+
- Improved data returned by :ref:`BaseConnection::getForeignKeyData() <metadata-getforeignkeydata>`. All DBMS returns the same structure.
178
+
- SQLite :ref:`BaseConnection::getIndexData() <db-metadata-getindexdata>` now can return pseudo index named ``PRIMARY`` for `AUTOINCREMENT` column, and each returned index data has ``type`` property.
179
+
- ``BasePreparedQuery::close()`` now deallocates the prepared statement in all DBMS. Previously, they were not deallocated in Postgre, SQLSRV and OCI8. See :ref:`database-queries-stmt-close`.
155
180
156
181
Model
157
182
=====
@@ -163,9 +188,9 @@ Model
163
188
Libraries
164
189
=========
165
190
166
-
- Added option version HTTP2 in :ref:`CURLRequest <curlrequest-version>`.
167
191
- Added methods ``replace()``, ``addLineAfter()`` and ``addLineBefore()`` to modify files in Publisher. See :ref:`Publisher <publisher-modifying-files>` for details.
168
192
- Now **Encryption** can decrypt data encrypted with CI3's Encryption. See :ref:`encryption-compatible-with-ci3`.
193
+
- Added option version HTTP2 in :ref:`CURLRequest <curlrequest-version>`.
169
194
170
195
Helpers and Functions
171
196
=====================
@@ -185,14 +210,22 @@ Others
185
210
======
186
211
187
212
- Added ``$routes->useSupportedLocalesOnly(true)`` so that the Router returns 404 Not Found if the locale in the URL is not supported in ``Config\App::$supportedLocales``. See :ref:`Localization <localization-in-routes>`
188
-
- Now you can specify Composer packages to auto-discover manually. See :ref:`Code Modules <modules-specify-composer-packages>`.
189
213
- Added new ``$routes->view()`` method to return a the view directly. See :ref:`View Routes <view-routes>`.
190
214
- View Cells are now first-class citizens and can located in the **app/Cells** directory. See :ref:`View Cells <app-cells>`.
191
215
- Add ``Controlled Cells`` that provide more structure and flexibility to your View Cells. See :ref:`View Cells <controlled-cells>` for details.
216
+
- Now you can specify Composer packages to auto-discover manually. See :ref:`Code Modules <modules-specify-composer-packages>`.
217
+
218
+
Message Changes
219
+
***************
220
+
221
+
- Updated English language strings to be more consistent.
192
222
193
223
Changes
194
224
*******
195
225
226
+
- Config
227
+
- All atomic type properties in ``Config`` classes have been typed.
228
+
- Changed the default setting to not redirect when a CSRF check fails so that it is easy to see that it is a CSRF error.
196
229
- DBDebug
197
230
- To be consistent in behavior regardless of environments, ``Config\Database::$default['DBDebug']`` and ``Config\Database::$tests['DBDebug']`` has been changed to ``true`` by default. With these settings, an exception is always thrown when a database error occurs.
198
231
- Now ``DatabaseException`` thrown in ``BaseBuilder`` is thrown if ``$DBDebug`` is true. Previously, it is thrown if ``CI_DEBUG`` is true.
@@ -204,10 +237,6 @@ Changes
204
237
- The ``CodeIgniter\CLI\CommandRunner`` class has been removed due to a change in Spark commands processing.
205
238
- The system route configuration file ``system/Config/Routes.php`` has been removed.
206
239
- The route configuration file ``app/Config/Routes.php`` has been changed. Removed include of system routes configuration file.
207
-
- Config
208
-
- All atomic type properties in ``Config`` classes have been typed.
209
-
- Changed the default setting to not redirect when a CSRF check fails so that it is easy to see that it is a CSRF error.
210
-
- Updated English language strings to be more consistent.
0 commit comments