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.73] — 2026-08-25
Dashboard button is account-aware.
Changed
- The Dashboard button in the top nav takes approved wholesalers straight to their wholesale dashboard; everyone else goes to the main dashboard.
[0.9.72] — 2026-08-25
Top navigation adapts to signed-in users.
Changed
- When signed in, the top nav hides the marketing/auth links (Sign in, Start fundraising, For businesses, Getting started, Blog) and keeps Explore, Wholesale and Help, with Dashboard shown as a prominent button (styled like Start fundraising). The mobile menu matches.
- Guests still see the full nav with Sign in and Start fundraising.
[0.9.71] — 2026-08-25
Wholesale items list at the wholesaler's price — no fundraiser pricing decisions.
Changed
- Fundraisers now list wholesale items exactly at the price the wholesaler set ("selling price"). The add-to-store flow is fixed price server-side — the fundraiser never chooses or is asked about a price.
- Public copy simplified: the catalogue card shows "Buyers pay $X · Fundraisers earn Y%+"; the internal business "cost" no longer appears on public pages (it's still visible on the wholesaler's own management page).
- The confusing "minimum sale price" wording is gone everywhere.
Fixed
- One existing product was stored with the old "wholesale unit cost" semantics (business share $150 → list price $200). It now lists at the $150 the owner intended, keeping the 25% fundraiser cut.
[0.9.70] — 2026-08-25
Edit / pause / delete on wholesale catalogue products.
Added
- Every catalogue product card now has management actions:
- Edit — opens the full prefilled product form (title, description, selling price, discount, category, brand, options, shipping, stock, expiry, images).
- Pause — hides the product from the catalogue and fundraiser pickers without losing anything; Resume brings it back.
- Delete — removes it from the catalogue (soft delete; existing orders are unaffected).
[0.9.69] — 2026-08-25
Fix server-side exception on the wholesale catalogue page.
Fixed
- The wholesale catalogue page crashed once products existed because the category filter used an event handler in a server component (React forbids interactivity there). The filter is now a normal form with a Filter button.
- The same latent issue on the wholesale Analytics fundraiser filter is fixed the same way.
[0.9.68] — 2026-08-25
Event ticketing with donation tiers (club dinners, concerts, charity events).
Added
- Donation tiers on event tickets: each ticket tier can carry an explicit donation component (e.g. a $100 VIP ticket where $60 is the ticket and $40 is a donation). Set it when adding or editing a ticket, and the tier card on the event page shows "Includes a $40 charitable donation".
- Receipted: the buyer's order receipt states the charitable donation included, so sponsors and supporters have the tax line on paper. The fundraiser's CSV export includes the donation portion per order.
- Multiple tiers already work (each ticket is its own tier with price, capacity, description and attendee details) — this adds the donation component and the attendee list stays available to organisers.
- New
Product.donationPortionCentscolumn (migration0039_ticket_donation_tiers).
[0.9.67] — 2026-08-25
Team fundraising: leaderboards, prizes, and the managed-campaign tier.
Added
- Teams & leaderboard (XXXXX style): organisers can define teams (name + emoji) on the fundraiser create/edit pages. Supporters pick a team when they start their P2P page, and the campaign page shows a live leaderboard ranking teams by money raised, with medals for the top three and a supporter count per team.
- Prizes / incentives: organisers list prizes (e.g. "top team wins a pizza party") which appear on the leaderboard so teams know what they're playing for.
- Managed-campaign tier: organisations can set a campaign manager name and email in their settings. When set, the campaign page shows a "🤝 Managed by [name]" badge — the hand-holding signal schools and clubs respond to.
- New
FundraiserTeamtable,P2PPage.teamId, and organisation campaign manager fields (migration0038_teams_leaderboard).
[0.9.66] — 2026-08-25
Low-friction donations: $15–$500 presets, Apple/Google Pay, zero-fee positioning.
Added
- Donation presets now span $15–$500 ($15, $25, $50, $100, $250, $500) in a tidy three-column grid that works on phones, plus a custom amount field.
- Apple Pay / Google Pay enabled at checkout — donation and order checkouts explicitly request card/wallet payment methods, so Apple Pay and Google Pay appear automatically on Stripe's checkout page (wallets still need to be enabled in the Stripe Dashboard payment-methods settings).
- Zero-fee positioning — the sign-up page now states "no setup fees, no monthly fees — pay only when you raise money", with a $0-to-start badge mentioning Apple Pay/Google Pay.
Notes
- Payout speed (including instant payouts) is set by each seller in their own Stripe account — the platform routes money directly, so payout timing is a Stripe account setting rather than a platform toggle.