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.224] — 2026-08-27
Changed
- The "Hide Generous.nz Community Campaign items from my store" preference moved from the Account page to the wholesale Restrictions page, as a tick box in the same preferences form (saved with the same Save button).
[0.9.223] — 2026-08-27
Fixed
- Sidebar navigation no longer highlights "Catalogue products" as active on the "Add product" page (or product edit pages). The link now only highlights on the catalogue list itself.
[0.9.222] — 2026-08-27
Changed
- Wholesale commissions now settle on a weekly cadence
(
COMMISSION_BILLING_CADENCE_DAYS, default 7): the hourly job only invoices settlements older than the cadence, and held settlements are released once their hold expires (previously held commissions were never invoiced — a bug now fixed). - New fundraiser accounts: the wholesale-commission hold is now anchored to 30 days from their first wholesale sale (FRESH_ACCOUNT_DAYS), then commissions settle weekly. Own product sales and donations are unaffected — they pay straight to the fundraiser via Stripe.
- Go-live checklist and help centre now explain the payment timing (own sales/donations direct; wholesale commissions: 30-day hold for new fundraisers, then weekly). Wholesaler Agreement updated to 3.2 with the same wording.
[0.9.221] — 2026-08-27
Added
- Automatic fee protection on refunds and lost chargebacks. When a refund or
dispute is processed (via the daily reconciliation sync or an admin
refund), the fundraiser's platform fee on the refunded amount is credited
against their next platform-fee invoice (
platformFeeCreditCents), so no one pays a fee on money they no longer have. This sits alongside the existing automatic behaviour: the fundraiser's commission is cancelled or credited (fundraiser ↔ wholesaler reversal), the wholesaler's platform fee is credited, and the community campaign's commission on refunded direct sales is cancelled the same way. Idempotent — credits apply only on the transition to refunded/lost.
[0.9.220] — 2026-08-27
Added
- Recurring donation renewals are now fully automatic. Stripe does not allow the platform to configure webhooks on sellers' connected accounts (verified against the API), so the daily reconciliation job now polls each seller's paid subscription invoices and records every renewal as a PAID donation — idempotent (deduped by the renewal PaymentIntent), with a donor receipt and subscription status kept in sync. No seller webhook secret required.
[0.9.219] — 2026-08-27
Changed
- Legal sign-off marked complete: the platform owner accepted the positions in the sign-off pack (sections 3, 4 and Flow 3c — community campaign commission income) on 27 August 2026. The runbook no longer lists it as a go-live blocker; external accountant/lawyer sign-off remains optional for records.
[0.9.218] — 2026-08-26
Changed
- Removed the redundant "business still pays its usual 5% + GST platform fee" phrasing from the community campaign sections of the legal documents (Wholesaler Agreement, Fundraiser Agreement, ToS and the accountant sign-off pack). The platform-fee obligation is already covered by the general fee clauses in each document.
[0.9.217] — 2026-08-26
Changed
- Removed the "Generous.nz Community Campaign" topic from the help centre and trimmed the direct-sales help copy (no "5% + GST platform fee" phrasing in the fund/commission help topics). The fee obligation remains in the legal agreements, where it actually applies.