Changelog
All notable changes to Generous.nz are recorded here, grouped by version. Every deployed build has a version number, a git tag, and an entry below.
Versioning scheme
Versions follow MAJOR.MINOR.PATCH:
- 0.x — pre-launch. Minor bumps mark a completed build phase or major feature set; patches are bug fixes on the current build.
- 1.0.0 — first public launch.
- 1.x+ — post-launch: minor = new features, patch = fixes, major = breaking changes or significant re-architecture.
Each version is tagged in git (v0.2.0) and the current version is kept in
package.json. See docs/version-control.md for how to cut a release.
[0.9.54] — 2026-08-24
Reject requires a reason; rejected items go back to the seller to fix and resubmit (never deleted).
Changed
- Reject now requires a reason. The moderator must type why an item is rejected before confirming. The reason is stored on the item and included in the email to the seller.
- Rejected items are never deleted. They stay in the seller's dashboard
with the rejection reason shown, and each now has an Edit & resubmit
link that opens the full item in a prefilled edit form:
- Fundraisers: the dashboard card shows the reason and an Edit & resubmit link.
- Product listings: "My listings" now shows a red "Rejected" status with the reason, plus Edit & resubmit.
- Wholesale catalogue items: the card shows the reason plus Edit & resubmit.
- Editing a rejected item sends it back to moderation for a fresh review (the previous rejection reason is cleared). Editing a live item's content also returns it to review, while extending an expiry alone no longer pulls an approved listing back into the queue.
[0.9.53] — 2026-08-24
Stronger automated moderation: banned items auto-rejected, high-fraud campaigns auto-banned, and AI rating/comment shown for human review.
Added
- Banned items are auto-rejected with the reason. Fundraisers, product listings, wholesale catalogue items (and bulk-import rows) that hit a critical prohibited term (weapons, drugs, counterfeit goods, stolen property, identity documents, gambling) are automatically rejected, the reason is recorded on the item, and the decision is flagged and audited — no human review needed.
- High-fraud campaigns are auto-banned. When the risk score reaches 9/10 or higher, the fundraiser is auto-rejected ("high fraud risk detected by AI screening") and the account is suspended. Both actions are audited and can be reversed by an admin.
- AI rating and comment on moderation items. Items awaiting human review now show an AI rating out of 10, the AI verdict, and the AI's comment explaining why it was flagged, on both the moderation queue and the preview page. Fundraisers also show their fraud risk flags.
Changed
- Wholesale catalogue items now get an AI review (rating + comment) when they are submitted, matching fundraisers and product listings.
[0.9.52] — 2026-08-24
Voucher code entry made easy to find.
Changed
- On the Catalogue products page, each voucher product now shows a clear "Add voucher codes" button (amber-highlighted when the product has no codes yet) instead of a faint text link. Opening it reveals the two bulk options side by side: Generate automatically (choose how many) and Paste your own codes (one per line, up to 500).
- The Voucher sales page now has a banner pointing to Catalogue products for adding or generating codes, so the area is discoverable from either place.
[0.9.51] — 2026-08-24
Version badge more visible in the site footer.
Changed
- The version number in the footer of every page (public site and dashboard) is now a small, clearly visible badge instead of faint grey text, so the deployed version can be checked at a glance.
[0.9.50] — 2026-08-24
Clickable moderation items with a full preview page.
Added
- New staff-only preview page for every item in the moderation queue:
/admin/moderation/preview/<fundraiser|product|wholesale>/<id>. It shows the full content — images, price, story/description, owner details, AI review score, expiry, delivery and voucher info — with the Approve / Reject / Dismiss controls right on the page.
Changed
- The moderation queue's item titles are now clickable: pending fundraisers, pending products, pending wholesale items and flagged fundraisers/products all open their preview when clicked (previously nothing was clickable and pending items had no public page to view).
[0.9.49] — 2026-08-24
Wholesale catalogue form reworked (selling price + fundraising discount).
Changed
- The "Add a catalogue product" form is reorganised: Title, Description and Image URLs each take a full line; SKU / code sits beside Stock / units available; Category (dropdown) beside Type; voucher fields appear for vouchers; Delivery coverage, Metro and Rural delivery charges sit on one line for physical products.
- "Wholesale unit cost (NZD)" is now Selling price (NZD), and "Minimum commission (%)" is now Fundraising discount (%) — the fundraisers' share of each sale. The business's share is derived the same way as before, so nothing downstream changes.
- A live "Estimated money you receive" box appears under the price as you type: selling price − fundraising discount − 3% Stripe − 5% platform, with a small breakdown.
[0.9.48] — 2026-08-24
One fundraiser per organisation + wholesale product categories.
Changed
- Organisations run one campaign at a time. An organisation can no longer create a second fundraiser: the "+ New fundraiser" and "Campaign builder" options disappear from the organisation page once one exists, the campaign builder page shows a notice instead of the form, and the API enforces the limit server-side. Wholesale was already one-per-organisation — that limit is unchanged.
Added
- Wholesale product categories: pick a category (Food & beverage, Home &
living, Fashion & accessories, Beauty & health, Sport & outdoor, Kids &
toys, Gift vouchers & experiences, Services, Other) when adding or editing
catalogue products. The catalogue management page shows each product's
category badge and has a category filter. Bulk CSV imports accept a
categorycolumn. - New
WholesaleCategoryenum and column (migration0033_wholesale_categories).
[0.9.47] — 2026-08-24
Blog dates removed from the front end.
Changed
- The public blog index and individual blog posts no longer show publish dates. Posts still sort newest-first, and admin views keep their dates.