OpenTodo 0.21.0: planning horizons and the home

Plan for this week or this month without a made-up date, pin a few objectives for the quarter and the week, keep a reusable grocery list, take turns on chores, and get location reminders on Android. Also Close instead of Done, and a phone Day calendar with room for the hours.

OpenTodo 0.21.0 is about two things: planning further than tomorrow without pretending, and the small shared jobs of a home. Here is what changed.

Time sectors

Plenty of tasks belong to “sometime this week” or “this month”, and giving them a date only to move it again every evening gets old. A task can now be planned for a period instead of a day: This week, Next week, This month, Next month, This quarter or Next quarter. Turn on Time sectors in Settings → Account → How you work, then pick a sector in the Sector tab of the When editor, or type this week or sometime next week in quick add. See Time sectors.

A sectored task leaves the Inbox, is never overdue, and keeps its deadline if it has one. When its period ends, the row reads From week 44 and nothing is rewritten behind your back. In the Calendar, Plan from a list › Time sectors groups those tasks by sector, ready to drag onto a day. See Plan the week from your sectors.

Objectives

Turn on Objectives and write a few short lines that say what this quarter and this week are for. They sit above the Plan’s columns, and the weekly review’s Look ahead step lets you write next week’s and carry, finish or drop last week’s open ones. At most five per period, one line each, so they stay a reminder and not another list. See Objectives and In the weekly review.

Reusable lists

A grocery list is the same twenty things over and over. A project can now be a reusable list: Project menu → List… → Reusable list. Add “milk” when Milk was ticked off last week and the old item comes back in its section with its notes, instead of a second Milk. The app says “Milk is back on the list”, with Undo and Add anyway. Matching happens on your device, so it works offline in the shop, and ticked items wait at the end in a Got it group. See Reusable lists and Adding an item that is already there.

Sort into aisles offers sections such as Produce and Dairy and eggs in your language, and new items land in the right one. See Sort a list into aisles.

Take turns on chores

The bins on Monday, the bathroom on Saturday: a repeating task in a shared project can now pass from person to person each time it is done. Open the task’s assignee, choose Take turns…, pick the people and put them in order. Completing the task gives the next occurrence to the next person, who gets an It’s your turn notification. Skipping or reassigning doesn’t pass the turn, and if someone leaves the project, their turn goes to the next person. See Take turns.

Location reminders on Android

A task with a location can remind you when you arrive at the place or leave it: Add reminder → At a place → When I arrive or When I leave, with a radius from 100 m to 5 km. The phone watches the places with Android’s own proximity alerts, without Google Play services, and your position never leaves it. See Location reminders and Privacy and limits.

For now they are in the Android app from GitHub and F-Droid. The Google Play version gets them once Google has reviewed the background location use, and until then it says so in its settings. See Location reminders in the Android app.

Smaller things

  • Close, not Done. The editors of a task’s details ended with Done, which on a phone sits right under the task’s checkbox and reads like “complete the task”. Buttons that only close a panel now say Close. They do exactly what they did before. See Task panel.
  • The phone Day calendar leaves room for the hours. With more than three unscheduled tasks, the lane above the hours folds behind an Unscheduled header with a count, so dragging a task onto a time is easy again. See Calendar views.
  • Subtasks go to Later with their parent instead of being left behind at the top of the list. See When a task starts.
  • Deleting a task always offers Undo, from the command palette and saved views too, and a big delete asks first. See Trash and history.

Upgrading

Replace the image or the binary and restart, and upgrade the server before your devices. There is no migration and no new variable, but back up first anyway. See Updating.

If you use end-to-end encryption, update: older notes and a few other kinds of text are now encrypted too, and it happens by itself on your next unlocked sync. See End-to-end encryption.

The full list of changes is in the release notes.

Raffaele Pizzari

Builds OpenTodo in the open: one container, your own server, every feature specified before it is built. More about Raffaele

  1. OpenTodo 1.0: a promise, not a feature

    1.0 adds no feature. It is a promise that the API, sync, export, MCP tools, the CLI and upgrades from any release stay compatible within 1.x, with the security, accessibility and performance work that lets me make it, and what each of them does not cover yet.

    Releases
  2. OpenTodo 0.23.0: a threat model you can check

    A published threat model, how its security is verified, what it does not protect and a disclosure policy with response times, plus the hardening they called for. Also OAuth for MCP apps, Simplified Chinese, a new logo, the 1.0 docs and many fixes from your reports.

    Releases
  3. OpenTodo 0.22.0: fast with big accounts, and easier to move in

    Big accounts are much faster and a new device downloads only the latest notes. Five new importers with a Switching from… list, sorting by custom fields, a written stability promise for 1.0, and Back that closes what is open on Android.

    Releases

Follow along.

RSS feed

OpenTodo is free and always will be. If it helps you: star it, sponsor, buy a coffee or see how else to help.