From 448ffcdaa40f746ef0508acd77a2738ebba773ee Mon Sep 17 00:00:00 2001 From: TimothyBlynJacobs Date: Tue, 11 Mar 2025 14:19:20 +0000 Subject: [PATCH] REST API: Fix fatal error when making HEAD requests with _fields filter. In [59889] the REST API controllers were adjusted to perform less work when responding to HEAD requests. The WP_REST_Response body would now be `null`, which caused issues with filters that expected the response body to be an array. This commit sets the response body to be an empty array when preparing the response instead. The body will still be discarded, but this provides better backward comppatibility with code that assumes an array will be used. See #56481. Props antonvlasenko, timothyblynjacobs, mamaduka, wildworks. Built from https://develop.svn.wordpress.org/trunk@59970 git-svn-id: http://core.svn.wordpress.org/trunk@59312 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- .../endpoints/class-wp-rest-autosaves-controller.php | 4 ++-- .../class-wp-rest-block-pattern-categories-controller.php | 2 +- .../endpoints/class-wp-rest-block-types-controller.php | 4 ++-- .../endpoints/class-wp-rest-comments-controller.php | 4 ++-- .../endpoints/class-wp-rest-font-collections-controller.php | 6 +++--- .../class-wp-rest-global-styles-revisions-controller.php | 4 ++-- .../class-wp-rest-pattern-directory-controller.php | 2 +- .../endpoints/class-wp-rest-post-types-controller.php | 4 ++-- .../rest-api/endpoints/class-wp-rest-posts-controller.php | 4 ++-- .../endpoints/class-wp-rest-revisions-controller.php | 4 ++-- .../rest-api/endpoints/class-wp-rest-search-controller.php | 2 +- .../endpoints/class-wp-rest-sidebars-controller.php | 4 ++-- .../endpoints/class-wp-rest-taxonomies-controller.php | 4 ++-- .../endpoints/class-wp-rest-templates-controller.php | 4 ++-- .../rest-api/endpoints/class-wp-rest-terms-controller.php | 4 ++-- .../rest-api/endpoints/class-wp-rest-users-controller.php | 4 ++-- .../endpoints/class-wp-rest-widget-types-controller.php | 4 ++-- .../rest-api/endpoints/class-wp-rest-widgets-controller.php | 4 ++-- wp-includes/version.php | 2 +- 19 files changed, 35 insertions(+), 35 deletions(-) diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-autosaves-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-autosaves-controller.php index 43fd8d3b29..2e093f6656 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-autosaves-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-autosaves-controller.php @@ -307,7 +307,7 @@ class WP_REST_Autosaves_Controller extends WP_REST_Revisions_Controller { if ( $request->is_method( 'HEAD' ) ) { // Return early as this handler doesn't add any response headers. - return new WP_REST_Response(); + return new WP_REST_Response( array() ); } $response = array(); $parent_id = $parent->ID; @@ -455,7 +455,7 @@ class WP_REST_Autosaves_Controller extends WP_REST_Revisions_Controller { // Don't prepare the response body for HEAD requests. if ( $request->is_method( 'HEAD' ) ) { /** This filter is documented in wp-includes/rest-api/endpoints/class-wp-rest-autosaves-controller.php */ - return apply_filters( 'rest_prepare_autosave', new WP_REST_Response(), $post, $request ); + return apply_filters( 'rest_prepare_autosave', new WP_REST_Response( array() ), $post, $request ); } $response = $this->revisions_controller->prepare_item_for_response( $post, $request ); $fields = $this->get_fields_for_response( $request ); diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-block-pattern-categories-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-block-pattern-categories-controller.php index 86ee4cdc52..17efc869f8 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-block-pattern-categories-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-block-pattern-categories-controller.php @@ -83,7 +83,7 @@ class WP_REST_Block_Pattern_Categories_Controller extends WP_REST_Controller { public function get_items( $request ) { if ( $request->is_method( 'HEAD' ) ) { // Return early as this handler doesn't add any response headers. - return new WP_REST_Response(); + return new WP_REST_Response( array() ); } $response = array(); diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-block-types-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-block-types-controller.php index f167d72255..9b099a44a2 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-block-types-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-block-types-controller.php @@ -133,7 +133,7 @@ class WP_REST_Block_Types_Controller extends WP_REST_Controller { public function get_items( $request ) { if ( $request->is_method( 'HEAD' ) ) { // Return early as this handler doesn't add any response headers. - return new WP_REST_Response(); + return new WP_REST_Response( array() ); } $data = array(); @@ -258,7 +258,7 @@ class WP_REST_Block_Types_Controller extends WP_REST_Controller { // Don't prepare the response body for HEAD requests. if ( $request->is_method( 'HEAD' ) ) { /** This filter is documented in wp-includes/rest-api/endpoints/class-wp-rest-block-types-controller.php */ - return apply_filters( 'rest_prepare_block_type', new WP_REST_Response(), $block_type, $request ); + return apply_filters( 'rest_prepare_block_type', new WP_REST_Response( array() ), $block_type, $request ); } $fields = $this->get_fields_for_response( $request ); diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-comments-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-comments-controller.php index 57214ef62e..a0b68759f9 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-comments-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-comments-controller.php @@ -313,7 +313,7 @@ class WP_REST_Comments_Controller extends WP_REST_Controller { $max_pages = (int) ceil( $total_comments / $request['per_page'] ); } - $response = $is_head_request ? new WP_REST_Response() : rest_ensure_response( $comments ); + $response = $is_head_request ? new WP_REST_Response( array() ) : rest_ensure_response( $comments ); $response->header( 'X-WP-Total', $total_comments ); $response->header( 'X-WP-TotalPages', $max_pages ); @@ -1054,7 +1054,7 @@ class WP_REST_Comments_Controller extends WP_REST_Controller { // Don't prepare the response body for HEAD requests. if ( $request->is_method( 'HEAD' ) ) { /** This filter is documented in wp-includes/rest-api/endpoints/class-wp-rest-comments-controller.php */ - return apply_filters( 'rest_prepare_comment', new WP_REST_Response(), $comment, $request ); + return apply_filters( 'rest_prepare_comment', new WP_REST_Response( array() ), $comment, $request ); } $fields = $this->get_fields_for_response( $request ); diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-font-collections-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-font-collections-controller.php index 476f1b750f..3a726681f0 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-font-collections-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-font-collections-controller.php @@ -113,7 +113,7 @@ class WP_REST_Font_Collections_Controller extends WP_REST_Controller { $items[] = $item; } - $response = $is_head_request ? new WP_REST_Response() : rest_ensure_response( $items ); + $response = $is_head_request ? new WP_REST_Response( array() ) : rest_ensure_response( $items ); $response->header( 'X-WP-Total', (int) $total_items ); $response->header( 'X-WP-TotalPages', $max_pages ); @@ -193,7 +193,7 @@ class WP_REST_Font_Collections_Controller extends WP_REST_Controller { */ if ( $request->is_method( 'HEAD' ) ) { /** This filter is documented in wp-includes/rest-api/endpoints/class-wp-rest-font-collections-controller.php */ - return apply_filters( 'rest_prepare_font_collection', new WP_REST_Response(), $item, $request ); + return apply_filters( 'rest_prepare_font_collection', new WP_REST_Response( array() ), $item, $request ); } foreach ( $data_fields as $field ) { @@ -209,7 +209,7 @@ class WP_REST_Font_Collections_Controller extends WP_REST_Controller { */ if ( $request->is_method( 'HEAD' ) ) { /** This filter is documented in wp-includes/rest-api/endpoints/class-wp-rest-font-collections-controller.php */ - return apply_filters( 'rest_prepare_font_collection', new WP_REST_Response(), $item, $request ); + return apply_filters( 'rest_prepare_font_collection', new WP_REST_Response( array() ), $item, $request ); } $response = rest_ensure_response( $data ); diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-global-styles-revisions-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-global-styles-revisions-controller.php index e214ab6d39..b80b8d8812 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-global-styles-revisions-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-global-styles-revisions-controller.php @@ -248,7 +248,7 @@ class WP_REST_Global_Styles_Revisions_Controller extends WP_REST_Revisions_Contr $response = rest_ensure_response( $response ); } else { - $response = new WP_REST_Response(); + $response = new WP_REST_Response( array() ); } $response->header( 'X-WP-Total', (int) $total_revisions ); @@ -291,7 +291,7 @@ class WP_REST_Global_Styles_Revisions_Controller extends WP_REST_Revisions_Contr public function prepare_item_for_response( $post, $request ) { // Don't prepare the response body for HEAD requests. if ( $request->is_method( 'HEAD' ) ) { - return new WP_REST_Response(); + return new WP_REST_Response( array() ); } $parent = $this->get_parent( $request['parent'] ); diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-pattern-directory-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-pattern-directory-controller.php index 4dda8b3455..bec92f1c7e 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-pattern-directory-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-pattern-directory-controller.php @@ -163,7 +163,7 @@ class WP_REST_Pattern_Directory_Controller extends WP_REST_Controller { if ( $request->is_method( 'HEAD' ) ) { // Return early as this handler doesn't add any response headers. - return new WP_REST_Response(); + return new WP_REST_Response( array() ); } $response = array(); diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-post-types-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-post-types-controller.php index 6ead90af59..0a66389346 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-post-types-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-post-types-controller.php @@ -111,7 +111,7 @@ class WP_REST_Post_Types_Controller extends WP_REST_Controller { public function get_items( $request ) { if ( $request->is_method( 'HEAD' ) ) { // Return early as this handler doesn't add any response headers. - return new WP_REST_Response(); + return new WP_REST_Response( array() ); } $data = array(); @@ -186,7 +186,7 @@ class WP_REST_Post_Types_Controller extends WP_REST_Controller { // Don't prepare the response body for HEAD requests. if ( $request->is_method( 'HEAD' ) ) { /** This filter is documented in wp-includes/rest-api/endpoints/class-wp-rest-post-types-controller.php */ - return apply_filters( 'rest_prepare_post_type', new WP_REST_Response(), $post_type, $request ); + return apply_filters( 'rest_prepare_post_type', new WP_REST_Response( array() ), $post_type, $request ); } $taxonomies = wp_list_filter( get_object_taxonomies( $post_type->name, 'objects' ), array( 'show_in_rest' => true ) ); diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php index 37b7c6305a..c51915a974 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php @@ -499,7 +499,7 @@ class WP_REST_Posts_Controller extends WP_REST_Controller { ); } - $response = $is_head_request ? new WP_REST_Response() : rest_ensure_response( $posts ); + $response = $is_head_request ? new WP_REST_Response( array() ) : rest_ensure_response( $posts ); $response->header( 'X-WP-Total', (int) $total_posts ); $response->header( 'X-WP-TotalPages', (int) $max_pages ); @@ -1847,7 +1847,7 @@ class WP_REST_Posts_Controller extends WP_REST_Controller { // Don't prepare the response body for HEAD requests. if ( $request->is_method( 'HEAD' ) ) { /** This filter is documented in wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php */ - return apply_filters( "rest_prepare_{$this->post_type}", new WP_REST_Response(), $post, $request ); + return apply_filters( "rest_prepare_{$this->post_type}", new WP_REST_Response( array() ), $post, $request ); } $fields = $this->get_fields_for_response( $request ); diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-revisions-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-revisions-controller.php index 2756e3d751..3b943044d2 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-revisions-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-revisions-controller.php @@ -355,7 +355,7 @@ class WP_REST_Revisions_Controller extends WP_REST_Controller { $response = rest_ensure_response( $response ); } else { - $response = new WP_REST_Response(); + $response = new WP_REST_Response( array() ); } $response->header( 'X-WP-Total', (int) $total_revisions ); @@ -591,7 +591,7 @@ class WP_REST_Revisions_Controller extends WP_REST_Controller { // Don't prepare the response body for HEAD requests. if ( $request->is_method( 'HEAD' ) ) { /** This filter is documented in wp-includes/rest-api/endpoints/class-wp-rest-revisions-controller.php */ - return apply_filters( 'rest_prepare_revision', new WP_REST_Response(), $post, $request ); + return apply_filters( 'rest_prepare_revision', new WP_REST_Response( array() ), $post, $request ); } $fields = $this->get_fields_for_response( $request ); diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-search-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-search-controller.php index 345a200c67..1168580d41 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-search-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-search-controller.php @@ -165,7 +165,7 @@ class WP_REST_Search_Controller extends WP_REST_Controller { ); } - $response = $is_head_request ? new WP_REST_Response() : rest_ensure_response( $results ); + $response = $is_head_request ? new WP_REST_Response( array() ) : rest_ensure_response( $results ); $response->header( 'X-WP-Total', $total ); $response->header( 'X-WP-TotalPages', $max_pages ); diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-sidebars-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-sidebars-controller.php index 95a24cf53e..aba1773884 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-sidebars-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-sidebars-controller.php @@ -121,7 +121,7 @@ class WP_REST_Sidebars_Controller extends WP_REST_Controller { public function get_items( $request ) { if ( $request->is_method( 'HEAD' ) ) { // Return early as this handler doesn't add any response headers. - return new WP_REST_Response(); + return new WP_REST_Response( array() ); } $this->retrieve_widgets(); @@ -329,7 +329,7 @@ class WP_REST_Sidebars_Controller extends WP_REST_Controller { // Don't prepare the response body for HEAD requests. if ( $request->is_method( 'HEAD' ) ) { /** This filter is documented in wp-includes/rest-api/endpoints/class-wp-rest-sidebars-controller.php */ - return apply_filters( 'rest_prepare_sidebar', new WP_REST_Response(), $raw_sidebar, $request ); + return apply_filters( 'rest_prepare_sidebar', new WP_REST_Response( array() ), $raw_sidebar, $request ); } $id = $raw_sidebar['id']; diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-taxonomies-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-taxonomies-controller.php index b7492c8150..082067b23e 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-taxonomies-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-taxonomies-controller.php @@ -115,7 +115,7 @@ class WP_REST_Taxonomies_Controller extends WP_REST_Controller { public function get_items( $request ) { if ( $request->is_method( 'HEAD' ) ) { // Return early as this handler doesn't add any response headers. - return new WP_REST_Response(); + return new WP_REST_Response( array() ); } // Retrieve the list of registered collection query parameters. @@ -217,7 +217,7 @@ class WP_REST_Taxonomies_Controller extends WP_REST_Controller { // Don't prepare the response body for HEAD requests. if ( $request->is_method( 'HEAD' ) ) { /** This filter is documented in wp-includes/rest-api/endpoints/class-wp-rest-taxonomies-controller.php */ - return apply_filters( 'rest_prepare_taxonomy', new WP_REST_Response(), $taxonomy, $request ); + return apply_filters( 'rest_prepare_taxonomy', new WP_REST_Response( array() ), $taxonomy, $request ); } $base = ! empty( $taxonomy->rest_base ) ? $taxonomy->rest_base : $taxonomy->name; diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-templates-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-templates-controller.php index 45e0d59d5b..3f13968ae2 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-templates-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-templates-controller.php @@ -271,7 +271,7 @@ class WP_REST_Templates_Controller extends WP_REST_Controller { public function get_items( $request ) { if ( $request->is_method( 'HEAD' ) ) { // Return early as this handler doesn't add any response headers. - return new WP_REST_Response(); + return new WP_REST_Response( array() ); } $query = array(); @@ -675,7 +675,7 @@ class WP_REST_Templates_Controller extends WP_REST_Controller { public function prepare_item_for_response( $item, $request ) { // Don't prepare the response body for HEAD requests. if ( $request->is_method( 'HEAD' ) ) { - return new WP_REST_Response(); + return new WP_REST_Response( array() ); } /* diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-terms-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-terms-controller.php index d927ba5e04..72632fa96a 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-terms-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-terms-controller.php @@ -370,7 +370,7 @@ class WP_REST_Terms_Controller extends WP_REST_Controller { } } - $response = $is_head_request ? new WP_REST_Response() : rest_ensure_response( $response ); + $response = $is_head_request ? new WP_REST_Response( array() ) : rest_ensure_response( $response ); // Store pagination values for headers. $per_page = (int) $prepared_args['number']; @@ -899,7 +899,7 @@ class WP_REST_Terms_Controller extends WP_REST_Controller { // Don't prepare the response body for HEAD requests. if ( $request->is_method( 'HEAD' ) ) { /** This filter is documented in wp-includes/rest-api/endpoints/class-wp-rest-terms-controller.php */ - return apply_filters( "rest_prepare_{$this->taxonomy}", new WP_REST_Response(), $item, $request ); + return apply_filters( "rest_prepare_{$this->taxonomy}", new WP_REST_Response( array() ), $item, $request ); } $fields = $this->get_fields_for_response( $request ); diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php index 3995bd1816..78e1b38b1b 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php @@ -384,7 +384,7 @@ class WP_REST_Users_Controller extends WP_REST_Controller { } } - $response = $is_head_request ? new WP_REST_Response() : rest_ensure_response( $users ); + $response = $is_head_request ? new WP_REST_Response( array() ) : rest_ensure_response( $users ); // Store pagination values for headers then unset for count query. $per_page = (int) $prepared_args['number']; @@ -1032,7 +1032,7 @@ class WP_REST_Users_Controller extends WP_REST_Controller { // Don't prepare the response body for HEAD requests. if ( $request->is_method( 'HEAD' ) ) { /** This filter is documented in wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php */ - return apply_filters( 'rest_prepare_user', new WP_REST_Response(), $user, $request ); + return apply_filters( 'rest_prepare_user', new WP_REST_Response( array() ), $user, $request ); } $fields = $this->get_fields_for_response( $request ); diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-widget-types-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-widget-types-controller.php index cd0aef0c87..1eb1ef27eb 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-widget-types-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-widget-types-controller.php @@ -147,7 +147,7 @@ class WP_REST_Widget_Types_Controller extends WP_REST_Controller { public function get_items( $request ) { if ( $request->is_method( 'HEAD' ) ) { // Return early as this handler doesn't add any response headers. - return new WP_REST_Response(); + return new WP_REST_Response( array() ); } $data = array(); @@ -306,7 +306,7 @@ class WP_REST_Widget_Types_Controller extends WP_REST_Controller { // Don't prepare the response body for HEAD requests. if ( $request->is_method( 'HEAD' ) ) { /** This filter is documented in wp-includes/rest-api/endpoints/class-wp-rest-widget-types-controller.php */ - return apply_filters( 'rest_prepare_widget_type', new WP_REST_Response(), $widget_type, $request ); + return apply_filters( 'rest_prepare_widget_type', new WP_REST_Response( array() ), $widget_type, $request ); } $fields = $this->get_fields_for_response( $request ); diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-widgets-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-widgets-controller.php index 2a154693a1..52a42258ed 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-widgets-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-widgets-controller.php @@ -138,7 +138,7 @@ class WP_REST_Widgets_Controller extends WP_REST_Controller { public function get_items( $request ) { if ( $request->is_method( 'HEAD' ) ) { // Return early as this handler doesn't add any response headers. - return new WP_REST_Response(); + return new WP_REST_Response( array() ); } $this->retrieve_widgets(); @@ -686,7 +686,7 @@ class WP_REST_Widgets_Controller extends WP_REST_Controller { // Don't prepare the response body for HEAD requests. if ( $request->is_method( 'HEAD' ) ) { /** This filter is documented in wp-includes/rest-api/endpoints/class-wp-rest-widgets-controller.php */ - return apply_filters( 'rest_prepare_widget', new WP_REST_Response(), $widget, $request ); + return apply_filters( 'rest_prepare_widget', new WP_REST_Response( array() ), $widget, $request ); } $parsed_id = wp_parse_widget_id( $widget_id ); diff --git a/wp-includes/version.php b/wp-includes/version.php index 2f55062313..7cd0e403dc 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -16,7 +16,7 @@ * * @global string $wp_version */ -$wp_version = '6.8-beta1-59969'; +$wp_version = '6.8-beta1-59970'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.