As of 2019-03-05, Google changed the way the Google Tasks API returns tasks. Again.
For at least years, and I’m fairly certain ever since they built the API, listing tasks for a given tasklist returned the tasks according to their order in the hierarchy, which of course makes a lot of sense. Starting two weeks ago, listing tasks for a given tasklist returned tasks according to their order in the hierarchy, but sorted by their updated time. It was a relatively minor but annoying change, so I rewrote some code and moved on.
As of sometime last night, the hierarchy is completely ignored and calls to the API simply return the most recently updated tasks, sorted by their updated time. For anyone who cares about the hierarchy of their tasks, this is nonsense.
This change effectively means that the only way to get tasks in the correct order in the hierarchy is to download every single task on the list. When users have only a couple hundred tasks, it’s not a big deal, but when users have thousands of tasks on a list, it is a major problem. It’s extremely inefficient to have to return every single task from the API, especially if you only want to look at the tasks at the top of the list. It simply doesn’t scale well.
I run my entire life using Google Tasks, and with canvas going away, and the new UIs only having one nested level of tasks, I had to build my own solution. Now with this API change, there’s a lot more work to do. I’m working on it, as the organizational system I’ve used for close to a decade is counting on it, and they’re going to have to pry it from my cold, dead hands.