PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3-a.5
Jetpack – WP Security, Backup, Speed, & Growth v16.3-a.5
16.3-a.5 16.3-a.7 16.3-a.3 16.3-a.1 16.2 16.2-beta 12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 13.8.3 All 506 releases
← All changes | CHANGELOG.md +380 -267 16.2-beta → 16.3-a.5 View file →
@@ -1,142 +1,329 @@
1 1 # Changelog
2 2
3 3 ### This is a list detailing changes for all Jetpack releases.
4 4
5 -## 16.2-beta - 2026-09-08
5 +## 16.3-a.5 - 2026-09-28
6 +### Major Enhancements
7 +- Dashboard: Remove the legacy At a Glance dashboard and Recommendations assistant. [#52513]
8 +
6 9 ### Enhancements
7 -- AI: Add a welcome banner to the Overview tab, keep the tab navigation and a back link on MCP sub-pages, and name the MCP connect row by its action for screen readers. [#51783]
8 -- AI: Hide the Overview and AI Features views on WordPress VIP sites. [#52006]
9 -- AI: Make the Overview and AI Features tabs available on self-hosted sites and apply their controls. [#51909]
10 -- AI: Only show the AI SEO control on sites where the feature it turns on can run. [#51918]
11 -- AI: Show a connect-account card on the MCP settings page when the current user is not connected to WordPress.com. [#51822]
12 -- Blogging Prompts: Mark a post as a prompt answer when it is created through the REST API, so answers written in the Write editor keep their prompt tags and roundup link. [#51671]
13 -- Newsletter: Let editors preview email with only a site connection while continuing to require a user connection for test emails. [#50777]
14 -- Podcast: Replace the stats date range picker with one built on the WordPress design system calendar. [#51902]
15 -- Premium Analytics: Add an "Any feedback?" action to the dashboard header. [#51870]
16 -- Premium Analytics: Add a page options menu with a Customize action on the post, email, and video detail pages. [#51772]
17 -- Premium Analytics: Add a page option that switches the new Traffic tab off, asks why on the way out, and returns to classic Stats. [#52025]
18 -- Premium Analytics: Comparison control: mark an active comparison with a "vs" prefix, and name the compared window in the trigger's tooltip. [#51820]
19 -- Premium Analytics: Disable the dashboard's date controls while customizing its layout. [#52024]
20 -- Premium Analytics: Display the dashboard on a three-column grid and rearrange the default Traffic widgets. [#51873]
21 -- Premium Analytics: Even out the header spacing on the post detail page to match the video page. [#51875]
22 -- Premium Analytics: Follow the onboarding welcome modal with a three-step spotlight tour of the customization menu, the date controls and the widgets. [#51949]
23 -- Premium Analytics: Hide the report pages behind tabs the Stats dashboard does not show. [#51983]
24 -- Premium Analytics: Include the current day in the last-N-day ranges, and count the 12-month range in whole calendar months, to match Jetpack Stats. [#51428]
25 -- Premium Analytics: Lay the post and video detail pages out on the three-column grid the dashboard uses. [#52044]
26 -- Premium Analytics: Match the Jetpack logo in the Stats header to the 20px size used by the other Jetpack admin pages. [#52060]
27 -- Premium Analytics: Match the post and video page headers to the layout used across the rest of Analytics. [#51875]
28 -- Premium Analytics: Move the dashboard feedback action into a page options menu. [#52023]
29 -- Premium Analytics: Open a welcome modal the first time a reader reaches the dashboard. [#51948]
30 -- Premium Analytics: Open the Authors, Clicks and UTM reports folded to their top-level groups, and move the drill-down control to the right of the row title. [#51806]
31 -- Premium Analytics: Pick the date period from a dropdown instead of a row of buttons, with the calendar beside it on Custom range. [#51842]
32 -- Premium Analytics: Revise the onboarding welcome modal copy and reorder the tour to start from the widgets and end on the page options menu. [#52025]
33 -- Premium Analytics: Send dashboard feedback on to Jetpack support, so it is not lost when analytics are blocked. [#51921]
34 -- Premium Analytics: Show the onboarding again to a reader who switches the new Traffic tab back on. [#52038]
35 -- Subscriptions: Remove the transitional Subscribers announcement page and redirect its URL to Newsletter. [#51906]
36 -- VideoPress: Add a site-wide setting to turn off player preloading for every embed. [#51991]
37 -- VideoPress: Open the file picker directly from the dashboard welcome modal's Upload a video button, then land on the Library to follow the upload's progress. [#51791]
10 +- AI: Add a "How it works" guide to the top of the MCP and Connectors tab. [#52524]
11 +- AI: Point the Cursor setup instructions on the MCP agent setup page at the WordPress.com plugin on the Cursor Marketplace. [#52375]
12 +- AI: Point the disconnected-site notice at documentation instead of a connect link when the current user cannot connect the site, as on VIP and multisite. [#52536]
13 +- Likes: Give Comment Likes their own section on Settings > Sharing, and suggest the Like block on block themes even when Comment Likes are on. [#52796]
14 +- My Jetpack: Answer module switch clicks immediately, and explain what happened when a change fails. [#52494]
15 +- My Jetpack: Show the Features tab in place of the Products tab, and link the footer's modules links to its list view. [#52785]
16 +- Newsletter: Format stats metrics and open/click rates with locale-aware number formatters. [#52817]
17 +- Newsletter: List the enabled pop-up, overlay, and floating button below the footer when editing a template in the Site Editor. [#52818]
18 +- Newsletter: Sync the active theme's colors and typography so post emails can match the site's design. [#52651]
19 +- Partner Coupons: Move coupon redemption from the legacy dashboard to My Jetpack. [#52514]
20 +- Plugins page: Ask for optional feedback when deactivating Jetpack. [#52828]
21 +- Search: Show the dashboard in the new rounded admin page frame. [#52506]
22 +- Settings: Move the Settings page to its own admin page in the new Jetpack admin frame; existing links redirect there. [#52589] [#52619]
23 +- Settings: Open the remaining support links as WordPress.com support docs inside the Help Center on WordPress.com sites. [#52560]
24 +- Sharing: Group "Disable CSS and JS" with the sharing button settings, and hide it while sharing buttons are off. [#52727]
25 +- Sharing settings: Give "Show buttons on" a section of its own. [#52407]
26 +- Sharing settings: Keep the sharing buttons configuration available on block themes, alongside the recommendation to use the Sharing Buttons block. [#52407]
27 +- Sharing settings: Show the Sharing and Like buttons sections whichever features are active, each with its own save button. [#52407]
28 +- Stats: Move the Stats settings to a new Settings tab in the Stats dashboard, and link to it from Jetpack Settings. [#52540]
29 +- Stats: Recognize the standalone Jetpack Stats plugin in My Jetpack, and install it when Stats is activated there. [#51083]
30 +- Tooltips: Keep focus on information icons when their tooltips open, and announce the content to screen readers. [#52736]
31 +- Tooltips: Show a focus ring on information icons after clicking them. [#52736]
32 +- VideoPress: Add a Latest Videos Playlist block that plays the site's newest VideoPress videos, with the number of videos set in the block settings. [#52665]
33 +- VideoPress: Add an All Playlists block that lists every Video Playlist published on the site as a grid or a list. [#52724]
34 +- VideoPress: Add title and description settings to the Video Playlist block. [#52729]
35 +- VideoPress: Match the inline player's play button to the player's own, and show a loading spinner from the click until the player loads. [#52574]
36 +- Zoom Scheduler: Add a block that embeds Zoom Scheduler booking pages, available on all plans. [#50043]
38 37
39 38 ### Bug fixes
40 -- Admin pages: Fix Jetpack dashboards overlapping the admin menu in right-to-left languages. [#51963]
41 -- At a Glance: Stop requesting a new speed score on sites that already have Boost. [#51711]
42 -- Boost: Stop At a Glance re-testing the site speed when a recent score is already stored for the site's URL. [#51709]
43 -- Charts: Keep chart tooltips under sticky and fixed page elements. [#51640]
44 -- Charts: Use the site's time zone and locale for line and area chart date ticks, hourly labels, and tooltips. [#51813]
45 -- Comments: Improve security in social comment avatar rendering. [#51824]
46 -- Connection: Show the reason a site registration failed, in cases where the notice was incomplete or did not appear at all. [#51894]
47 -- Editor: Restore active module state for module-dependent features. [#51888]
48 -- Forms: Add an empty alt attribute to the image option thumbnails in the form success summary. [#51781]
49 -- Paywall Block: Preserve paid post access after reloading the editor. [#51334]
50 -- Premium Analytics: Comparison control: stop showing a comparison as active when there is no window behind it. [#51820]
51 -- Premium Analytics: Count posts in Posting activity by the site's calendar day rather than the UTC one. [#51878]
52 -- Premium Analytics: Keep keyboard focus inside the onboarding tour card and let screen reader users skip the tour. [#51975]
53 -- Premium Analytics: Keep the dashboard off while the Stats module is inactive. [#51958]
54 -- Premium Analytics: Keep the date picker on the range a chart drill-down applies. [#51924]
55 -- Premium Analytics: On Insights, collapse the year buttons into a select as soon as they stop fitting, instead of letting them run past the edge on a phone. [#51882]
56 -- Premium Analytics: Show chart dates in the site's timezone and locale, and name the hour on hourly charts. [#51814]
57 -- Premium Analytics: Show published dates in the site's language and date format. [#51967]
58 -- Search: Fix a crash on mount when the localized widget configuration is missing or incomplete, which could leave the whole page blank. [#51511]
59 -- Search: Prevent General Settings from disabling Site Chat and WordPress Agent access. [#51844]
60 -- Settings: Dismiss success notices automatically instead of leaving them on screen. [#52054]
61 -- Stats: Fix traffic charts that could keep loading when a site's connection needs attention. [#51998]
62 -- Stats: Return a validation error when the role settings are submitted in the wrong format. [#51775]
63 -- Subscriptions: Recognize subscriber sessions in the Subscriber Login and Premium Content blocks. [#52051]
64 -- Tiled Gallery: Fix the gallery growing without bound inside a vertical Group or Stack, and keep its width in step with the space available when a surrounding block is resized or re-aligned. [#51620]
65 -- VideoPress: Avoid incorrect limits and upgrade prompts when site features cannot be loaded. [#52050]
66 -- VideoPress: Fix "Add to a post or page" opening an empty editor instead of inserting the selected video block. [#51996]
67 -- VideoPress: Fix playlist block video titles overlapping when long, and apostrophes rendering as HTML entities. [#51849]
68 -- VideoPress: Fix the dashboard rendering blank on WordPress 7.0.x. [#51847]
69 -- VideoPress: Register the Video Playlist block from the Jetpack plugin when the VideoPress module is active. [#52013]
39 +- Admin: Hide masthead links when My Jetpack is unavailable. [#52606]
40 +- AI: Avoid an unnecessary request when loading the editor. [#52615]
41 +- AI: Disable feature toggles when custom code forces AI off. [#52595]
42 +- AI: Show the "Learn more" link when SEO settings are unavailable. [#52593]
43 +- AI: Turn off AI SEO and Search AI Answers when the `jetpack_ai_enabled` filter returns false. [#52748]
44 +- Blocks: Align the premium block upgrade banner with its text on narrow screens. [#52823]
45 +- Connection: Let users without admin access reconnect their own broken account from the connection error notice. [#52718]
46 +- Connection: Report a broken connection on My Jetpack's connection card instead of claiming everything looks good. [#52130]
47 +- Connection: Show a connection break only its owner can repair as a warning to other users, not an error. [#52130]
48 +- Content Guidelines: Fix the AI button alignment and the loading shimmer after recent Gutenberg changes. [#52764]
49 +- Copy Post: Fix footnotes containing links being lost when duplicating a post. [#52878]
50 +- CRM: Keep the site owner on My Jetpack after activating Jetpack CRM, instead of sending them to CRM's full-screen setup wizard. [#52654]
51 +- Dashboards: Show Jetpack in-dashboard messages on the modernized product dashboards again. [#52641]
52 +- Donations: Fix the donate button rendering as a cross shape on themes that apply block-level styles to `.wp-block-button__link`. [#52623]
53 +- External Media: Fix the width of the Select Media button in narrow block placeholders, such as the Media & Text block. [#52631]
54 +- Firewall: Avoid a fatal error for visitors on the IP block list when the firewall runs before WordPress. [#52682]
55 +- Firewall: Fix blank Jetpack admin pages when the standalone mode bootstrap loads from an older copy of the plugin. [#52539]
56 +- Footer: Hide the "Products" and "Help" links when My Jetpack is unavailable. [#52557]
57 +- Forms: Cap the rating scale when rendering a form or a response so a malformed value cannot exhaust memory. [#52007]
58 +- Forms: Detect Jetpack CRM installs that use a custom plugin folder or file name. [#52725]
59 +- Google Fonts: Detect fonts followed by fallback families so selected fonts render on the front end. [#52586]
60 +- Modules: Report an error instead of success when WP-CLI or the REST API switches a module the host or site administrator has forced on or off. [#52505]
61 +- My Jetpack: Fix the layout of the connection screen for right-to-left languages. [#52749]
62 +- My Jetpack: Fix the page failing to load for users who can edit posts but have no Jetpack menu, such as editors on unconnected sites. [#52614]
63 +- My Jetpack: Point users who cannot connect the site at an administrator, instead of an onboarding screen they cannot complete. [#52614]
64 +- My Jetpack: Show each notice once instead of twice. [#52494]
65 +- My Jetpack: Stretch the tab content background to the full height of the page. [#52633]
66 +- Newsletter: Show the earliest subscription date for subscribers with both an email and a WordPress.com subscription. [#52576]
67 +- Newsletter: Show the warning when no site owner is connected to WordPress.com. [#52810]
68 +- Podcast: Draw the daily downloads chart's gridlines at the same days as its labels. [#52588]
69 +- Search: Keep the AI Answers preview hidden when answers are turned off. [#52753]
70 +- Search: Require a paid Search plan to enable and display Site Chat. [#52386]
71 +- Search: Stop offering Search blocks in the Overlay search sidebar's widget inserter, and flag any already there. [#52670]
72 +- SEO: Fix Sitemap and Canonical URLs status to reflect the active modules. [#52516]
73 +- SEO: Respect excerpt filters in generated `llms.txt` summaries. [#52414]
74 +- Social: Show each number on the traffic chart's value axis once when visit counts are small. [#52588]
75 +- Stats: Draw the My Jetpack stats chart's gridlines only at whole numbers when counts are small. [#52588]
76 +- Stats: Prevent bar charts from flickering between the hovered bar and the keyboard-selected bar. [#52821]
77 +- Stats: Stop the pricing grid from coming back for up to 5 minutes after choosing "Start for free". [#52599]
78 +- Tooltips: Make information tooltips open from the keyboard and close on Escape. [#52661]
79 +- VideoPress: Fix a just-uploaded video briefly showing up a second time as a local video in the Library. [#52822]
80 +- VideoPress: Fix private video playback on sites using WPML. [#52659]
81 +- VideoPress: Keep the dashboard views trend chart's comparison lines distinguishable, including for color-blind viewers. [#52680]
82 +- VideoPress: Prevent the empty library prompt from appearing while videos are loading. [#52819]
83 +- VideoPress: Show the poster of private videos in the inline player before they are played, instead of a black box. [#52574]
70 84
71 85 ### Other changes <!-- Non-user-facing changes go here. This section will not be copied to readme.txt. -->
72 -- Agents Manager: Show an “Agent” label beside the admin bar's AI chat icon while the chat is hidden. [#51926]
73 -- AI: Rename the AI Search row to AI Answers, and drop the Preview label from the Search dashboard. [#51891]
74 -- AI: Send VIP sites to the Jetpack user connection screen from the MCP connect card. [#52039]
75 -- AI Assistant: Update the WordPress Agent notice to point at the "Agent" button. [#52027]
76 -- Premium Analytics: Limit dashboard customization to moving and resizing widgets. [#51986]
77 -- Related Posts: Harden rendering JavaScript. [#52041]
78 -- Reprint export: Serve a site export from Jetpack on Pressable and WordPress.com sites. [#51430]
79 -- Sitemaps: Add a `jetpack_sitemap_flat_master_index` filter that makes `sitemap.xml` list individual sitemap files instead of nesting sitemap index files. [#51980]
80 -- Update package dependencies. [#51701]
81 -- VideoPress: Make the `welcome=1` review parameter reopen the dashboard welcome modal after it has been dismissed. [#51791]
86 +- AI: Link the AI Answers row to the Search settings page where it is available, and to the docs otherwise. [#52679]
87 +- Carousel: Prefetch the Swiper library so the first click on a gallery image does not wait for it. [#50829]
88 +- Carousel: Request the zoom-resolution image only when the visitor zooms. [#50833]
89 +- Carousel: Shorten the slide transition, and disable it entirely under `prefers-reduced-motion`. [#50828]
90 +- Carousel: Stop fetching comments on every slide change; fetch them when the comments panel is opened. [#50831]
91 +- Carousel: Stop serializing empty EXIF values into every gallery image. [#50832]
92 +- Likes: Deprecate the legacy Settings > Sharing methods in `Jetpack_Likes_Settings`. [#52758]
93 +- Map block: Clean up unused attributes and provide fallback for invalid color values. [#52577]
94 +- Modules: Honor the `jetpack_feature_policy` filter when detecting forced modules and choosing default modules. [#52587]
95 +- Newsletter: Open the email design screen on its Styles panel, name its Styles controls after the parts of the email they change, and add a "Reset to defaults" button. [#52879] [#52771] [#52710]
96 +- Newsletter: Send the email design screen's test email as subscribers would receive it. [#52732]
97 +- PayPal Payment Buttons: Accept http return URLs, and show an error in the block when a return URL is invalid. [#52774]
98 +- PayPal Payment Buttons: Add a menu to duplicate or delete a link from the existing links list. [#52543]
99 +- PayPal Payment Buttons: Add a menu to switch a saved button to another of the account's payment links. [#52534]
100 +- PayPal Payment Buttons: Add stacked buttons as a display format. [#52512]
101 +- PayPal Payment Buttons: Ask whether to save or discard unsaved changes when leaving a saved payment link's form. [#52553] [#52744]
102 +- PayPal Payment Buttons: Confirm in a snackbar when a post save creates or changes a payment link. [#52740]
103 +- PayPal Payment Buttons: Keep the existing links list in sync across blocks, and hide the Styles tab until the block has a link. [#52668]
104 +- PayPal Payment Buttons: Show a payment link's hosted ID without its PLB- prefix in the block settings sidebar. [#52550]
105 +- PayPal Payment Buttons: Show the right price on the Send via Email card for links priced per option. [#52743]
106 +- Premium Analytics: Add comparison options for the same weekdays of the previous period and the previous year. [#52598]
107 +- Premium Analytics: Add the Subscribers tab to the customer preview, and the Ads tab on sites that use WordAds. [#52768] [#52864]
108 +- Premium Analytics: Call the preview the new Stats in its welcome, feedback and switch-off copy. [#52722]
109 +- Premium Analytics: Draw disputed borders on the Locations map as the viewer's country shows them. [#52805]
110 +- Premium Analytics: Leave Average CPM empty in the Ads chart for periods with no ads served. [#52690]
111 +- Premium Analytics: Leave the months before a site launched empty in the Subscriber summary chart. [#52523]
112 +- Premium Analytics: Link the Latest subscribers widget and each subscriber in it to the Newsletter subscribers screen. [#52604] [#52848]
113 +- Premium Analytics: Refine chart tooltips, legends and series colors. [#52527] [#52423] [#52680] [#52683]
114 +- Premium Analytics: Refine the date range and comparison controls in widget headers. [#52500] [#52751]
115 +- Premium Analytics: Register the Ads tab from the WordAds module and its widgets from the Ads package. [#52455] [#52635]
116 +- Premium Analytics: Return the Stats breadcrumb to the tab a report was opened from. [#52862]
117 +- Premium Analytics: Show 0% rates for unopened emails, and readable link names in an email's Top links list. [#52684] [#52685]
118 +- Premium Analytics: Show a dash in the Earnings history report for periods with no Ads Served count. [#52510]
119 +- Premium Analytics: Show every amount on the All-time balance card. [#52700]
120 +- Premium Analytics: Show one no-results state in widgets and reports with no data for the selected period. [#52791] [#52792] [#52794]
121 +- Premium Analytics: Show payment status badges and an adjustments note in the Earnings History widget. [#52565] [#52526]
122 +- Premium Analytics: Show the change since 30 days ago in Subscriber highlights, with descriptions for screen readers. [#52741] [#52747]
123 +- Premium Analytics: Show the Email opens and Email clicks tabs for every post. [#52801]
124 +- Premium Analytics: Show zeros or placeholders in highlight and Insights widgets instead of an empty message. [#52795]
125 +- Premium Analytics: Start value axes at zero, and draw bars for a value that stays constant. [#52522] [#52588] [#52597] [#52600]
126 +- Premium Analytics: Stop listing an author's post that only appears in the comparison period as 0 (-100%). [#52678]
127 +- Premium Analytics: Sync store analytics whether or not WooCommerce Analytics or order attribution is enabled. [#52681] [#50851]
128 +- Premium Analytics: Title the Ads tab "Ads performance" and reword the WordAds widget tips. [#52714]
129 +- Settings: Follow the design system text color instead of a hardcoded override. [#52713]
130 +- Sharing settings: Stop showing Jetpack Social connection errors on the Settings > Sharing screen. [#52658]
131 +- Sites API: Return the "Require two-step authentication" SSO setting as the `jetpack_sso_require_two_step` site option. [#52570]
132 +- Stats: Load the admin bar chart and Stats link from the Stats Admin package, and deprecate the matching functions in the Stats module. [#52528]
133 +- Tools: Replace `@wordpress/jest-console` with a simple set of mocks. [#52737]
134 +- Use logical CSS properties in Settings, Dashboard, and Jetpack AI styles so layouts mirror in right-to-left languages. [#52750]
135 +- VideoPress: Add a trim and cut editor with preview, undo and original video restoration, behind the `jetpack_videopress_trim_cut` filter. [#52857]
82 136
83 -## 16.2-a.5 - 2026-09-01
137 +## 16.3-a.3 - 2026-09-21
84 138 ### Enhancements
139 +- Activity Log: Make it a Jetpack module so it can be turned on and off from My Jetpack, hiding the sidebar entry when off. [#49591]
140 +- AI: Hide the legacy AI panel once a site is eligible to turn on the WordPress Agent, and offer to open or enable the Agent in its place. [#51819]
141 +- AI: Serve the Jetpack AI page through the standard Jetpack admin frame. [#52411]
142 +- AI: Show one notice explaining why Jetpack AI is unavailable, worded the same on the Overview and AI Features tabs. [#52260]
143 +- Daily Writing Prompt: Stop offering the Write editor after a switch to the Block editor. [#52230]
144 +- Donations Form: Replace the "Accept Donations with Stripe" modal with a link to Stripe's donation requirements. [#52313]
145 +- Forms: Add a "Done" button to the conditional logic rules dialog, and open the Conditional logic panel by default on a field that has conditions. [#52347]
146 +- Forms: Reopen the dashboard on the last tab used instead of always the default. [#52249]
147 +- My Jetpack: Show the dashboard in the new rounded admin page frame. [#52446]
148 +- My Jetpack: Show the Jetpack menu notification badge when a connection error is detected. [#52332]
149 +- Newsletter: Show the email itself in the email design canvas, and limit editing there to the Styles panel. [#52283]
150 +- Search: Show each of the No Results block's empty-state messages as it will appear to visitors while editing, and tell the messages apart by name when browsing the page structure. [#51530]
151 +- Settings: Open the Instagram Business help link as the WordPress.com support doc inside the Help Center on WordPress.com sites. [#52436]
152 +- Stats: Hide WordPress admin notices on the Stats dashboard, and let hosts show or hide the Stats sidebar entry. [#52351]
153 +- VideoPress: Add a setting to render players from one shared player script instead of one frame per video. [#52244] [#52011] [#52052]
154 +
155 +### Bug fixes
156 +- Charts: Fix keyboard focus and tooltip selection. [#50140] [#52234]
157 +- Dashboards: Stop the frame from flashing while loading and when switching admin pages. [#52235]
158 +- Fix Jetpack admin pages and Jetpack blocks in the editor failing to load on WordPress.com-hosted sites. [#52362]
159 +- Forms: Open the Forms tab when it is requested directly instead of falling back to Responses. [#52249]
160 +- Heartbeat: Prevent fatal errors when another plugin loads an older Connection package. [#52390]
161 +- Jetpack Manage: Only show the sidebar link to agency accounts. [#52336]
162 +- My Jetpack: Restore the link from the stats card heading and chart to the Stats page. [#52121]
163 +- SEO: Fix the Settings tab failing to load after a page title structure was cleared from WordPress.com. [#52100]
164 +- Site Verification: Reject invalid verification codes instead of reporting a successful save. [#52238]
165 +- Social: Pre-fill the Bluesky handle field when reconnecting an account. [#52187]
166 +- Social: Show contextual messages on the dashboard again. [#52471]
167 +- VideoPress: Keep the video editor footer at the bottom of the page. [#52489]
168 +- VideoPress: Show specific validation messages for chapters entered in video descriptions. [#52488]
169 +
170 +### Other changes <!-- Non-user-facing changes go here. This section will not be copied to readme.txt. -->
171 +- Admin pages: Link the footer to the My Jetpack Features tab when it replaces the Products tab. [#52346]
172 +- Modules: Keep a module's name and description when no translation entry exists for it. [#52469]
173 +- PayPal Payment Buttons: Add a PayPal account menu to the top of the block settings sidebar. [#52509]
174 +- PayPal Payment Buttons: Add a Product ID field, shipping and handling fees, a discount, and flat-amount tax to payment links. [#52301]
175 +- PayPal Payment Buttons: Keep a block's payment link at PayPal when the block is removed. [#52463]
176 +- PayPal Payment Buttons: Show a notice when opening a post picks up changes made to the payment link elsewhere. [#52302]
177 +- PayPal Payment Buttons: Show a saved payment link's details in the block settings sidebar instead of its edit form. [#52372]
178 +- PayPal Payment Buttons: Show the result of deleting a link, disconnecting, or picking an existing link in a snackbar. [#52464]
179 +- PayPal Payment Buttons: Stop a save overwriting payment link settings before the block has loaded them, and keep a value edited while the link is still loading. [#52418]
180 +- Premium Analytics: Add post thumbnails to the Posts & Pages report, and show opens and clicks beside their rates in Latest emails sent. [#52384] [#52256]
181 +- Premium Analytics: Expand the Earnings history report with payment status, sponsored content and adjustment earnings, and link the Earnings History widget to it. [#52327] [#52437] [#52389] [#52420]
182 +- Premium Analytics: Group the WordAds chart by the selected period, add a line or bar chart toggle, and rename the WordAds widgets. [#52483] [#52511] [#52421]
183 +- Premium Analytics: Improve post detail navigation, and draw attention to the date control when a card or table cell sets the period. [#52255] [#52320] [#52430]
184 +- Premium Analytics: Let hosts show or hide the Analytics sidebar entry. [#52351]
185 +- Premium Analytics: Move the Subscribers date range control onto the Subscriber summary chart, and rework the Subscriber highlights card. [#52421] [#52310] [#52413]
186 +- Premium Analytics: Refine the Insights post cards and the leaderboard row labels. [#52319] [#52317]
187 +- Premium Analytics: Replace the daily heatmap on the Insights tab with a Views over years table, and refine heatmap styling and keyboard navigation. [#52217] [#52364] [#52369] [#52259] [#52309]
188 +- Premium Analytics: Show Posting activity's last 12 months as one mini calendar per month. [#52265]
189 +- Premium Analytics: Show the Insights tab beside Traffic while the site is running the Stats preview. [#52525]
190 +- Sites: Expose `is_legacy_gating_site` so clients can tell whether a plan change would move the site off the pre-2026 feature gating. [#52467]
191 +- Update package dependencies. [#49934] [#52187] [#52401] [#52402]
192 +- VideoPress: Refine the welcome modal and empty-library dropzone text, and drop the duplicate header Upload button while the dropzone is showing. [#52061]
193 +
194 +## 16.3-a.1 - 2026-09-15
195 +### Enhancements
196 +- Admin Menu: Hide feature menu items from sidebar when features are turned off. [#52156]
197 +- AI: Add ChatGPT and Codex setup instructions to the MCP agent setup page. [#51911]
198 +- AI: Load the "Scheduled tasks" tab only when it is opened, cutting the AI page script by two thirds. [#51969]
199 +- Connection: Show an admin notice and a clearer Site Health result when WordPress.com cannot verify the site's SSL certificate. [#52035]
200 +- Connection: Show every connection error in one notice, each with the account it affects, and link to Site Health when a firewall is blocking WordPress.com. [#51504]
201 +- Likes: Guide block-theme users from legacy Like buttons to the Like block in Jetpack Settings and My Jetpack. [#52198] [#52205]
202 +- Newsletter: Add a "Freshly Pressed" tab to the Daily Writing Prompt dashboard widget, listing the posts WordPress.com is currently featuring. [#52077]
203 +- Newsletter: Add an Overview dashboard for getting started and finding guides. [#52119]
204 +- Notices: Render Jetpack admin and My Jetpack dashboard notices with the WordPress design system Notice component. [#52015] [#52290]
205 +- VideoPress: Add a "Learn more" support link to the admin page. [#52111]
206 +- VideoPress: Show video library thumbnails in a 16:9 aspect ratio. [#52318]
207 +- VideoPress: Use the shared in-page player on sites that return `false` from the `jetpack_videopress_player_use_iframe` filter, instead of one inline script per video. [#52242]
208 +
209 +### Bug fixes
210 +- Admin: Match the Jetpack menu logo's first paint to the active admin color scheme. [#52086] [#52303]
211 +- Charts: Fix unreadable axis labels in high-contrast (forced colors) mode. [#52268]
212 +- Charts: Return keyboard focus to line and area charts after closing a tooltip with Escape. [#52284]
213 +- Charts: Stop the first and last dates on a chart's horizontal axis from being cut off. [#52112]
214 +- Connection: Fix a stale connection error notice that could persist on healthy sites. [#52264]
215 +- Connection: Hide connection error notices from users who cannot fix the connection. [#52049]
216 +- Editor: Stop offering to activate the legacy Likes and Sharing buttons modules on block themes, where the corresponding blocks should be added to a template instead. [#52182]
217 +- Forms: Prevent extra forms from being created when the block placeholder is clicked more than once. [#52099]
218 +- Goodreads: Fix the block rendering empty on the front end of WordPress.com Simple sites. [#52228]
219 +- Likes: Hide the "Loading…" placeholder from the widget itself, so it disappears even when the Likes stylesheet fails to load. [#52154]
220 +- Likes: Load like buttons that a late page reflow brings into view, instead of waiting for the reader to scroll. [#52144]
221 +- Modules: Show other plugins' admin notices above the module list instead of inside it. [#52300]
222 +- My Jetpack: Offer to activate Search, rather than to buy a plan, when the site already owns it and the module is switched off. [#52008]
223 +- Reader: Show the body of a reposted comment instead of an empty quote. [#51903]
224 +- Search: Fix AI Search errors showing a generic server error instead of the real cause. [#52274]
225 +- Search: Fix a leaked scroll handler in Instant Search that could trigger stray page loads after several searches. [#51913]
226 +- Search: Show an upgrade prompt when editing the AI Search block on sites without a paid Search plan. [#52274]
227 +- Sharing: Open the post template instead of the template list when linking to the Site Editor. [#52203]
228 +- Sharing Buttons block: Use an unpredictable name for share popups, matching the classic sharing buttons. [#52292]
229 +- VideoPress: Fix selecting thumbnail frames from private videos and prefer browser-compatible video renditions. [#52158]
230 +
231 +### Other changes <!-- Non-user-facing changes go here. This section will not be copied to readme.txt. -->
232 +- Forms: Deprecate the `jetpack_forms_alpha` filter, which no longer selects anything. [#51395]
233 +- Help Center: Return the Help Center entry point in the site's admin bar data for WordPress.com. [#52226]
234 +- Map block: Ensure the WordPress.com Mapbox key load tracking event is recorded on Simple sites. [#52122]
235 +- Newsletter: Add the email design screen behind a feature flag. [#52055] [#52147] [#52164]
236 +- PayPal Payment Buttons: Add "Button", "Link" and "QR" formats, with a live editor preview and a new "Styles" tab. [#52210] [#51656]
237 +- PayPal Payment Buttons: Add API-managed payment buttons behind a feature flag that is not yet enabled. [#52210]
238 +- PayPal Payment Buttons: Add payment links that sync with PayPal when the post is saved. [#52224] [#51656] [#52329]
239 +- PayPal Payment Buttons: Add PayPal account connection to the block settings sidebar. [#51656] [#52334]
240 +- PayPal Payment Buttons: Add per-option prices, and allow only whole-number prices for currencies that require them. [#51656]
241 +- PayPal Payment Buttons: Fix "Connect with PayPal" always failing with a malformed request error. [#51656]
242 +- PayPal Payment Buttons: Fix "Connect with PayPal" failing with a 404, and create the onboarding referral through WordPress.com so PayPal platform credentials never reach the site. [#51656]
243 +- PayPal Payment Buttons: Log a notice when stored PayPal credentials cannot be decrypted and are removed, instead of removing them silently. [#51656]
244 +- Premium Analytics: Add a map of views by location to the Locations report, with an option to hide it. [#51808]
245 +- Premium Analytics: Add an Ads earnings history report and a fuller Ads chart tooltip. [#52323] [#52262]
246 +- Premium Analytics: Collect feedback on the new Traffic tab preview and improve the onboarding tour. [#52186] [#52109] [#52140] [#52107] [#52325]
247 +- Premium Analytics: Improve highlight tile layout, number formatting and card labels. [#52258] [#52085] [#52254] [#52219] [#52177] [#52306]
248 +- Premium Analytics: Keep the dialog focus ring from being clipped by the dialog footer. [#52110]
249 +- Premium Analytics: Keep the onboarding welcome modal open on a click outside it, so the tour can still be started. [#52095]
250 +- Premium Analytics: Keep the same calendar dates when comparing a range starting on the 1st with the previous year, so "Year to date" in a leap year starts on 1 January rather than 31 December. [#52215]
251 +- Premium Analytics: Move "Customize" into the page options menu and hide the date controls while customizing. [#52176] [#52192]
252 +- Premium Analytics: On the post, page and video detail pages, offer every period the dashboard's date picker does, plus a custom range. [#52087]
253 +- Premium Analytics: Refine the All-time stats, leaderboard and Year in review cards. [#52261] [#52308] [#52307] [#52253]
254 +- Premium Analytics: Replace the post detail heatmap with an "All-time traffic" card, and update the post and video detail pages. [#52127] [#52137] [#52174] [#52190] [#52118]
255 +- Premium Analytics: Show calendar heatmap weekday, month and tooltip labels in the site's language. [#52115]
256 +- Premium Analytics: Simplify the date picker, with "Month to date" and "Year to date" periods and a new custom range calendar. [#52088] [#52090] [#52116] [#52124] [#52108]
257 +- Premium Analytics: Update the default Insights, Ads and Subscribers layouts, and rename Insights to "Site insights". [#52232] [#52216] [#52175] [#52231] [#52253] [#52314]
258 +- SEO: Return saved site verification codes from the site settings API. [#52089]
259 +- Update package dependencies. [#52297]
260 +
261 +## 16.2 - 2026-09-10
262 +### Enhancements
263 +- AI: Add an AI SEO control to the AI settings page. The AI sidebar's SEO suggestions follow it, separately from the automatic-generation setting. [#51380]
264 +- AI: Add a site-wide switch for Jetpack AI on self-hosted sites, preserving explicit opt-outs. [#50718]
265 +- AI: Add a welcome banner to the Overview tab, keep the tab navigation and a back link on MCP sub-pages, and name the MCP connect row by its action for screen readers. [#51783]
85 266 - AI: Add Quick start links for connecting Claude and ChatGPT to the AI Hub Overview. [#51691]
267 +- AI: Hide the AI sidebar when the writing assistant and SEO enhancer toggles are both off. [#50778]
268 +- AI: Hide the Overview and AI Features views on WordPress VIP sites. [#52006]
269 +- AI: Make the AI toolbar button follow the writing assistant toggle. [#50778]
270 +- AI: Make the editor and automatic-generation toggles follow the AI SEO control, preserving saved choices when it is switched off and back on. [#51415]
271 +- AI: Make the Overview and AI Features tabs available on self-hosted sites and apply their controls. [#51909]
272 +- AI: Only show the AI SEO control on sites where the feature it turns on can run. [#51918]
273 +- AI: On sites with the WordPress Agent, replace the "Improve with AI" panel with a dismissible notice pointing to it. [#51388]
86 274 - AI: Rename the admin page and menu item to Jetpack AI, update the page description, and point the "turned off" notice at Jetpack Products. [#51604]
275 +- AI: Return to the Jetpack AI Hub after upgrading from it, and point My Jetpack's AI links at the Hub. [#51756]
276 +- AI: Show a connect-account card on the MCP settings page when the current user is not connected to WordPress.com. [#51822]
87 277 - AI: Show the Learn more link for the Writing Assistant instead of the editor link. [#51703]
278 +- AI: Support the AI Hub on WordPress.com Simple sites. [#51661]
279 +- AI Assistant: Add feature settings controls for Jetpack AI tools. [#50287]
280 +- AI Features: Group the feature toggles into a single Agent capabilities card. [#51167]
281 +- AI settings: Make the Try it out links pre-open their target — the AI Assistant sidebar in the editor, and Image Studio's generate mode in the Media Library. [#50797]
282 +- Akismet: Link the settings page header logo and title to the Akismet settings page. [#51449]
283 +- Blogging Prompts: Mark a post as a prompt answer when it is created through the REST API, so answers written in the Write editor keep their prompt tags and roundup link. [#51671]
88 284 - Boost: Wait up to four minutes for slow speed tests in My Jetpack and At a Glance instead of timing out after two. [#51605]
89 285 - Charts: Follow the WordPress admin color scheme for chart series colors. [#51535]
90 286 - Charts: Update chart grid, axis and label colors immediately when the theme changes. [#51687]
91 287 - Connection: Cache the WordPress.com site record briefly so the Jetpack dashboard does not make a request per view. [#51146]
288 +- Content Guidelines AI: Enable AI guideline suggestions on WordPress VIP sites. [#51391]
92 289 - Forms: Add a guide to the form editor for people new to the block editor. [#51039]
290 +- Forms: Add a Print action to form responses. [#51368]
291 +- Forms: Add form fill duration to feedback entries. [#45786]
93 292 - Forms: Add help text to form fields and show the date field's expected format below its input. [#51122]
94 293 - Forms: Allow a file upload field to accept more than one file. [#51551]
95 294 - Forms: Make form navigation actions real links so they can be opened in a new tab. [#51563]
295 +- Forms: On small screens, show only the response and its actions instead of a table that scrolls sideways. [#51448]
296 +- Forms: On small screens, the View action now opens a response the same way tapping its title does. [#51486]
96 297 - Forms: Remember which response columns are shown, and their order, for each form. [#51615]
97 298 - Forms: Rewrite the missing forms modal to reassure people that forms already on their pages keep working, and spell out the steps to add them to the list. [#47568]
98 -- AI: Add an AI SEO control to the AI settings page. The AI sidebar's SEO suggestions follow it, separately from the automatic-generation setting. [#51380]
99 -- AI: Make the editor and automatic-generation toggles follow the AI SEO control, preserving saved choices when it is switched off and back on. [#51415]
100 -- AI: On sites with the WordPress Agent, replace the "Improve with AI" panel with a dismissible notice pointing to it. [#51388]
101 -- AI: Return to the Jetpack AI Hub after upgrading from it, and point My Jetpack's AI links at the Hub. [#51756]
102 -- AI: Support the AI Hub on WordPress.com Simple sites. [#51661]
299 +- Forms: Show each form field as a column when viewing a single form's responses. [#51448]
300 +- Forms: Show progress while a new form's editor opens, and report it when creating a form fails. [#51371]
301 +- Map Block: Add support for wide and full width alignments. [#50818]
103 302 - My Jetpack: Allow the Automattic for Agencies banner to be dismissed. [#51441]
104 -- Premium Analytics: Add a year dropdown to the Year in review (Highlights) widget header, defaulting to the current year, and drop its metric selector so the card always shows posts, words, likes, and comments. [#51638]
105 -- Premium Analytics: Add breathing room above and below the Top locations map. [#51593]
106 -- Premium Analytics: Add the Most popular day widget to the default Insights layout, and say in its help note that its figures are all-time. [#51645]
107 -- Premium Analytics: Add the Most popular time card to the default Insights layout. [#51636]
108 -- Premium Analytics: Add total and per-post image counts to the Annual insights report. [#51747]
109 -- Premium Analytics: Build the comparison menu from the applied date range and restore the same-period-last-week option. [#51779]
110 -- Premium Analytics: Chart interval control: name the active interval in the button's tooltip, and give its menu a heading. [#51770]
111 -- Premium Analytics: Click a point on the Traffic chart to narrow the dashboard to that period. [#51544]
112 -- Premium Analytics: Date range control: name a custom range covering a whole month or year by that period, and spell the dates out in the button's tooltip. [#51817]
113 -- Premium Analytics: Divide a widget's metrics with lines instead of boxing each one. [#51749]
114 -- Premium Analytics: Fold the video detail highlight metrics into the Video performance chart as selectable tabs. [#51501]
115 -- Premium Analytics: Give shared leaderboard rows one row height, bar radius, and link hover. [#51595]
116 -- Premium Analytics: Lead the post and video detail date presets with All time and match the selected preset to the design. [#51533]
117 -- Premium Analytics: Match the Most viewed and Videos leaderboard row labels to the other widgets. [#51599]
118 -- Premium Analytics: Match the remaining leaderboard row labels to the other widgets. [#51602]
119 -- Premium Analytics: Move the Ads date range into the WordAds card's own header, and drop the section header's date filter. [#51543]
120 -- Premium Analytics: Post detail: the email tabs' opens and clicks timelines cover the first 30 days after the send instead of the page date filter, which no longer shows there; the other email cards stay all-time. [#51547]
121 -- Premium Analytics: Remove the date configuration subtitle from the section header. [#51707]
122 -- Premium Analytics: Remove the page descriptions from the dashboard and report pages. [#51707]
123 -- Premium Analytics: Rename the Top pages CSV comparison column to "Views (Previous Period)" and move it after the primary columns. [#51705]
124 -- Premium Analytics: Retitle the Popular post card to "Most popular post in the last 12 months" and pin it to the last 12 months. [#51649]
125 -- Premium Analytics: Shorten the Popular post card title so it survives a narrow dashboard cell. [#51746]
126 -- Premium Analytics: Show all-time views, visitors, and posts in the default Insights layout. [#51635]
127 -- Premium Analytics: Tighten the Latest subscribers rows so more subscribers fit the widget. [#51597]
128 -- Premium Analytics: Tighten the spacing between leaderboard rows. [#51540]
129 -- Premium Analytics: Turn the dashboard period comparison off by default. [#51771]
303 +- Newsletter: Explain why the Everyone audience is unavailable when a post has a paywall block, instead of linking to the block. [#51394]
304 +- Newsletter: Let editors preview email with only a site connection while continuing to require a user connection for test emails. [#50777]
305 +- Newsletter: Rename the Access panel to Audience, describe who can read each post, and link out to set up paid subscribers. [#51262]
306 +- Podcast: Add a setting for how many episodes the podcast feed includes. [#51247]
307 +- Podcast: Replace the stats date range picker with one built on the WordPress design system calendar. [#51902]
308 +- Podcast: Split the Distribution directories into Automatic and Manual submission, explain why a disabled button is disabled, and link to your Pocket Casts show once it is live. [#48917]
130 309 - Search: Preserve the saved AI Answers choice while site-wide AI is off, disable unavailable controls, and honor the host AI opt-out in the AI Answer block. Require Instant Search to enable AI Answers. [#51538]
310 +- Search Blocks: Add a customizable No Results block while continuing to render existing Results List messages. [#51164]
311 +- Sidebar: Sort Jetpack menu items alphabetically, pinning My Jetpack to the top and external links and Settings to the bottom. [#52003]
131 312 - Sitemaps: Speed up sitemap generation and reduce its memory use on sites with many posts and images. [#49498]
132 -- Stats: Use the page-level chart interval for the Traffic summary chart. [#51532]
313 +- Stats: Show the Stats dashboard before the site is connected to WordPress.com, so a plan can be picked and the site connected from there. [#51200]
314 +- Subscriptions: Remove the transitional Subscribers announcement page and redirect its URL to Newsletter. [#51906]
133 315 - VideoPress: Add a first-run welcome modal to the dashboard. [#51520]
316 +- VideoPress: Add a site-wide setting to turn off player preloading for every embed. [#51991]
134 317 - VideoPress: Invite the first upload with a dropzone when the video library is empty. [#51717]
318 +- VideoPress: Open the file picker directly from the dashboard welcome modal's Upload a video button, then land on the Library to follow the upload's progress. [#51791]
319 +- VideoPress: Redesign the video details page with grouped details, a wider layout, side-by-side player and settings, thumbnail tiles, collapsible sections, and an Add to content action. [#51480]
135 320
136 321 ### Improved compatibility
137 322 - CSV import and export in Forms and Stats now process data containing backslashed quotation marks as specified in the relevant standard. [#51572]
138 -- Updated PHP version requirements to PHP 7.4 or newer. [#51515]
323 +- Tested up to WordPress 7.1. [#51370]
324 +- Update minimum PHP version to 7.4. [#51515]
325 +- Update minimum WordPress version to 7.0. [#51370]
139 326
140 327 ### Bug fixes
141 328 - Activity Log: Ensure table content wraps neatly onto a new line if long. [#51600]
142 329 - Admin bar: Fix a fatal error when the endpoint's global `$wp_admin_bar` is null. [#51720]
@@ -141,173 +328,64 @@
141 328 - Activity Log: Ensure table content wraps neatly onto a new line if long. [#51600]
142 329 - Admin bar: Fix a fatal error when the endpoint's global `$wp_admin_bar` is null. [#51720]
143 330 - Admin dashboards: Continue the wp-admin menu color behind the page frame on WordPress.com and third-party admin color schemes. [#51619]
144 331 - Admin dashboards: Keep the page header and content in view when the wp-admin menu is taller than the window. [#51696]
145 -- AI: Render scheduled task results as Markdown. [#51319]
332 +- Admin pages: Fix Jetpack dashboards overlapping the admin menu in right-to-left languages. [#51963]
333 +- AI: Auto-activate the AI module on sites running a 16.2 prerelease build. [#51528]
334 +- AI: Keep the editor working when another plugin loads an older copy of the Status package. [#51494]
146 335 - AI: Prevent saving the General Settings page from turning off Jetpack AI features. [#51833]
336 +- AI: Show connection notices instead of raw connection errors on the MCP settings page when the site or the current user is not connected to WordPress.com. [#51760]
337 +- AI Assistant: Scroll the Form block's AI prompt into view when it opens, so it no longer sits over the form. [#51079]
338 +- At a Glance: Stop requesting a new speed score on sites that already have Boost. [#51711]
147 339 - Backup: Fix the backup overview ability reporting no storage usage, storage limit or backup time. [#51684]
148 340 - Backup: Show a failure message when your backup status cannot be read, rather than the screen that says your first backup is on its way, and let the "Back up now" button recover when a backup could not be queued. [#51625]
149 341 - Backup: Show storage usage and the plan limit the right way round when the interface is translated. [#51664]
150 -- Blocks: Keep blocks that load outside the post editor available in front-end block editors such as P2, by never deferring their registration. See JETPACK-1747. [#49926]
151 -- Blogging Prompts: Scope the endpoint's query filters to the prompts query so they no longer modify unrelated queries (e.g. Gutenberg global styles lookups) run while prompts are being rendered. [#51794]
342 +- Blocks: Keep blocks that load outside the post editor available in front-end block editors such as P2, by never deferring their registration. [#49926]
343 +- Blocks: Treat WordPress.com public API requests as a block-editor context so editor-only extensions load, restoring block plan availability (such as the core/video upgrade nudge) in the mobile editor. [#50819]
344 +- Blogging Prompts: Prevent prompt rendering from interfering with other page content. [#51794]
345 +- Boost: Stop At a Glance re-testing the site speed when a recent score is already stored for the site's URL. [#51709]
152 346 - Carousel: Keep the loading overlay hidden when the module stylesheet is missing. [#51546]
347 +- Charts: Draw labels at the design system's font weight and size. [#51452]
348 +- Charts: Keep chart tooltips under sticky and fixed page elements. [#51640]
349 +- Charts: Use the site's time zone and locale for line and area chart date ticks, hourly labels, and tooltips. [#51813]
350 +- Comments: Improve security in social comment avatar rendering. [#51824]
351 +- Connection: Show the reason a site registration failed, in cases where the notice was incomplete or did not appear at all. [#51894]
352 +- Connection: Stop showing a duplicate account notice when your WordPress.com email differs from your site email only in letter case. [#51285]
353 +- Connection: Update wording for some connection error notices. [#51360]
153 354 - Contact Form: Bind the posted form id to the signed form when validating a token-authenticated submission. [#51510]
355 +- Contact Form: Remove the classic-theme editor margin between a field's label and its input. [#51527]
356 +- Content Guidelines AI: Keep the empty-state banner from painting over the sticky page header while scrolling. [#51137]
357 +- Editor: Refresh the cached plan when returning from a plan purchase so paid blocks (such as the Forms file upload field) stop showing their upgrade nudge once the plan is active. [#50324]
358 +- Editor: Restore active module state for module-dependent features. [#51888]
359 +- External Media: Improve validation for media copy requests.
360 +- Fix the premium block upgrade banner rendering collapsed and too narrow on the site frontend. [#50873]
361 +- Forms: Allow a single response to scroll when it is taller than the screen. [#51486]
362 +- Forms: Apply the name typed when creating a form, and stop a dismissed save from reporting into a reopened dialog. [#51371]
154 363 - Forms: Cancel in-flight uploads and release previews when a form containing a file upload field is reset. [#51183]
155 364 - Forms: Fix checkbox and consent field alignment in the editor on classic themes. [#51560]
156 365 - Forms: Fix several problems with adding more than one file at once to the file upload field, and with uploads that stall or fail. [#51549]
366 +- Forms: Fix the first change made to a form after opening a page being discarded when saving. [#51393]
157 367 - Forms: Fix the form editor welcome guide artwork not loading on WordPress.com Simple sites. [#51682]
368 +- Forms: Improve accessibility of image options in the form submission summary. [#51781]
158 369 - Forms: Keep an option's label when switching it to the "Other" option. [#51628]
159 370 - Forms: Keep one column per form field on a form's responses when a field is moved, and read every answer from the field it belongs to. [#51615]
160 371 - Forms: Keep prev/next working on a single response after marking it as spam or trash, open responses instantly from the list, and add keyboard shortcuts for triaging responses. [#51670]
372 +- Forms: Keep response field icons and formatting after marking a response as spam. [#51288]
161 373 - Forms: Keep the remaining files when a folder or dragged text is included in a multi-file drop on the file upload field. [#51183]
162 374 - Forms: Let screen readers announce a date field's own label instead of the date picker instructions. [#51406]
375 +- Forms: Make Group and Columns blocks fill the form width so nested fields render full-width. [#51266]
376 +- Forms: Preserve line breaks in multi-line answers in the responses dashboard. [#51369]
377 +- Forms: Prevent an error that could stop responses from loading when a file upload field was stored without any file data. [#51485]
163 378 - Forms: Prevent a new choice option from inheriting the previous option's label when pressing Enter. [#51628]
164 379 - Forms: Remove an uploaded file from the form immediately instead of waiting for the server, so a slow connection no longer leaves the file upload field looking stuck. [#51183]
380 +- Forms: Restore multi-page printing of a single response. [#52096]
165 381 - Forms: Restore the Integrations button in the Form block toolbar when the settings sidebar is closed. [#51630]
382 +- Forms: Scroll a single response from the page edge instead of from inside the reading column. [#52096]
383 +- Forms: Show an empty checkbox icon next to checkbox fields the respondent left unchecked, instead of always showing a ticked one. [#51293]
384 +- Forms: Show a selected response beside the responses list again instead of below it. Also fixes the same sidebar layout on the Newsletter and SEO dashboards. [#52096]
166 385 - Forms: Space out the files listed on a response and line their download buttons up on one edge. [#51734]
167 386 - Forms: Stop uploading a file that was removed while its upload was still being prepared. [#51183]
168 387 - Forms: Validate a required phone field with a default country against what the input actually shows, so it can no longer be submitted empty. [#51183]
169 -- AI: Show connection notices instead of raw connection errors on the MCP settings page when the site or the current user is not connected to WordPress.com. [#51760]
170 -- My Jetpack: Keep the Automattic for Agencies banner hidden after dismissing it and switching tabs. [#51441]
171 -- My Jetpack: Stop repeating the partner lookup request on every page load. [#51441]
172 -- Newsletter: Hide the "View delivery details" stats link in the publish panels when the Stats module is disabled, so the copy no longer points to an unavailable page. [#51552]
173 -- Newsletter: Prevent unsupported date filtering on the Subscribers page. [#51782]
174 -- Podcast: Scope the generated episodes list to the posts the current user can edit, matching the Posts screen. [#51816]
175 -- Premium Analytics: Align title link styling across widgets: external video rows gain the standard outbound marker, long titles no longer clip it, and hover underlines cover only the title text. [#51534]
176 -- Premium Analytics: Drop the Last 24 hours range from the WordAds card, which has no hourly data to chart. [#51633]
177 -- Premium Analytics: Fall back to the last page of a table instead of reporting no results when a date range returns fewer rows than the current page. [#51755]
178 -- Premium Analytics: Fix the email opens/clicks timeline charting hours outside the selected window. [#51588]
179 -- Premium Analytics: Fix the Subscribers summary help text to describe the cumulative subscriber total the chart plots, not new subscribers. [#51697]
180 -- Premium Analytics: Include the last day of the selected range in the WordAds card. [#51751]
181 -- Premium Analytics: Keep the custom range Apply button disabled when re-selecting "No comparison". [#51764]
182 -- Premium Analytics: Keep the Year in review report link reachable. [#51747]
183 -- Premium Analytics: Link a subscriber's name to their subscriber details page. [#51634]
184 -- Premium Analytics: Most popular day gives its Day and Views labels the weight the design has them at and the heading structure a screen reader can navigate, states a share of views only when there is an all-time total to take it from, and drops the Retry a reader without stats access cannot use. [#51645]
185 -- Premium Analytics: Post detail: stop the Post traffic layout from flashing when an email tab is opened directly, and show placeholder lines in the header while the title loads. [#51805]
186 -- Premium Analytics: Print Tags & categories view counts in full, and list far more rows in its report. [#51646]
187 -- Premium Analytics: Print the Annual insights words-per-post average whole, as the old Stats report does. [#51747]
188 -- Premium Analytics: Remove the quarterly chart interval option, which never changed the chart. [#51631]
189 -- Premium Analytics: Show abbreviated month names on chart x-axes in line and area views. [#51531]
190 -- Premium Analytics: Show a notice when a refresh fails, instead of silently leaving the previous numbers on screen. [#51383]
191 -- Premium Analytics: Show email subject lines with characters like "&" instead of their HTML codes. [#51596]
192 -- Premium Analytics: Show the Most popular time day and hour in the site's locale. [#51636]
193 -- Premium Analytics: Show the most recent subscribers in the Latest subscribers widget. [#51598]
194 -- Premium Analytics: Show the whole Most popular day card on a short tile instead of clipping it. [#51645]
195 -- Premium Analytics: Show titles and names with characters like "&" instead of their HTML codes. [#51632]
196 -- Premium Analytics: Stop the Ads chart interval menu offering buckets the WordAds chart cannot draw. [#51639]
197 -- SEO: Stop the search-engine indexing toggle from publishing a private or coming-soon site. [#51778]
198 -- SEO Tools: Fix og:description leaking the first post's custom SEO description on archive and latest-posts homepage views. [#50911]
199 -- Stats: Fix access for users whose allowed role is not their first assigned role. [#51514]
200 -- Tiled Gallery: Remove the forced gray background on images that made transparent areas appear gray. [#49196]
201 -- VideoPress: Fix private video playback authorization for videos embedded through synced patterns and Video Playlist blocks, let private videos preview in the block editor canvas, load live metadata for private playlist entries for authorized viewers, and show a lock placeholder on playlist thumbnails of private videos the viewer cannot access. [#51569]
202 -- VideoPress: Say when a video upload failed because of a Jetpack connection problem, instead of only "Upload failed". [#51541]
203 -- VideoPress: Say when a video upload from the Video block failed because of a Jetpack connection problem, instead of only "Failed to upload your video". [#51541]
204 -- VideoPress: Show the Jetpack connection error notice on the VideoPress dashboard again. [#51541]
205 -
206 -### Other changes <!-- Non-user-facing changes go here. This section will not be copied to readme.txt. -->
207 -- Admin Bar endpoint: Expose the Agents Manager help and Ask AI nodes. [#51657]
208 -- AI: Record Tracks events for Overview tab views and walkthrough video clicks. [#51606]
209 -- AI: Add an internal Scheduled tasks view to Jetpack AI Hub. [#51319]
210 -- AI: Add an Overview tab for internal testing environments. [#51109]
211 -- AI: Send usage events from Jetpack AI Hub on self-hosted sites. [#51745]
212 -- AI Features: Point the AI Search "Open Search Settings" link at the AI tab of the Search dashboard. [#51689]
213 -- AI Hub: Show the Overview connection notices without a surrounding card, matching the WordPress Agent tab. [#51692]
214 -- Deprecate `jetpack_shim_setcookie()` function. PHP 7.4+'s `setcookie()` can be used directly. [#51575]
215 -- Newsletter: Add an endpoint serving the email design editor's data. [#51525]
216 -- Premium Analytics: Remove the settings drawer from the post detail Email highlights and Email breakdown cards; their metric and view are fixed by the tab layout. [#51659]
217 -- Register the jetpack-ai-jwt REST route through the shared Connection controller so the route is only registered once. [#51761]
218 -- Sharing: Reduce the inline JavaScript on posts with sharing buttons by opening every share popup from one shared click handler. [#51299]
219 -- Update package dependencies. [#51303] [#51802]
220 -
221 -## 16.2-a.3 - 2026-08-25
222 -### Enhancements
223 -- Akismet: Link the settings page header logo and title to the Akismet settings page. [#51449]
224 -- Forms: On small screens, show only the response and its actions instead of a table that scrolls sideways. [#51448]
225 -- Forms: On small screens, the View action now opens a response the same way tapping its title does. [#51486]
226 -- Forms: Show each form field as a column when viewing a single form's responses. [#51448]
227 -- Forms: Show progress while a new form's editor opens, and report it when creating a form fails. [#51371]
228 -- My Jetpack: Show what Paid Stats actually adds — UTM tracking, device stats, and region & city locations — instead of commercial use. [#51410]
229 -- Premium Analytics: Add an Ads dashboard section showing WordAds earnings and performance. [#51422]
230 -- Premium Analytics: Add referrer groups that open folded and expand on demand in the Referrers report. [#51465]
231 -- Premium Analytics: Click Visitors in the Traffic chart legend to compare it against Views without leaving the metric. Chart legends now name the metric rather than the date range. [#51468]
232 -- Premium Analytics: Name comparison dates in the dashboard header, omit weekdays from ranges longer than a week, and omit the year when it matches the current range. [#51420]
233 -- Premium Analytics: Offer only the groupings the selected date range supports in the chart's Group by control. [#51446]
234 -- Premium Analytics: Show the latest emails sent as a plain list of subjects and rates. [#51425]
235 -- Stats: Add a Popular hours widget showing the busiest hour and its daily average views. [#51239]
236 -- Stats: Link the post list views column to the analytics post detail page when the new dashboard is enabled. [#51357]
237 -- Stats: Set the chart interval once for the whole page instead of per chart widget. [#51278]
238 -- VideoPress: Redesign the video details page with grouped details, a wider layout, side-by-side player and settings, thumbnail tiles, collapsible sections, and an Add to content action. [#51480]
239 -
240 -### Bug fixes
241 -- AI: Auto-activate the AI module on sites running a 16.2 prerelease build. [#51528]
242 -- AI: Keep the editor working when another plugin loads an older copy of the Status package. [#51494]
243 -- Charts: Draw labels at the design system's font weight and size. [#51452]
244 -- Contact Form: Remove the classic-theme editor margin between a field's label and its input. [#51527]
245 -- Forms: Allow a single response to scroll when it is taller than the screen. [#51486]
246 -- Forms: Apply the name typed when creating a form, and stop a dismissed save from reporting into a reopened dialog. [#51371]
247 -- Forms: Prevent an error that could stop responses from loading when a file upload field was stored without any file data. [#51485]
248 -- My Jetpack: Always label the license activation link "Activate a license", including on sites with a plan but no activated licenses. [#51283]
249 -- My Jetpack: Stop the Stats dashboard from asking which plan you want again after Start for Free was already chosen. [#51413]
250 -- Premium Analytics: Compare date ranges against a previous month or year of the same length while keeping whole-calendar-month comparisons aligned by month. [#51469]
251 -- Premium Analytics: Compute date-filter day boundaries in the site's timezone, so visitors west of the site timezone no longer get stretched ranges or wrong chart buckets. [#51419]
252 -- Premium Analytics: Fix charts getting stuck on their loading skeleton after switching a control that turns one of the underlying requests off. [#51443]
253 -- Premium Analytics: Fix report and chart dates that could read a day off for sites away from UTC. [#51499]
254 -- Premium Analytics: Label chart points by the bucket they name rather than by the viewer's time zone, and format axis ticks and tooltips at the series' declared bucket size. [#51445]
255 -- Premium Analytics: Label Subscribers chart and email timeline points by the bucket they name rather than by the viewer's time zone. [#51499]
256 -- Premium Analytics: Show the dashboard right away instead of a sync screen, and flag the Store section's numbers as incomplete while store data is still syncing. [#51279]
257 -- Premium Analytics: Start the Traffic chart's Group by control from the dashboard's interval, and replace Auto with hourly grouping. [#51446]
258 -- Stats: Keep excluding a visitor IP address from tracking when it is written in another form. [#51349]
259 -- Stats: Report the same visitor address the rest of Jetpack resolves on sites with a trusted IP header configured. [#51349]
260 -- Stats: Stop recording a malformed visitor IP address. [#51349]
261 -- VideoPress: Fix a timeout error when updating a video poster from the media library. [#51479]
262 -
263 -### Other changes <!-- Non-user-facing changes go here. This section will not be copied to readme.txt. -->
264 -- Comments: Load the rebuilt Jetpack Comments form in place of the iframed one when the `jetpack_comments_new_hotness` filter returns true. [#51466]
265 -
266 -## 16.2-a.1 - 2026-08-20
267 -### Major Enhancements
268 -- Update minimum WordPress version to 7.0. [#51370]
269 -
270 -### Enhancements
271 -- AI: Add a Jetpack AI module as the site-wide master switch on self-hosted and Atomic, preserving explicit opt-outs. [#50718]
272 -- AI: Hide the AI sidebar when the writing assistant and SEO enhancer toggles are both off. [#50778]
273 -- AI: Make the AI toolbar button follow the writing assistant toggle. [#50778]
274 -- AI Assistant: Add feature settings controls for Jetpack AI tools. [#50287]
275 -- AI Features: Group the feature toggles into a single Agent capabilities card. [#51167]
276 -- AI settings: Make the Try it out links pre-open their target — the AI Assistant sidebar in the editor, and Image Studio's generate mode in the Media Library. [#50797]
277 -- Content Guidelines AI: Enable AI guideline suggestions on WordPress VIP sites. [#51391]
278 -- Forms: Add a Print action to form responses. [#51368]
279 -- Forms: Add form fill duration to feedback entries. [#45786]
280 -- Map Block: Add support for wide and full width alignments. [#50818]
281 -- Newsletter: Explain why the Everyone audience is unavailable when a post has a paywall block, instead of linking to the block. [#51394]
282 -- Newsletter: Rename the Access panel to Audience, describe who can read each post, and link out to set up paid subscribers. [#51262]
283 -- Podcast: Add a setting for how many episodes the podcast feed includes. [#51247]
284 -- Podcast: Split the Distribution directories into Automatic and Manual submission, explain why a disabled button is disabled, and link to your Pocket Casts show once it is live. [#48917]
285 -- Premium Analytics: Clarify traffic chart time-axis labels and bar tooltip periods. [#51274]
286 -- REST API: Add the `atomic_email_block` field to the site endpoint response. [#51038]
287 -- Search Blocks: Add a customizable No Results block while continuing to render existing Results List messages. [#51164]
288 -- Stats: Show the Stats dashboard before the site is connected to WordPress.com, so a plan can be picked and the site connected from there. [#51200]
289 -
290 -### Improved compatibility
291 -- Tested up to WordPress 7.1. [#51370]
292 -
293 -### Bug fixes
294 -- AI Assistant: Scroll the Form block's AI prompt into view when it opens, so it no longer sits over the form. [#51079]
295 -- Blocks: Fix an infinite refresh loop in the Goodreads block editor that regenerated the widget ID on every re-render and hammered the REST API. [#51150]
296 -- Blocks: Restrict Goodreads scripts to the expected Goodreads widget endpoints. [#51150]
297 -- Blocks: Treat WordPress.com public API requests as a block-editor context so editor-only extensions load, restoring block plan availability (such as the core/video upgrade nudge) in the mobile editor. [#50819]
298 -- Connection: Stop showing a duplicate account notice when your WordPress.com email differs from your site email only in letter case. [#51285]
299 -- Connection: Update wording for some connection error notices. [#51360]
300 -- Content Guidelines AI: Keep the empty-state banner from painting over the sticky page header while scrolling. [#51137]
301 -- Editor: Refresh the cached plan when returning from a plan purchase so paid blocks (such as the Forms file upload field) stop showing their upgrade nudge once the plan is active. [#50324]
302 -- Escape the Premium Content block login button label on output. [#51150]
303 -- Fix the premium block upgrade banner rendering collapsed and too narrow on the site frontend. [#50873]
304 -- Forms: Fix the first change made to a form after opening a page being discarded when saving. [#51393]
305 -- Forms: Keep response field icons and formatting after marking a response as spam. [#51288]
306 -- Forms: Make Group and Columns blocks fill the form width so nested fields render full-width. [#51266]
307 -- Forms: Preserve line breaks in multi-line answers in the responses dashboard. [#51369]
308 -- Forms: Show an empty checkbox icon next to checkbox fields the respondent left unchecked, instead of always showing a ticked one. [#51293]
309 -- Harden the subscriber authentication endpoint so it only redirects within the current site. [#51150]
310 388 - Heartbeat: Restore identity crisis reporting in the WP-CLI status command. [#51196]
311 389 - Likes: Fix Like buttons sometimes getting stuck on "Loading…" and never appearing. [#51113]
312 390 - Likes: Include public custom post types in default visibility settings so Likes and Comment Likes render on CPTs without requiring manual configuration. [#49299]
313 391 - Likes: Keep Settings > Sharing available when sharing buttons are turned off, so the Likes and Comment Likes settings stay reachable. [#51335]
@@ -313,51 +391,86 @@
313 391 - Likes: Keep Settings > Sharing available when sharing buttons are turned off, so the Likes and Comment Likes settings stay reachable. [#51335]
314 392 - Likes: Rename the settings heading on Settings > Sharing to reflect what it holds when sharing buttons are off. [#51335]
315 393 - Map Block: Remove the duplicate alignment toolbar in the editor. [#51429]
316 394 - Media API: Restrict the edit endpoints to attachments, so they no longer accept ordinary post IDs. [#51192]
317 -- Memberships: Ensure the configured post access level is evaluated correctly before authorizing access to paywalled content. [#51150]
395 +- My Jetpack: Always label the license activation link "Activate a license", including on sites with a plan but no activated licenses. [#51283]
396 +- My Jetpack: Keep the Automattic for Agencies banner hidden after dismissing it and switching tabs. [#51441]
397 +- My Jetpack: Show the right product status as soon as fresher plan data is available, instead of reusing an earlier lookup. [#52009]
398 +- My Jetpack: Stop repeating the partner lookup request on every page load. [#51441]
399 +- My Jetpack: Stop the Stats dashboard from asking which plan you want again after Start for Free was already chosen. [#51413]
400 +- Newsletter: Hide the "View delivery details" stats link in the publish panels when the Stats module is disabled, so the copy no longer points to an unavailable page. [#51552]
318 401 - Newsletter: Make the post-publish email confirmation more visible. [#51053]
402 +- Newsletter: Prevent unsupported date filtering on the Subscribers page. [#51782]
319 403 - Newsletter: Round the dashboard widget footer so it stops covering the rounded bottom corner of the WP Admin box. [#50869]
320 404 - Newsletter: Save the post before generating an email preview, so the preview reflects the latest saved content (e.g. a newly-set featured image). [#51061]
321 405 - Newsletter: Send the test email when pressing Enter, and show send errors as a proper error notice. [#51042]
322 406 - Omnibar: Return admin bar nodes translated in the user's locale. [#51215]
407 +- Paywall Block: Preserve paid post access after reloading the editor. [#51334]
408 +- Podcast: Scope the generated episodes list to the posts the current user can edit, matching the Posts screen. [#51816]
323 409 - Podcast Player: Keep showing the most recent episodes when a podcast feed becomes slow or unreachable, instead of failing to load. [#51212]
324 410 - Podcast Player: Stop preloading episode audio before playback to avoid inflating podcast download metrics. [#51313]
325 -- Premium Analytics: Fix stray time-axis labels and invalid tooltip dates in mixed or compared charts. [#51343]
326 -- Premium Analytics: Keep the full set of ticks on the traffic chart's time axis, which could thin out to two labels on longer date ranges. [#51339]
327 -- Premium Analytics: Keep the year and the day on the traffic chart's time axis, which could previously skip the tick that named them, and stop the same label falling on two ticks in a row. [#51339]
328 -- Premium Analytics: Stop applying hidden date comparisons in dashboard sections that do not offer the control. [#51381]
329 411 - Premium Content: Keep subscription login available when a WordPress session lacks a subscription token. [#50984]
330 412 - Premium Content: Restore the local account link from a verified magic-link token so subscription access persists. [#50985]
331 -- Random Redirect: Avoid a fatal error when a theme or plugin already declares the module's redirect function. [#51037]
332 -- Require a Jetpack site (blog) token for JSON API endpoints that declare no capabilities, such as the Backup helper script endpoints, and reject user tokens regardless of privilege. [#51150]
333 -- Resolve Redirect endpoint: Validate every redirect hop, and return a 400 error when a URL cannot be fetched, is blocked, or exceeds the redirect limit, instead of a 200 response with an empty URL. [#51150]
334 -- REST API: Require the admin capability for all settings in a request that also updates Post by Email. [#51150]
335 -- Security: Enforce per-item permission checks when editing media through the JSON API. [#51150]
336 -- Security: External Media: Ensure imported files are always saved under a safe file name. [#51150]
337 -- Security: Verify attachment ownership before removing an uploaded package in the plugin and theme install endpoints. [#51150]
413 +- Related Posts: Improve handling of protected content.
414 +- Search: Fix a crash on mount when the localized widget configuration is missing or incomplete, which could leave the whole page blank. [#51511]
415 +- Search: Prevent General Settings from disabling Site Chat and WordPress Agent access. [#51844]
338 416 - SEO: Hide the post list SEO columns for people who had customized Screen Options before those columns existed. [#51071]
339 -- Sharing: Escape Tumblr share title, URL, and button label in official button output. [#51150]
417 +- SEO: Improve handling of protected content in generated metadata.
418 +- SEO: Move the dashboard's toast notices back to the top right. [#52096]
419 +- SEO: Stop the search-engine indexing toggle from publishing a private or coming-soon site. [#51778]
420 +- SEO Tools: Fix og:description leaking the first post's custom SEO description on archive and latest-posts homepage views. [#50911]
421 +- Settings: Dismiss success notices automatically instead of leaving them on screen. [#52054]
340 422 - Sharing: Use an unpredictable name for share and Press This popups so another page cannot pre-register the same window name. [#51226]
341 423 - Sitemaps: Avoid a PHP notice when a sitemap query returns no posts. [#51370]
424 +- Stats: Fix access for users whose allowed role is not their first assigned role. [#51514]
425 +- Stats: Fix traffic charts that could keep loading when a site's connection needs attention. [#51998]
426 +- Stats: Keep excluding a visitor IP address from tracking when it is written in another form. [#51349]
342 427 - Stats: Limit Top Posts & Pages processing to the number of posts requested. [#51105]
428 +- Stats: Report the same visitor address the rest of Jetpack resolves on sites with a trusted IP header configured. [#51349]
429 +- Stats: Return a validation error when the role settings are submitted in the wrong format. [#51775]
430 +- Stats: Stop recording a malformed visitor IP address. [#51349]
431 +- Status: Detect sites using any address in the `127.0.0.0/8` loopback range or `0.0.0.0` as local sites. [#51311]
343 432 - Subscribers: Restore the option to assign imported subscribers to specific newsletter categories on CSV upload and manual add. [#51007]
344 433 - Subscriptions: Fix subscribe prompts and paywalled content incorrectly showing or blocking for readers who follow the site but have no active email subscription. [#51327]
434 +- Subscriptions: Recognize subscriber sessions in the Subscriber Login and Premium Content blocks. [#52051]
435 +- Tiled Gallery: Fix the gallery growing without bound inside a vertical Group or Stack, and keep its width in step with the space available when a surrounding block is resized or re-aligned. [#51620]
345 436 - Tiled Gallery: Keep VIP gallery images off the external Photon domain and add the `jetpack_skip_photon_domain` filter. [#50426]
346 -- WAF: Restrict firewall settings to administrators. [#51150]
347 -- WordPress Posts: Escape remote site data before output. [#51150]
437 +- Tiled Gallery: Remove the forced gray background on images that made transparent areas appear gray. [#49196]
438 +- VideoPress: Avoid incorrect limits and upgrade prompts when site features cannot be loaded. [#52050]
439 +- VideoPress: Fix "Add to a post or page" opening an empty editor instead of inserting the selected video block. [#51996]
440 +- VideoPress: Fix a timeout error when updating a video poster from the media library. [#51479]
441 +- VideoPress: Fix playlist block video titles overlapping when long, and apostrophes rendering as HTML entities. [#51849]
442 +- VideoPress: Fix private video playback authorization for videos embedded through synced patterns and Video Playlist blocks, let private videos preview in the block editor canvas, load live metadata for private playlist entries for authorized viewers, and show a lock placeholder on playlist thumbnails of private videos the viewer cannot access. [#51569]
443 +- VideoPress: Fix the dashboard rendering blank on WordPress 7.0.x. [#51847]
444 +- VideoPress: Register the Video Playlist block from the Jetpack plugin when the VideoPress module is active. [#52013]
445 +- VideoPress: Say when a video upload failed because of a Jetpack connection problem, instead of only "Upload failed". [#51541]
446 +- VideoPress: Say when a video upload from the Video block failed because of a Jetpack connection problem, instead of only "Failed to upload your video". [#51541]
447 +- VideoPress: Show the Jetpack connection error notice on the VideoPress dashboard again. [#51541]
348 448
349 449 ### Other changes <!-- Non-user-facing changes go here. This section will not be copied to readme.txt. -->
350 450 - Admin Bar: Expose the command palette node through the admin bar endpoint. [#51026]
351 451 - Admin Page: Remove the release post update modal, which has had no content published for it since 2023. [#51402]
452 +- Agents Manager: Show an “Agent” label beside the admin bar's AI chat icon while the chat is hidden. [#51926]
453 +- AI: Rename the AI Search row to AI Answers, and drop the Preview label from the Search dashboard. [#51891]
454 +- AI: Send VIP sites to the Jetpack user connection screen from the MCP connect card. [#52039]
352 455 - AI: Stop showing the AI sidebar when the SEO Enhancer is the only feature switched on and SEO tools are off. [#51169]
456 +- AI Assistant: Update the WordPress Agent notice to point at the "Agent" button. [#52027]
457 +- AI Features: Point the AI Search "Open Search Settings" link at the AI tab of the Search dashboard. [#51689]
458 +- AI Hub: Show the Overview connection notices without a surrounding card, matching the WordPress Agent tab. [#51692]
353 459 - Button block: Add a filter for the default HTML element the block falls back to when it does not specify one. [#51046]
354 460 - Connection: Deprecate `Jetpack::get_stat_data()` and `Jetpack::check_identity_crisis()` in favor of their package equivalents. [#51196]
355 461 - Connection: Move the site data endpoint into the Connection package and deprecate `Jetpack_Core_Json_Api_Endpoints::site_data()` and `Jetpack_Core_Json_Api_Endpoints::get_site_data()`. [#51057]
462 +- Deprecate `jetpack_shim_setcookie()` function. PHP 7.4+'s `setcookie()` can be used directly. [#51575]
463 +- Newsletter: Add an endpoint serving the email design editor's data. [#51525]
356 464 - Newsletter: Sandbox the email preview iframe for defense in depth. [#51329]
357 -- Reprint: Remove full-site export support from Jetpack while retaining Atomic exports through `wpcomsh`. [#51179]
465 +- Register the jetpack-ai-jwt REST route through the shared Connection controller so the route is only registered once. [#51761]
466 +- Related Posts: Harden rendering JavaScript. [#52041]
467 +- Reprint export: Serve a site export from Jetpack on Pressable and WordPress.com Atomic sites. [#51430]
468 +- REST API: Add the `atomic_email_block` field to the site endpoint response. [#51038]
469 +- Sharing: Reduce the inline JavaScript on posts with sharing buttons by opening every share popup from one shared click handler. [#51299]
470 +- Sitemaps: Add a `jetpack_sitemap_flat_master_index` filter that makes `sitemap.xml` list individual sitemap files instead of nesting sitemap index files. [#51980]
358 471 - Update lock file. [#50855]
359 -- Update package dependencies. [#50509] [#51008] [#51125] [#51331] [#51399]
472 +- Update package dependencies. [#50509] [#51008] [#51125] [#51331] [#51399] [#51303] [#51802] [#51701] [#52028]
360 473
361 474 ## 16.1.3 - 2026-09-01
362 475 ### Bug fixes
363 476 - Import: Harden post meta handling so imported values are only restored as plain data.