Skip to content

todoless v1.0.0

Latest

Choose a tag to compare

@ChalidNL ChalidNL released this 01 Oct 21:41
· 66 commits to main since this release

todoless v1.0.0

The stable release — todoless is out of beta. One shared place for your family's tasks, calendar and groceries, self-hosted.

Feature

  • Mobile/PWA: secondary screens split out of the startup bundle; committed Playwright mobile E2E suite
  • Calendar: subscribable ICS feed GET /api/calendar.ics (#100)
  • Auth: complete forgot-password flow inside the app (#68)
  • API: paginated entry listing without silent cap; batched users/labels lookups (#102, #28)
  • PocketBase: bootstrap settings from environment on first run (#51)

Bug Fixes

  • Realtime: broadcast update events and apply them locally instead of refetching (#77)
  • Auth: persist device-onboarding marker for every signed-in session
  • API: validate /api/v1 input and keep the task note in sync (#224, #225)
  • Recurrence: keep description/location and the time block; no duplicate tasks on re-complete
  • Subtasks: repair server-side linking (add_subtask, subtasks route, v1/linked_to)
  • Hooks: canonical task/item record hooks with the PB 0.23+ signature; respondError loaded inside handlers
  • Logging: request logger uses e.realIP() so proxied requests log the client (#43)
  • Security: block credential forging and owner spoofing via the native collection API
  • UI: header title-band order, inbox sort modes, calendar chip filters; type-scale calibration; mobile overflow/phantom-scroll fixes; canonical logo + PWA icons
  • i18n: route aria-labels through translations (#84); missing common.saved key

Other

  • CI: single reusable quality gate; SHA-pinned GitHub Actions; secret scan; migration gate (duplicate-prefix + upgrade-from-previous-tag tests)
  • Builds pinned to verified images; containers run as non-root
  • Website live at todoless.eu with public docs and Swagger API reference

Images: ghcr.io/chalidnl/todoless:latest and :v1.0.0 (FE) / :v1.0.0 (PB).
Upgrade notes: see the README — PocketBase applies new migrations automatically on restart.