Releases: google/site-kit-wp
Releases · google/site-kit-wp
1.12.0
Added
- Add
getDateRange()
selector andsetDateRange( slug )
action to thecore/user
store. See #1529.
Enhanced
- Introduce new
wrapWidget
setting tocore/widgets
store'sregisterWidget
selector which adds the wrappingWidget
component by default. See #1724. - Deprecate
Module::get_datapoint_services()
PHP method in favor ofModule::get_datapoint_definitions()
for more flexibility in annotating API datapoints. See #1609. - Only require the
https://www.googleapis.com/auth/tagmanager.readonly
scope by default for Tag Manager, and request write scopes only as needed for a specific action. See #1608. - Redirect users to the setup screen when trying to access the Site Kit dashboard with insufficient permissions. See #1526.
- Implement widget areas using new Site Kit widgets API. See #1392.
- Significantly improve stability and maintainability of Tag Manager module setup and settings. See #1386.
- Update the majority of 3P dependencies to their latest versions. See #1356.
Fixed
- Require
accountID
to be passed togetProfiles
selector inmodules/analytics
store, in order to supported moved Analytics properties. See #1707. - Fix bug where placing an invalid Analytics tag through another plugin could cause the Site Kit Analytics setup UI to break. See #1651.
- Fix bug where users with full Analytics access would see error message about lack of permissions, due to the property having been moved. See #1548.
1.11.1
1.11.0
Added
- Introduce base components for upcoming Site Kit Widgets API. See #1300.
Enhanced
- Rename
wp google-site-kit auth revoke
towp google-site-kit auth disconnect
and adjust internal CLI commands infrastructure. See #1677. - Significantly improve stability and maintainability of Optimize module setup and settings, and fix bug where editing Optimize settings with AMP active could cause an error due to the
ampExperimentJSON
module setting not being stored as JSON string. See #1621. - Add
hasScope( scope )
selector tocore/user
store, which allows checking whether the user has explicitly granted access to the respective scope. See #1610. - Introduce
modules/tagmanager
datastore to enable JS-based access to Tag Manager data. See #1385. - Allow specifying Analytics view name when creating a new one, and display a deep link to modify view settings in Analytics module settings. See #716.
Fixed
- Fix admin tracking regression where snippet would not be loaded on the page. See #1717.
- Ensure ad blocker detection is active throughout the entire AdSense module setup. See #1666.
- Fix redirect to Google Analytics terms of service occasionally failing due to unnecessary extra redirect. See #1632.
- Fix bug
Cannot read property 'destroy' of undefined
from AMP experiment JSON field in Optimize module. See #1605.
1.10.0
Learn more about the new feature in this release
Added
- Implement new version of PageSpeed Insights widget that focuses on core web vitals. See #1636.
- Introduce
modules/optimize
JS datastore for Optimize module. See #1620.
Enhanced
- Detect current URL and related data when on the Site Kit screen for single URL details. See #1653.
- Implement tabbed UI for new web vitals widget separating between mobile and desktop as well as lab and field data. See #1649.
- Only load Site Kit-specific Analytics script on Site Kit admin screens. See #1648.
- Pass
user_roles
query parameter during setup. See #1639. - Simplify module datastore creation by including
commonStore
in the store returnedgooglesitekit.modules.createModuleStore
. See #1607. - Add selectors to get module-specific admin screen URLs to every module datastore. See #1559.
- Fix accessibility issues in Site Kit settings due to semantically incorrect tag usage. See #1557.
- Add
getReport
selector tomodules/pagespeed-insights
datastore to get UX reports. See #1426. - Implement meta programming approach for API-based datastore selectors and actions to reduce boilerplate. See #1288.
- Include anchor link in success notification after setting up PageSpeed Insights module. See #532.
Fixed
- Reduce bundle size of Analytics and Optimize module JS assets. See #1661.
- Do not run Site Kit assets logic when not applicable for the current user, avoiding unnecessary checks e.g. on the login screen. See #1650.
- Fix incompatibility with WooCommerce due to Webpack conflict. See #1637.
- Fix bug with event firing when activating or deactivating a module. See #1629.
- Enhance functionality of new
core/modules
store so that module activation/deactivation results in authentication data to be refreshed. See #1507. - Fix ad blocker detection failing for popular AdBlock browser extension. See #1491.
- Ensure dashboard search form can only be submitted with valid content. See #1434.
- Fix Analytics data displayed for Users being partially incorrect due to incorrect date parsing. See #1394.
- Fix table content overflow issues in narrow viewports. Props AlexandreOrlowski. See #1376.
1.9.0
Added
- Introduce
modules/pagespeed-insights
datastore in JS. See #1500. - Introduce
modules/search-console
datastore in JS. See #1498. - Implement Site Kit widgets API datastore wrapper on
googlesitekit.widgets
. See #1301. - Introduce
core/widgets
datastore for Site Kit widget registrations. See #1298. - Integrate with the Analytics Provisioning API to enable creation of Analytics accounts directly from the plugin. See #1271.
- Introduce
modules/adsense
JavaScript datastore with core functionality for the AdSense module. See #1247. - Add
create-account-ticket
datapoint forAnalytics
module that creates a new Analytics account ticket using the Provisioning API. See #1212. - Add notifications functionality to
core/user
store. See #1177. - Introduce
core/user
datastore for managing user-specific data in JS. See #1175.
Enhanced
- Only request readonly OAuth scopes for each module by default, and prompt for additional scopes when needed for a specific action. See #1566.
- Wrap all JavaScript apps into
Root
component with essential providers, error handlers etc. See #1530. - Introduce
core/forms
datastore to manage form state. See #1510. - Render
amp-analytics
snippet for Web Stories. See #1506. - Migrate PageSpeed Insights settings to using the datastore. See #1501.
- Display actual Search Console property used in settings, and migrate to using the datastore. See #1499.
- Rename Analytics profiles to views consistently. See #1486.
- Improve AdSense account status and site status detection logic to be more error-proof. See #1332.
- Add user profile information and verification state to
core/user
datastore. See #1176. - Significantly improve stability and maintainability of AdSense module setup and settings. See #1014.
- Clarify message for when user needs to reauthenticate to grant required scopes. See #189.
Fixed
- Ensure all module caches are cleared when modifying Analytics settings. See #1593.
- Fix bugs where CTAs to link Analytics to AdSense would never show. See #1545.
- Fix AdSense report URL to not include user-specific affix. See #1516.
- Fix Search Console deep links to use the correct property identifier. See #1497.
- Fix bug where having a graylisted AdSense account would prevent the AdSense code from being placed. See #1494.
1.8.1
1.8.0
This release includes security fixes. An update is strongly recommended.
Added
- Introduce standalone UI mode for plugin admin screens. Props EvanHerman. See #1281.
- Introduce
modules/analytics
datastore for managing Analytics state in JS. See #1224. - Introduce
core/modules
datastore for managing module information and activation state. See #1179.
Enhanced
- Preload REST API datapoints for
core/site
andcore/user
datastores to avoid firing these extra requests. See #1478. - Add support for new Optimize container IDs starting in
OPT-
. See #1471. - Improve alignment of dialog buttons. See #1436.
- Rely on the default profile specified in an Analytics property for the profile to pre-select in the dropdown in Analytics setup/settings. See #1404.
- Remove periods from single sentences in settings panel lists. See #1401.
- Add
googlesitekit.data.combineStores
utility function to combine multiple datastore objects. See #1400. - Significantly improve stability and maintainability of Analytics module setup and settings. See #1101.
- Update Analytics control for whether to place snippet to use a toggle instead of radio buttons for consistency. See #1048.
Fixed
- Fix bug where Analytics would never request AdSense metrics even with a successful AdSense connection. See #1524.
- Fix bug where
amp-auto-ads
snippet would not always be printed if the theme didn't support thewp_body_open
action. See #1495. - Do not request remote notifications if the site is not connected to the remote. See #1479.
- Update registered site name on authentication service when it is updated in WordPress. See #1397.
- Display only paths instead of full URLs in Analytics tables for better visibility and consistency with Analytics frontend. See #1116.
- Add missing translator comments to ease plugin localization for contributors. See #820.
1.7.1
Added
- Add notifications functionality to
core/site
datastore. See #1174.
Enhanced
- Add
rollbackSettings
action to settings datastores and refine overall datastore infrastructure. See #1375. - Expand AdSense settings panel to expose more helpful information. See #585.
Fixed
- Fix bug where similar batch request to the API could occur multiple times. See #1406.
- Fix bug where single post stats would display the unique visitors from Search for the overall site instead of only that post. Props phamquangbaoplus. See #1371.
- Fix Analytics incorrectly triggering re-authentication notice when the user does not have any accounts. See #1368.
- Fix JS datastore actions to never have an associated control and reducer at the same time. See #1361.
- Place Tag Manager snippet for non-JavaScript support after opening
body
tag as commonly expected. Props ShahAaron. See #1308. - Fix layout issue in Tag Manager settings panel when no container is selected. See #1296.
- Fix issue related to added
_gl
query parameter from AMP linker. Props ShahAaron. See #1275.
1.7.0
Enhanced
- Allow modules to register and enqueue their own assets by implementing a
Module_With_Assets
interface. See #1319. - Decouple datastores from global registry by using
createRegistryControl
andcreateRegistrySelector
. See #1287. - Update datastore resolvers to only issue API requests when lacking data. See #1286.
- Add preloading middleware for REST API data and preload module settings routes on pageload. See #1246.
- Add more granular selectors to the
core/site
datastore. See #1173. - Add several additional selectors for commonly used site data to the
core/site
datastore. See #1000.
Fixed
- Fix bug where plugins modifying the site address during frontend requests would prevent the setup flow from being completed. See #1357.
- Fix bug where
googlesitekit.api.set
would not pass through request data correctly to the API endpoints. See #1346. - Fix bug where using a WordPress locale with a third segment (e.g. formal variant) would cause JavaScript errors on some screens. See #1309.
- Do not revoke token remotely when token is deleted, unless explicitly requested via disconnect. See #1305.
- Fix unicode domains being displayed in punycode version in disconnect feedback message. See #1297.
- Fix bug where certain numbers were rounded differently from how the respective Google service rounds them. See #1279.
- Optimize JavaScript dependency loading, decreasing the chance of conflicts and reducing the plugin size. See #1222.
- Ensure the total user count in the Analytics module matches the numbers displayed in the Google Analytics frontend. See #1202.
1.6.0
Added
- Add support for reading and editing settings to datastores created via
googlesitekit.modules.createModuleStore
. See #1249. - Introduce
googlesitekit-modules
asset withcreateModuleStore
function to create a base datastore for a Site Kit module. See #1063.
Enhanced
- Ensure module settings are consistently passed from PHP to JavaScript, and fix some minor logic issues in the consuming JavaScript code. See #1245.
- Automatically include a REST route to read and edit settings for every module that supports them. See #1244.
Fixed
- Fix issue where users would get stuck on setup screen after seemingly successful completion of the setup flow on the authentication service. See #1266.
- Provide clear error message informing the user when they did not grant the necessary permissions, instead of a generic
access_denied
error code. See #1192. - Fix JavaScript errors in AdSense screens that was a result of
Intl.NumberFormat.formatToParts
not being supported in Safari. See #1107. - Fix JavaScript error
e.replace is not a function
in AdSense screens related to formatting numbers. See #1092. - Fix problems around comparing domains with unicode characters that could result in blocking the plugin setup. See #794.