Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
03748b6
General: Introduce wp_get_branch_version() helper to extract major.mi…
tejas0306 Mar 9, 2026
2cff502
Merge branch 'trunk' into add/wp-get-branch-version
tejas0306 Mar 10, 2026
25a3d6a
Versioning: Address PR feedback — extend wp_get_wp_version(), fix 7.0…
tejas0306 Mar 10, 2026
75f35a2
Fix: Fixes PHPCS MultipleStatementAlignment warnings in test_wp_get_w…
tejas0306 Mar 10, 2026
d1491fb
Merge branch 'trunk' into add/wp-get-branch-version
tejas0306 Mar 10, 2026
636b79b
Administration: Use rounded corners for dashboard widgets drop zones.
audrasjb Mar 10, 2026
0f17001
Docs: Correct duplicate hook references in various files.
SergeyBiryukov Mar 10, 2026
e6b3aa6
XML-RPC: Switch to `wp_safe_remote()` when fetching a pingback URL.
johnbillion Mar 10, 2026
463afe6
HTML API: Prevent `WP_HTML_Tag_Processor` instances being unserialize…
johnbillion Mar 10, 2026
14ab358
XML-RPC: Switch to `wp_safe_remote()` when fetching a pingback URL.
johnbillion Mar 10, 2026
695c31e
KSES: Optimize PCRE pattern detecting numeric character references.
johnbillion Mar 10, 2026
0284532
Customize: Improve escaping approach used for nav menu attributes
johnbillion Mar 10, 2026
c556724
Media: Ensure the attachment parent is accessible to the user before …
johnbillion Mar 10, 2026
07491bf
Interactivity API: Skip binding event handler attributes. The corresp…
johnbillion Mar 10, 2026
bbe0511
Administration: Ensure client-side templates are only detected when t…
johnbillion Mar 10, 2026
03f9ae1
Filesystem API: Don't attempt to extract invalid files from a zip whe…
johnbillion Mar 10, 2026
708805c
Comments: Don't attempt to create a note if the user cannot edit the …
johnbillion Mar 10, 2026
f0adc26
Media: Disable XML entity substitution in getID3.
johnbillion Mar 10, 2026
db24a90
Customize: Update a test that covers special characters in category n…
johnbillion Mar 10, 2026
df331ae
Toolbar: Add command palette trigger button.
ellatrix Mar 10, 2026
4b9c72f
Customize: Introduce a fix for themes that pass a stringable object t…
johnbillion Mar 10, 2026
e0054c7
WordPress 7.0 Beta 4.
peterwilsoncc Mar 10, 2026
4bb460c
Post WordPress 7.0 Beta 4 version bump.
peterwilsoncc Mar 10, 2026
b8b74d5
Script Loader: Preserve duplicate URL query params in enqueued script…
westonruter Mar 11, 2026
68c0f19
Media: Add optimization support for `IMG` tags with `fetchpriority=lo…
westonruter Mar 11, 2026
f5776f6
Admin: Fix checked input state in older browsers.
joedolson Mar 11, 2026
97efabc
Admin: Fix plugin search alignment on intermediate viewports.
joedolson Mar 11, 2026
221033f
AI: Update php-ai-client to 1.3.0.
gziolo Mar 11, 2026
876044b
Connectors: Add connector registry for extensibility
gziolo Mar 11, 2026
2016709
Script Loader: Refine hoisted stylesheet ordering to preserve origina…
westonruter Mar 11, 2026
2307f48
Docs: Correct path typos in duplicate hook references.
SergeyBiryukov Mar 11, 2026
2bb252a
Editor: Skip cross-origin isolation for third-party page builders.
adamsilverstein Mar 11, 2026
6a94eaf
Build/Test Tools: Copy `build/routes` and `build/pages` JS files.
desrosj Mar 12, 2026
019eeb8
Toolbar: Show command palette admin bar item on mobile.
westonruter Mar 12, 2026
d577970
Media: skip server image support check when using client-side media.
adamsilverstein Mar 12, 2026
f29f594
Script Loader: Move `wp_load_classic_theme_block_styles_on_demand()` …
westonruter Mar 12, 2026
cc19ca7
REST API: Add finalize endpoint to `WP_REST_Attachments_Controller`.
adamsilverstein Mar 12, 2026
09f7588
Connectors: Remove redundant helper and improve PHPDoc
gziolo Mar 12, 2026
500fa46
REST API: Fix finalize endpoint tests in Attachments controller.
gziolo Mar 12, 2026
a47dc58
Connectors: Add API key source detection and refactor REST behaviour/…
jorgefilipecosta Mar 12, 2026
ac606ee
Real-time collaboration: disable for site editor.
ellatrix Mar 12, 2026
4ad7d81
REST API: Support nested _fields in revisions controller.
ellatrix Mar 12, 2026
21d3c57
Editor: Bump pinned hash for the Gutenberg repository.
ellatrix Mar 12, 2026
62ceabe
Login and Registration: Update logo from blue to gray to match new de…
westonruter Mar 12, 2026
54d87c2
WordPress 7.0 Beta 5.
ellatrix Mar 12, 2026
5ac61f4
Post WordPress 7.0 Beta 5 version bump.
ellatrix Mar 12, 2026
299c02d
Networks and Sites: Remove unused variable in `populate_networks()`.
JJJ Mar 12, 2026
78ec1ff
Docs: Add missing hook cross-reference docblock comments.
westonruter Mar 12, 2026
0d03283
Docs: Correct lone `@param null` usages around some `$deprecated` vars.
JJJ Mar 12, 2026
1f4416c
REST API: Prevent inaccessible attachments from being embedded in posts.
JJJ Mar 12, 2026
e9b452a
Toolbar: Prevent PHP deprecation warning in admin bar when node is ad…
westonruter Mar 12, 2026
3839805
Docs: Explicitly document the `rest_revision_query` filter.
SergeyBiryukov Mar 12, 2026
202a1f3
Build/Test tools: Unify REST API group as `restapi`.
peterwilsoncc Mar 12, 2026
b00c4ac
Twenty Seventeen: Restore `$post_id` parameter to `twentyseventeen_ed…
westonruter Mar 13, 2026
1b9e8dc
General: Introduce wp_get_branch_version() helper to extract major.mi…
tejas0306 Mar 9, 2026
9a69a4b
Versioning: Address PR feedback — extend wp_get_wp_version(), fix 7.0…
tejas0306 Mar 10, 2026
7cf235d
Fix: Fixes PHPCS MultipleStatementAlignment warnings in test_wp_get_w…
tejas0306 Mar 10, 2026
e556422
Use elseif for minor part in wp_get_wp_version per review
tejas0306 Mar 13, 2026
60629bf
Merge branch 'add/wp-get-branch-version' of https://github.com/tejas0…
tejas0306 Mar 13, 2026
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
12 changes: 12 additions & 0 deletions Gruntfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -612,6 +612,17 @@ module.exports = function(grunt) {
dest: WORKING_DIR + 'wp-includes/build/',
} ],
},
'gutenberg-js': {
files: [ {
expand: true,
cwd: 'gutenberg/build',
src: [
'pages/**/*.js',
'routes/**/*.js',
],
dest: WORKING_DIR + 'wp-includes/build/',
} ],
},
'gutenberg-modules': {
files: [ {
expand: true,
Expand Down Expand Up @@ -2041,6 +2052,7 @@ module.exports = function(grunt) {

grunt.registerTask( 'build:gutenberg', [
'copy:gutenberg-php',
'copy:gutenberg-js',
'gutenberg:copy',
'copy:gutenberg-modules',
'copy:gutenberg-styles',
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"url": "https://develop.svn.wordpress.org/trunk"
},
"gutenberg": {
"sha": "9b8144036fa5faf75de43d4502ff9809fcf689ad",
"sha": "8c78d87453509661a9f28f978ba2c242d515563b",
"ghcrRepo": "WordPress/gutenberg/gutenberg-wp-develop-build"
},
"engines": {
Expand Down
5 changes: 3 additions & 2 deletions src/js/_enqueues/wp/util.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,11 @@ window.wp = window.wp || {};
};

return function ( data ) {
if ( ! document.getElementById( 'tmpl-' + id ) ) {
var el = document.querySelector( 'script#tmpl-' + id );
if ( ! el ) {
throw new Error( 'Template not found: ' + '#tmpl-' + id );
}
compiled = compiled || _.template( $( '#tmpl-' + id ).html(), options );
compiled = compiled || _.template( $( el ).html(), options );
return compiled( data );
};
});
Expand Down
6 changes: 5 additions & 1 deletion src/wp-admin/admin-header.php
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,11 @@
$admin_body_class .= ' taxonomy-' . $current_screen->taxonomy;
}

$admin_body_class .= ' branch-' . str_replace( array( '.', ',' ), '-', (float) get_bloginfo( 'version' ) );
$major_version = wp_get_wp_version( 'major' );
$admin_body_class .= ' branch-' . str_replace( '.', '-', $major_version );
if ( str_ends_with( $major_version, '.0' ) ) {
$admin_body_class .= ' branch-' . (int) $major_version;
}
$admin_body_class .= ' version-' . str_replace( '.', '-', preg_replace( '/^([.0-9]+).*/', '$1', get_bloginfo( 'version' ) ) );
$admin_body_class .= ' admin-color-' . sanitize_html_class( get_user_option( 'admin_color' ), 'modern' );
$admin_body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_user_locale() ) ) );
Expand Down
5 changes: 5 additions & 0 deletions src/wp-admin/admin.php
Original file line number Diff line number Diff line change
Expand Up @@ -395,17 +395,22 @@
*/
if ( 'page' === $typenow ) {
if ( 'post-new.php' === $pagenow ) {
/** This action is documented in wp-admin/admin.php */
do_action( 'load-page-new.php' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
} elseif ( 'post.php' === $pagenow ) {
/** This action is documented in wp-admin/admin.php */
do_action( 'load-page.php' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
}
} elseif ( 'edit-tags.php' === $pagenow ) {
if ( 'category' === $taxnow ) {
/** This action is documented in wp-admin/admin.php */
do_action( 'load-categories.php' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
} elseif ( 'link_category' === $taxnow ) {
/** This action is documented in wp-admin/admin.php */
do_action( 'load-edit-link-categories.php' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
}
} elseif ( 'term.php' === $pagenow ) {
/** This action is documented in wp-admin/admin.php */
do_action( 'load-edit-tags.php' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
}
}
Expand Down
15 changes: 0 additions & 15 deletions src/wp-admin/css/colors/_admin.scss
Original file line number Diff line number Diff line change
Expand Up @@ -88,27 +88,12 @@ input[type="checkbox"]:checked {
border-color: var(--wp-admin-theme-color);
}

input[type=checkbox]:checked::before {
content: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27#{url-friendly-colour(variables.$form-checked)}%27%2F%3E%3C%2Fsvg%3E");
content: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27#{url-friendly-colour(variables.$form-checked)}%27%2F%3E%3C%2Fsvg%3E") / '';
}

// Checkbox checkmark - white for visibility on theme color background
input[type="checkbox"]:checked::before {
content: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%23ffffff%27%2F%3E%3C%2Fsvg%3E") / '';
}

// Radio checked state - uses theme color
input[type="radio"]:checked {
background: var(--wp-admin-theme-color);
border-color: var(--wp-admin-theme-color);
}

// Radio dot - white for visibility on theme color background
input[type="radio"]:checked::before {
background: tokens.$white;
}

.wp-core-ui input[type="reset"]:hover,
.wp-core-ui input[type="reset"]:active {
color: variables.$link-focus;
Expand Down
9 changes: 8 additions & 1 deletion src/wp-admin/css/common.css
Original file line number Diff line number Diff line change
Expand Up @@ -1380,6 +1380,12 @@ th.action-links {
}
}

@media only screen and (max-width: 1250px) {
.wp-filter:has(.plugin-install-search) .search-form {
margin: 11px 0;
}
}

@media only screen and (max-width: 1120px) {
.filter-drawer {
border-bottom: 1px solid #f0f0f1;
Expand Down Expand Up @@ -2263,8 +2269,9 @@ html.wp-toolbar {
color: #a7aaad;
}

.sortable-placeholder {
.sortable-placeholder:not(.empty-container .sortable-placeholder) {
border: 1px dashed #c3c4c7;
border-radius: 8px;
margin-bottom: 20px;
}

Expand Down
1 change: 0 additions & 1 deletion src/wp-admin/css/dashboard.css
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,6 @@
}

.is-dragging-metaboxes #dashboard-widgets .postbox-container .empty-container {
outline: 2px dashed rgb(0, 0, 0, 0.15);
background: rgb(0, 0, 0, 0.01);
}

Expand Down
4 changes: 2 additions & 2 deletions src/wp-admin/css/install.css
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,8 @@ fieldset {
width: 84px;
height: 84px;
overflow: hidden;
background-image: url(../images/w-logo-blue.png?ver=20131202);
background-image: none, url(../images/wordpress-logo.svg?ver=20131107);
background-image: url(../images/w-logo-gray.png?ver=20260303);
background-image: none, url(../images/wordpress-logo-gray.svg?ver=20260303);
background-size: 84px;
background-position: center top;
background-repeat: no-repeat;
Expand Down
4 changes: 2 additions & 2 deletions src/wp-admin/css/login.css
Original file line number Diff line number Diff line change
Expand Up @@ -283,8 +283,8 @@ p {
}

.login h1 a {
background-image: url(../images/w-logo-blue.png?ver=20131202);
background-image: none, url(../images/wordpress-logo.svg?ver=20131107);
background-image: url(../images/w-logo-gray.png?ver=20260303);
background-image: none, url(../images/wordpress-logo-gray.svg?ver=20260303);
background-size: 84px;
background-position: center top;
background-repeat: no-repeat;
Expand Down
Binary file added src/wp-admin/images/w-logo-gray.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions src/wp-admin/images/wordpress-logo-gray.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions src/wp-admin/includes/ajax-actions.php
Original file line number Diff line number Diff line change
Expand Up @@ -2382,7 +2382,7 @@ function wp_ajax_save_widget() {
*/
do_action( 'widgets.php' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores

/** This action is documented in wp-admin/widgets.php */
/** This action is documented in wp-admin/widgets-form.php */
do_action( 'sidebar_admin_setup' );

$id_base = wp_unslash( $_POST['id_base'] );
Expand Down Expand Up @@ -2410,7 +2410,7 @@ function wp_ajax_save_widget() {
'delete_widget' => '1',
);

/** This action is documented in wp-admin/widgets.php */
/** This action is documented in wp-admin/widgets-form.php */
do_action( 'delete_widget', $widget_id, $sidebar_id, $id_base );

} elseif ( $settings && preg_match( '/__i__|%i%/', key( $settings ) ) ) {
Expand Down Expand Up @@ -2486,7 +2486,7 @@ function wp_ajax_delete_inactive_widgets() {
do_action( 'load-widgets.php' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
/** This action is documented in wp-admin/includes/ajax-actions.php */
do_action( 'widgets.php' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
/** This action is documented in wp-admin/widgets.php */
/** This action is documented in wp-admin/widgets-form.php */
do_action( 'sidebar_admin_setup' );

$sidebars_widgets = wp_get_sidebars_widgets();
Expand Down
4 changes: 2 additions & 2 deletions src/wp-admin/includes/class-core-upgrader.php
Original file line number Diff line number Diff line change
Expand Up @@ -279,8 +279,8 @@ public function upgrade( $current, $args = array() ) {
public static function should_update_to_version( $offered_ver ) {
require ABSPATH . WPINC . '/version.php'; // $wp_version; // x.y.z

$current_branch = implode( '.', array_slice( preg_split( '/[.-]/', $wp_version ), 0, 2 ) ); // x.y
$new_branch = implode( '.', array_slice( preg_split( '/[.-]/', $offered_ver ), 0, 2 ) ); // x.y
$current_branch = wp_get_branch_version( $wp_version ); // x.y
$new_branch = wp_get_branch_version( $offered_ver ); // x.y

$current_is_development_version = (bool) strpos( $wp_version, '-' );

Expand Down
8 changes: 4 additions & 4 deletions src/wp-admin/includes/class-walker-nav-menu-checklist.php
Original file line number Diff line number Diff line change
Expand Up @@ -116,11 +116,11 @@ public function start_el( &$output, $data_object, $depth = 0, $args = null, $cur
$output .= '<input type="hidden" class="menu-item-object" name="menu-item[' . $possible_object_id . '][menu-item-object]" value="' . esc_attr( $menu_item->object ) . '" />';
$output .= '<input type="hidden" class="menu-item-parent-id" name="menu-item[' . $possible_object_id . '][menu-item-parent-id]" value="' . esc_attr( $menu_item->menu_item_parent ) . '" />';
$output .= '<input type="hidden" class="menu-item-type" name="menu-item[' . $possible_object_id . '][menu-item-type]" value="' . esc_attr( $menu_item->type ) . '" />';
$output .= '<input type="hidden" class="menu-item-title" name="menu-item[' . $possible_object_id . '][menu-item-title]" value="' . esc_attr( $menu_item->title ) . '" />';
$output .= '<input type="hidden" class="menu-item-title" name="menu-item[' . $possible_object_id . '][menu-item-title]" value="' . htmlspecialchars( $menu_item->title, ENT_QUOTES ) . '" />';
$output .= '<input type="hidden" class="menu-item-url" name="menu-item[' . $possible_object_id . '][menu-item-url]" value="' . esc_url( $menu_item->url ) . '" />';
$output .= '<input type="hidden" class="menu-item-target" name="menu-item[' . $possible_object_id . '][menu-item-target]" value="' . esc_attr( $menu_item->target ) . '" />';
$output .= '<input type="hidden" class="menu-item-attr-title" name="menu-item[' . $possible_object_id . '][menu-item-attr-title]" value="' . esc_attr( $menu_item->attr_title ) . '" />';
$output .= '<input type="hidden" class="menu-item-classes" name="menu-item[' . $possible_object_id . '][menu-item-classes]" value="' . esc_attr( implode( ' ', $menu_item->classes ) ) . '" />';
$output .= '<input type="hidden" class="menu-item-xfn" name="menu-item[' . $possible_object_id . '][menu-item-xfn]" value="' . esc_attr( $menu_item->xfn ) . '" />';
$output .= '<input type="hidden" class="menu-item-attr-title" name="menu-item[' . $possible_object_id . '][menu-item-attr-title]" value="' . htmlspecialchars( $menu_item->attr_title, ENT_QUOTES ) . '" />';
$output .= '<input type="hidden" class="menu-item-classes" name="menu-item[' . $possible_object_id . '][menu-item-classes]" value="' . htmlspecialchars( implode( ' ', $menu_item->classes ), ENT_QUOTES ) . '" />';
$output .= '<input type="hidden" class="menu-item-xfn" name="menu-item[' . $possible_object_id . '][menu-item-xfn]" value="' . htmlspecialchars( $menu_item->xfn, ENT_QUOTES ) . '" />';
}
}
10 changes: 5 additions & 5 deletions src/wp-admin/includes/class-walker-nav-menu-edit.php
Original file line number Diff line number Diff line change
Expand Up @@ -203,13 +203,13 @@ public function start_el( &$output, $data_object, $depth = 0, $args = null, $cur
<p class="description description-wide">
<label for="edit-menu-item-title-<?php echo $item_id; ?>">
<?php _e( 'Navigation Label' ); ?><br />
<input type="text" id="edit-menu-item-title-<?php echo $item_id; ?>" class="widefat edit-menu-item-title" name="menu-item-title[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $menu_item->title ); ?>" />
<input type="text" id="edit-menu-item-title-<?php echo $item_id; ?>" class="widefat edit-menu-item-title" name="menu-item-title[<?php echo $item_id; ?>]" value="<?php echo htmlspecialchars( $menu_item->title, ENT_QUOTES ); ?>" />
</label>
</p>
<p class="field-title-attribute field-attr-title description description-wide">
<label for="edit-menu-item-attr-title-<?php echo $item_id; ?>">
<?php _e( 'Title Attribute' ); ?><br />
<input type="text" id="edit-menu-item-attr-title-<?php echo $item_id; ?>" class="widefat edit-menu-item-attr-title" name="menu-item-attr-title[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $menu_item->post_excerpt ); ?>" />
<input type="text" id="edit-menu-item-attr-title-<?php echo $item_id; ?>" class="widefat edit-menu-item-attr-title" name="menu-item-attr-title[<?php echo $item_id; ?>]" value="<?php echo htmlspecialchars( $menu_item->post_excerpt, ENT_QUOTES ); ?>" />
</label>
</p>
<p class="field-link-target description">
Expand All @@ -222,20 +222,20 @@ public function start_el( &$output, $data_object, $depth = 0, $args = null, $cur
<p class="field-css-classes description description-thin">
<label for="edit-menu-item-classes-<?php echo $item_id; ?>">
<?php _e( 'CSS Classes (optional)' ); ?><br />
<input type="text" id="edit-menu-item-classes-<?php echo $item_id; ?>" class="widefat code edit-menu-item-classes" name="menu-item-classes[<?php echo $item_id; ?>]" value="<?php echo esc_attr( implode( ' ', $menu_item->classes ) ); ?>" />
<input type="text" id="edit-menu-item-classes-<?php echo $item_id; ?>" class="widefat code edit-menu-item-classes" name="menu-item-classes[<?php echo $item_id; ?>]" value="<?php echo htmlspecialchars( implode( ' ', $menu_item->classes ), ENT_QUOTES ); ?>" />
</label>
</p>
<p class="field-xfn description description-thin">
<label for="edit-menu-item-xfn-<?php echo $item_id; ?>">
<?php _e( 'Link Relationship (XFN)' ); ?><br />
<input type="text" id="edit-menu-item-xfn-<?php echo $item_id; ?>" class="widefat code edit-menu-item-xfn" name="menu-item-xfn[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $menu_item->xfn ); ?>" />
<input type="text" id="edit-menu-item-xfn-<?php echo $item_id; ?>" class="widefat code edit-menu-item-xfn" name="menu-item-xfn[<?php echo $item_id; ?>]" value="<?php echo htmlspecialchars( $menu_item->xfn, ENT_QUOTES ); ?>" />
</label>
</p>
</div>
<p class="field-description description description-wide">
<label for="edit-menu-item-description-<?php echo $item_id; ?>">
<?php _e( 'Description' ); ?><br />
<textarea id="edit-menu-item-description-<?php echo $item_id; ?>" class="widefat edit-menu-item-description" rows="3" cols="20" name="menu-item-description[<?php echo $item_id; ?>]"><?php echo esc_html( $menu_item->description ); // textarea_escaped ?></textarea>
<textarea id="edit-menu-item-description-<?php echo $item_id; ?>" class="widefat edit-menu-item-description" rows="3" cols="20" name="menu-item-description[<?php echo $item_id; ?>]"><?php echo esc_textarea( $menu_item->description ); // textarea_escaped ?></textarea>
<span class="description"><?php _e( 'The description will be displayed in the menu if the active theme supports it.' ); ?></span>
</label>
</p>
Expand Down
12 changes: 11 additions & 1 deletion src/wp-admin/includes/class-wp-site-health-auto-updates.php
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,17 @@ public function test_all_files_writable() {
$dev = ( str_contains( $wp_version, '-' ) );
// Get the last stable version's files and test against that.
if ( ! $checksums && $dev ) {
$checksums = get_core_checksums( (float) $wp_version - 0.1, 'en_US' );
$parts = explode( '.', wp_get_branch_version( $wp_version ) );
$major = (int) $parts[0];
$minor = (int) $parts[1];

if ( $minor > 0 ) {
$prev_ver = $major . '.' . ( $minor - 1 );
} else {
$prev_ver = ( $major - 1 ) . '.9';
}

$checksums = get_core_checksums( $prev_ver, 'en_US' );
}

// There aren't always checksums for development releases, so just skip the test if we still can't find any.
Expand Down
9 changes: 7 additions & 2 deletions src/wp-admin/includes/file.php
Original file line number Diff line number Diff line change
Expand Up @@ -1895,6 +1895,11 @@ function _unzip_file_pclzip( $file, $to, $needed_dirs = array() ) {
continue;
}

// Don't extract invalid files:
if ( 0 !== validate_file( $archive_file['filename'] ) ) {
continue;
}

$uncompressed_size += $archive_file['size'];

$needed_dirs[] = $to . untrailingslashit( $archive_file['folder'] ? $archive_file['filename'] : dirname( $archive_file['filename'] ) );
Expand Down Expand Up @@ -1953,7 +1958,7 @@ function _unzip_file_pclzip( $file, $to, $needed_dirs = array() ) {
}
}

/** This filter is documented in src/wp-admin/includes/file.php */
/** This filter is documented in wp-admin/includes/file.php */
$pre = apply_filters( 'pre_unzip_file', null, $file, $to, $needed_dirs, $required_space );

if ( null !== $pre ) {
Expand All @@ -1980,7 +1985,7 @@ function _unzip_file_pclzip( $file, $to, $needed_dirs = array() ) {
}
}

/** This action is documented in src/wp-admin/includes/file.php */
/** This filter is documented in wp-admin/includes/file.php */
$result = apply_filters( 'unzip_file', true, $file, $to, $needed_dirs, $required_space );

unset( $needed_dirs );
Expand Down
4 changes: 2 additions & 2 deletions src/wp-admin/includes/ms.php
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ function wpmu_delete_blog( $blog_id, $drop = false ) {
if ( $drop ) {
wp_delete_site( $blog_id );
} else {
/** This action is documented in wp-includes/ms-blogs.php */
/** This action is documented in wp-includes/ms-site.php */
do_action_deprecated( 'delete_blog', array( $blog_id, false ), '5.1.0' );

$users = get_users(
Expand All @@ -116,7 +116,7 @@ function wpmu_delete_blog( $blog_id, $drop = false ) {

update_blog_status( $blog_id, 'deleted', 1 );

/** This action is documented in wp-includes/ms-blogs.php */
/** This action is documented in wp-includes/ms-site.php */
do_action_deprecated( 'deleted_blog', array( $blog_id, false ), '5.1.0' );
}

Expand Down
2 changes: 1 addition & 1 deletion src/wp-admin/includes/plugin-install.php
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ function plugins_api( $action, $args = array() ) {
}

if ( ! isset( $args->wp_version ) ) {
$args->wp_version = substr( wp_get_wp_version(), 0, 3 ); // x.y
$args->wp_version = wp_get_wp_version( 'major' ); // x.y
}

/**
Expand Down
1 change: 0 additions & 1 deletion src/wp-admin/includes/schema.php
Original file line number Diff line number Diff line change
Expand Up @@ -1033,7 +1033,6 @@ function populate_network( $network_id = 1, $domain = '', $email = '', $site_nam
}

// Check for network collision.
$network_exists = false;
if ( is_multisite() ) {
if ( get_network( $network_id ) ) {
$errors->add( 'siteid_exists', __( 'The network already exists.' ) );
Expand Down
2 changes: 1 addition & 1 deletion src/wp-admin/includes/theme.php
Original file line number Diff line number Diff line change
Expand Up @@ -504,7 +504,7 @@ function themes_api( $action, $args = array() ) {
}

if ( ! isset( $args->wp_version ) ) {
$args->wp_version = substr( wp_get_wp_version(), 0, 3 ); // x.y
$args->wp_version = wp_get_wp_version( 'major' ); // x.y
}

/**
Expand Down
Loading
Loading