PluginProbe
WebberZone Top 10 — Popular Posts / 4.5.1
WebberZone Top 10 — Popular Posts v4.5.1
4.5.1 4.5.0 4.4.3 4.4.2 4.4.1 4.4.0 4.3.4 4.3.3 4.3.2 4.3.1 4.3.0 trunk 1.0 1.0.1 1.1 1.2 1.3 1.4 1.4.1 1.5 1.5.1 1.5.2 1.5.3 1.6 1.6.1 All 117 releases
← All changes | readme.txt +42 -116 4.3.4 → 4.5.1 View file →
@@ -1,11 +1,11 @@
1 1 === WebberZone Top 10 — Popular Posts ===
2 2 Tags: popular posts, post views, page views, most viewed posts, popular posts widget, trending posts, post views counter, multisite, block, shortcode
3 3 Contributors: webberzone, ajay
4 4 Donate link: https://wzn.io/donate-wz
5 -Stable tag: 4.3.4
6 -Requires at least: 6.6
7 -Tested up to: 7.0
5 +Stable tag: 4.5.1
6 +Requires at least: 6.8
7 +Tested up to: 7.1
8 8 Requires PHP: 7.4
9 9 License: GPLv2 or later
10 10
11 11 Track post views and page views, and display popular posts and trending content on your WordPress site.
@@ -42,10 +42,12 @@
42 42 = Features in Top 10 Pro =
43 43
44 44 * __Enhanced Tracking and Performance__
45 45 * __Fast and High-Traffic Trackers__: Alternative tracking methods for improved performance on busy sites
46 + * __Site-wide Tracking__: Track views for the front page, posts page, archives, and searches in addition to individual content
46 47 * __Query Optimisation__: MySQL `MAX_EXECUTION_TIME` directive to prevent long-running queries, configurable via settings and the `top_ten_query_max_execution_time` filter
47 48 * __Data Retention Override__: Customizable data retention period (default 180 days via `TOP_TEN_STORE_DATA`)
49 + * __Lazy Loading__: Render popular posts lists via JavaScript only when they are about to scroll into view, so full-page caching plugins can serve a page without baking in a live popular-posts query. Works with content, shortcodes, widgets, and the Popular Posts block; disable per instance with the `lazy_load` shortcode/block attribute
48 50
49 51 * __Advanced Blocks and Widgets__
50 52 * __Top 10 Query Block__: Query and display popular posts directly from the block or site editor
51 53 * __Enhanced Top 10 Featured Image Block__: Support for multiple image sources with fallbacks
@@ -171,135 +173,59 @@
171 173 [Report a security vulnerability.](https://patchstack.com/database/vdp/top-10)
172 174
173 175 == Changelog ==
174 176
175 -= 4.3.4 =
177 += 4.5.1 =
176 178
177 -*Release Date - TBD*
179 +*Release Date - 19 September 2026*
178 180
179 -* Features:
180 - * New "Tracking method" setting under Settings » Counter/Tracker » Tracker settings: choose between Funnel tracking (default; views are buffered and merged into the count tables every few minutes) and Legacy tracking (views are written directly to the count tables on every visit, as in versions before 4.3). Switch to Legacy tracking if view counts are not updating on your site, e.g. when WP-Cron is disabled or unreliable. Note that Legacy tracking does not populate the visits log table. The Fast and High-traffic trackers respect this setting; regenerate the High-traffic config file after changing it.
181 -
182 181 * Fixed:
183 - * Custom period label ("Daily" vs "Custom (N days)") on the Dashboard widget, Popular Posts submenu, and post list Views column now matches the data actually shown, instead of always following the site-wide Custom period setting.
184 - * Post list Views column, and its sort order, now counts today only instead of the full Custom period range.
182 + * Security: Hardened thumbnail dimension handling to prevent stored Cross-Site Scripting by an Author-level user via block attributes.
185 183
186 -= 4.3.2 =
184 += 4.5.0 =
187 185
188 -*Release Date - 8 July 2026*
186 +Release date: 7 September 2026
187 +Release post: https://webberzone.com/announcements/top-10-v4-5/
189 188
190 -* Improvements:
191 - * Dynamic post counts now load more reliably and are faster in modern browsers.
192 - * Enhanced time range labeling: Interface now dynamically shows "Daily" for 1-day periods or "Custom (N days)" for longer periods, making the UI more accurate based on actual settings.
189 +**Added**
193 190
194 -= 4.3.1 =
191 +* [Pro] Popular Posts elements for Elementor, Bricks Builder and WPBakery Page Builder.
192 +* [Pro] Optional site-wide tracking for front pages, posts pages, archives and searches.
193 +* [Pro] Reduce Daily Table Size tool to combine older hourly records.
194 +* [Pro] `wp top10 db rollup` command for CLI and multisite use.
195 195
196 -*Release Date - 6 June 2026*
196 +**Changed**
197 197
198 -* Improvements:
199 - * Aggregation cron now runs every 2 minutes instead of 5 minutes for faster count updates.
200 - * Sync Funnel now shows distinct error messages for an empty funnel, a lock conflict, and database failures (including the actual database error).
201 - * Dashboard chart now formats large numbers with K/M abbreviations (e.g. 15,437 → 15.4K) and auto-hides overlapping bar labels.
202 - * "Recreate Database Tables" in Tools now also recreates the visits funnel and visits log tables.
203 - * [Pro] `wp top10 db recreate-tables` now accepts `--table=funnel` and `--table=log` in addition to `overall`, `daily`, and `all`.
198 +* Reduced admin overhead on large multisite networks by caching table metadata, probing WPP tables directly and using estimated row counts on the Tools page.
199 +* Sped up the dashboard with index-friendly `dp_date` ranges, optimized network popular-post queries and on-demand loading of historical tabs.
200 +* Setting defaults are now resolved from a lightweight list instead of building every settings field, so reading an option early in the page load no longer loads translations too early.
204 201
205 -* Fixed:
206 - * Sync Funnel on WordPress Playground (SQLite) incorrectly reported "another aggregation is in progress" due to unreliable SQLite detection; the `DATABASE_TYPE` constant is now checked first.
207 - * Uninstalling the plugin no longer throws a fatal error when attempting to drop database tables; the path to the uninstaller was resolving one level above the plugin directory.
208 - * "Recreate Database Tables" silently left the daily table missing due to a stale static cache in the table-installed check; all four tables are now recreated reliably.
202 +**Security**
209 203
210 -= 4.3.0 =
204 +* Hardened settings sanitization for users without the `unfiltered_html` capability.
205 +* Hardened referer and array handling in settings sanitization, and renamed the settings JS globals.
211 206
212 -*Release Date - 28 May 2026*
207 +**Fixed**
213 208
214 -* [Release announcement](https://webberzone.com/announcements/top-10-v4-3-0/)
209 +* View tracking was lost during quick navigation or browser back-button restores.
210 +* View counts were recorded for prerendered or initially hidden pages.
211 +* Bot views were recorded from cached pages, and views were recorded for browser prefetches, prerenders and direct navigations to tracker URLs.
212 +* Tracker scripts did not run when loaded asynchronously after `DOMContentLoaded` had fired.
213 +* Generated output cache keys were not discoverable by the Clear Cache tools or the WP-CLI cache flush command.
214 +* Settings on a multisite network read another site's values in the same request after a `switch_to_blog()` call, when read via `tptn_get_option()` or the global `$tptn_settings`.
215 +* `tptn_get_settings()` returned `false` instead of an empty array when no settings had been saved yet.
216 +* Visit data was silently lost in funnel aggregation, and the Fast Tracker raised an undefined array key warning.
217 +* Plugin data was deleted when uninstalling one version while its paired free or Pro counterpart was active.
218 +* Improved compatibility with PHP 8.6.
219 +* [Pro] Daily counts in the `wp top10 popular` command did not respect the selected custom date range.
215 220
216 -* New:
217 - * Buffered visit tracking: page views are queued in a funnel table and aggregated every 5 minutes, reducing write contention on busy sites.
218 - * [Pro] RSS/Atom feed views are now counted. Enable under Counter settings > Track feed views.
219 - * [Pro] Dashboard At a Glance widget now shows views for the current hour and today.
220 - * [Pro] Full `wp top10` WP-CLI suite: counts, database, cache, settings, cron, and popular posts commands. All destructive commands support `--dry-run` and `--force`; multisite commands support `--network` and `--blog-id`.
221 += Earlier versions =
221 222
222 -* Improvements:
223 - * Scheduled maintenance deletes old daily rows in batches to prevent timeouts on large databases.
224 - * New index on the daily table speeds up maintenance queries. Apply it to existing installs via Recreate Primary Key under Tools.
223 +For the changelog of earlier versions, please refer to the [releases page on GitHub](https://github.com/WebberZone/top-10/releases).
225 224
226 -* Fixed:
227 - * Cache setting was referencing the wrong key, preventing posts from ever being cached.
228 - * Database version was recorded before upgrade routines ran, causing upgrades to be silently skipped on re-activation.
229 - * Daily queries now work on MySQL servers with ONLY_FULL_GROUP_BY enabled.
230 - * Posts with identical counts now display in a consistent order when paginated.
231 - * Daily counts now use the site's configured timezone instead of server time.
232 - * Dashboard "Total visits" now matches the chart total rather than summing only the top 20 posts.
233 - * Popular posts ordering no longer overridden by Post Types Order and similar plugins.
234 - * Deactivation now clears both cron jobs and sets the settings option to not autoload.
235 - * Removed incorrect `wpmu_drop_tables` filter that tried to drop network-wide tables on site deletion.
225 +== Upgrade Notice ==
236 226
237 -= 4.2.3 =
227 += 4.5.1 =
228 +Security release. Fixes a stored Cross-Site Scripting vulnerability that could be exploited by users with Author-level access or above. Update immediately.
238 229
239 -* Security:
240 - * Hardened Settings API and metabox output escaping.
241 -
242 -* Improvements:
243 - * Updated Freemius SDK to version 2.13.1.
244 - * Updated Settings API assets and Tom Select handling.
245 - * Refreshed translations and generated assets.
246 -
247 -* Fixes:
248 - * Fixed metabox screen handling when `get_current_screen()` is unavailable.
249 - * Fixed admin notices package tags.
250 -
251 -= 4.2.2 =
252 -
253 -* Modifications:
254 - * Taxonomy Suggest script removed from Settings API. Metabox also uses Tom Select for the lookup of the category field in CRP Pro.
255 -
256 -* Fixes:
257 - * CSS improvements for left-thumbs and grid-thumbs styles.
258 -
259 -= 4.2.1 =
260 -
261 -* Security:
262 - * Fixed REST API permission checks to prevent unauthorized exposure of post passwords in edit context.
263 -
264 -* Fixes:
265 - * Fixed a bug with the "Clear cache" button in the Tools page.
266 - * Fixed thumbnail location restrictions to properly support Grid thumbnails style in addition to Left thumbnails.
267 - * Improved JavaScript logic for style-based thumbnail location validation with better error handling and fallback mechanisms.
268 -
269 -= 4.2.0 =
270 -
271 -Release post: [https://webberzone.com/announcements/top-10-v4-2-0/](https://webberzone.com/announcements/top-10-v4-2-0/)
272 -
273 -* New:
274 - * Settings wizard to guide initial configuration and review existing settings
275 - * Network-wide dashboard with aggregated multisite statistics
276 - * [Pro] High-traffic tracking mode with status validation panel
277 - * [Pro] Copy settings between multisite network sites
278 - * [Pro] Compact “Top 10 Views Overview” dashboard widget
279 - * [Pro] Option to disable the Admin Bar menu
280 - * [Pro] Maintenance setting to override data retention period
281 -
282 -* Improvements:
283 - * [Pro] Improved dashboard chart bar click-through to open the Popular Posts screen filtered to that day
284 - * Updated Settings API to version 2.7.1
285 - * Improved media handler with recursion protection and more robust processing
286 - * Media Handler now supports the FIFU WordPress plugin for featured image detection.
287 - * Improved Tools page statistics display and caching
288 - * Wrapped Import/Export and Tools sections in postbox containers for consistent UI
289 -
290 -* Developer / Internal:
291 - * Refactored popular posts queries for improved performance and WordPress VIP compatibility
292 - * Updated caching behaviour for dynamic exclusions
293 - * Refactored database operations into a dedicated Database class
294 - * Updated Freemius SDK to version 2.13.0
295 -
296 -* Fixes:
297 - * Fixed `Top_Ten_Query` handling of the `date_query` argument
298 - * Fixed activation redirects on single-site installs within multisite networks
299 - * Fixed `exclude_current_post` behaviour when caching is enabled
300 - * Fixed live-edit count updates in multisite statistics
301 -
302 -== Upgrade Notice ==
303 -
304 -= 4.3.0 =
305 -This release introduces buffered visit tracking with a new funnel table. Existing daily-count table indexes are updated automatically for new installs — existing sites should run "Recreate Primary Key" under Tools > Top 10 to apply the performance improvement. Pro users also get feed view tracking and a full WP-CLI command suite.
230 += 4.5.0 =
231 +Adds page builder elements, site-wide tracking and a daily-table rollup tool. Fixes several cases of lost view counts and cuts admin overhead on large multisite networks.