next 16.3.6 -> 16.4.0, eslint-config-next 16.3.6 -> 16.4.0 (exact pins kept). React unchanged at 19.2.8 (satisfies next 16.4.0 peer range ^19.0.0). Advisories cleared: 6 against next 16.0.0-16.3.7, none critical: - high: SSRF in Image Optimization - moderate: cache poisoning of SSG/ISR pages (self-hosted) - moderate: SSG/ISR cross-user content substitution and persistent DoS - moderate: use cache fill leaking Draft Mode content - moderate: metadata image routes dynamicParams bypass - low: dev server MCP endpoint information disclosure Verification: tsc, eslint and next build clean before and after; next start served / 200, /favicon.ico 200, /_next/image 200, unknown route 404, no server errors. Chrome at 1280 and 390: no horizontal overflow, no console errors. npm audit --omit=dev: no next advisories remain. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015TH5RRwUukmnBav9aoro9S
FediFund
Donations for fediverse instances. One-off gifts and monthly support in one place, a live funding goal on your instance, and supporter badges on your members' profiles.
FediFund is a drop-in replacement for Patron. Frontends that already show a Patron funding bar (Soapbox, Nicolium, Aeon) work with FediFund without any changes.
Status: early development. Nothing here is ready to take real money yet. Watch the repo or check back soon.
What it does
- One-off and monthly donations from a single donate page. Donors choose an amount and whether it repeats.
- Funding goals your frontend can display, like "$340 of $500 this month".
- Supporter badges. Donors sign in with their fediverse account, so your frontend can mark them as supporters.
- Fast and reliable totals. FediFund keeps its own ledger, updated by the payment processor as payments happen. Totals come from that ledger, so a busy instance never has to wait on the processor for a number.
- Minimal data. The ledger stores amounts, dates, processor reference IDs, and the donor's public fediverse address. Names, emails, and card details stay with the payment processor and never reach your database.
How it fits with your instance
FediFund runs as its own small service. Your web server forwards /api/patron/ on your instance's domain to it, so frontends find it at the same address they already use.
https://your.instance/api/patron/v1/... -> FediFund
https://your.instance/... -> Pleroma
API
Legacy (Patron-compatible)
These match Patron's responses exactly, so existing frontends keep working.
| Endpoint | Returns |
|---|---|
GET /api/patron/v1/instance |
Current funding total, supporter count, and goals |
GET /api/patron/v1/accounts/:ap_id |
Whether an account is a supporter |
Current
A richer API for frontends that want more (donation history, supporter tiers, one-off and monthly totals shown separately) is being designed. It will be documented here once it is stable.
Moving from Patron
A migration guide is planned. Here is the short version:
- Export Patron's
userstable (it links each fediverse account to its payment processor customer). - Import it into FediFund.
- FediFund reads your existing monthly supporters from the payment processor and fills in its ledger.
- Point
/api/patron/at FediFund instead of Patron.
Your supporters don't have to do anything, and their monthly donations continue without interruption.
Development
Requirements: Node.js 20 or newer.
npm install
npm run dev
Then open http://localhost:3000.
Configuration, database setup, and payment processor setup will be documented as they are built.
License
To be decided.