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