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.81] — 2026-08-25
Restriction conflicts hide wholesale items.
Changed
- When every one of a signed-in fundraiser's approved campaigns conflicts with a wholesaler's restriction (e.g. the fundraiser ticked "Political party campaigns" and the business excludes it), the wholesaler's items are now hidden entirely from the catalogue and deal pages for that user — not just blocked at add time.
- If only some of the user's campaigns conflict, items stay visible and can still be added to the campaigns that don't conflict. Signed-out visitors and users with no approved campaigns see everything.
- The server-side add block remains as a final guard.
[0.9.80] — 2026-08-25
"Political party campaigns" cause option.
Added
- Political party campaigns is now a first-class cause option in the fundraiser setup checkboxes, the wholesaler Restrictions list, and the AI reason verification — so fundraisers can declare it and businesses can block it automatically.
[0.9.79] — 2026-08-25
Deploy-safe service worker — no more client-side crashes after updates.
Fixed
- The client-side exception after deploys was the service worker serving the
old app shell (cached under a fixed name) after a release, referencing JS
files the new build had deleted. The service worker now:
- versions its cache automatically with each release (the cache name is the site version), so every deploy clears all stale cached copies in visitors' browsers the moment the new worker activates;
- caches pages under their own URL (not all under "/") and only ever serves them as an offline fallback after a network failure;
- never caches error responses.
- The service worker is generated at build time from a template, so the cache version can't drift.
Note for users
- If you hit the error once, a hard refresh (Ctrl+Shift+R) clears it; from now on it won't recur after future updates.
[0.9.78] — 2026-08-25
Brands and Restrictions moved to their own pages.
Changed
- The wholesale dashboard no longer embeds Brands and "Causes you won't
fundraise for" — each is now a dedicated page:
- Brands (
/dashboard/wholesale/brands) - Restrictions (
/dashboard/wholesale/restrictions)
- Brands (
- Both appear as clickable cards on the wholesale dashboard alongside Catalogue products, Orders, Analytics, Billing and Voucher sales, and as sidebar menu items (right before Account).
[0.9.77] — 2026-08-25
Fix editing price showing cents as dollars.
Fixed
- The wholesale product edit form showed the selling price as 15000.00 instead of 150.00: the price is stored in cents, and the prefill math forgot to convert cents back to dollars. It now pre-fills correctly (e.g. $150.00 for a $150 item).
[0.9.76] — 2026-08-25
Custom "something else" cause exclusion + clearer faith label.
Added
- Wholesalers can now add a custom cause they won't fundraise for under "Something else" on the Causes you won't fundraise for panel. The custom cause is saved to their profile and sent to the moderation queue for review (a flag is raised with the business name and the custom text).
Changed
- "Church / faith group" is now labelled "Religious / church / faith group" everywhere (wholesaler preferences and fundraiser setup).
Notes
- Custom causes are reviewed and shown for transparency; the automatic block-list matching applies to the built-in causes (so e.g. a "religious" custom exclusion should also tick the religious checkbox to block those fundraisers automatically).
[0.9.75] — 2026-08-25
Bigger description box on the wholesale product form.
Changed
- The product/voucher description box is now nine rows tall (previously three), so more of the description is visible at once when adding or editing catalogue products. It can still be dragged taller.
[0.9.74] — 2026-08-25
Separate "Add product" page for wholesale catalogue.
Changed
- The wholesale catalogue is now two pages with separate sidebar items: Catalogue products (list, filter, edit/pause/delete) and Add product (the add form plus bulk import and stock sync). The catalogue page has an "+ Add product" button that links across.