diff --git a/assets/js/googlesitekit/datastore/site/first-party-mode.js b/assets/js/googlesitekit/datastore/site/first-party-mode.js index 1742c57c9e7..85bda8fb8aa 100644 --- a/assets/js/googlesitekit/datastore/site/first-party-mode.js +++ b/assets/js/googlesitekit/datastore/site/first-party-mode.js @@ -97,7 +97,7 @@ const baseActions = { /** * Saves the first-party mode settings. * - * @since n.e.x.t + * @since 1.141.0 * * @return {Object} Object with `response` and `error`. */ @@ -113,7 +113,7 @@ const baseActions = { /** * Sets the first-party mode enabled status. * - * @since n.e.x.t + * @since 1.141.0 * * @param {boolean} isEnabled First-party mode enabled status. * @return {Object} Redux-style action. @@ -157,7 +157,7 @@ const baseSelectors = { /** * Gets the first-party mode settings. * - * @since n.e.x.t + * @since 1.141.0 * * @param {Object} state Data store's state. * @return {Object|undefined} First-party mode settings, or undefined if not loaded. @@ -169,7 +169,7 @@ const baseSelectors = { /** * Checks if first-party mode is enabled. * - * @since n.e.x.t + * @since 1.141.0 * * @param {Object} state Data store's state. * @return {boolean|null|undefined} True if first-party mode is enabled, otherwise false. Returns undefined if the state is not loaded. @@ -184,7 +184,7 @@ const baseSelectors = { /** * Checks if the FPFE service is determined to be healthy. * - * @since n.e.x.t + * @since 1.141.0 * * @param {Object} state Data store's state. * @return {boolean|null|undefined} True if the FPFE service is healthy, otherwise false. Returns undefined if the state is not loaded. @@ -199,7 +199,7 @@ const baseSelectors = { /** * Checks if the GTag proxy script is accessible. * - * @since n.e.x.t + * @since 1.141.0 * * @param {Object} state Data store's state. * @return {boolean|null|undefined} True if the `fpm/measurement.php` proxy script is accessible, otherwise false. Returns undefined if the state is not loaded. diff --git a/assets/js/googlesitekit/datastore/site/info.js b/assets/js/googlesitekit/datastore/site/info.js index ffd4c7cdf6a..66bc846d940 100644 --- a/assets/js/googlesitekit/datastore/site/info.js +++ b/assets/js/googlesitekit/datastore/site/info.js @@ -899,7 +899,7 @@ export const selectors = { /** * Checks if user registrations are open on this WordPress site. * - * @since n.e.x.t + * @since 1.141.0 * * @param {Object} state Data store's state. * @return {boolean|undefined} `true` if registrations are open; `false` if not. Returns `undefined` if not yet loaded. diff --git a/assets/js/googlesitekit/datastore/user/key-metrics.js b/assets/js/googlesitekit/datastore/user/key-metrics.js index e2ecf6f08dd..7426db25540 100644 --- a/assets/js/googlesitekit/datastore/user/key-metrics.js +++ b/assets/js/googlesitekit/datastore/user/key-metrics.js @@ -184,7 +184,7 @@ const baseActions = { /** * Resets key metrics selecton. * - * @since n.e.x.t + * @since 1.141.0 * * @param {Object} settings Optional. By default, this saves whatever there is in the store. Use this object to save additional settings. * @return {Object} Object with `response` and `error`. @@ -291,7 +291,7 @@ const baseSelectors = { /** * Gets the Key Metric widget slugs. * - * @since n.e.x.t + * @since 1.141.0 * * @return {Array|undefined} An array of Key Metric widget slugs. */ @@ -354,7 +354,7 @@ const baseSelectors = { /** * Gets the Conversion Key Reporting Metric widget slugs. * - * @since n.e.x.t + * @since 1.141.0 * * @return {Array|undefined} An array of Key Metric widget slugs. */ diff --git a/assets/js/googlesitekit/datastore/user/user-input-settings.js b/assets/js/googlesitekit/datastore/user/user-input-settings.js index c0046f15256..b7a703000c0 100644 --- a/assets/js/googlesitekit/datastore/user/user-input-settings.js +++ b/assets/js/googlesitekit/datastore/user/user-input-settings.js @@ -264,7 +264,7 @@ const baseSelectors = { /** * Gets saved input settings info for this user. * - * @since n.e.x.t + * @since 1.141.0 * * @param {Object} state Data store's state. * @return {(Object|undefined)} Saved user input settings. diff --git a/assets/js/modules/analytics-4/datastore/conversion-reporting.js b/assets/js/modules/analytics-4/datastore/conversion-reporting.js index aefd75351c5..7d4cf199d17 100644 --- a/assets/js/modules/analytics-4/datastore/conversion-reporting.js +++ b/assets/js/modules/analytics-4/datastore/conversion-reporting.js @@ -267,7 +267,7 @@ export const selectors = { /** * Checks if there are key metrics widgets connected with the detected events for the supplied purpose answer. * - * @since n.e.x.t + * @since 1.141.0 * * @param {string} purpose Value of saved site purpose from user input settings. * @param {boolean} useNewEvents Flag inclusion of detected new events, otherwise initial detected events will be used. diff --git a/assets/js/modules/sign-in-with-google/datastore/service.js b/assets/js/modules/sign-in-with-google/datastore/service.js index 03547a86c21..ad817786a65 100644 --- a/assets/js/modules/sign-in-with-google/datastore/service.js +++ b/assets/js/modules/sign-in-with-google/datastore/service.js @@ -33,7 +33,7 @@ export const selectors = { /** * Gets a URL to the service. * - * @since n.e.x.t + * @since 1.141.0 * * @param {Object} state Data store's state. * @param {Object} [args] Object containing optional path and query args. @@ -69,7 +69,7 @@ export const selectors = { /** * Gets a URL to fetch the client ID. * - * @since n.e.x.t + * @since 1.141.0 * * @param {Object} state Data store's state. * @return {(string|undefined)} The URL to the clientID, or `undefined` if not loaded. diff --git a/changelog.txt b/changelog.txt index 75f9c74e2e8..145f7dafcec 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,5 +1,48 @@ == Changelog == += 1.141.0 = + +**Added** + +* Add Sign in with Google to WooCommerce login page. See [#9340](https://github.com/google/site-kit-wp/issues/9340). + +**Enhanced** + +* Update Sign in with Google descriptions in Site Health. See [#9680](https://github.com/google/site-kit-wp/issues/9680). +* Update the Sign in with Google login to use the popup approach. See [#9677](https://github.com/google/site-kit-wp/issues/9677). +* Integrate the First-party mode proxy script that will allow Analytics events to be tracked via requests made from the browser to the user's site rather than directly to Google's servers. See [#9665](https://github.com/google/site-kit-wp/issues/9665). +* Add info to the "One-tap" option in Sign in with Google settings. See [#9643](https://github.com/google/site-kit-wp/issues/9643). +* Do not show "Maybe later" in Key Metrics Admin Settings callout banner. See [#9636](https://github.com/google/site-kit-wp/issues/9636). +* Implement the `fetchGetFPMServerRequirementStatus()` Redux action used to retrieve the FPM server requirement status. See [#9634](https://github.com/google/site-kit-wp/issues/9634). +* Add an `fpm-server-requirement-status` API endpoint to verify First-Party Mode readiness by performing FPFE health checks and verifying direct PHP script access. See [#9632](https://github.com/google/site-kit-wp/issues/9632). +* Add a partial datastore for First-Party Mode in the `core/site` datastore to manage its settings. See [#9628](https://github.com/google/site-kit-wp/issues/9628). +* Add REST endpoints for First-Party Mode module settings. See [#9625](https://github.com/google/site-kit-wp/issues/9625). +* Update "Get your Client ID" link in Sign in with Google setup. See [#9621](https://github.com/google/site-kit-wp/issues/9621). +* Ensure tailored metrics override previous metrics when switching from manually-selected metrics. See [#9613](https://github.com/google/site-kit-wp/issues/9613). +* Improve the accuracy of the mechanism that scrolls the user to a widget area. See [#9603](https://github.com/google/site-kit-wp/issues/9603). +* Improve visitor groups selection panel to prevent a console warning. See [#9602](https://github.com/google/site-kit-wp/issues/9602). +* Add an external icon to external links in the audience selection panel and placeholder tile. See [#9598](https://github.com/google/site-kit-wp/issues/9598). +* Remove visitor groups setup success notifications when the user chooses not to display visitor groups in dashboard. See [#9596](https://github.com/google/site-kit-wp/issues/9596). +* Introduce grouping of notification queues. See [#9568](https://github.com/google/site-kit-wp/issues/9568). +* Add notice for users who used a legacy answer in Key Metrics settings. See [#9518](https://github.com/google/site-kit-wp/issues/9518). +* Split the "Sell products or services" answer in the User Input app. See [#9489](https://github.com/google/site-kit-wp/issues/9489). +* Persist selection group in Key Metrics selection panel. See [#9385](https://github.com/google/site-kit-wp/issues/9385). +* Add support for disconnecting associated Google account for sign in from WordPress user edit screen. See [#9380](https://github.com/google/site-kit-wp/issues/9380). +* Implement new subtle notification banner in KMW dashboard area. See [#9371](https://github.com/google/site-kit-wp/issues/9371). +* Move on-demand onboarding state synchronization to the server side, avoiding the need to reload the full list of publications. See [#9363](https://github.com/google/site-kit-wp/issues/9363). +* Improve selection panels so that they perform actions only when in view. See [#9312](https://github.com/google/site-kit-wp/issues/9312). +* Improve Reader Revenue Manager publication onboarding state synchronization. See [#9149](https://github.com/google/site-kit-wp/issues/9149). +* Add Key Metrics info to Site Health report. See [#9112](https://github.com/google/site-kit-wp/issues/9112). + +**Changed** + +* Implement settings view for Sign in with Google. See [#9477](https://github.com/google/site-kit-wp/issues/9477). +* Implement Sign in with Google token response login handling. See [#9339](https://github.com/google/site-kit-wp/issues/9339). + +**Fixed** + +* Fix a bug that caused a custom dimension to not be created while setting up visitor groups. See [#9597](https://github.com/google/site-kit-wp/issues/9597). + = 1.140.0 = **Added** diff --git a/includes/Core/Site_Health/Debug_Data.php b/includes/Core/Site_Health/Debug_Data.php index 2f80abedab4..1959ff7b703 100644 --- a/includes/Core/Site_Health/Debug_Data.php +++ b/includes/Core/Site_Health/Debug_Data.php @@ -645,7 +645,7 @@ private function get_active_conversion_event_provider_fields() { /** * Gets the key metrics status fields. * - * @since n.e.x.t + * @since 1.141.0 * * @return array */ diff --git a/includes/Core/Tags/First_Party_Mode/First_Party_Mode.php b/includes/Core/Tags/First_Party_Mode/First_Party_Mode.php index 72affcf324d..aa187795520 100644 --- a/includes/Core/Tags/First_Party_Mode/First_Party_Mode.php +++ b/includes/Core/Tags/First_Party_Mode/First_Party_Mode.php @@ -17,7 +17,7 @@ /** * Class for handling First Party Mode. * - * @since n.e.x.t + * @since 1.141.0 * @access private * @ignore */ @@ -27,7 +27,7 @@ class First_Party_Mode { /** * Context instance. * - * @since n.e.x.t + * @since 1.141.0 * @var Context */ protected $context; @@ -35,7 +35,7 @@ class First_Party_Mode { /** * First_Party_Mode_Settings instance. * - * @since n.e.x.t + * @since 1.141.0 * @var First_Party_Mode_Settings */ protected $first_party_mode_settings; @@ -43,7 +43,7 @@ class First_Party_Mode { /** * REST_First_Party_Mode_Controller instance. * - * @since n.e.x.t + * @since 1.141.0 * @var REST_First_Party_Mode_Controller */ protected $rest_controller; @@ -51,7 +51,7 @@ class First_Party_Mode { /** * Constructor. * - * @since n.e.x.t + * @since 1.141.0 * * @param Context $context Plugin context. * @param Options $options Optional. Option API instance. Default is a new instance. @@ -66,7 +66,7 @@ public function __construct( Context $context, Options $options = null ) { /** * Registers the settings and REST controller. * - * @since n.e.x.t + * @since 1.141.0 */ public function register() { $this->first_party_mode_settings->register(); diff --git a/includes/Core/Tags/First_Party_Mode/First_Party_Mode_Settings.php b/includes/Core/Tags/First_Party_Mode/First_Party_Mode_Settings.php index ca311f84dc7..2dfacc78300 100644 --- a/includes/Core/Tags/First_Party_Mode/First_Party_Mode_Settings.php +++ b/includes/Core/Tags/First_Party_Mode/First_Party_Mode_Settings.php @@ -15,7 +15,7 @@ /** * Class to store user First Party Mode settings. * - * @since n.e.x.t + * @since 1.141.0 * @access private * @ignore */ @@ -29,7 +29,7 @@ class First_Party_Mode_Settings extends Setting { /** * Gets the expected value type. * - * @since n.e.x.t + * @since 1.141.0 * * @return string The type name. */ @@ -40,7 +40,7 @@ protected function get_type() { /** * Gets the default value. * - * @since n.e.x.t + * @since 1.141.0 * * @return array The default value. */ @@ -55,7 +55,7 @@ protected function get_default() { /** * Gets the callback for sanitizing the setting's value before saving. * - * @since n.e.x.t + * @since 1.141.0 * * @return callable Sanitize callback. */ @@ -82,7 +82,7 @@ protected function get_sanitize_callback() { /** * Merges an array of settings to update. * - * @since n.e.x.t + * @since 1.141.0 * * @param array $partial Partial settings array to save. * @return bool True on success, false on failure. diff --git a/includes/Core/Tags/First_Party_Mode/REST_First_Party_Mode_Controller.php b/includes/Core/Tags/First_Party_Mode/REST_First_Party_Mode_Controller.php index 7c4fee7a726..fde6635d755 100644 --- a/includes/Core/Tags/First_Party_Mode/REST_First_Party_Mode_Controller.php +++ b/includes/Core/Tags/First_Party_Mode/REST_First_Party_Mode_Controller.php @@ -20,7 +20,7 @@ /** * Class for handling First Party Mode settings via REST API. * - * @since n.e.x.t + * @since 1.141.0 * @access private * @ignore */ @@ -29,7 +29,7 @@ class REST_First_Party_Mode_Controller { /** * First_Party_Mode_Settings instance. * - * @since n.e.x.t + * @since 1.141.0 * @var First_Party_Mode_Settings */ private $first_party_mode_settings; @@ -37,7 +37,7 @@ class REST_First_Party_Mode_Controller { /** * Constructor. * - * @since n.e.x.t + * @since 1.141.0 * * @param First_Party_Mode_Settings $first_party_mode_settings First_Party_Mode_Settings instance. */ @@ -48,7 +48,7 @@ public function __construct( First_Party_Mode_Settings $first_party_mode_setting /** * Registers functionality through WordPress hooks. * - * @since n.e.x.t + * @since 1.141.0 */ public function register() { add_filter( @@ -74,7 +74,7 @@ function ( $paths ) { /** * Gets REST route instances. * - * @since n.e.x.t + * @since 1.141.0 * * @return REST_Route[] List of REST_Route objects. */ @@ -156,7 +156,7 @@ protected function get_rest_routes() { /** * Checks if an endpoint is healthy. The endpoint must return a `200 OK` response with the body `ok`. * - * @since n.e.x.t + * @since 1.141.0 * * @param string $endpoint The endpoint to check. * @return bool True if the endpoint is healthy, false otherwise. diff --git a/includes/Modules/Reader_Revenue_Manager/Synchronize_OnboardingState.php b/includes/Modules/Reader_Revenue_Manager/Synchronize_OnboardingState.php index adfa447f0bf..f295d867a54 100644 --- a/includes/Modules/Reader_Revenue_Manager/Synchronize_OnboardingState.php +++ b/includes/Modules/Reader_Revenue_Manager/Synchronize_OnboardingState.php @@ -17,7 +17,7 @@ /** * Class for synchronizing the onboarding state. * - * @since n.e.x.t + * @since 1.141.0 * @access private * @ignore */ @@ -44,7 +44,7 @@ class Synchronize_OnboardingState { /** * Constructor. * - * @since n.e.x.t + * @since 1.141.0 * * @param Reader_Revenue_Manager $reader_revenue_manager Reader Revenue Manager instance. * @param User_Options $user_options User_Options instance. @@ -57,7 +57,7 @@ public function __construct( Reader_Revenue_Manager $reader_revenue_manager, Use /** * Registers functionality through WordPress hooks. * - * @since n.e.x.t + * @since 1.141.0 * * @return void */ @@ -73,7 +73,7 @@ function () { /** * Cron callback for synchronizing the publication. * - * @since n.e.x.t + * @since 1.141.0 * * @return void */ @@ -91,7 +91,7 @@ protected function synchronize_publication_data() { /** * Synchronizes the onboarding state. * - * @since n.e.x.t + * @since 1.141.0 * * @return void */ @@ -145,7 +145,7 @@ function ( $pub ) use ( $publication_id ) { /** * Maybe schedule the synchronize onboarding state cron event. * - * @since n.e.x.t + * @since 1.141.0 * * @return void */ diff --git a/includes/Modules/Sign_In_With_Google.php b/includes/Modules/Sign_In_With_Google.php index bb718cd50ed..20b5e9f5523 100644 --- a/includes/Modules/Sign_In_With_Google.php +++ b/includes/Modules/Sign_In_With_Google.php @@ -71,7 +71,7 @@ final class Sign_In_With_Google extends Module implements Module_With_Assets, Mo * Registers functionality through WordPress hooks. * * @since 1.137.0 - * @since n.e.x.t Add functionality to allow users to disconnect their own account and admins to disconnect any user. + * @since 1.141.0 Add functionality to allow users to disconnect their own account and admins to disconnect any user. */ public function register() { add_filter( 'wp_login_errors', array( $this, 'handle_login_errors' ) ); @@ -454,7 +454,7 @@ public function has_placed_tag_in_content( $content ) { /** * Returns the disconnect URL for the specified user. * - * @since n.e.x.t + * @since 1.141.0 * * @param int $user_id WordPress User ID. */ @@ -472,7 +472,7 @@ public static function disconnect_url( $user_id ) { /** * Handles the disconnect action. * - * @since n.e.x.t + * @since 1.141.0 */ public function handle_disconnect_user() { $input = $this->context->input(); @@ -499,7 +499,7 @@ public function handle_disconnect_user() { /** * Displays a disconnect button on user profile pages. * - * @since n.e.x.t + * @since 1.141.0 * * @param WP_User $user WordPress user object. */ diff --git a/includes/Modules/Sign_In_With_Google/Authenticator.php b/includes/Modules/Sign_In_With_Google/Authenticator.php index 5b1cd02ac3c..b16a97db0a5 100644 --- a/includes/Modules/Sign_In_With_Google/Authenticator.php +++ b/includes/Modules/Sign_In_With_Google/Authenticator.php @@ -18,7 +18,7 @@ /** * The authenticator class that processes SiwG callback requests to authenticate users. * - * @since n.e.x.t + * @since 1.141.0 * @access private * @ignore */ @@ -38,7 +38,7 @@ class Authenticator implements Authenticator_Interface { /** * User options instance. * - * @since n.e.x.t + * @since 1.141.0 * @var User_Options */ private $user_options; @@ -46,7 +46,7 @@ class Authenticator implements Authenticator_Interface { /** * Profile reader instance. * - * @since n.e.x.t + * @since 1.141.0 * @var Profile_Reader_Interface */ private $profile_reader; @@ -54,7 +54,7 @@ class Authenticator implements Authenticator_Interface { /** * Constructor. * - * @since n.e.x.t + * @since 1.141.0 * * @param User_Options $user_options User options instance. * @param Profile_Reader_Interface $profile_reader Profile reader instance. @@ -67,7 +67,7 @@ public function __construct( User_Options $user_options, Profile_Reader_Interfac /** * Authenticates the user using the provided input data. * - * @since n.e.x.t + * @since 1.141.0 * * @param Input $input Input instance. * @return string Redirect URL. @@ -150,7 +150,7 @@ public function authenticate_user( Input $input ) { * Tries to find a user using user ID or email recieved from Google. If the user is not found, * attempts to create a new one. * - * @since n.e.x.t + * @since 1.141.0 * * @param array $payload Google auth payload. * @return WP_User|WP_Error User object if found or created, WP_Error otherwise. @@ -230,7 +230,7 @@ private function find_or_create_user( $payload ) { /** * Gets the default role for new users. * - * @since n.e.x.t + * @since 1.141.0 * * @return string Default role. */ @@ -246,7 +246,7 @@ private function get_default_role() { /** * Gets the path for the redirect cookie. * - * @since n.e.x.t + * @since 1.141.0 * * @return string Cookie path. */ diff --git a/includes/Modules/Sign_In_With_Google/Authenticator_Interface.php b/includes/Modules/Sign_In_With_Google/Authenticator_Interface.php index c9201b1b277..af213b1495e 100644 --- a/includes/Modules/Sign_In_With_Google/Authenticator_Interface.php +++ b/includes/Modules/Sign_In_With_Google/Authenticator_Interface.php @@ -15,7 +15,7 @@ /** * Defines methods that must be implemented by an authenticator class. * - * @since n.e.x.t + * @since 1.141.0 * @access private * @ignore */ @@ -24,7 +24,7 @@ interface Authenticator_Interface { /** * Authenticates the user using the provided input data. * - * @since n.e.x.t + * @since 1.141.0 * * @param Input $input Input instance. * @return string Redirect URL. diff --git a/includes/Modules/Sign_In_With_Google/Hashed_User_ID.php b/includes/Modules/Sign_In_With_Google/Hashed_User_ID.php index 70e514366e3..5699840b3de 100644 --- a/includes/Modules/Sign_In_With_Google/Hashed_User_ID.php +++ b/includes/Modules/Sign_In_With_Google/Hashed_User_ID.php @@ -15,7 +15,7 @@ /** * Class representing the hashed Google user ID. * - * @since n.e.x.t + * @since 1.141.0 * @access private * @ignore */ diff --git a/includes/Modules/Sign_In_With_Google/Profile_Reader.php b/includes/Modules/Sign_In_With_Google/Profile_Reader.php index d9be7545a17..f69ee9f6461 100644 --- a/includes/Modules/Sign_In_With_Google/Profile_Reader.php +++ b/includes/Modules/Sign_In_With_Google/Profile_Reader.php @@ -17,7 +17,7 @@ /** * Reads Google user profile data. * - * @since n.e.x.t + * @since 1.141.0 * @access private * @ignore */ @@ -26,7 +26,7 @@ class Profile_Reader implements Profile_Reader_Interface { /** * Settings instance. * - * @since n.e.x.t + * @since 1.141.0 * @var Settings */ private $settings; @@ -34,7 +34,7 @@ class Profile_Reader implements Profile_Reader_Interface { /** * Constructor. * - * @since n.e.x.t + * @since 1.141.0 * * @param Settings $settings Settings instance. */ @@ -45,7 +45,7 @@ public function __construct( Settings $settings ) { /** * Gets the user profile data using the provided ID token. * - * @since n.e.x.t + * @since 1.141.0 * * @param string $id_token ID token. * @return array|WP_Error User profile data or WP_Error on failure. diff --git a/includes/Modules/Sign_In_With_Google/Profile_Reader_Interface.php b/includes/Modules/Sign_In_With_Google/Profile_Reader_Interface.php index 8457ea079a1..705d563f345 100644 --- a/includes/Modules/Sign_In_With_Google/Profile_Reader_Interface.php +++ b/includes/Modules/Sign_In_With_Google/Profile_Reader_Interface.php @@ -15,7 +15,7 @@ /** * Defines methods that must be implemented by a profile reader class. * - * @since n.e.x.t + * @since 1.141.0 * @access private * @ignore */ @@ -24,7 +24,7 @@ interface Profile_Reader_Interface { /** * Gets the user profile data using the provided ID token. * - * @since n.e.x.t + * @since 1.141.0 * * @param string $id_token ID token. * @return array|WP_Error User profile data or WP_Error on failure. diff --git a/readme.txt b/readme.txt index abd7369f577..5a0e766addf 100644 --- a/readme.txt +++ b/readme.txt @@ -109,41 +109,47 @@ Please create a new topic on our [WordPress.org support forum](https://wordpress == Changelog == -= 1.140.0 = += 1.141.0 = **Added** -* Add Sign in with Google to Site Health. See [#9571](https://github.com/google/site-kit-wp/issues/9571). -* Add new feature notification for Sign in with Google module. See [#9335](https://github.com/google/site-kit-wp/issues/9335). +* Add Sign in with Google to WooCommerce login page. See [#9340](https://github.com/google/site-kit-wp/issues/9340). **Enhanced** -* Add a survey to be triggered when audience groups are set up. See [#9656](https://github.com/google/site-kit-wp/issues/9656). -* Update styles for the admin settings. See [#9580](https://github.com/google/site-kit-wp/issues/9580). -* Add GA event tracking for user interactions with the Audience Segmentation Setup in the Settings section. See [#9499](https://github.com/google/site-kit-wp/issues/9499). -* Add opt-in event tracking for the Audience Segmentation introductory popup/banner. See [#9498](https://github.com/google/site-kit-wp/issues/9498). -* Add GA event tracking for user interactions with the Audience Selection Panel. See [#9497](https://github.com/google/site-kit-wp/issues/9497). -* Add opt-in user activity tracking in the audience tiles area. See [#9494](https://github.com/google/site-kit-wp/issues/9494). -* Add opt-in user activity tracking in the audience setup CTA widget and related setting areas. See [#9493](https://github.com/google/site-kit-wp/issues/9493). -* Don't unnecessarily render the Key Metrics Selection Panel into the DOM. See [#9468](https://github.com/google/site-kit-wp/issues/9468). -* Add a stub survey trigger that is called when viewing the Reader Revenue Manager Setup CTA. See [#9447](https://github.com/google/site-kit-wp/issues/9447). -* Update the widget area renderer to accept React components for subtitles. See [#9444](https://github.com/google/site-kit-wp/issues/9444). -* Add modal of tailored metrics to User Input Questionnaire. See [#9439](https://github.com/google/site-kit-wp/issues/9439). -* Add confirmation modal for users changing key metrics. See [#9438](https://github.com/google/site-kit-wp/issues/9438). -* Add support for lost events to Conversion Reporting events datastore. See [#9379](https://github.com/google/site-kit-wp/issues/9379). -* Add a new "Chip Tab Group" component. See [#9378](https://github.com/google/site-kit-wp/issues/9378). -* Add new notification to Key Metrics Widget Settings Area. See [#9344](https://github.com/google/site-kit-wp/issues/9344). -* Implement the Sign in with Google callback action. See [#9338](https://github.com/google/site-kit-wp/issues/9338). -* Fix a bug that prevented the appearance of the Reader Revenue Manager setup banner graphic. See [#9329](https://github.com/google/site-kit-wp/issues/9329). -* Include a "Learn more" link on the Reader Revenue Manager setup screen shown when the user doesn't have an existing publication. See [#9259](https://github.com/google/site-kit-wp/issues/9259). +* Update Sign in with Google descriptions in Site Health. See [#9680](https://github.com/google/site-kit-wp/issues/9680). +* Update the Sign in with Google login to use the popup approach. See [#9677](https://github.com/google/site-kit-wp/issues/9677). +* Integrate the First-party mode proxy script that will allow Analytics events to be tracked via requests made from the browser to the user's site rather than directly to Google's servers. See [#9665](https://github.com/google/site-kit-wp/issues/9665). +* Add info to the "One-tap" option in Sign in with Google settings. See [#9643](https://github.com/google/site-kit-wp/issues/9643). +* Do not show "Maybe later" in Key Metrics Admin Settings callout banner. See [#9636](https://github.com/google/site-kit-wp/issues/9636). +* Implement the `fetchGetFPMServerRequirementStatus()` Redux action used to retrieve the FPM server requirement status. See [#9634](https://github.com/google/site-kit-wp/issues/9634). +* Add an `fpm-server-requirement-status` API endpoint to verify First-Party Mode readiness by performing FPFE health checks and verifying direct PHP script access. See [#9632](https://github.com/google/site-kit-wp/issues/9632). +* Add a partial datastore for First-Party Mode in the `core/site` datastore to manage its settings. See [#9628](https://github.com/google/site-kit-wp/issues/9628). +* Add REST endpoints for First-Party Mode module settings. See [#9625](https://github.com/google/site-kit-wp/issues/9625). +* Update "Get your Client ID" link in Sign in with Google setup. See [#9621](https://github.com/google/site-kit-wp/issues/9621). +* Ensure tailored metrics override previous metrics when switching from manually-selected metrics. See [#9613](https://github.com/google/site-kit-wp/issues/9613). +* Improve the accuracy of the mechanism that scrolls the user to a widget area. See [#9603](https://github.com/google/site-kit-wp/issues/9603). +* Improve visitor groups selection panel to prevent a console warning. See [#9602](https://github.com/google/site-kit-wp/issues/9602). +* Add an external icon to external links in the audience selection panel and placeholder tile. See [#9598](https://github.com/google/site-kit-wp/issues/9598). +* Remove visitor groups setup success notifications when the user chooses not to display visitor groups in dashboard. See [#9596](https://github.com/google/site-kit-wp/issues/9596). +* Introduce grouping of notification queues. See [#9568](https://github.com/google/site-kit-wp/issues/9568). +* Add notice for users who used a legacy answer in Key Metrics settings. See [#9518](https://github.com/google/site-kit-wp/issues/9518). +* Split the "Sell products or services" answer in the User Input app. See [#9489](https://github.com/google/site-kit-wp/issues/9489). +* Persist selection group in Key Metrics selection panel. See [#9385](https://github.com/google/site-kit-wp/issues/9385). +* Add support for disconnecting associated Google account for sign in from WordPress user edit screen. See [#9380](https://github.com/google/site-kit-wp/issues/9380). +* Implement new subtle notification banner in KMW dashboard area. See [#9371](https://github.com/google/site-kit-wp/issues/9371). +* Move on-demand onboarding state synchronization to the server side, avoiding the need to reload the full list of publications. See [#9363](https://github.com/google/site-kit-wp/issues/9363). +* Improve selection panels so that they perform actions only when in view. See [#9312](https://github.com/google/site-kit-wp/issues/9312). +* Improve Reader Revenue Manager publication onboarding state synchronization. See [#9149](https://github.com/google/site-kit-wp/issues/9149). +* Add Key Metrics info to Site Health report. See [#9112](https://github.com/google/site-kit-wp/issues/9112). + +**Changed** + +* Implement settings view for Sign in with Google. See [#9477](https://github.com/google/site-kit-wp/issues/9477). +* Implement Sign in with Google token response login handling. See [#9339](https://github.com/google/site-kit-wp/issues/9339). **Fixed** -* Only place the Reader Revenue Manager snippet on singular WordPress posts. See [#9670](https://github.com/google/site-kit-wp/issues/9670). -* Fix typo in Key Metrics Widget. See [#9614](https://github.com/google/site-kit-wp/issues/9614). -* Fix the issue where an extra "Failed to enable metric" modal appears when canceled in the Audience Segmentation "Top Content" custom dimension creation flow. See [#9563](https://github.com/google/site-kit-wp/issues/9563). -* Fix dashboard error when selecting specific key metrics on the view-only dashboard. See [#9548](https://github.com/google/site-kit-wp/issues/9548). -* Remove the “Temporarily hidden” badge when temporarily hidden tiles reappear with only a single tile visible. See [#9472](https://github.com/google/site-kit-wp/issues/9472). -* Ensure "Add a metric" tiles are always visible on the view-only dashboard when fewer than 4 metrics are available or fewer than 8 metrics if the `conversionReporting` feature flag is enabled. See [#8712](https://github.com/google/site-kit-wp/issues/8712). +* Fix a bug that caused a custom dimension to not be created while setting up visitor groups. See [#9597](https://github.com/google/site-kit-wp/issues/9597). [See changelog for all versions](https://raw.githubusercontent.com/google/site-kit-wp/main/changelog.txt). diff --git a/tests/js/redux-debug.js b/tests/js/redux-debug.js index fa8b25b26c9..ac208b75252 100644 --- a/tests/js/redux-debug.js +++ b/tests/js/redux-debug.js @@ -25,7 +25,7 @@ import { applyMiddleware } from 'redux'; * Creates a middleware for logging dispatched actions to the console. * * @since 1.11.0 - * @since n.e.x.t Added support for store name. + * @since 1.141.0 Added support for store name. * * @param {Option} args Arguments. * @param {Function} args.dispatch Function to dispatch an action on the store. @@ -73,7 +73,7 @@ export function setupReduxLogger() { * Sets up Redux with additional middlewares applied. * Must be called before stores are created. * - * @since n.e.x.t + * @since 1.141.0 * * @param {...Function} middlewares Middleware functions to apply. */ diff --git a/tests/js/utils.js b/tests/js/utils.js index a9c7c292ced..b5205efd17b 100644 --- a/tests/js/utils.js +++ b/tests/js/utils.js @@ -633,7 +633,7 @@ export const waitForTimeouts = ( timeout ) => { * Creates a function that allows extra time for registry updates to have completed. * * @since 1.39.0 - * @since n.e.x.t Reimplemented using debounced timer for reliability. Not compatible with fake timers. + * @since 1.141.0 Reimplemented using debounced timer for reliability. Not compatible with fake timers. * * @param {Object} registry WP data registry instance. * @return {Function} Function to await all registry updates since creation.