Skip to content

Commit 3d4662a

Browse files
authored
Merge branch '5.4-dev' into fix/fields-repeatable-table-th
2 parents 63bc8d5 + 9aaa274 commit 3d4662a

File tree

179 files changed

+1319
-507
lines changed

Some content is hidden

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

179 files changed

+1319
-507
lines changed

.devcontainer/devcontainer.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,13 @@
1414
"6080": {
1515
"label": "Cypress GUI",
1616
"onAutoForward": "silent"
17+
},
18+
"8025": {
19+
"label": "Mailpit Web UI",
20+
"onAutoForward": "openPreview"
1721
}
1822
},
23+
"forwardPorts": [80, 443, 6080, 8025],
1924
"postCreateCommand": "bash ./.devcontainer/post-create.sh",
2025
"customizations": {
2126
"vscode": {

.devcontainer/docker-compose.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,11 @@ services:
2525
volumes:
2626
- "mysql-data:/var/lib/mysql"
2727

28+
mailpit:
29+
image: axllent/mailpit:latest
30+
restart: unless-stopped
31+
ports:
32+
- "8025:8025"
33+
2834
volumes:
2935
mysql-data:

.devcontainer/post-create.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,12 @@ echo "✅ Joomla installed."
5454
echo "--> Applying development settings..."
5555
# Enable debug mode and maximum error reporting for easier troubleshooting.
5656
php cli/joomla.php config:set error_reporting=maximum
57+
# Configure mail settings for Mailpit
58+
php cli/joomla.php config:set mailer=smtp
59+
php cli/joomla.php config:set smtphost=mailpit
60+
php cli/joomla.php config:set smtpport=1025
61+
php cli/joomla.php config:set smtpauth=0
62+
php cli/joomla.php config:set smtpsecure=none
5763
echo "✅ Development settings applied."
5864

5965
# --- 5. Install and Configure phpMyAdmin ---
@@ -148,6 +154,10 @@ DETAILS_FILE="${JOOMLA_ROOT}/codespace-details.txt"
148154
echo " Username: $DB_USER"
149155
echo " Password: $DB_PASS"
150156
echo ""
157+
echo "Mailpit (Email Testing):"
158+
echo " URL: Open the 'Ports' tab, find 'Mailpit Web UI' (8025), and click the Globe icon"
159+
echo " All emails sent by Joomla will appear here for testing"
160+
echo ""
151161
echo "Cypress E2E Testing:"
152162
echo " Run interactive tests: npx cypress open"
153163
echo " Run headless tests: npx cypress run"

.github/CODEOWNERS

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ plugins/finder/* @hackwar
99
build/build.php @rdeutz
1010
build/bump.php @rdeutz
1111
build/deleted_file_check.php @rdeutz
12+
.drone.yml @rdeutz @hackwar
1213

1314
# Core/Extension Install/Update Tools
1415
administrator/components/com_joomlaupdate/* @rdeutz
@@ -19,9 +20,7 @@ libraries/src/Updater/* @rdeutz
1920
.github/workflows/ci.yml @rdeutz @hackwar @laoneo
2021
tests/* @hackwar @laoneo
2122
tests/Unit/* @rdeutz @laoneo
22-
.drone.yml @rdeutz @hackwar @laoneo
2323
phpunit.xml.dist @rdeutz @hackwar @laoneo
24-
phpunit-pgsql.xml.dist @rdeutz @hackwar @laoneo
2524
phpunit-windows.xml.dist @rdeutz @hackwar @laoneo
2625

2726
# Workflow

.github/CONTRIBUTING.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,11 @@ You are welcome to submit a contribution for review and possible inclusion in th
1515
Please be patient as not all items will be viewed or tested immediately (remember, all bug testing for the Joomla! CMS is done by volunteers) and be receptive to feedback about your code.
1616

1717
#### Branches
18-
Joomla 4.4 is in security maintenance mode, until 14th October 2025, which means it will only receive security fixes. Bug fixing PRs should be made to the `5.3-dev` branch. Merged bugfixes will be upmerged into the current branches. New features that do not break backwards compatibility should be made to the `5.4-dev` branch otherwise they should be made to the `6.0-dev` branch.
18+
Bug fixing PRs should be made to the `5.4-dev` branch. Merged bugfixes will be upmerged into the current branches. New features that do not break backwards compatibility should be made to the `6.1-dev`.
1919

2020

21-
| Branch | Purpose |
22-
| ------ | ------- |
23-
| 4.4-dev | Branch for the current 4.x Joomla version. Currently in security maintenance mode. |
24-
| 5.3-dev | Branch for the current 5.x Joomla version. Bugfix only for 5.x go into this branch. |
25-
| 5.4-dev | Branch for the next minor 5.x Joomla version. New features go into this branch. |
26-
| 6.0-dev | Branch for the next major Joomla version. New features that include a b/c break have to go into this branch. |
21+
| Branch | Purpose |
22+
|---------|-----------------------------------------------------------------------------------------|
23+
| 5.4-dev | Branch for the current 5.x Joomla version. |
24+
| 6.0-dev | Branch for the current 6.x Joomla version. Bugfixes only for 6.x go into this branch. |
25+
| 6.1-dev | Branch for the next minor 6.x Joomla version. New features have to go into this branch. |

.github/workflows/ci.yml

Lines changed: 64 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,31 @@ jobs:
134134
strategy:
135135
matrix:
136136
php_version: ['8.1', '8.2', '8.3', '8.4']
137-
config: ['phpunit.xml.dist', 'phpunit-pgsql.xml.dist']
137+
config:
138+
- my_version: '8.4'
139+
engine: 'mysqli'
140+
host: 'mysql'
141+
user: 'joomla_ut'
142+
- my_version: '8.0.13'
143+
engine: 'mysqli'
144+
host: 'mysql'
145+
user: 'joomla_ut'
146+
- maria_version: '12.0'
147+
engine: 'mysqli'
148+
host: 'maria'
149+
user: 'joomla_ut'
150+
- maria_version: '10.4'
151+
engine: 'mysqli'
152+
host: 'maria'
153+
user: 'joomla_ut'
154+
- pg_version: '12.0'
155+
engine: 'pgsql'
156+
host: 'postgres'
157+
user: 'root'
158+
- pg_version: '18.0'
159+
engine: 'pgsql'
160+
host: 'postgres'
161+
user: 'root'
138162
steps:
139163
- uses: actions/checkout@v4
140164
- name: Start LDAP container
@@ -146,23 +170,36 @@ jobs:
146170
path: libraries/vendor
147171
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
148172
- name: Run Integration tests
173+
env:
174+
JTEST_DB_ENGINE: ${{ matrix.config.engine }}
175+
JTEST_DB_HOST: ${{ matrix.config.host }}
176+
JTEST_DB_USER: ${{ matrix.config.user }}
177+
JTEST_DB_NAME: test_joomla
178+
JTEST_DB_PASSWORD: joomla_ut
149179
run: |
150180
sleep 3
151-
./libraries/vendor/bin/phpunit --testsuite Integration --configuration ${{ matrix.config }}
181+
./libraries/vendor/bin/phpunit --testsuite Integration --configuration phpunit.xml.dist
152182
- name: Stop LDAP container
153183
uses: docker://docker
154184
with:
155185
args: docker kill openldap
156186
services:
157187
mysql:
158-
image: mariadb
188+
image: mysql:${{ matrix.config.my_version || '8.4' }}
189+
env:
190+
MYSQL_USER: joomla_ut
191+
MYSQL_PASSWORD: joomla_ut
192+
MYSQL_ROOT_PASSWORD: joomla_ut
193+
MYSQL_DATABASE: test_joomla
194+
maria:
195+
image: mariadb:${{ matrix.config.maria_version || '12.0' }}
159196
env:
160197
MARIADB_USER: joomla_ut
161198
MARIADB_PASSWORD: joomla_ut
162199
MARIADB_ROOT_PASSWORD: joomla_ut
163200
MARIADB_DATABASE: test_joomla
164201
postgres:
165-
image: postgres:12-alpine
202+
image: postgres:${{ matrix.config.pg_version || '18' }}-alpine
166203
env:
167204
POSTGRES_USER: root
168205
POSTGRES_PASSWORD: joomla_ut
@@ -270,18 +307,32 @@ jobs:
270307
test_group: cmysqlmax
271308
db_engine: mysqli
272309
db_host: mysql
310+
my_version: '8.4'
273311
- php_version: '8.1'
274312
test_group: cmysql
275313
db_engine: mysqli
276314
db_host: mysql
315+
my_version: '8.0.13'
316+
- php_version: '8.4'
317+
test_group: cmariamax
318+
db_engine: mysqli
319+
db_host: maria
320+
maria_version: '12.0'
321+
- php_version: '8.1'
322+
test_group: cmaria
323+
db_engine: mysqli
324+
db_host: maria
325+
maria_version: '10.4'
277326
- php_version: '8.1'
278327
test_group: cpostgres
279328
db_engine: pgsql
280329
db_host: postgres
330+
pg_version: '12.0'
281331
- php_version: '8.4'
282332
test_group: cpostgresmax
283333
db_engine: pgsql
284334
db_host: postgres
335+
pg_version: '18.0'
285336
env:
286337
JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1
287338
steps:
@@ -313,14 +364,21 @@ jobs:
313364
if-no-files-found: ignore
314365
services:
315366
mysql:
316-
image: mariadb
367+
image: mysql:${{ matrix.config.my_version || '8.4' }}
368+
env:
369+
MYSQL_USER: joomla_ut
370+
MYSQL_PASSWORD: joomla_ut
371+
MYSQL_ROOT_PASSWORD: joomla_ut
372+
MYSQL_DATABASE: test_joomla
373+
maria:
374+
image: mariadb:${{ matrix.config.maria_version || '12.0' }}
317375
env:
318376
MARIADB_USER: joomla_ut
319377
MARIADB_PASSWORD: joomla_ut
320378
MARIADB_ROOT_PASSWORD: joomla_ut
321379
MARIADB_DATABASE: test_joomla
322380
postgres:
323-
image: postgres:12-alpine
381+
image: postgres:${{ matrix.config.pg_version || '18' }}-alpine
324382
env:
325383
POSTGRES_USER: root
326384
POSTGRES_PASSWORD: joomla_ut

.github/workflows/create-translation-pull-request-v4.yml

Lines changed: 0 additions & 77 deletions
This file was deleted.

administrator/components/com_admin/script.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -718,6 +718,7 @@ public function deleteUnexistingFiles($dryRun = false, $suppressOutput = false)
718718
'/libraries/vendor/beberlei/assert/LICENSE',
719719
'/libraries/vendor/google/recaptcha/ARCHITECTURE.md',
720720
'/libraries/vendor/jfcherng/php-color-output/src/helpers.php',
721+
'/libraries/vendor/joomla/filter/PATCHES.txt',
721722
'/libraries/vendor/joomla/ldap/LICENSE',
722723
'/libraries/vendor/joomla/ldap/src/LdapClient.php',
723724
'/libraries/vendor/laminas/laminas-zendframework-bridge/config/replacements.php',
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
-- Remove wrong unique constraint from "#__ucm_content" table
2+
ALTER TABLE "#__ucm_content" DROP CONSTRAINT "#__ucm_content_idx_type_alias_item_id" /** CAN FAIL **/;

0 commit comments

Comments
 (0)