Skip to content

Commit 4a0f3c2

Browse files
committed
Merge branch 'develop' into 4.7
2 parents 3b7018c + 05495dd commit 4a0f3c2

30 files changed

+163
-346
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,17 @@ Each pull request should address a single issue and have a meaningful title.
55
- PR title must include the type (feat, fix, chore, docs, perf, refactor, style, test) of the commit per Conventional Commits specification. See https://www.conventionalcommits.org/en/v1.0.0/ for the discussion.
66
- Pull requests must be in English.
77
- If a pull request fixes an issue, reference the issue with a suitable keyword (e.g., Fixes <issue number>).
8+
- Your branch name and the target name should be different.
89
- All bug fixes should be sent to the __"develop"__ branch, this is where the next bug fix version will be developed.
9-
- PRs with any enhancement should be sent to the next minor version branch, e.g. __"4.5"__
10+
- PRs with any enhancement should be sent to the next minor version branch, e.g. __"4.7"__
1011
1112
-->
1213
**Description**
1314
Explain what you have changed, and why.
1415

1516
**Checklist:**
1617
- [ ] Securely signed commits
17-
- [ ] Component(s) with PHPDoc blocks, only if necessary or adds value
18+
- [ ] Component(s) with PHPDoc blocks, only if necessary or adds value (without duplication)
1819
- [ ] Unit testing, with >80% coverage
1920
- [ ] User guide updated
2021
- [ ] Conforms to style guide

.github/workflows/deploy-distributables.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ jobs:
6666
run: ./source/.github/scripts/deploy-framework ${GITHUB_WORKSPACE}/source ${GITHUB_WORKSPACE}/framework ${GITHUB_REF##*/}
6767

6868
- name: Release
69-
uses: actions/github-script@v7
69+
uses: actions/github-script@v8
7070
with:
7171
github-token: ${{secrets.ACCESS_TOKEN}}
7272
script: |
@@ -116,7 +116,7 @@ jobs:
116116
run: ./source/.github/scripts/deploy-appstarter ${GITHUB_WORKSPACE}/source ${GITHUB_WORKSPACE}/appstarter ${GITHUB_REF##*/}
117117

118118
- name: Release
119-
uses: actions/github-script@v7
119+
uses: actions/github-script@v8
120120
with:
121121
github-token: ${{secrets.ACCESS_TOKEN}}
122122
script: |
@@ -160,7 +160,7 @@ jobs:
160160
path: userguide
161161

162162
- name: Setup Python
163-
uses: actions/setup-python@v5
163+
uses: actions/setup-python@v6
164164
with:
165165
python-version: '3.12'
166166

@@ -176,7 +176,7 @@ jobs:
176176
run: ./source/.github/scripts/deploy-userguide ${GITHUB_WORKSPACE}/source ${GITHUB_WORKSPACE}/userguide ${GITHUB_REF##*/}
177177

178178
- name: Release
179-
uses: actions/github-script@v7
179+
uses: actions/github-script@v8
180180
with:
181181
github-token: ${{secrets.ACCESS_TOKEN}}
182182
script: |

.github/workflows/deploy-userguide-latest.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
coverage: none
3535

3636
- name: Setup Python
37-
uses: actions/setup-python@v5
37+
uses: actions/setup-python@v6
3838
with:
3939
python-version: '3.12'
4040

.github/workflows/test-deptrac.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ jobs:
8080

8181
- name: Run architectural inspection
8282
run: |
83-
composer require --dev qossmic/deptrac-shim
83+
composer require --dev deptrac/deptrac
8484
vendor/bin/deptrac analyze --cache-file=build/deptrac.cache
8585
env:
8686
GITHUB_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/test-userguide.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
uses: actions/checkout@v5
2828

2929
- name: Setup Python
30-
uses: actions/setup-python@v5
30+
uses: actions/setup-python@v6
3131
with:
3232
python-version: '3.12'
3333

app/Config/Database.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,7 @@ class Database extends Config
182182
'port' => 3306,
183183
'foreignKeys' => true,
184184
'busyTimeout' => 1000,
185+
'synchronous' => null,
185186
'dateFormat' => [
186187
'date' => 'Y-m-d',
187188
'datetime' => 'Y-m-d H:i:s',

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"phpunit/phpcov": "^9.0.2 || ^10.0",
2929
"phpunit/phpunit": "^10.5.16 || ^11.2",
3030
"predis/predis": "^3.0",
31-
"rector/rector": "2.1.5",
31+
"rector/rector": "2.1.7",
3232
"shipmonk/phpstan-baseline-per-identifier": "^2.0"
3333
},
3434
"replace": {

contributing/pull_request.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ implementation comments to explain potentially confusing sections of
9696
code, and documentation comments before each public or protected
9797
class/interface/trait, method, and variable.
9898

99-
Do not add PHPDoc comments that are superficial, duplicated, or stating the obvious.
99+
Do not add PHPDoc comments that are superficial, duplicated, or stating the obvious. It is not recommended to reuse comments if the parent class or interface already contains a description of the child element.
100100

101101
See the following for more information.
102102

contributing/styleguide.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,7 @@ of the classes they declare.
241241
- */
242242
public function analyse(string $data): void {};
243243
```
244+
- SHOULD NOT duplicate comments from the parent class or interface.
244245

245246
### PHPUnit Assertions
246247

deptrac.yaml

Lines changed: 72 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
# - Exception
99
# - Service
1010
# - Validation\FormatRules
11-
parameters:
11+
deptrac:
1212
paths:
1313
- ./app
1414
- ./system
@@ -17,148 +17,149 @@ parameters:
1717
layers:
1818
- name: API
1919
collectors:
20-
- type: className
21-
regex: ^Codeigniter\\API\\.*
20+
- type: classNameRegex
21+
value: '/^CodeIgniter\\API\\.*$/'
2222
- name: Cache
2323
collectors:
24-
- type: className
25-
regex: ^Codeigniter\\Cache\\.*
24+
- type: classNameRegex
25+
value: '/^CodeIgniter\\Cache\\.*$/'
2626
- name: Controller
2727
collectors:
28-
- type: className
29-
regex: ^CodeIgniter\\Controller$
28+
- type: classNameRegex
29+
value: '/^CodeIgniter\\Controller$/'
3030
- name: Cookie
3131
collectors:
32-
- type: className
33-
regex: ^Codeigniter\\Cookie\\.*
32+
- type: classNameRegex
33+
value: '/^CodeIgniter\\Cookie\\.*$/'
3434
- name: Database
3535
collectors:
36-
- type: className
37-
regex: ^Codeigniter\\Database\\.*
36+
- type: classNameRegex
37+
value: '/^CodeIgniter\\Database\\.*$/'
3838
- name: DataCaster
3939
collectors:
40-
- type: className
41-
regex: ^Codeigniter\\DataCaster\\.*
40+
- type: classNameRegex
41+
value: '/^CodeIgniter\\DataCaster\\.*$/'
4242
- name: DataConverter
4343
collectors:
44-
- type: className
45-
regex: ^Codeigniter\\DataConverter\\.*
44+
- type: classNameRegex
45+
value: '/^CodeIgniter\\DataConverter\\.*$/'
4646
- name: Email
4747
collectors:
48-
- type: className
49-
regex: ^Codeigniter\\Email\\.*
48+
- type: classNameRegex
49+
value: '/^CodeIgniter\\Email\\.*$/'
5050
- name: Encryption
5151
collectors:
52-
- type: className
53-
regex: ^Codeigniter\\Encryption\\.*
52+
- type: classNameRegex
53+
value: '/^CodeIgniter\\Encryption\\.*$/'
5454
- name: Entity
5555
collectors:
56-
- type: className
57-
regex: ^Codeigniter\\Entity\\.*
56+
- type: classNameRegex
57+
value: '/^CodeIgniter\\Entity\\.*$/'
5858
- name: Events
5959
collectors:
60-
- type: className
61-
regex: ^Codeigniter\\Events\\.*
60+
- type: classNameRegex
61+
value: '/^CodeIgniter\\Events\\.*$/'
6262
- name: Files
6363
collectors:
64-
- type: className
65-
regex: ^Codeigniter\\Files\\.*
64+
- type: classNameRegex
65+
value: '/^CodeIgniter\\Files\\.*$/'
6666
- name: Filters
6767
collectors:
6868
- type: bool
6969
must:
70-
- type: className
71-
regex: ^Codeigniter\\Filters\\Filter.*
70+
- type: classNameRegex
71+
value: '/^CodeIgniter\\Filters\\Filter.*$/'
7272
- name: Format
7373
collectors:
74-
- type: className
75-
regex: ^Codeigniter\\Format\\.*
74+
- type: classNameRegex
75+
value: '/^CodeIgniter\\Format\\.*$/'
7676
- name: Honeypot
7777
collectors:
78-
- type: className
79-
regex: ^Codeigniter\\.*Honeypot.* # includes the Filter
78+
- type: classNameRegex
79+
# includes the Filter
80+
value: '/^CodeIgniter\\.*Honeypot.*$/'
8081
- name: HTTP
8182
collectors:
8283
- type: bool
8384
must:
84-
- type: className
85-
regex: ^Codeigniter\\HTTP\\.*
85+
- type: classNameRegex
86+
value: '/^CodeIgniter\\HTTP\\.*$/'
8687
must_not:
87-
- type: className
88-
regex: (Exception|URI)
88+
- type: classNameRegex
89+
value: '(Exception|URI)'
8990
- name: I18n
9091
collectors:
91-
- type: className
92-
regex: ^Codeigniter\\I18n\\.*
92+
- type: classNameRegex
93+
value: '/^CodeIgniter\\I18n\\.*$/'
9394
- name: Images
9495
collectors:
95-
- type: className
96-
regex: ^Codeigniter\\Images\\.*
96+
- type: classNameRegex
97+
value: '/^CodeIgniter\\Images\\.*$/'
9798
- name: Language
9899
collectors:
99-
- type: className
100-
regex: ^Codeigniter\\Language\\.*
100+
- type: classNameRegex
101+
value: '/^CodeIgniter\\Language\\.*$/'
101102
- name: Log
102103
collectors:
103-
- type: className
104-
regex: ^Codeigniter\\Log\\.*
104+
- type: classNameRegex
105+
value: '/^CodeIgniter\\Log\\.*$/'
105106
- name: Model
106107
collectors:
107-
- type: className
108-
regex: ^Codeigniter\\.*Model$
108+
- type: classNameRegex
109+
value: '/^CodeIgniter\\.*Model$/'
109110
- name: Modules
110111
collectors:
111-
- type: className
112-
regex: ^Codeigniter\\Modules\\.*
112+
- type: classNameRegex
113+
value: '/^CodeIgniter\\Modules\\.*$/'
113114
- name: Pager
114115
collectors:
115-
- type: className
116-
regex: ^Codeigniter\\Pager\\.*
116+
- type: classNameRegex
117+
value: '/^CodeIgniter\\Pager\\.*$/'
117118
- name: Publisher
118119
collectors:
119-
- type: className
120-
regex: ^Codeigniter\\Publisher\\.*
120+
- type: classNameRegex
121+
value: '/^CodeIgniter\\Publisher\\.*$/'
121122
- name: RESTful
122123
collectors:
123-
- type: className
124-
regex: ^Codeigniter\\RESTful\\.*
124+
- type: classNameRegex
125+
value: '/^CodeIgniter\\RESTful\\.*$/'
125126
- name: Router
126127
collectors:
127-
- type: className
128-
regex: ^Codeigniter\\Router\\.*
128+
- type: classNameRegex
129+
value: '/^CodeIgniter\\Router\\.*$/'
129130
- name: Security
130131
collectors:
131-
- type: className
132-
regex: ^Codeigniter\\Security\\.*
132+
- type: classNameRegex
133+
value: '/^CodeIgniter\\Security\\.*$/'
133134
- name: Session
134135
collectors:
135-
- type: className
136-
regex: ^Codeigniter\\Session\\.*
136+
- type: classNameRegex
137+
value: '/^CodeIgniter\\Session\\.*$/'
137138
- name: Throttle
138139
collectors:
139-
- type: className
140-
regex: ^Codeigniter\\Throttle\\.*
140+
- type: classNameRegex
141+
value: '/^CodeIgniter\\Throttle\\.*$/'
141142
- name: Typography
142143
collectors:
143-
- type: className
144-
regex: ^Codeigniter\\Typography\\.*
144+
- type: classNameRegex
145+
value: '/^CodeIgniter\\Typography\\.*$/'
145146
- name: URI
146147
collectors:
147-
- type: className
148-
regex: ^CodeIgniter\\HTTP\\URI$
148+
- type: classNameRegex
149+
value: '/^CodeIgniter\\HTTP\\URI$/'
149150
- name: Validation
150151
collectors:
151152
- type: bool
152153
must:
153-
- type: className
154-
regex: ^Codeigniter\\Validation\\.*
154+
- type: classNameRegex
155+
value: '/^CodeIgniter\\Validation\\.*$/'
155156
must_not:
156-
- type: className
157-
regex: ^Codeigniter\\Validation\\FormatRules$
157+
- type: classNameRegex
158+
value: '/^CodeIgniter\\Validation\\FormatRules$/'
158159
- name: View
159160
collectors:
160-
- type: className
161-
regex: ^Codeigniter\\View\\.*
161+
- type: classNameRegex
162+
value: '/^CodeIgniter\\View\\.*$/'
162163
ruleset:
163164
API:
164165
- Format

0 commit comments

Comments
 (0)