Releases: google/site-kit-wp
Releases · google/site-kit-wp
1.21.0
Enhanced
- Include current user's Site Kit capabilities in Site Health report. See #2314.
- Mark user input state as completed once user has submitted their information. See #2310.
- Finalize copy for new
googlesitekit-user-input
screen. See #2302. - Display informational warning before setup about limited support for WordPress versions before 5.0. See #2289.
- Modify Search Console API queries so that they include results up until one day ago. See #2284.
- Add support for widgets to have multiple (fallback) widths via
googlesitekit.widgets.registerWidget
, laying out widget grid with as few gaps as possible. See #2251. - Modify widgets registered with
quarter
width to render for half the screen width on mobile viewports. See #2250. - Introduce
ReportError
andReportZero
components which should be returned by widgets that are in error state or have no data to display. See #2246. - Add JS utility functions
sumObjectListValue
,averageObjectListValue
, and enhance capabilities ofextractForSparkline
function. See #2245. - Improve logic to determine whether an AdSense API report response is "empty", via new
isZeroReport
function for AdSense. See #2242. - Simplify adding strings only visible to screen reader users by implementing a
VisuallyHidden
component. See #2165. - Reduce complexity of implementing and registering
settingsEdit
components for a module by centrally handling setting submission. See #2137. - Modify the
createModuleStore
JavaScript function so that every module store has acanSubmitChanges
selector and asubmitChanges
action. See #2136. - Implement UI design for
googlesitekit-user-input
screen. See #2040. - Simplify module class infrastructure and implement (internal) module registry. See #1939.
Fixed
- Fix bug where Analytics widgets would fire their API requests even when the module wasn't completely set up, resulting in unnecessary error responses. See #2358.
- Fix JavaScript translations that were not appearing to work correctly, given the site uses WordPress >= 5.0, which is required for support of JavaScript translations. See #2171.
- Fix bug where a previous error from an action would not be cleared when trying the same action again. See #2156.
- Fix a few translation strings that were concatenating date ranges, making them correctly translatable. See #2146.
- Fix compatibility issue where
amp-auto-ads
element would not be present in AMP singular content when also using the Yoast SEO plugin. See #2111.
1.20.0
Added
- Implement post search widget using the new Widget API. See #2023.
- Allow registering a
settingsViewComponent
andsettingsEditComponent
when calling theregisterModule
action on thecore/modules
store. See #1623.
Enhanced
- Unregister the site from the authentication service when the plugin is deleted. See #2311.
- Add selectors
canSubmitChanges
andisDoingSubmitChanges
and actionsubmitChanges
tocore/modules
datastore. See #2182. - Add selectors
getModuleDependencyNames
andgetModuleDependantNames
tocore/modules
store. See #2180. - Allow registering a
setupComponent
when calling theregisterModule
action on thecore/modules
store. See #2074. - Implement UI for new splash screen based on authentication service improvements. See #2046.
- Detect and store whether each user has already answered the user input questions to customize the plugin behavior. See #2042.
- Implement UI components to use in
googlesitekit-user-input
screen. See #2039. - Add Analytics tracking events for API request errors. See #1999.
Fixed
- Fix bug where errors would be inconsistently keyed and not cleared as expected in certain cases. See #2210.
- Fix Search Console deep links to point to correct locations in case of a domain property as well. See #2110.
- Fix accessibility issue with links opening in a new tab by annotating them with screen reader text informing about it. See #2093.
- Fix several UI loading state issues across module setup flows. See #1995.
- Display text field to specify name when creating a new Tag Manager container, and prevent duplicate names which could have resulted in an error before. See #1817.
- Remove usage of JavaScript chunk files to fix potential issues with certain server configurations. See #1391.
1.19.0
Added
- Introduce
getUserInputSettings
selector andsetUserInputSettings
andsaveUserInputSettings
actions oncore/user
store. See #2037. - Introduce
core/user/data/user-input-settings
REST datapoint. See #2036.
Enhanced
- Display notice about new Analytics and link to relevant support resource. See #2219.
- Make
canSubmitChanges
selectors throughout different module datastores more testable and consistent. See #2108. - Enhance new widget API so that only widget areas that have active widgets are rendered. See #2021.
- Provide accurate deep links for all Search Console and Analytics widgets, pointing to the corresponding location in the Google service frontend. See #1923.
- Use direct SVG imports instead of an SVG sprite which can cause accessibility and testing issues. See #1878.
- Make AdSense module page UI more consistent with other modules, allowing to filter information by date instead of showing at-a-glance information for different date periods. See #317.
Fixed
- Fix bug where some data stores would be registered multiple times in JS. See #2145.
- Fix issue where admin bar would not show for URLs with unicode paths. Props kabirbd89. See #1968.
- Improve error handling during module setup and editing module settings so that any API errors are displayed. See #1859.
- Fix menu positioning bug that would move menu item for WP Engine and Bluehost hosting providers. See #1541.
1.18.0
Added
- Introduce several filters to allow blocking rendering or execution of Google service scripts in the frontend, allowing integration with e.g. 3P cookie consent plugins. See #2087.
- Introduce API layer for advanced Analytics event tracking configurations from other plugins. See #1728.
Enhanced
- Introduce
googlesitekit_canonical_home_url
filter, allowing (e.g. multilingual) plugins that contextually alter the home URL to fix potential issues with Site Kit. See #2131. - Remove unused properties in module PHP classes. See #2050.
- Scaffold new
googlesitekit-user-input
screen. See #2038. - Expand
Widget
component to correctly align vertically and support optional header and footer component props. See #2022. - Improve authentication service permissions link to check Site Kit permissions first while not exposing the actual URL on the client. See #1985.
- Introduce
User_Transients
PHP class for storing user-specific transients. See #1964. - Introduce
getDateRangeDates()
selector tocore/user
datastore to retrieve actual date strings based on the current date range. See #1925. - Display error notification when refreshing an access token failed due to missing Site Kit authentication service requirements. See #1848.
- Update the Reset Site Kit dialog message to be more clear. See #1825.
- Provide guidance in Analytics setup flow when Tag Manager is already active and its container is configured to use Analytics. See #1382.
- Provide guidance in Tag Manager setup flow when container is configured to use Analytics, including checks to ensure an eventual AMP container behaves correctly as well. See #1381.
- Remove Analytics module as requirement for Tag Manager module, decoupling them to be individual. See #1380.
Fixed
- Fix new AdSense Top Earning Pages widget displaying error instead of CTA to link AdSense and Analytics. See #2098.
- Fix inconsistent loading state in Search Console Popular Keywords widget, which previously caused content shifting. See #2013.
- Show an error message if the URL for the single URL detail view cannot be identified as part of the site. See #2001.
- Improve support for URLs containing unicode, mixed case, and bidirectional control characters when requesting and sending data to Search Console. See #1567.
1.17.0
Enhanced
- Simplify module registration in JavaScript and only allow one registration call per module. See #2024.
- Improve accuracy of AdSense account status detection based on specific errors. See #1919.
- Migrate AdSense Top Earning Pages widget to new Widget API. See #1902.
- Migrate AdSense Summary widget to new Widget API. See #1901.
- Migrate Analytics Popular Pages widget to new Widget API. See #1900.
- Migrate Search Console Top Keywords widget to new Widget API. See #1899.
- Migrate Analytics Unique Visitors, Bounce Rate, and Goals widgets to new Widget API. See #1898.
- Store the site URL that is connected to the Site Kit authentication service and prompt users to reconnect if the site URL has changed, allowing to update the registered configuration and fix future connection issues. See #1857.
- Show a button to refresh PageSpeed Insights report data in the widget. Props amirsadeghian. See #87.
Fixed
- Fix initial datastore state being registered incorrectly to ensure consistent initial state. See #2083.
- Improve performance of datastores by avoiding unnecessary datastore updates. See #2052.
- Fix various translation strings to no longer violate localization best practices. See #2049.
- Fix console error when unfocusing and refocusing tab in AdSense setup flow. See #2033.
- Fix Search Console deep links for specific keywords in keywords widget to point to the correct location. See #2019.
- Fix tooltips for Bounce Rate and Session Duration in Analytics graph to format values correctly. See #2008.
- Provide site URL as fallback default value when creating a new Analytics account if site title is empty. See #1960.
- Avoid unnecessarily excessive requests to constantly check whether the active Analytics property and AdSense client are connected. See #1858.
- Only select Analytics default view for the active property automatically if it still exists. See #1691.
1.16.0
Enhanced
- Modify title links in Popular Pages table in Site Kit dashboard and WordPress dashboard widget to point to the details view for the relevant URL. See #1922.
- Migrate Search Console Impressions and Clicks widgets to new Widget API. See #1897.
- Migrate Analytics All Traffic widget to new Widget API. See #1896.
- For API errors about missing Google service permissions, clarify based on module ownership who to contact for more information. See #1824.
- Introduce concept of ownership for modules based on who set them up. See #1743.
Fixed
- Improve entity detection so that single URL details view only works for URLs which do not result in a 404 per WordPress behavior. See #1980.
- Fix bug with URL-based entity detection where home page stats in Site Kit URL details view would not show up as expected. See #1978.
- Fix support for WordPress configurations using an HTTP proxy with or without authentication required. See #1976.
- Provide
permission_callback
tocore/search/data/post-search
datapoint and rely on higher-levelregister_rest_route
function from WordPress core. See #1924. - Fix console warning about event tracking timeout being unnecessarily raised. See #1886.
- Fix Analytics reporting graph tooltip to match Analytics frontend UI and expose the same information. See #1836.
- Update post search input to use a better maintained and more accessible autocomplete library. See #1761.
1.15.0
Enhanced
- Introduce more granular error handling, with consistent error behavior in every store and API request errors being automatically stored. See #1814.
- Enhance
getReport( options )
selector inmodules/adsense
store to allow for flexibly querying AdSense reports. See #1776. - Add
getReport( options )
selector tomodules/search-console
store for querying Search Console reports. See #1774. - Add copy-to-clipboard functionality and link to WordPress support forums to generic JavaScript error handler. See #1184.
- Enable Site Kit admin bar menu and URL details view for any WordPress content beyond single posts, for example category, tag, author, or post type archives. See #174.
Fixed
- Fix opting out of Analytics for logged in users not working correctly for Web Stories. See #1920.
- Ensure Search Console data in Site Kit only includes data for the current site even when using a domain property. See #1917.
- Fix internal error handling so that invalid usages of API-based selectors result in errors being thrown as expected. See #1801.
- Use hashes for all JavaScript asset file names to avoid stale versions from being served on hosts with aggressive caching. See #1700.
1.14.0
Enhanced
- Add new action hooks
googlesitekit_analytics_init_tag
,googlesitekit_analytics_init_tag_amp
,googlesitekit_adsense_init_tag
,googlesitekit_adsense_init_tag_amp
,googlesitekit_tagmanager_init_tag
,googlesitekit_tagmanager_init_tag_amp
which fire when the respective tag will be printed for the current request, but before any HTML output has been generated. See #1862. - Clarify messaging on initial setup screen for secondary users who need to connect to Site Kit. Props sonjaleix. See #1714.
- Detect potential problems with issuing API requests to Google services and AMP prior to setup and inform the user about it. See #1549.
Fixed
- Migrate away from using
AMP_Theme_Support::get_support_mode()
which will be deprecated in the AMP plugin version 2.0.0. Props maciejmackowiak. See #1895. - Fix bug where certain React code being imported in third-party code could cause JavaScript errors. See #1888.
- Link to the Manage sites screen including an
hl
query parameter for a localized experience. See #1860. - Fix bug where the displayed Analytics user count percentage change was slightly off from Analytics service frontend. See #1681.
- Fix bug where deep links to the AdSense service frontend could result in blank screens there for users with a single Google account logged in. See #1652.
- Consistently enhance deep links to Google services to support users logged into multiple Google accounts in their browser. See #1456.
- Fix inconsistency where Analytics numbers displayed for the last 90 days were slightly off from the values in the Analytics frontend. See #1280.
- Fix bug where another plugin (e.g. WP User Frontend) could mess up the post detection process within the Site Kit dashboard. See #1253.
- Fix bug where state of not having sufficient data for a Site Kit widget would sometimes incorrectly persist when switching the date range. See #184.
1.13.1
1.13.0
Added
- Introduce
registerModule
action tocore/modules
store, which allows for JS module registration and will in the future enable registration of module components. See #1622.
Enhanced
- Add
getReport( options )
selector tomodules/analytics
store for querying Analytics reports. See #1775. - Pass
hl
query parameter to Site Kit service for setup and authentication, for a localized experience. See #1726. - Modify
getURLChannels
selector inmodules/adsense
store to require bothaccountID
andclientID
parameters, and no longer rely on infering AdSense account ID from client ID in general. See #1709. - Implement logic and styling for managing widget areas and widgets in a dynamic grid, respective registered widget widths and aligning them properly. See #1678.
- Migrate the existing date range selector component to rely on the centrally managed date range from datastore. See #1531.
- Simplify detection of existing tags and combine functionality in the JS store. See #1328.
- Migrate PageSpeed Insights widget to use the new Site Kit widgets API. See #1302.
Fixed
- No longer cache API response errors within batch requests. See #1800.
- Fix publisher win notifications regression where they would not be displayed anymore. See #1781.
- Fix new JS API layer to prefer
sessionStorage
overlocalStorage
for caching. See #1780. - Improve Google profile data lookup to retry periodically if it temporarily fails. See #1731.
- Display correct labels for Analytics top acquisition channels by relying on
ga:channelGrouping
dimension. See #1719. - Handle error conditions more gracefully when refreshing access token fails due to e.g. the user having revoked access previously, providing the user with a link to resolve the problem. See #1646.
- Fix usage of
apiFetch
with a custom middleware to only rely on preloaded data for initial requests on pageload. See #1611. - Fix notification bubble on Site Kit menu so that it only displays if there are actual notifications available. See #1540.
- Fix PHP warning that could occur when retrieving REST API information via help endpoint. Props majemedia. See #1208.