Skip to content

Commit 658e1a5

Browse files
committed
Merge remote-tracking branch 'upstream/develop' into 4.8
# Conflicts: # user_guide_src/source/changelogs/index.rst
2 parents 0ca8a99 + 2582088 commit 658e1a5

Some content is hidden

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

47 files changed

+1266
-173
lines changed
Lines changed: 200 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,200 @@
1+
# Forum Announcement Instructions
2+
3+
## Purpose
4+
These instructions guide the creation of forum announcements for new CodeIgniter4 releases using myBB formatting.
5+
6+
## Process Overview
7+
8+
### 1. Gather Information
9+
Read the following source files:
10+
- **CHANGELOG.md** - Main changelog with GitHub PR links
11+
- **user_guide_src/source/changelogs/v{VERSION}.rst** - Detailed RST changelog with comprehensive explanations
12+
13+
### 2. Version Strategy
14+
For dual releases (e.g., maintenance + major):
15+
- **List the maintenance version first** (e.g., v4.6.5 before v4.7.0)
16+
- Clearly explain which version users should choose based on their PHP version
17+
- Provide separate links for each version
18+
19+
### 3. Announcement Structure
20+
21+
Use this **example** structure with myBB formatting:
22+
23+
```
24+
[size=x-large][b]CodeIgniter {VERSION} & {VERSION} Released![/b][/size]
25+
26+
Introduction paragraph(s) - mention maintenance release first, then major release
27+
28+
Links to GitHub releases and changelogs
29+
30+
[hr]
31+
32+
[size=large][b]Which Version Should I Use?[/b][/size]
33+
- Guidance for users on which version to choose
34+
35+
[hr]
36+
37+
[size=large][b]What's in CodeIgniter {MAINTENANCE_VERSION}?[/b][/size]
38+
- Bug fixes section (if maintenance release)
39+
40+
[hr]
41+
42+
[size=large][b]Highlights & New Features ({MAJOR_VERSION})[/b][/size]
43+
- Top features
44+
45+
[hr]
46+
47+
[size=large][b]Notable Enhancements[/b][/size]
48+
- Bulleted list of improvements
49+
50+
[hr]
51+
52+
[size=large][b]Cache Improvements[/b][/size]
53+
- Cache-specific updates
54+
55+
[hr]
56+
57+
[size=large][b]Database & Model Updates[/b][/size]
58+
- Database-related changes
59+
60+
[hr]
61+
62+
[size=large][b]HTTP & Request Features[/b][/size]
63+
- HTTP/Request improvements
64+
65+
[hr]
66+
67+
[size=large][b]Security & Quality[/b][/size]
68+
- Security updates
69+
70+
[hr]
71+
72+
[size=large][b]Breaking Changes[/b][/size]
73+
- Detailed breaking changes with explanations
74+
- Include "Removed Deprecated Items" subsection
75+
76+
[hr]
77+
78+
[size=large][b]Other Notable Changes[/b][/size]
79+
- Other miscellaneous updates
80+
81+
[hr]
82+
83+
[size=large][b]Thanks to Our Contributors[/b][/size]
84+
- Acknowledge contributors
85+
86+
[hr]
87+
88+
Upgrade guide links
89+
Issue reporting link
90+
Closing message
91+
92+
[hr]
93+
94+
AI disclosure note
95+
```
96+
97+
### 4. myBB Formatting Codes
98+
99+
Use these myBB codes:
100+
- `[b]text[/b]` - Bold
101+
- `[i]text[/i]` - Italic
102+
- `[size=x-large]text[/size]` - Extra large text
103+
- `[size=large]text[/size]` - Large text
104+
- `[size=small]text[/size]` - Small text
105+
- `[url=URL]text[/url]` - Links
106+
- `[list]` - Unordered list
107+
- `[list=1]` - Ordered list
108+
- `[*]` - List item
109+
- `[hr]` - Horizontal rule
110+
- `` `code` `` - Inline code (use double backticks)
111+
112+
### 4a. Emoticon Escaping
113+
114+
myBB automatically converts emoticon patterns like `:s` (colon immediately followed by "s") into emoji. To prevent this in code blocks:
115+
116+
**Replace all colons with HTML entity `:`**
117+
118+
Examples:
119+
- `Entity::setAttributes()``Entity::setAttributes()`
120+
- `H:i:s` (time format) → `H:i:s`
121+
122+
This prevents emoticon conversion while displaying properly as a colon character.
123+
124+
### 5. Content Guidelines
125+
126+
**Highlights Section:**
127+
- Emphasize PHP version requirements
128+
- Mark experimental features as [i]Experimental[/i]
129+
- List 3-5 most impactful features
130+
131+
**Enhancements:**
132+
- Include specific config options and method names
133+
- Use `` `code` `` for class names, methods, and config values
134+
- Be specific about which handlers support which features
135+
136+
**Breaking Changes:**
137+
- Provide detailed explanations, not just bullet points
138+
- Include the old behavior vs. new behavior
139+
- Mention exception type changes
140+
- List removed deprecated items separately
141+
- Reference specific methods and properties
142+
143+
**Bug Fixes (for maintenance releases):**
144+
- Use ordered lists `[list=1]`
145+
- Provide clear before/after descriptions
146+
147+
### 6. Key Points
148+
149+
1. **Tone:** Professional yet friendly, engaging for community (no emojis - they don't render properly in myBB)
150+
2. **Accuracy:** Always cross-reference RST changelog for technical details
151+
3. **Clarity:** Explain breaking changes thoroughly
152+
4. **Contents:** Adjust sections based on the release content (e.g., skip "Cache Improvements" if no cache changes)
153+
5. **Brevity:** For single releases, omit the "Which Version Should I Use?" section
154+
6. **Links:** Include GitHub release links, changelogs, and upgrade guides
155+
7. **Attribution:** Thank contributors by username
156+
8. **Disclosure:** Add AI assistance disclosure at the end
157+
158+
### 7. Version Priority
159+
160+
For dual releases:
161+
- Mention maintenance version (e.g., 4.6.5) **before** major version (e.g., 4.7.0)
162+
- In "Which Version Should I Use?" section, list lower PHP version option first
163+
164+
### 8. Final Disclosure
165+
166+
Always include at the end:
167+
168+
```
169+
[hr]
170+
171+
[size=small][i]Note: This announcement was created with the assistance of GitHub Copilot (Claude Sonnet 4.5).[/i][/size]
172+
```
173+
174+
Update the agent name as necessary.
175+
176+
## Output File
177+
178+
Save the announcement as: `v{VERSION}-announcement.txt` in the repository root
179+
180+
## Example Workflow
181+
182+
```bash
183+
# 1. Read changelogs
184+
Read: CHANGELOG.md
185+
Read: user_guide_src/source/changelogs/v4.7.0.rst
186+
Read: user_guide_src/source/changelogs/v4.6.5.rst (if maintenance release)
187+
188+
# 2. Create announcement
189+
Create: v4.7.0-announcement.txt
190+
191+
# 3. Structure content
192+
- Introduction with both versions
193+
- Version selection guidance
194+
- Maintenance release details first
195+
- Major release details
196+
- Breaking changes (comprehensive)
197+
- Contributors
198+
- Upgrade links
199+
- AI disclosure
200+
```

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
.gitignore export-ignore
99

1010
# admin files
11+
.ai/ export-ignore
1112
.github/ export-ignore
1213
admin/ export-ignore
1314
contributing/ export-ignore

.gitignore

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -44,45 +44,45 @@ $RECYCLE.BIN/
4444
.env
4545
.vagrant
4646
Vagrantfile
47-
user_guide_src/venv/
47+
/user_guide_src/venv/
4848
.python-version
49-
user_guide_src/.python-version
49+
/user_guide_src/.python-version
5050

5151
#-------------------------
5252
# Temporary Files
5353
#-------------------------
54-
writable/cache/*
55-
!writable/cache/index.html
54+
/writable/cache/*
55+
!/writable/cache/index.html
5656

57-
writable/logs/*
58-
!writable/logs/index.html
57+
/writable/logs/*
58+
!/writable/logs/index.html
5959

60-
writable/session/*
61-
!writable/session/index.html
60+
/writable/session/*
61+
!/writable/session/index.html
6262

63-
writable/uploads/*
64-
!writable/uploads/index.html
63+
/writable/uploads/*
64+
!/writable/uploads/index.html
6565

66-
writable/debugbar/*
67-
!writable/debugbar/index.html
66+
/writable/debugbar/*
67+
!/writable/debugbar/index.html
6868

69-
writable/**/*.db
70-
writable/**/*.sqlite
69+
/writable/**/*.db
70+
/writable/**/*.sqlite
7171

7272
php_errors.log
7373

7474
#-------------------------
7575
# User Guide Temp Files
7676
#-------------------------
77-
user_guide_src/build/*
77+
/user_guide_src/build/*
7878

7979
#-------------------------
8080
# Test Files
8181
#-------------------------
82-
tests/coverage*
82+
/tests/coverage*
8383

8484
# Don't save phpunit under version control.
85-
phpunit
85+
/phpunit
8686

8787
#-------------------------
8888
# Composer
@@ -105,14 +105,14 @@ _modules/*
105105
*.iml
106106

107107
# Netbeans
108-
nbproject/
109-
build/
110-
nbbuild/
111-
dist/
112-
nbdist/
113-
nbactions.xml
114-
nb-configuration.xml
115-
.nb-gradle/
108+
/nbproject/
109+
/build/
110+
/nbbuild/
111+
/dist/
112+
/nbdist/
113+
/nbactions.xml
114+
/nb-configuration.xml
115+
/.nb-gradle/
116116

117117
# Sublime Text
118118
*.tmlanguage.cache

.php-cs-fixer.tests.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
]);
3131

3232
$overrides = [
33+
'declare_strict_types' => true,
3334
'phpdoc_to_return_type' => true,
3435
'void_return' => true,
3536
];

CHANGELOG.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,10 @@
8787
* refactor: cleanup `ContentSecurityPolicy` by @paulbalandan in https://github.com/codeigniter4/CodeIgniter4/pull/9904
8888
* refactor: deprecate `CodeIgniter\HTTP\ContentSecurityPolicy::$nonces` since never used by @paulbalandan in https://github.com/codeigniter4/CodeIgniter4/pull/9905
8989

90-
For the changelog of v4.6, see [CHANGELOG_4.6.md](./changelogs/CHANGELOG_4.6.md).
91-
For the changelog of v4.5, see [CHANGELOG_4.5.md](./changelogs/CHANGELOG_4.5.md).
92-
For the changelog of v4.4, see [CHANGELOG_4.5.md](./changelogs/CHANGELOG_4.4.md).
93-
For the changelog of v4.3, see [CHANGELOG_4.5.md](./changelogs/CHANGELOG_4.3.md).
94-
For the changelog of v4.2, see [CHANGELOG_4.5.md](./changelogs/CHANGELOG_4.2.md).
95-
For the changelog of v4.1, see [CHANGELOG_4.5.md](./changelogs/CHANGELOG_4.1.md).
96-
For the changelog of v4.0, see [CHANGELOG_4.5.md](./changelogs/CHANGELOG_4.0.md).
90+
For the changelog of v4.6, see [CHANGELOG_4.6.md](./changelogs/CHANGELOG_4.6.md).<br/>
91+
For the changelog of v4.5, see [CHANGELOG_4.5.md](./changelogs/CHANGELOG_4.5.md).<br/>
92+
For the changelog of v4.4, see [CHANGELOG_4.4.md](./changelogs/CHANGELOG_4.4.md).<br/>
93+
For the changelog of v4.3, see [CHANGELOG_4.3.md](./changelogs/CHANGELOG_4.3.md).<br/>
94+
For the changelog of v4.2, see [CHANGELOG_4.2.md](./changelogs/CHANGELOG_4.2.md).<br/>
95+
For the changelog of v4.1, see [CHANGELOG_4.1.md](./changelogs/CHANGELOG_4.1.md).<br/>
96+
For the changelog of v4.0, see [CHANGELOG_4.0.md](./changelogs/CHANGELOG_4.0.md).

admin/RELEASE.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,10 @@ the existing content.
124124
* Set the date to format `Release Date: January 31, 2021`
125125
* Update **phpdoc.dist.xml** with the new `<title>CodeIgniter v4.x API</title>`
126126
and `<version number="4.x.x">`
127+
* Update **admin/starter/builds**:
128+
* Set `define('LATEST_RELEASE', '^4.x')`
129+
* Set `define('NEXT_MINOR', '4.y-dev')`.
130+
* If the major version changes, you need to manually change to `define('NEXT_MINOR', '5.0-dev')`.
127131
* Commit the changes with `Prep for 4.x.x release`
128132
* [ ] Create a new PR from `release-4.x.x` to `develop`:
129133
* Title: `Prep for 4.x.x release`

0 commit comments

Comments
 (0)