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.256] — 2026-08-28
Fixed
- The Buy this item button on vouchers and option products no longer gets stuck on "Opening checkout…": a bug tried to build a FormData object from the button itself (which isn't a form), throwing a JavaScript error before the order was created. The click now always reaches the order API and redirects to Stripe checkout.
[0.9.255] — 2026-08-28
Fixed
- When a supplier edits a wholesale product (price, commission, title, description, images or stock), the changes now push through to every fundraiser listing using it — pages and checkout no longer show stale snapshot prices (e.g. a WebStarts item still showing the old $150 after the supplier repriced it).
[0.9.254] — 2026-08-28
Changed
- Referral landing pages now say "Paid straight to your bank (less Stripe fees)" instead of implying the full amount arrives untouched.
[0.9.253] — 2026-08-28
Fixed
- Blog posts can be saved again after adding an uploaded cover image: the
validator was requiring an absolute URL, which rejected the uploader's
/api/uploads/...path. It now accepts uploaded paths (and pasted URLs), matching the rest of the site.
[0.9.252] — 2026-08-28
Added (analytics events)
The site now pushes the following events to the GTM data layer so tags can fire reliably without scraping the page:
sign_up— fired when a new account is created (method: email).begin_checkout— fired when a buyer clicks Buy and Stripe returns a checkout session (carries product id, price, currency).purchase— fired on the order success page with the real order id, amount, currency and item details.donation— fired on the fundraiser page after a completed donation (one-off or recurring), with the amount and fundraiser.generate_lead— fired when a business submits a wholesale application.add_to_store— fired when a fundraiser adds a wholesale item to their store with one click.
These are announcements only — Tag Manager listens for them and forwards them to GA4.
[0.9.251] — 2026-08-28
Added
- Blog cover uploads are now named from the post title: lowercase with spaces
as underscores, plus a 5-digit counter (e.g.
my_blog_title_00001.jpg), so re-uploads of the same title never overwrite or clash.
[0.9.250] — 2026-08-28
Changed
- Blog cover images are capped at 900px wide (instead of 1200) — most screens don't show wider, so files are smaller and load faster; larger layouts stretch to fit.
[0.9.249] — 2026-08-28
Changed
- Blog cover images uploaded via the blog editor now keep up to a 1200px long edge (16:9 covers come out at 1200×675) instead of the 600px cap. Product, fundraiser and store images keep the existing 600px cap — the upload pipeline now accepts a per-purpose size.