Version 5.0.2
August 4, 2026
Fixed
- Every setting on the settings page rendered a bare warning icon with no text next to it. The "overridden by config" macro returned the whitespace between its own tags when a setting wasn't overridden, and Twig treats that non-empty string as a real warning. Only genuinely overridden settings show a warning now.
Changed
- Reworked the Review and Comment editor screens. Every field used to be packed into the sidebar, leaving the main body empty. The submission's own content — rating, name, email, review/comment text, pros, cons, and admin response — now renders in the body via an in-code field layout, laid out two-up where it reads better. The sidebar keeps just what's about the submission: its moderation status and the entry it belongs to, above the existing metadata.
- Validation errors now appear inline on the field that caused them, instead of only in the error banner.
- A reply's parent comment is now shown in the Comment sidebar as a "Reply To" link.
Version 5.0.1
August 4, 2026
Fixed
- The Reviews and Comments CP sections rendered their element index as escaped
HTML instead of a working index. Both templates now extend Craft's
_layouts/elementindexrather than echoing the deprecated_elements/indexcontainerpartial throughrenderTemplate(). - Frontend review and comment submissions returned a 500 error whenever notifications were enabled. The element saved, but rendering the notification email threw, because the plugin's email templates live in a control-panel-only template root and were being rendered in site template mode. They're now rendered in CP template mode, and a template failure is logged instead of breaking the submission.
- Review and Comment index columns showed raw values — the entry ID instead of
the entry, the rating number instead of stars, and the lowercase status key
instead of a labelled status. The custom column rendering was declared as
tableAttributeHtml(), which Craft 5 renamed toattributeHtml(), so it was never called. - Fixed the frontend form and review display examples in the README, which used
a
repeatfilter that doesn't exist in Twig or Craft.
Known issues
- Reply notifications only fire when a reply is created with
approvedstatus, so with the defaultdefaultStatusofpendingthey never send. Approving a reply later does not trigger them.
Version 5.0.0
July 19, 2026
First public release on the Craft Plugin Store, for Craft CMS 5. Builds on the initial review system with a full comments system, a submitter blocklist, pluggable captcha, privacy controls, and an automated test suite.
Added
- Comments — a threaded comment system for entries, as a first-class element
alongside reviews:
- Four-state moderation, CP element index, and bulk actions (shared with
reviews via a
ModeratedElementbase). - Threaded replies with a configurable maximum depth (
maxCommentDepth); over-deep replies attach at the deepest allowed level. - Frontend submission (
actions/stars/comments/save), optional login gating (commentsRequireLogin/commentsAllowAnonymous), and auto-filled author details for logged-in users. craft.commentsTwig API (tree,forEntry,topLevel,replies,count) and a bundled recursivestars/_comments/thread.twigmacro.- Email notifications to moderators, plus reply notifications to the parent comment's author.
- Comment permissions: view / manage / moderate / reply / delete.
- Four-state moderation, CP element index, and bulk actions (shared with
reviews via a
- Blocklist — block submitters by email, IP, or user id. Enforced on both
review and comment submission, with a CP management section, a "Block Author"
bulk action, and a
stars:manageBlocklistpermission. - Pluggable captcha — reCAPTCHA v3, reCAPTCHA v2, hCaptcha, and Cloudflare
Turnstile, selectable per site. Applies to reviews and comments alike.
craft.reviews.captcha()/craft.comments.captcha()expose the provider and site key for the frontend widget. - Privacy controls —
captureIpAddress,captureUserAgent, andcaptureReferrersettings to independently disable storing each piece of submission metadata (GDPR-style data minimization). All default to on. - Reviewer/commenter email addresses are masked in error logs (e.g.
a***@example.com). - Automated test suite (Codeception + Craft's test framework), runnable via DDEV.
Fixed
craft.reviews.averageRating()— and theratingValuein the schema.org JSON-LD output — returned an incorrect value instead of the true average.- The per-IP rate limiter flagged legitimate first-time submissions as spam, rejecting valid reviews whenever rate limiting was enabled (on by default).
Changed
- Spam rate limiting is context-aware (reviews vs. comments count against their own tables).
- The legacy
enableRecaptcha/recaptcha*settings are superseded bycaptchaProvider/captcha*but are still honored (mapped to reCAPTCHA v3). - New plugin icon.
- Licensed under the standard Craft License.
Version 1.0.0
February 15, 2026
Added
- Initial release
- Review element type with star ratings (1-5 configurable up to 10)
- Four-state moderation: pending, approved, rejected, spam
- Pros/cons fields
- Admin response support
- Spam protection: honeypot, reCAPTCHA v3, rate limiting, submission time check
- Schema.org JSON-LD output (Review + AggregateRating)
- Email notifications on new submissions
- Twig variable
craft.reviewsfor frontend queries - User permissions for view, manage, moderate, respond, delete
- CP element index with bulk actions (approve, reject, mark as spam)