Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 11 additions & 11 deletions test/run-s3-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,26 +12,26 @@ docker network rm serverlesswp-test-network 2>/dev/null || true
VERCEL=${VERCEL:-1}
VERCEL_GIT_COMMIT_REF=${VERCEL_GIT_COMMIT_REF:-test_branch}

if ! command -v mc &> /dev/null; then
wget https://dl.min.io/client/mc/release/linux-amd64/mc -O /usr/local/bin/mc
chmod +x /usr/local/bin/mc
fi

docker network create serverlesswp-test-network

# MinIO withdrew its Docker Hub images (Sept 2026); Quay still serves them.
docker run -d --name minio \
--network serverlesswp-test-network \
-p 9010:9000 -p 9011:9011 \
-e "MINIO_ROOT_USER=minioadmin" -e "MINIO_ROOT_PASSWORD=minioadmin" \
minio/minio server /data --console-address ":9011"
quay.io/minio/minio:RELEASE.2025-09-07T16-13-09Z.hotfix.7aa24e772 server /data --console-address ":9011"

sleep 5

mc alias set local-minio http://localhost:9010 minioadmin minioadmin
mc mb local-minio/test-bucket
mc admin user add local-minio testuser testpass
mc admin policy attach local-minio readwrite --user testuser
mc anonymous set download local-minio/test-bucket
# The mc binary download (dl.min.io) is gone too, so run mc from the Quay image
# on the same network, reaching the server directly at minio:9000.
docker run --rm --network serverlesswp-test-network --entrypoint sh \
quay.io/minio/mc:latest -c '
mc alias set local http://minio:9000 minioadmin minioadmin &&
mc mb local/test-bucket &&
mc admin user add local testuser testpass &&
mc admin policy attach local readwrite --user testuser &&
mc anonymous set download local/test-bucket'

docker run \
-e SQLITE_S3_BUCKET=test-bucket \
Expand Down
22 changes: 11 additions & 11 deletions test/run-smoke-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,26 +18,26 @@ docker network rm serverlesswp-test-network 2>/dev/null || true
VERCEL=${VERCEL:-1}
VERCEL_GIT_COMMIT_REF=${VERCEL_GIT_COMMIT_REF:-test_branch}

if ! command -v mc &> /dev/null; then
wget https://dl.min.io/client/mc/release/linux-amd64/mc -O /usr/local/bin/mc
chmod +x /usr/local/bin/mc
fi

docker network create serverlesswp-test-network

# MinIO withdrew its Docker Hub images (Sept 2026); Quay still serves them.
docker run -d --name minio \
--network serverlesswp-test-network \
-p 9010:9000 -p 9011:9011 \
-e "MINIO_ROOT_USER=minioadmin" -e "MINIO_ROOT_PASSWORD=minioadmin" \
minio/minio server /data --console-address ":9011"
quay.io/minio/minio:RELEASE.2025-09-07T16-13-09Z.hotfix.7aa24e772 server /data --console-address ":9011"

sleep 5

mc alias set local-minio http://localhost:9010 minioadmin minioadmin
mc mb local-minio/test-bucket
mc admin user add local-minio testuser testpass
mc admin policy attach local-minio readwrite --user testuser
mc anonymous set download local-minio/test-bucket
# The mc binary download (dl.min.io) is gone too, so run mc from the Quay image
# on the same network, reaching the server directly at minio:9000.
docker run --rm --network serverlesswp-test-network --entrypoint sh \
quay.io/minio/mc:latest -c '
mc alias set local http://minio:9000 minioadmin minioadmin &&
mc mb local/test-bucket &&
mc admin user add local testuser testpass &&
mc admin policy attach local readwrite --user testuser &&
mc anonymous set download local/test-bucket'

docker run \
-e SQLITE_S3_BUCKET=test-bucket \
Expand Down
26 changes: 15 additions & 11 deletions test/run-stream-wrapper-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,23 +31,23 @@ docker network rm serverlesswp-stream-wrapper-network 2>/dev/null || true

BUCKET=stream-test-bucket

if ! command -v mc &> /dev/null; then
wget https://dl.min.io/client/mc/release/linux-amd64/mc -O /usr/local/bin/mc
chmod +x /usr/local/bin/mc
fi

docker network create serverlesswp-stream-wrapper-network

# MinIO withdrew its Docker Hub images (Sept 2026); Quay still serves them.
docker run -d --name minio-stream-wrapper \
--network serverlesswp-stream-wrapper-network \
--network-alias minio \
-p 9020:9000 \
-e "MINIO_ROOT_USER=minioadmin" -e "MINIO_ROOT_PASSWORD=minioadmin" \
minio/minio server /data
quay.io/minio/minio:RELEASE.2025-09-07T16-13-09Z.hotfix.7aa24e772 server /data

until mc alias set stream-minio http://localhost:9020 minioadmin minioadmin >/dev/null 2>&1; do sleep 1; done
mc mb "stream-minio/${BUCKET}"
mc anonymous set download "stream-minio/${BUCKET}"
# The mc binary download (dl.min.io) is gone too, so run mc from the Quay image
# on the same network, reaching the server directly at minio:9000.
docker run --rm --network serverlesswp-stream-wrapper-network --entrypoint sh \
quay.io/minio/mc:latest -c "
until mc alias set stream http://minio:9000 minioadmin minioadmin >/dev/null 2>&1; do sleep 1; done &&
mc mb stream/${BUCKET} &&
mc anonymous set download stream/${BUCKET}"

# SQLite on the same MinIO keeps WordPress bootable; the stream wrapper reads
# the same credentials through the SQLITE_S3_* fallbacks in src/Config.php, so
Expand Down Expand Up @@ -93,9 +93,13 @@ npx playwright test e2e-stream-wrapper.spec.js "$@"
# The spec proves the bytes round-trip through the wrapper. This proves they
# actually reached the bucket rather than the container's local disk.
echo "Checking the bucket for probe objects..."
if ! mc ls --recursive "stream-minio/${BUCKET}" | grep -q "probe-.*\.txt"; then
probe_listing=$(docker run --rm --network serverlesswp-stream-wrapper-network --entrypoint sh \
quay.io/minio/mc:latest -c "
mc alias set stream http://minio:9000 minioadmin minioadmin >/dev/null 2>&1 &&
mc ls --recursive stream/${BUCKET}" || true)
if ! echo "$probe_listing" | grep -q "probe-.*\.txt"; then
echo "FAILED: no probe object in ${BUCKET} — writes did not reach S3."
mc ls --recursive "stream-minio/${BUCKET}" || true
echo "$probe_listing"
exit 1
fi
echo "Probe object found in ${BUCKET}."
31 changes: 31 additions & 0 deletions wp/wp-admin/about.php
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,37 @@
<a href="contribute.php" class="nav-tab"><?php _e( 'Get Involved' ); ?></a>
</nav>

<div class="about__section changelog has-subtle-background-color">
<div class="column">
<h2><?php _e( 'Maintenance and Security Releases' ); ?></h2>
<p>
<?php
printf(
/* translators: 1: WordPress version number, 2: Plural number of bugs. More than one security issue. */
_n(
'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.',
36
),
'7.1.1',
number_format_i18n( 36 )
);
?>
<?php
printf(
/* translators: %s: HelpHub URL. */
__( 'For more information, see <a href="%s">the release notes</a>.' ),
sprintf(
/* translators: %s: WordPress version. */
esc_url( __( 'https://wordpress.org/documentation/wordpress-version/version-%s/' ) ),
sanitize_title( '7.1.1' )
)
);
?>
</p>
</div>
</div>

<div class="about__section">
<div class="column is-left-padding-zero is-right-padding-zero">
<h2><?php _e( 'Welcome to WordPress 7.1' ); ?></h2>
Expand Down
23 changes: 8 additions & 15 deletions wp/wp-admin/css/list-tables-rtl.css
Original file line number Diff line number Diff line change
Expand Up @@ -1981,7 +1981,8 @@ div.action-links,

.plugins .active th.check-column,
.plugins .active td.check-column,
.plugin-update-tr.active td {
.plugin-update-tr.active td,
.plugins tr.paused td.check-column {
border-right: 4px solid transparent;
}

Expand All @@ -1995,6 +1996,10 @@ div.action-links,
border-right: 4px solid var(--wp-admin-theme-color);
}

.plugins tr.active.paused {
border-right: 4px solid #b32d2e;
}

.wp-list-table .column-primary .toggle-row {
display: block;
}
Expand Down Expand Up @@ -2341,8 +2346,7 @@ div.action-links,

.plugins tr.active + tr.inactive th.check-column,
.plugins tr.active + tr.inactive td.check-column,
.plugins tr.active + tr.inactive td.column-description,
.plugins .plugin-update-tr:before {
.plugins tr.active + tr.inactive td.column-description {
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
}

Expand All @@ -2352,26 +2356,15 @@ div.action-links,
border-top: none;
}

/* mimic the checkbox th */
.plugins .plugin-update-tr:before {
content: "";
display: table-cell;
}

.plugins #the-list .plugin-update-tr .plugin-update {
flex: 0 1 100%;
border-right: none;
}

.plugin-update-tr .update-message {
margin-right: 0;
}

.plugins .active.update + .plugin-update-tr:before,
.plugins .active.updated + .plugin-update-tr:before {
background-color: rgba(var(--wp-admin-theme-color--rgb), 0.08);
border-right: 4px solid var(--wp-admin-theme-color);
}

.plugins .plugin-update-tr .update-message {
margin-right: 0;
}
Expand Down
2 changes: 1 addition & 1 deletion wp/wp-admin/css/list-tables-rtl.min.css

Large diffs are not rendered by default.

23 changes: 8 additions & 15 deletions wp/wp-admin/css/list-tables.css
Original file line number Diff line number Diff line change
Expand Up @@ -1980,7 +1980,8 @@ div.action-links,

.plugins .active th.check-column,
.plugins .active td.check-column,
.plugin-update-tr.active td {
.plugin-update-tr.active td,
.plugins tr.paused td.check-column {
border-left: 4px solid transparent;
}

Expand All @@ -1994,6 +1995,10 @@ div.action-links,
border-left: 4px solid var(--wp-admin-theme-color);
}

.plugins tr.active.paused {
border-left: 4px solid #b32d2e;
}

.wp-list-table .column-primary .toggle-row {
display: block;
}
Expand Down Expand Up @@ -2340,8 +2345,7 @@ div.action-links,

.plugins tr.active + tr.inactive th.check-column,
.plugins tr.active + tr.inactive td.check-column,
.plugins tr.active + tr.inactive td.column-description,
.plugins .plugin-update-tr:before {
.plugins tr.active + tr.inactive td.column-description {
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
}

Expand All @@ -2351,26 +2355,15 @@ div.action-links,
border-top: none;
}

/* mimic the checkbox th */
.plugins .plugin-update-tr:before {
content: "";
display: table-cell;
}

.plugins #the-list .plugin-update-tr .plugin-update {
flex: 0 1 100%;
border-left: none;
}

.plugin-update-tr .update-message {
margin-left: 0;
}

.plugins .active.update + .plugin-update-tr:before,
.plugins .active.updated + .plugin-update-tr:before {
background-color: rgba(var(--wp-admin-theme-color--rgb), 0.08);
border-left: 4px solid var(--wp-admin-theme-color);
}

.plugins .plugin-update-tr .update-message {
margin-left: 0;
}
Expand Down
2 changes: 1 addition & 1 deletion wp/wp-admin/css/list-tables.min.css

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions wp/wp-admin/css/login-rtl.css
Original file line number Diff line number Diff line change
Expand Up @@ -202,11 +202,23 @@ p {
}

.login form .forgetmenot {
display: flex;
align-items: center;
gap: 4px;
/* Matches the height of the Log In button beside it, so the row centers on it. */
min-height: 40px;
font-weight: 400;
float: right;
margin-bottom: 0;
}

/* Centering aligns margin boxes, so margins left from the inline layout would offset these. */
.login form .forgetmenot input[type="checkbox"],
.login form .forgetmenot label {
margin-top: 0;
margin-bottom: 0;
}

.login .button-primary {
float: left;
}
Expand Down
Loading
Loading