Skip to content

Commit 00a60e0

Browse files
authored
Merge pull request #7461 from codeigniter4/develop
4.3.4 Ready code
2 parents 8a74161 + 5127f98 commit 00a60e0

File tree

116 files changed

+1544
-567
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

116 files changed

+1544
-567
lines changed

.github/workflows/reusable-phpunit-test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,8 +144,8 @@ jobs:
144144
if: ${{ contains(inputs.extra-extensions, 'imagick') }}
145145
run: |
146146
sudo apt-get update
147-
sudo apt-get install --reinstall libgs9-common fonts-noto-mono libgs9:amd64 libijs-0.35:amd64 fonts-urw-base35 ghostscript poppler-data libjbig2dec0:amd64 gsfonts libopenjp2-7:amd64 fonts-droid-fallback fonts-dejavu-core
148-
sudo apt-get install -y imagemagick
147+
sudo apt-get install --reinstall libgs9-common fonts-noto-mono libgs9:amd64 libijs-0.35:amd64 fonts-urw-base35 ghostscript poppler-data libjbig2dec0:amd64 libopenjp2-7:amd64 fonts-droid-fallback fonts-dejavu-core
148+
sudo apt-get install -y gsfonts libmagickwand-dev imagemagick
149149
sudo apt-get install --fix-broken
150150
151151
- name: Checkout

.github/workflows/test-phpunit.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ on:
1313
- composer.json
1414
- phpunit.xml.dist
1515
- .github/workflows/test-phpunit.yml
16+
- .github/workflows/reusable-phpunit-test.yml
1617

1718
pull_request:
1819
branches:
@@ -26,6 +27,7 @@ on:
2627
- composer.json
2728
- phpunit.xml.dist
2829
- .github/workflows/test-phpunit.yml
30+
- .github/workflows/reusable-phpunit-test.yml
2931

3032
concurrency:
3133
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,25 @@
11
# Changelog
22

3+
## [v4.3.4](https://github.com/codeigniter4/CodeIgniter4/tree/v4.3.4) (2023-04-27)
4+
[Full Changelog](https://github.com/codeigniter4/CodeIgniter4/compare/v4.3.3...v4.3.4)
5+
6+
### Breaking Changes
7+
8+
* fix: redirect status code by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7445
9+
* fix: [SQLite3][Postgres][SQLSRV][OCI8] Forge::modifyColumn() changes NULL constraint incorrectly by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7371
10+
11+
### Fixed Bugs
12+
13+
* fix: view cell cannot locate the auto-generated view file by @sammyskills in https://github.com/codeigniter4/CodeIgniter4/pull/7392
14+
* fix: CURLRequest - clear response headers between requests by @michalsn in https://github.com/codeigniter4/CodeIgniter4/pull/7398
15+
* fix: [Auto Routing Improved] spark routes shows invalid routes by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7419
16+
* fix: remove $insertID in make:model template by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7443
17+
* fix: add missing 'make:cell' in app/Config/Generators.php by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7458
18+
19+
### Refactoring
20+
21+
* refactor: Security::getPostedToken() by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/7377
22+
323
## [v4.3.3](https://github.com/codeigniter4/CodeIgniter4/tree/v4.3.3) (2023-03-26)
424
[Full Changelog](https://github.com/codeigniter4/CodeIgniter4/compare/v4.3.2...v4.3.3)
525

admin/RELEASE.md

Lines changed: 75 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ To auto-generate, navigate to the
3232
[Releases](https://github.com/codeigniter4/CodeIgniter4/releases) page,
3333
click the "Draft a new release" button.
3434

35-
* Tag: "v4.x.x" (Create new tag)
36-
* Target: develop
35+
* Tag: `v4.x.x` (Create new tag)
36+
* Target: `develop`
3737

3838
Click the "Generate release notes" button.
3939

@@ -49,10 +49,10 @@ the existing content.
4949
* Work off direct clones of the repos so the release branches persist for a time
5050
* Clone both **codeigniter4/CodeIgniter4** and **codeigniter4/userguide** and
5151
resolve any necessary PRs
52-
```console
53-
git clone [email protected]:codeigniter4/CodeIgniter4.git
54-
git clone [email protected]:codeigniter4/userguide.git
55-
```
52+
```console
53+
git clone [email protected]:codeigniter4/CodeIgniter4.git
54+
git clone [email protected]:codeigniter4/userguide.git
55+
```
5656
* Vet the **admin/** folders for any removed hidden files (Action deploy scripts
5757
*do not remove these*)
5858
* Merge any Security Advisory PRs in private forks
@@ -69,88 +69,93 @@ git clone [email protected]:codeigniter4/userguide.git
6969
* Update **user_guide_src/source/conf.py** with the new `version = '4.x'` (if applicable)
7070
and `release = '4.x.x'`
7171
* Replace **CHANGELOG.md** with the new version generated above
72-
* Set the date in **user_guide_src/source/changelogs/{version}.rst** to format
73-
`Release Date: January 31, 2021`
74-
* Create a new changelog for the next version at
75-
**user_guide_src/source/changelogs/{next_version}.rst** and add it to
76-
**index.rst**
77-
* Create **user_guide_src/source/installation/upgrade_{ver}.rst**, fill in the
78-
"All Changes" section, and add it to **upgrading.rst**
72+
* Update **user_guide_src/source/changelogs/{version}.rst**
73+
* Set the date to format `Release Date: January 31, 2021`
74+
* Remove the section titles that have no items
75+
* Update **user_guide_src/source/installation/upgrade_{ver}.rst**
76+
* fill in the "All Changes" section, and add it to **upgrading.rst**
7977
* git diff --name-status origin/master -- . ':!system'
80-
* Commit the changes with "Prep for 4.x.x release" and push to origin
78+
* Remove the section titles that have no items
79+
* Commit the changes with `Prep for 4.x.x release` and push to origin
8180
* Create a new PR from `release-4.x.x` to `develop`:
82-
* Title: "Prep for 4.x.x release"
83-
* Decription: "Updates changelog and version references for `4.x.x`." (plus checklist)
81+
* Title: `Prep for 4.x.x release`
82+
* Decription: `Updates changelog and version references for 4.x.x.` (plus checklist)
8483
* Let all tests run, then review and merge the PR
8584
* Create a new PR from `develop` to `master`:
86-
* Title: "4.x.x Ready code"
87-
* Description: blank
85+
* Title: `4.x.x Ready code`
86+
* Description: blank
8887
* Merge the PR then create a new Release:
89-
* Version: "v4.x.x"
90-
* Target: master
91-
* Title: "CodeIgniter 4.x.x"
92-
* Description:
93-
```
94-
CodeIgniter 4.x.x release.
88+
* Version: `v4.x.x`
89+
* Target: `master`
90+
* Title: `CodeIgniter 4.x.x`
91+
* Description:
92+
```
93+
CodeIgniter 4.x.x release.
9594

96-
See the changelog: https://github.com/codeigniter4/CodeIgniter4/blob/develop/CHANGELOG.md
95+
See the changelog: https://github.com/codeigniter4/CodeIgniter4/blob/develop/CHANGELOG.md
9796

98-
## New Contributors
99-
*
97+
## New Contributors
98+
*
10099

101-
Full Changelog: https://github.com/codeigniter4/CodeIgniter4/compare/v4.x.x...v4.x.x
102-
```
100+
Full Changelog: https://github.com/codeigniter4/CodeIgniter4/compare/v4.x.x...v4.x.x
101+
```
103102
* Watch for the "Deploy Distributable Repos" action to make sure **framework**,
104103
**appstarter**, and **userguide** get updated
105104
* Run the following commands to install and test `appstarter` and verify the new
106105
version:
107-
```console
108-
composer create-project codeigniter4/appstarter release-test
109-
cd release-test
110-
composer test && composer info codeigniter4/framework
111-
```
106+
```console
107+
composer create-project codeigniter4/appstarter release-test
108+
cd release-test
109+
composer test && composer info codeigniter4/framework
110+
```
112111
* Verify that the user guide actions succeeded:
113-
* "[Deploy Distributable Repos](https://github.com/codeigniter4/CodeIgniter4/actions/workflows/deploy-distributables.yml)", the main repo
114-
* "[Deploy Production](https://github.com/codeigniter4/userguide/actions/workflows/deploy.yml)", UG repo
115-
* "[pages-build-deployment](https://github.com/codeigniter4/userguide/actions/workflows/pages/pages-build-deployment)", UG repo
112+
* "[Deploy Distributable Repos](https://github.com/codeigniter4/CodeIgniter4/actions/workflows/deploy-distributables.yml)", the main repo
113+
* "[Deploy Production](https://github.com/codeigniter4/userguide/actions/workflows/deploy.yml)", UG repo
114+
* "[pages-build-deployment](https://github.com/codeigniter4/userguide/actions/workflows/pages/pages-build-deployment)", UG repo
116115
* Fast-forward `develop` branch to catch the merge commit from `master`
117-
```console
118-
git fetch origin
119-
git checkout develop
120-
git merge origin/develop
121-
git merge origin/master
122-
git push origin HEAD
123-
```
116+
```console
117+
git fetch origin
118+
git checkout develop
119+
git merge origin/develop
120+
git merge origin/master
121+
git push origin HEAD
122+
```
124123
* Update the next minor upgrade branch `4.x`:
125-
```console
126-
git fetch origin
127-
git checkout 4.x
128-
git merge origin/4.x
129-
git merge origin/develop
130-
git push origin HEAD
131-
```
124+
```console
125+
git fetch origin
126+
git checkout 4.x
127+
git merge origin/4.x
128+
git merge origin/develop
129+
git push origin HEAD
130+
```
132131
* [Minor version only] Create the next minor upgrade branch `4.x`:
133-
```console
134-
git fetch origin
135-
git switch develop
136-
git switch -c 4.x
137-
git push origin HEAD
138-
```
132+
```console
133+
git fetch origin
134+
git switch develop
135+
git switch -c 4.x
136+
git push origin HEAD
137+
```
139138
* Publish any Security Advisories that were resolved from private forks
139+
(note: publishing is restricted to administrators):
140140
* Announce the release on the forums and Slack channel
141141
(note: this forum is restricted to administrators):
142-
* Make a new topic in the "News & Discussion" forums:
143-
https://forum.codeigniter.com/forum-2.html
144-
* The content is somewhat organic, but should include any major features and
145-
changes as well as a link to the User Guide's changelog
142+
* Make a new topic in the "News & Discussion" forums:
143+
https://forum.codeigniter.com/forum-2.html
144+
* The content is somewhat organic, but should include any major features and
145+
changes as well as a link to the User Guide's changelog
146+
* Create a PR for new changelog and upgrade for the next version
147+
* Create **user_guide_src/source/changelogs/{next_version}.rst** and add it to
148+
**index.rst** (See next-changelog-*.rst)
149+
* Create **user_guide_src/source/installation/upgrade_{next_version}.rst** and add it to
150+
**upgrading.rst**
146151

147152
## After Publishing Security Advisory
148153

149154
* Send a PR to [PHP Security Advisories Database](https://github.com/FriendsOfPHP/security-advisories).
150-
* E.g. https://github.com/FriendsOfPHP/security-advisories/pull/606
151-
* See https://github.com/FriendsOfPHP/security-advisories#contributing
152-
* Don't forget to run `php -d memory_limit=-1 validator.php`, before
153-
submitting the PR
155+
* E.g. https://github.com/FriendsOfPHP/security-advisories/pull/606
156+
* See https://github.com/FriendsOfPHP/security-advisories#contributing
157+
* Don't forget to run `php -d memory_limit=-1 validator.php`, before
158+
submitting the PR
154159

155160
## Appendix
156161

@@ -180,13 +185,13 @@ sudo pip3 install sphinx_rtd_theme
180185
**./CodeIgniter4.x.x.epub**
181186
* Commit the changes with "Update for 4.x.x" and push to origin
182187
* Create a new PR from `release-4.x.x` to `develop`:
183-
* Title: "Update for 4.x.x"
184-
* Description: blank
188+
* Title: "Update for 4.x.x"
189+
* Description: blank
185190
* Merge the PR
186191
* Create a new Release:
187-
* Version: "v4.x.x"
188-
* Title: "CodeIgniter 4.x.x User Guide"
189-
* Description: "CodeIgniter 4.x.x User Guide"
192+
* Version: "v4.x.x"
193+
* Title: "CodeIgniter 4.x.x User Guide"
194+
* Description: "CodeIgniter 4.x.x User Guide"
190195
* Watch for the "github pages" Environment to make sure the deployment succeeds
191196

192197
The User Guide website should update itself via the deploy GitHub Action. Should

app/Config/App.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,8 @@ class App extends BaseConfig
105105
*
106106
* The default timezone that will be used in your application to display
107107
* dates with the date helper, and can be retrieved through app_timezone()
108+
*
109+
* @see https://www.php.net/manual/en/timezones.php for list of timezones supported by PHP.
108110
*/
109111
public string $appTimezone = 'UTC';
110112

app/Config/Generators.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ class Generators extends BaseConfig
2626
* @var array<string, string>
2727
*/
2828
public array $views = [
29+
'make:cell' => 'CodeIgniter\Commands\Generators\Views\cell.tpl.php',
2930
'make:command' => 'CodeIgniter\Commands\Generators\Views\command.tpl.php',
3031
'make:config' => 'CodeIgniter\Commands\Generators\Views\config.tpl.php',
3132
'make:controller' => 'CodeIgniter\Commands\Generators\Views\controller.tpl.php',

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"phpunit/phpcov": "^8.2",
2525
"phpunit/phpunit": "^9.1",
2626
"predis/predis": "^1.1 || ^2.0",
27-
"rector/rector": "0.15.23",
27+
"rector/rector": "0.15.25",
2828
"vimeo/psalm": "^5.0"
2929
},
3030
"suggest": {

contributing/documentation.rst

Lines changed: 35 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,12 @@ Writing CodeIgniter Documentation
33
#################################
44

55
CodeIgniter uses Sphinx to generate its documentation in a variety of formats,
6-
using reStructuredText to handle the formatting. If you are familiar with
6+
using `reStructuredText`_ to handle the formatting. If you are familiar with
77
Markdown or Textile, you will quickly grasp reStructuredText. The focus is
88
on readability and user friendliness.
99
While they can be quite technical, we always write for humans!
1010

11-
A local table of contents should always be included, like the one below.
12-
It is created automatically by inserting the following::
13-
14-
.. contents::
15-
:local:
16-
:depth: 2
11+
.. _reStructuredText: https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html
1712

1813
.. contents::
1914
:local:
@@ -26,7 +21,18 @@ To see the rendered HTML, ePub, PDF, etc., you will need to install Sphinx
2621
along with the PHP domain extension for Sphinx. The underlying requirement
2722
is to have Python installed.
2823

29-
You can read more about installing all tools in /user_guide_src/README.rst
24+
You can read more about installing all tools in **user_guide_src/README.rst**
25+
26+
*****************
27+
Table of Contents
28+
*****************
29+
30+
A local table of contents should always be included, like the one below.
31+
It is created automatically by inserting the following::
32+
33+
.. contents::
34+
:local:
35+
:depth: 2
3036

3137
*****************************************
3238
Page and Section Headings and Subheadings
@@ -119,15 +125,21 @@ You can reference a page like the following::
119125
To a URL
120126
========
121127

128+
::
129+
122130
`CodeIgniter 4 framework <https://github.com/codeigniter4/framework>`_
123131

124132
To a Function
125133
=============
126134

135+
::
136+
127137
:php:func:`dot_array_search()`
128138

129139
To a Method
130-
=============
140+
===========
141+
142+
::
131143

132144
:php:meth:`CodeIgniter\\HTTP\\Response::setCookie()`
133145

@@ -138,10 +150,24 @@ Other Directives
138150
New Feature
139151
===========
140152

153+
::
154+
141155
.. versionadded:: 4.3.0
142156

143157
Deprecated
144158
==========
145159

160+
::
161+
146162
.. deprecated:: 4.3.0
147163
Use :php:meth:`CodeIgniter\\Database\\BaseBuilder::setData()` instead.
164+
165+
***************
166+
Text Decoration
167+
***************
168+
169+
As a general rule, we use ``**`` for in-line file paths, and `````` for source code.
170+
171+
E.g.::
172+
173+
Open the **app/Config/Filters.php** file and update the ``$methods`` property like the following:

phpstan-baseline.neon.dist

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,6 @@ parameters:
6060
count: 1
6161
path: system/Database/Migration.php
6262

63-
-
64-
message: "#^Property CodeIgniter\\\\Database\\\\BaseConnection\\<mysqli,mysqli_result\\>\\:\\:\\$strictOn \\(bool\\) in isset\\(\\) is not nullable\\.$#"
65-
count: 1
66-
path: system/Database/MySQLi/Connection.php
67-
6863
-
6964
message: "#^Access to an undefined property CodeIgniter\\\\Database\\\\BaseConnection\\<mysqli, mysqli_result\\>\\:\\:\\$mysqli\\.$#"
7065
count: 3

public/index.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
* ---------------------------------------------------------------
4848
*
4949
* The CodeIgniter class contains the core functionality to make
50-
* the application run, and does all of the dirty work to get
50+
* the application run, and does all the dirty work to get
5151
* the pieces all working together.
5252
*/
5353

@@ -60,7 +60,7 @@
6060
*---------------------------------------------------------------
6161
* LAUNCH THE APPLICATION
6262
*---------------------------------------------------------------
63-
* Now that everything is setup, it's time to actually fire
63+
* Now that everything is set up, it's time to actually fire
6464
* up the engines and make this app do its thang.
6565
*/
6666

0 commit comments

Comments
 (0)