Skip to content

Releases: WebberZone/contextual-related-posts

v4.5.2

Choose a tag to compare

@ajaydsouza ajaydsouza released this 16 Oct 07:03

Changelog

Release date: 15 October 2026

Security

  • Prevented thumbnails from exposing images inside or attached to password-protected posts before the password was entered.
  • Hardened thumbnail URLs to reject unsafe protocols.

Fixed

  • Malformed custom thumbnail dimensions caused PHP errors during image-size selection.

Full Changelog: v4.5.1...v4.5.2

v4.5.1

Choose a tag to compare

@ajaydsouza ajaydsouza released this 10 Oct 13:25

Changelog

Release date: 10 October 2026

Fixed

  • The deprecated postid argument was ignored, so get_crp_posts() returned posts related to the current post instead.
  • Missing FULLTEXT indexes were not recreated automatically on the free plugin, and the Tools status report showed the index schema as not installed.
  • [Pro] The Query Loop block ignored the deprecated postid query argument.
  • [Pro] The Featured Image block dropped its HTML anchor on WordPress 6.9.

Full Changelog: v4.5.0...v4.5.1

v4.5.0

Choose a tag to compare

@ajaydsouza ajaydsouza released this 02 Oct 18:31

Changelog

Release date: 2 October 2026
Release post: https://webberzone.com/announcements/contextual-related-posts-v4-5/

Added

  • Added optional minimum relevance filtering to exclude weak matches, disabled by default and unavailable on SQLite.
  • Added a Status section to the Tools page showing database, index, cache and migration health.
  • Post edits and publishing triggered cache clearing for affected related lists.
  • Added WordPress Abilities API support for retrieving related posts, with controls for REST API and Abilities API access in the Features tab.
  • Exposed crp_cache_time and crp_cache_busting_settings filters for cache lifetime and invalidation.
  • Related posts served through the REST API worked with TranslatePress.
  • [Pro] Posts gained optional recency weighting with a configurable boost and half-life, disabled by default.
  • [Pro] Administrators gained abilities to clear the cache and set post exclusions.
  • [Pro] Added WP-CLI commands to add, remove and list post exclusions.
  • [Pro] The Tools status report gained custom-table health, index coverage and reconciliation details.
  • [Pro] Lazy-loaded related posts worked with TranslatePress.
  • [Pro] Added a standalone Advanced block with six selectable patterns and separate Settings and Styles tabs.
  • [Pro] Added a Transform option to convert supported legacy CRP Query Loop blocks to the Advanced block while preserving query settings and card content.

Changed

  • Raised the minimum WordPress version to 6.9 for the Abilities API.
  • Reduced cache-clearing overhead during imports, bulk edits and menu or template saves.
  • Cleared affected related lists when posts were trashed, independently of the full-cache-flush setting.
  • Updated related-post block icons with WebberZone's amber and gold brand colors.

Fixed

  • Cached related posts remained stale after ranking settings changed or settings were reset.
  • Cached related posts remained stale after Quick Edit, Bulk Edit, scheduled publishing and other saves without the plugin's meta box.
  • Cached output could show another language's titles and links on WPML, Polylang and TranslatePress sites.
  • [Pro] Related post images had incorrect or duplicated dimensions, borders or shadows in Query Loop layouts.

Full Changelog: v4.4.2...v4.5.0

v4.4.2

Choose a tag to compare

@ajaydsouza ajaydsouza released this 19 Sep 08:08

Changelog

Release Date - 19 September 2026

  • Fixed:
    • Security: Hardened thumbnail dimension handling to prevent stored Cross-Site Scripting by an Author-level user via block attributes. Reported by Athiwat Tiprasaharn (Jitlada) and Itthidej Aramsri (Boeing777) via Wordfence.

Full Changelog: v4.4.1...v4.4.2

v4.4.1

Choose a tag to compare

@ajaydsouza ajaydsouza released this 05 Sep 14:26

Changelog

Release Date - 5 September 2026

  • Features:

    • Added a Features tab and Feature Manager for disabling unused plugin components without changing existing defaults.
    • [Pro] Added independent controls for the Query Loop, Featured Image, Related Posts Pro, page builder, bot protection, lazy loading, custom tables, and WooCommerce modules.
  • Fixed:

    • Hardened settings sanitization for users without the unfiltered_html capability.
    • Prevented password-protected post excerpts from being served through the shared HTML cache.
    • Hardened Query Loop REST meta filtering and taxonomy searches against unauthorized or private data access.
    • Fixed cache invalidation, dry-run cleanup, persistent object-cache invalidation, and collisions for ordered IDs and taxonomy slugs.
    • [Pro] Fixed custom-table indexing after REST metadata and taxonomy updates, and moved large term refreshes to bounded background batches.
    • [Pro] Prevented Query Loop block callbacks from accumulating across repeated renders.

Full Changelog: v4.4.0...v4.4.1

v4.4.0

Choose a tag to compare

@ajaydsouza ajaydsouza released this 29 Aug 09:44

Changelog

Release Date - 29 August 2026

Release post: https://webberzone.com/contextual-related-posts-v4-4/

  • New features:

    • [Pro] WPBakery, Elementor and Bricks Builder integrations (experimental): a native "Related Posts (CRP)" element/widget in each builder with the full set of CRP options. Feedback and bug reports are welcome while these settle in.
    • [Pro] New "Use precomputed taxonomy score" setting under the taxonomy weights. With Enhanced Content Search Index enabled, the taxonomy score is read from the indexed tax_score column instead of being calculated per query. Faster, but live queries then ignore the per-taxonomy weights.
  • Modifications:

    • [Pro] Page builder integrations now load through a new Builders\Builders dispatcher.
    • The site-wide "Exclude terms" setting is now applied to the related posts query; it was previously only honored per post in the metabox.
    • "Exclude terms" now splits on commas only, so black friday is matched as a phrase rather than as two separate words.
    • Renamed "Include only posts that contain these words" to "Also match posts that contain these words" to match what the option actually does.
    • The REST API limit parameter is now capped at 100. Use the new crp_rest_api_max_limit filter to change the maximum.
  • Bug fixes:

    • Fixed stopword stripping failing when the stopword list contained a /.
    • Fixed style stylesheets always being enqueued for the default style instead of the requested one.
    • Fixed plugin data being deleted when uninstalling one version while its paired free or Pro counterpart was active.
    • [Pro] Fixed the cache colliding across differently-configured shortcode/widget/block/builder calls on the same post.
    • [Pro] Fixed "Order by: Date" being overridden by relevance ordering, and an Unknown column 'score' error when contextual matching was disabled with Include words set.
    • [Pro] Fixed taxonomy term-count sorting being applied after the date sort instead of before it.
    • [Pro] Fixed orderby="relevance" using the unweighted core match instead of the Pro weighted score.
    • Fixed the contextual match SQL being built twice on every query.
    • Fixed "Exclude terms" ignoring the post content when content matching was enabled.
    • Fixed HTML entities surviving tag stripping, so &,   and … were indexed as the words "amp", "nbsp" and "hellip".
    • Fixed the per-request post meta cache being keyed on post ID alone, so the same post ID on two sites of a multisite network shared one cache entry.
    • Fixed schema changes not reaching existing installs: dbDelta() now runs on version upgrades instead of on activation only.
    • Fixed the feed thumbnail size settings being ignored. The configured width and height are now passed to the feed output, and both must be greater than 0 for a size to be applied.

Full Changelog: v4.3.1...v4.4.0

v4.3.1

Choose a tag to compare

@ajaydsouza ajaydsouza released this 17 Aug 18:09

Changelog

Release Date - 17 August 2026

  • New features:

    • Search for settings: a search field on the settings page lets you quickly find options by keyword.
    • Updated plugin icons.
  • Modifications:

    • Consolidated FULLTEXT index names across WebberZone plugins with legacy alias support and automatic self-healing of missing indexes on admin_init. Also fixes a PHP 8.1 deprecation in the Sync Manager.
    • Synced Settings API framework from Better Search Pro with get_locked_settings(), disabled repeater handling, and flexbox sidebar layout improvements.
    • Standardized @since tags in shared Settings API and Admin Banner files.
    • Added smooth scroll-to-top on settings tab switch.
  • Bug fixes:

    • Fixed $wpdb->show_errors() not restoring prior state after hide_errors() — re-enabling raw DB-error output for the entire request and corrupting AJAX/JSON responses.
    • Fixed default-value label lookup for empty-string select/radio options showing "None" instead of the actual option label.
    • Fixed settings page sidebar overlapping tab content by switching to flexbox layout.
    • [Pro] Fixed the Index Custom Tables wizard step appearing or disappearing while the wizard was running.
    • Fixed the settings wizard silently dropping repeater field rows on save.
  • Improvements:

    • Setting defaults are now resolved from a single lightweight list instead of building every settings field, so reading an option early in the page load no longer risks loading translations too early.
    • Added crp_pre_index_content_parts filter for recovering shortcode-stripped content before do_blocks()/do_shortcode() processing discards it.

Full Changelog: v4.3.0...v4.3.1

v4.3.0

Choose a tag to compare

@ajaydsouza ajaydsouza released this 18 Jul 11:47

Changelog

Release Date - 18 July 2026

Release post: https://webberzone.com/announcements/contextual-related-posts-v4-3-0/

  • New features:

    • New "Clear cache when a post is trashed or restored" toggle (off by default) under the Performance tab. When enabled, the entire CRP cache is cleared on the wp_trash_post and untrashed_post transitions, so stale related-posts lists no longer continue to show trashed posts with broken links or missing thumbnails until the cache TTL expires.
    • [Pro] New "Keyword" setting on the Related Posts block and the CRP Query Loop block: enter a word or phrase to find related posts using that keyword instead of the title and content of the current post, matching the existing metabox behaviour. The advanced algorithm honours the keyword on both the custom tables and native tables paths.
    • [Pro] Lazy load related posts: a new setting under the Performance tab loads the related posts via JavaScript only when they are about to enter the viewport. This speeds up the initial page load and plays better with page caching plugins. Note: search engines may not index the related posts links when this is enabled, since they are no longer part of the initial HTML. Applies to all display methods — content, shortcode, widget and the Related Posts block — with the configured options preserved via a signed payload. The Query Loop block variation is rendered by WordPress core and is not lazy loaded. Use lazy_load="0" in the shortcode (or the crp_lazy_load filter) to disable it per instance. Skipped on feeds and AMP pages.
    • [Pro] Cart Related Products: displays a grid of contextually related products on the WooCommerce cart page when the cart subtotal is below the free shipping threshold. Products are filtered to a configurable price band anchored to the gap-to-free-shipping, and ranked by CRP relevance using the most expensive cart item as the source. Configurable options include product count, price upper-bound percentage, custom heading, and cart page hook position. Coupon discounts are correctly accounted for when calculating the gap.
    • [Pro] New option to control which post types should show the metabox when editing the post.
  • Modifications:

    • Related posts with equal relevance scores are now returned in a stable order: post date and post ID are used as tiebreakers after the relevance score.
    • New crp_pre_related_posts filter to short-circuit the related posts output for all display methods. The lazy load feature uses this; developers can return a non-null value to replace the output entirely.
    • [Pro] New REST API endpoint contextual-related-posts/v1/posts/<id>/html that returns the rendered related posts HTML. Display arguments are only honoured when accompanied by a valid signature generated during a server-side render.

Full Changelog: v4.2.4...v4.3.0

v4.2.4

Choose a tag to compare

@ajaydsouza ajaydsouza released this 06 Jun 07:27

Changelog

Release Date - 6 June 2026

  • Modifications:

    • [Pro] Renamed the "Reindex Custom Tables" tool to "Custom Tables" and added a "Recreate Custom Tables" button that drops and recreates the table structure, with success/error feedback displayed in the admin.
    • [Pro] Added "Convert Custom Table to InnoDB" tool that upgrades the table storage engine and automatically regenerates FULLTEXT indexes.
    • [Pro] Custom table creation is now skipped entirely when the Enhanced Content Search Index setting is disabled, avoiding unnecessary database queries on every admin page load.
    • [Pro] Custom table creation is now blocked on MySQL versions below 5.7.8 and MariaDB versions below 10.2.7 (which lack JSON column support), with a clear admin notice instead of a silent failure.
    • [Pro] Admin notices: FULLTEXT index and missing-table warnings now respect the ECSI setting; removed ECSI upsell and wizard notices; DB errors use the Admin_Notices_API.
  • Bug fixes:

    • Fixed broken aspect-ratio on the rounded thumbs style caused by CSS variables carrying px units. A unitless --crp-aspect-ratio variable is now used, consistent with the grid and thumbs-grid styles.

Full Changelog: v4.2.3...v4.2.4

v4.2.3

Choose a tag to compare

@ajaydsouza ajaydsouza released this 25 Apr 16:25

Changelog

  • New features:
    • (Pro) Added ACF field support for thumbnails: specify an Advanced Custom Fields Image or Text field name in the thumbnail settings. Supports all ACF Image field return formats (Image Array, Image ID, Image URL) as well as plain Text fields containing a URL.
  • Modifications:
    • [Pro] Scheduled reconciliation cron: a twicedaily background job now automatically syncs any published posts that are missing from the custom search index table — keeps the index complete without manual intervention.
    • [Pro] Custom table upsert optimized to use INSERT ... ON DUPLICATE KEY UPDATE, reducing write contention on high-traffic sites.
    • [Pro] Database check results are now cached within a request, reducing redundant SHOW TABLES queries on pages that check table status multiple times.
    • [Pro] Tools page migration and undo scripts are now loaded as external JavaScript files (via wp_enqueue_script) instead of inline <script> blocks — improves compatibility with strict Content Security Policies.
    • [Pro] Copy-to-clipboard buttons on the tools and custom tables pages are now initialized automatically; no per-block inline script needed.
    • [Pro] The Include Categories Tom Select field in the post metabox is now correctly initialized.
    • [Pro] Network admin: settings copy URL cleanup and select-all checkbox logic moved to an external JavaScript file.
    • Tom Select fields in the settings now include a clear button for easier value removal.
    • Fixed spinner alignment inside action buttons (now displays inline rather than floating).
    • The custom CSS will now always be available in the frontend when the field contains CSS.
    • Manual Related Posts lookup improved.
  • Fixes:
    • Security hardening: improved output escaping in settings forms and metabox fields.
    • Fixed Tom Select value extraction for multiselect fields which gave a JS error.

Full Changelog: v4.2.2...v4.2.3