Releases: gp247-plugin/ProductRating
Release list
1.1.0
feat(seller): publish a seller-reply contract so a marketplace vendor can answer its own reviews (1.1.0)
Reviews carry two stores, and on a single-domain marketplace store_id is ROOT for every vendor, so the seller axis is what answers "whose review is this". This release opens that axis to another plugin without exporting classes: gp247_product_rating_review_model / _seller_constrain / _seller_reply. The write function is the fence — it re-reads the review through the seller filter and delegates to ProductReview::publishReply(), which touches only the four reply columns, so a seller surface has no path to approve, reject or delete. New reply_store_id records WHICH store answered (null = the marketplace owner) and disambiguates the namespace of reply_by; the moderation log gains store_id and an explicit actor because the vendor guard has no admin()->user(). The storefront signs a vendor answer with that shop's name, and the moderation queue gains a seller-store column and filter. Also adds the AppConfig::update() hook the core calls unconditionally after replacing plugin files — without it every 1-click update fataled and rolled back (same defect class as MultiVendor 2.0.1). US-product-rating-seller-reply-contract, US-product-rating-update-hook, ADR plugin-product-rating_seller-reply-contract.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com
1.0.1
chore: release 1.0.1
No runtime change since 1.0: the work behind this release is the E2E journey
E2E-product-review (repo tests) and the AI-DLC documentation, including the core
ADR front_storefront-plugin-hooks (repo aidlc-docs). The journey exercised the
three admin write paths -- public shop reply, reason-gated rejection, and delete
-- through a real browser for the first time, and found no defect to fix.
requireUpdateFrom stays at 1.0 (a 1.0 site updates straight to this). There is no
update() hook to run: the pre-release migration hooks were dropped in 246c2a8 and
this release adds no schema change.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com