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.248] — 2026-08-28
Added
- Google Tag Manager (
GTM-NC89TPGP) on every page — container script in the head and the noscript fallback at the top of the body, so GTM works with and without JavaScript. The container ID can be overridden later withNEXT_PUBLIC_GTM_IDin the environment. - Route-change tracking — client-side navigations now push a
next_route_changeevent (with the page path and title) to the dataLayer, so GA4 conversions can be wired to in-app pages, not just the first page load.
[0.9.247] — 2026-08-28
Added (SEO)
- Canonical URLs on every indexable public page (home, blog, help,
getting started, business, wholesale, explore, legal, legal documents,
blog posts, product pages, P2P pages, fundraisers and org storefronts).
Shared
?from=links now resolve to a single canonical URL instead of being indexed as duplicates. - Structured data: Organization + WebSite schema on the homepage, Article
- BreadcrumbList on blog posts, and Product schema (with ratings where present) on both fundraiser-owned and wholesale product pages.
- Blog pagination — the blog index now serves 18 posts per page
(
/blog,/blog/page/2, ...), cutting page weight from ~540 KB to a fraction of that. Paginated and search-result pages are noindexed. - Blog search now runs server-side via
?q=(search result pages are noindexed to avoid duplicate content). - Publish dates, author and reading time on blog cards and article pages — dates render in NZ format (e.g. "27 August 2026").
Changed
- Fixed duplicate brand names in titles — "Blog — Generous.nz · Generous.nz" is now "Blog · Generous.nz", and blog post titles no longer repeat the site name.
- Blog posts now include Article Open Graph metadata (published time, URL, type) and canonical tags.
[0.9.246] — 2026-08-27
Added
- The fundraiser's My listings page now has a filter: All listings / My listings / Wholesale fundraisers. Wholesale rows also show a "You earn / sale" figure (listing price × the fundraiser's commission percentage).
[0.9.245] — 2026-08-27
Changed
- Removed the "Voucher conditions" box from product cards on fundraiser pages — conditions still appear on the product pages themselves.
[0.9.244] — 2026-08-27
Changed
- Reviews now live on product pages only — the fundraiser page no longer
shows the Reviews section, the campaign rating badge, or product-card
ratings. Product pages (
/p/[id]and/wholesale/p/[id]) keep their reviews.
[0.9.243] — 2026-08-27
Fixed
- Wholesale items on fundraiser pages (and product pages) no longer grey out based on the listing's own stock snapshot — the buy button now uses the supplier's actual catalogue stock. (A WebStarts listing showed as "sold out" because test orders had driven its snapshot negative while the real stock was 399; the snapshot was corrected too.)
[0.9.242] — 2026-08-27
Added
- Product cards on fundraiser pages are now fully clickable — clicking
anywhere on the card (except the buy controls) opens the product page.
Wholesale items keep their
?from=referral so the referring fundraiser gets the sale (the 5-day first-touch attribution cookie remains the backup); fundraiser-owned items open a new product detail page at/p/[id]with the item's full description, price and buy button.
[0.9.241] — 2026-08-27
Changed
- The listing form's Pickup location field now includes a safety hint: "For safety, don't enter your full address — just your suburb."