Docker image: docker pull chrisvel/tududi:1.5.0-rc.8
What's Changed
- feat(db): add PostgreSQL support alongside SQLite by @chrisvel in #1466
- test(db): add SQLite upgrade harness and schema parity checks by @chrisvel in #1467
- fix(auth): lowercase legacy user emails so old accounts can log in by @chrisvel in #1470
- fix(db): refuse to start on PostgreSQL over a populated SQLite database by @chrisvel in #1469
- fix(security): require consent for shares and stop cross-user leaks on shared instances by @chrisvel in #1472
- fix(auth): add hosted mode guard for implicit admin and SSO provisioning by @chrisvel in #1473
- feat(auth): add self-service password reset, 8-char policy, login audit, per-email limiter by @chrisvel in #1474
- fix(security): full account erasure, self-service delete, CalDAV auth hardening, flag cleanup by @chrisvel in #1475
- feat(ops): coordinate multiple app processes through PostgreSQL by @chrisvel in #1476
- feat(ops): structured logging, readiness endpoint, Docker publish workflow by @chrisvel in #1477
- feat(billing): plan catalog, billing tables, and entitlements service for hosted mode by @chrisvel in #1478
- feat(billing): enforce plan limits at every create path, surface 402 in the UI by @chrisvel in #1479
- feat(billing): Stripe checkout, portal, webhooks, and admin overrides by @chrisvel in #1482
- feat(billing): plan and billing tab, plan badge, checkout return handling by @chrisvel in #1483
- feat(billing): admin billing page with plan overrides and Stripe sync by @chrisvel in #1484
- feat(backup): export format 2 with uid references, attachments, goals and people by @chrisvel in #1486
- feat(ops): backup volume, pg_dump script, search indexes, asset caching, token cache by @chrisvel in #1485
- feat(tasks): page the task list in the database, add a hosted deployment example by @chrisvel in #1487
- i18n: translate hosted mode, billing, password reset and share invitation keys by @chrisvel in #1488
- feat(landing): serve the marketing page from the app image behind TUDUDI_LANDING_HOSTS by @chrisvel in #1490
- feat(billing): Lemon Squeezy as a payment provider beside Stripe by @chrisvel in #1492
- fix(login): remove the duplicated password form by @chrisvel in #1493
- feat(auth): Cloudflare Turnstile captcha on the public forms by @chrisvel in #1494
- docs: complete the unreleased changelog by @chrisvel in #1495
- feat: tududi Cloud sells a subscription, with a /cloud page and the two hero choices by @chrisvel in #1496
- fix(pricing): quote one currency everywhere, drop the invented was-price by @chrisvel in #1502
- feat: Cloud waitlist and an admin dashboard by @chrisvel in #1503
- fix(demo): the sandbox cannot mint API tokens by @chrisvel in #1504
- feat: sell Cloud as one paid plan, and meter AI by tokens by @chrisvel in #1507
- feat(release): cut the GitHub Release from the tag, and pick versions by channel by @chrisvel in #1508
Full Changelog: v1.4.2...v1.5.0-rc.8