github OpenTodoApp/OpenTodo v0.15.0
OpenTodo v0.15.0

latest release: v0.16.0
4 hours ago

OpenTodo 0.15.0 moves the project to its own home, the OpenTodoApp organization on GitHub, with the image now at ghcr.io/opentodoapp/opentodo. The Android app signs in behind a login page (Pangolin, Authelia, Authentik, Cloudflare Access) and with single sign-on, inside the app, and targets Android 16 as Google Play requires. ot vault now also syncs TaskNotes task notes, the task panel shows a task's properties first and its notes in full, and a round of fixes for project counts, drag highlights, tab rows and task order.

Upgrade notes

  • Replace the image or the binary and restart. No migrations. Upgrade the server before the devices, as for every release.
  • New image name: ghcr.io/opentodoapp/opentodo. The old name ghcr.io/pixari/opentodo still receives every release through 0.16.x, so nothing breaks; switch your compose file or template when convenient. (Docker)
  • Android app behind a login page: see the new section in the Android app guide for what works and which paths a bypass needs if you prefer one.

Added

  • ot vault syncs TaskNotes task notes. Link the folder where the Obsidian plugin TaskNotes keeps your task notes with ot vault tasknotes <folder>, and every task note becomes an OpenTodo task, so it shows in Today, the calendar and your reminders. Status, priority, scheduled and due dates, tags and contexts, the project link, the estimate, recurrence with completed instances, time entries and the note's text sync both ways with the vault's field-by-field merge. The vault reads your TaskNotes settings, so renamed fields, your own statuses and priorities work. Only the keys whose value changed are rewritten, and the note is matched by an opentodo-id key TaskNotes leaves alone. (Markdown vault, #440)

Changed

  • OpenTodo moved to the OpenTodoApp organization, and the image to ghcr.io/opentodoapp/opentodo. The repository is now github.com/OpenTodoApp/OpenTodo (old links redirect), the image ghcr.io/opentodoapp/opentodo with the same tags, and the Helm chart oci://ghcr.io/opentodoapp/charts/opentodo. The old image ghcr.io/pixari/opentodo and chart oci://ghcr.io/pixari/charts/opentodo keep getting every release through 0.16.x and stop being updated with 0.17.0: replace ghcr.io/pixari/opentodo with ghcr.io/opentodoapp/opentodo where you run OpenTodo, nothing else changes. The Go module is now github.com/OpenTodoApp/opentodo (go install github.com/OpenTodoApp/opentodo/cmd/ot@latest). (Docker)
  • The task panel shows a task's properties first and its notes in full below them, without Show all. Long notes no longer push the project, dates, priority and labels out of view: the panel lists them, the subtasks and the attachments first, then the whole note, which grows with the panel's scrolling. On a task page narrower than 1024 px the facts card now sits above the notes too. (#444, The task page)
  • Plainer words in the start guide and How you work. The start guide now says what Open Loops is before asking how much of it you want. The three choices are now called Simple lists, Lists with method hints and Full Open Loops method (they were Lists only, Companion and Open Loops first), the link reads What is Open Loops?, and the offers explain what a context and the Loop home are. Your choice is kept; nothing else changes. (#433, Set up in ten minutes)
  • The Android app targets Android 16 (API level 36), as Google Play now requires. Nothing changes for users: back navigation already used the system's predictive back, and the app already drew edge to edge.

Fixed

  • The Android app signs in behind a login page and with single sign-on (#471). With the server behind a login wall (Pangolin with Pocket ID, Authelia, Authentik, Cloudflare Access, oauth2-proxy…), or with Sign in with …, the sign-in page opened in the phone's browser, so the app never got the session. The sign-in now happens inside the app, with a bar naming the site you are signing in on and a way back to your server; other links still open in the browser. The first-run screen no longer calls such a server "not an OpenTodo server": it says the server is behind a login page and offers to sign in there. Providers that refuse app web views, such as Google, still can't be used in the app; sign in with a password or passkey there. (The Android app)
  • Deleting or archiving a project names the right number of open tasks. Opened right after the project, before its tasks had loaded, the confirmation could say "0 open tasks". The number is now counted when the confirmation opens.
  • The drop highlight no longer stays on a shared project you can only view. Dragging a task over such a project in the sidebar left its ring on after the drag ended.
  • Tab rows no longer show a stray vertical scrollbar. The task panel's Comments, Activity, History and Time row, and every other tab row, drew a small scrollbar at its right end because the selected tab's underline overflowed the row by one pixel. Tab rows now scroll only sideways. (#445)
  • The side panel no longer flickers when you pick the first task after changing lists (#442). After going to another project, the panel showing "No task selected" vanished for a moment and slid in again when you chose a task; it now stays in place and the task simply replaces the empty pane.
  • Tasks added at the same moment keep their order. Tasks created in the same instant could share one position and then show in any order in a manually ordered list; each now goes after the one before it.

Install

  • Docker: docker run -d -p 8080:8080 -v opentodo:/data ghcr.io/opentodoapp/opentodo:0.15.0
  • Binary: download opentodo-<os>-<arch> below, then run it (data goes to ./data).
  • Command-line client: ot-<os>-<arch>. Browser extension: opentodo-browser-extension-chrome.zip and opentodo-browser-extension-firefox.zip.

Verify downloads with sha256sum -c SHA256SUMS. Self-hosting guides: docs/self-hosting.

Don't miss a new OpenTodo release

NewReleases is sending notifications on new releases.