Skip to content

Releases: rjwarrier/yata

YATA v0.91 beta

Choose a tag to compare

@rjwarrier rjwarrier released this 04 Aug 19:08

SHA-256: 41AF038D14D81D6175F132A2718FE638D3E43778FEF4AD9E0294043E9D9B16AA

Changelog

  • Added full two-way sync for self-hosted FTP/SFTP backups across devices.
  • Removed Google Drive sync and simplified backup settings around self-hosted/local backups.
  • Auto-sync now queues after task changes, including create, edit, done/undone, delete, and metadata changes.
  • Added sync start/finish/failure toast messages for manual and automatic syncs.
  • Today screen Sync Now button now animates while sync is pending or running.
  • Improved sync reliability with canonical server snapshots, merge baseline handling, recovery snapshots, and safer upload/download checks.
  • Optimized sync to avoid unnecessary publish/encryption work when snapshots are already current.
  • Bumped database schema to version 31 with migration/test coverage.

YATA v0.90.1 beta

Choose a tag to compare

@rjwarrier rjwarrier released this 03 Aug 03:31

[0.90.1 beta] - 2026-08-03

versionCode 13. Upgrades in place over 0.90 beta.

Fixed

  • Transparent white PNGs selected as profile or person avatars now follow the current Material You
    palette when the wallpaper changes, instead of keeping the colors active when they were added.
    An avatar saved by 0.90 beta must be selected once more because that version flattened the old
    palette into the stored image and discarded the original transparency.

YATA v0.90 beta

YATA v0.90 beta Pre-release
Pre-release

Choose a tag to compare

@rjwarrier rjwarrier released this 02 Aug 16:22

[0.90 beta] - 2026-08-02

versionCode 12. Upgrades in place over 0.89 beta.

Added

  • One backup covers every destination you've set up. Backing up — from the Today sync button,
    from Settings, on the periodic schedule, or automatically after a task changes — now writes to
    Google Drive, this device, and your own server, whichever of them you've switched on. Each is
    attempted independently, so one failing doesn't stop the others, and the result names what
    actually failed ("Backed up 1, but failed for your server") rather than a blanket message that
    would be wrong for the copies that succeeded. The Today sync button now appears whenever any
    destination is configured, not only when Google Drive is.
  • A single backup schedule replaces the four separate per-destination schedules, so every copy
    is the same age instead of one quietly falling days behind another. Your existing frequency
    carries over.
  • Backups to keep is configurable for self-hosted backup (Settings → Self-Hosted Backup),
    2–15, matching the Google Drive setting. Was fixed at 5.
  • Restoring from a server shows what's in the backup first — total tasks, open tasks and
    projects — so you can tell a full backup from one taken when there was barely anything in it.
    A backup that can't be read (wrong passphrase, truncated file) says so and can't be restored.
  • Compare with Backup now works for self-hosted backup too. The Self Host tab can compare
    current tasks with the latest FTP/FTPS/SFTP backup using the same diff view as Google Drive:
    pending/done totals, tasks added since the backup, tasks missing locally, and tasks whose title
    or completion state changed. The row is visible in the Self Host tab whenever that destination
    is enabled, and stays greyed out with a "Not configured" hint until server details are saved.
  • A progress spinner on the self-hosted "Back up now", matching the Google Drive one.
  • A peek at tomorrow when Today is empty. When there's nothing due today, a "Show upcoming
    tasks" button appears below the empty state — tapping it reveals tomorrow's and the day after's
    open tasks, dimmed but fully clickable and completable, for that visit only. Settings → Task
    Defaults has a toggle to show them automatically every time instead, no button needed.
  • Self-hosted backup over SFTP or FTP/FTPS. Settings → Self-Hosted Backup connects to any
    server you already run (password or private-key auth for SFTP, password for FTP; configurable
    remote folder) and schedules the same JSON payload the Google Drive and on-device backups use —
    no vendor account, no lock-in to a specific host. A protocol picker switches between the two;
    FTP defaults to FTPS (TLS) and only sends plain, unencrypted FTP if you explicitly opt out, with
    a warning shown while that's on. An optional backup passphrase encrypts the backup file
    itself (AES-256-GCM) before it leaves the device, so it stays private even on a server you don't
    fully control — and unlike the on-device encrypted backup, a passphrase you know can be used to
    restore onto a different phone. Keep a copy of it: without it the backup can't be restored.
    Uploads are verified byte-for-byte against the server after transfer, and a short or interrupted
    upload is deleted and reported rather than left sitting there looking like a good backup. Host
    key trust is TOFU (trust-on-first-use) for SFTP: the
    server's fingerprint is shown and must be explicitly confirmed on first connection, and every
    later connection has to present that exact same key or the connection is refused outright — a
    changed key surfaces as a clear warning to trust or reject, never a silent downgrade. FTPS
    validates the server's certificate against the platform's own trust store, same as a browser.
    Password, private key, and passphrase are stored in their own encrypted keystore, separate from
    the app's regular settings.
  • A center crosshair guide (horizontal + vertical) in the profile/avatar crop circle, to help
    line up the shot.
  • White/transparent logo uploads for profile and person photos now get the app-icon treatment.
    A picked image that's mostly a white glyph on a transparent background (an SVG re-exported as
    PNG, or any icon-style upload — SVG itself can't be decoded directly) is detected automatically
    and recolored onto a Material You background instead of rendering invisible white-on-white.
    Ordinary photos are left untouched. The crop screen now hints at this so it isn't a surprise.

Changed

  • Remote Backup settings are now cohesive. Google Drive and Self Host live under one section
    with Material 3 segmented destination tabs, shared frequency/retention/back-up-now controls,
    and less duplicated setup.
  • The remote destination picker now uses a Material 3 segmented control with Drive/Self Host
    icons instead of an in-card tab strip, making the two backup destinations read as peers.
  • Password, private-key passphrase, and backup-encryption passphrase fields now show a masked
    placeholder when a saved value exists, while still keeping the actual secret write-only.
  • Google Drive backup is limited to the test profile email for now; other profiles see the option
    disabled with an "Option under limited testing" note, and automatic/manual Drive backup is
    skipped at the backup layer for non-test profiles rather than merely hidden in the UI.
  • "Archive old completed tasks" moved out of the Drive tab and into Backup & Data where it reads
    as general backup/data behavior.

Fixed

  • New tasks in a project with no due date no longer default to today. Picking (or opening the
    sheet already inside) a project with no due date of its own now leaves the new task's due date
    empty too, matching the project — it was silently defaulting to today regardless.
  • Your profile picture now shows on tasks assigned to you. The "You" person used for assignee
    avatars everywhere (task rows, person detail, mentions) was seeded once with no photo and never
    kept in sync with the picture set in Settings, so it always fell back to "Y" initials. Existing
    profile photos are picked up automatically on next launch; new ones sync immediately, including
    through backup restore.
  • FTPS uploads now publish through a temporary .part file and rename only after the byte count
    matches, so an interrupted transfer cannot leave a half-written file that looks like a valid
    backup.
  • FTPS certificate handling now validates the certificate chain through the platform trust store
    without requiring a hostname/SAN match, which keeps secure self-hosted servers with legacy
    certificates usable while still rejecting untrusted certificate chains.
  • FTP/FTPS self-hosted backup comparison now prefers the server's IPv4 address before IPv6/NAT64,
    avoiding a connection-denied path some Android networks picked for ranjithj.in.

YATA v0.89 Beta

Choose a tag to compare

@rjwarrier rjwarrier released this 01 Aug 08:11

versionCode 11. Upgrades in place over 0.88 beta; the database migrates from 29 to 30 with
existing tasks preserved.

Added

  • Time estimates and a planned total for the day. Give a task an estimate from its detail
    screen (5m up to 4h, or none), and Today shows how much work you've actually planned — plus how
    many open tasks still have no estimate, so the total is never mistaken for the whole day. Tasks
    show their estimate on the row alongside subtask progress. Nothing is estimated automatically:
    a guessed number would make the figure look more reliable than it is.

Changed

  • Removed the remaining-task count badge from the bottom nav's Today icon.

Fixed

  • Backup and restore no longer lose "waiting on" dates or a project's sections. Both shipped in
    0.88 beta as database fields but were never written to the backup file, so restoring a backup
    silently dropped them. Backups taken with 0.88 beta are missing this data and cannot recover it;
    backups taken from here on carry both. Older backups restore as before.
  • Home-screen widgets no longer show tasks the app has hidden from Today. The Today, Progress
    and Upcoming widgets, and the daily agenda notification, ignored start dates entirely — a task
    deferred to next week still sat on the launcher — and the same gap applied to the new "waiting
    on" dates. The Upcoming/Calendar tab and Next 10 Days still show deferred tasks on their due
    date, which is intended: a start date only keeps work out of the day view.
  • Widgets and the bottom-nav badge now also respect "Exclude from Today" projects and lists.
    They only checked excluded projects, never lists, and the badge additionally missed the deferral
    and waiting-on fix above — so a tapped badge could open a Today screen with fewer tasks than the
    number just shown.

YATA v0.88 Beta

Choose a tag to compare

@rjwarrier rjwarrier released this 01 Aug 05:43

versionCode 10. Upgrades in place over 0.87 beta; the database migrates from 27 to 29 with
existing tasks preserved.

Added

  • Multiselect and bulk actions on Project/List/Tag/Person detail screens. Long-press a task to
    select it, then complete, tag, assign, move, reschedule, duplicate or delete the whole selection
    at once — previously only available on Today, Upcoming and Search.
  • Workload hints when bulk-assigning. The bulk "Assign" sheet now shows each person's open and
    overdue count, so assigning doesn't mean guessing who's already underwater.
  • Owner vs. collaborator on multi-assignee tasks. The first person assigned to a task is its
    owner (rendered larger in the assignee stack, labeled "Owner" on the task detail screen);
    Analytics' delegation stats now key off ownership rather than mere presence in the assignee list.
  • "Waiting on" follow-up dates. A task delegated to someone else can be given a follow-up
    date from its detail screen; until that date arrives it's hidden from Today (it stays fully live
    everywhere else) and reappears on its own once it does.
  • Saved views reachable from the command palette. Filter combinations saved from Search (
    previously only listed in the drawer's Custom Views section) now also show up in the command
    palette, searchable alongside the built-in presets.
  • User-defined sections inside a project. Add headings like "Design" or "Backend" from a
    project's "Manage sections" menu; tasks are grouped under them (with an implicit "No section"
    bucket) and reassigned from the task detail screen. Projects without sections keep the existing
    flat, drag-to-reorder Pending/Completed list.
  • Cloud backup retention slider. Settings → Cloud lets you choose how many cloud backups to
    keep (2–15, default 5) — older ones are pruned automatically after each backup, same as before,
    just at a count you control instead of a fixed 5.
  • Simplified "Backup frequency" to a 4-option picker. Right after any change in a task, or
    every 30 / 60 / 120 minutes — replaces the old free-form number + Minutes/Hours/Days entry.
  • New "Search & Saved Views" section in Help & About, plus updated Projects/Lists, People and
    Backup & Export sections covering everything above.
  • Help & About's build line now includes the exact build timestamp
    (Build <versionCode>.<DDMMYYYYHHmm>), not just the version code.

Changed

  • The Calendar month heading is bigger, bold, and sits in a pill.

Fixed

  • The "yata" wordmark in Help & About now actually renders in Bodoni Moda's bold, high-contrast
    display cut — it was silently falling back to the variable font's plain default instance since
    nothing told it which wght/opsz axis values to use.
  • The backup-frequency picker's selection indicator is animated again (was a static checkmark that
    just popped in and out).

YATA v0.87 Beta

Choose a tag to compare

@rjwarrier rjwarrier released this 31 Jul 19:53

versionCode 9. Upgrades in place over 0.86 beta; the database migrates from 26 to 27 with
existing tasks preserved.

Added

  • Analytics rebuilt around delegated work. A new Delegation card shows how open work splits
    between people you've handed it to, your own, and nothing assigned yet — plus median turnaround,
    the age of your oldest open task, and how much open work has no due date at all. A Per Assignee
    section ranks everyone by what's late rather than by volume, showing what each person holds, how
    much they finished this period, their on-time rate and how fast work typically moves through
    them. Unlike the existing By Person breakdown it doesn't hide someone whose work all falls
    outside the selected period — a teammate sitting on old undated tasks is exactly who you need
    to see.
  • Insight callouts at the top of Analytics — at most four, worst first: who has the most
    overdue, anyone carrying well above the team median, how much is unassigned, the least-finished
    group across projects and tags and lists, and anything open for more than 30 days.
  • A By List breakdown in Analytics. Lists were the one organising axis with no analytics at
    all, despite sitting beside projects and tags everywhere else.
  • Task age and turnaround. Tasks now record when they were created, so Analytics can show how
    long work takes from creation to completion and how long open work has been sitting. Tasks that
    existed before this update have no creation date and are left out of those figures rather than
    being counted as new.
  • Subtask progress on task rows. A task with a checklist now shows "3/5" wherever it's listed
    — Today, Upcoming, Project, List, Tag, Person, Search and Next 10 Days — and the count turns the
    list's colour once everything is ticked. Tasks without subtasks look exactly as before.

Changed

  • Analytics periods now mean "what happened", not "what was due". 7 Days and 30 Days used to
    keep only tasks whose due date landed in the window, so a task with no due date appeared under
    All Time and nowhere else, and work finished this week but due last month didn't register as
    work done. They now cover anything completed, due or created in the window, plus everything
    still open. Expect the figures to read higher than before — the previous ones were leaving out
    most undated work.
  • Changing month in the calendar is smoother. The grid used to empty and refill one cell at a
    time, and going back a month looked identical to going forward. The whole grid now slides as one
    piece in the direction you're travelling, and the card resizes with it instead of snapping when
    a month needs a different number of rows.
  • The drawer's "Tools" section is gone, and with it a collapsible header hiding eight more
    rows. The six views that lived there — My Work, Focus Mode, Morning Review, Evening Review,
    Stale Nudges and Task Health — are now in the command palette, where you can type "stale" or
    "overdue" to reach them instead of remembering where they sat in a menu. Next 10 Days was
    already on Today's top bar. The drawer now ends at a single Command palette entry.
  • Task lists redraw less. Ticking one task off used to cause every task visible on screen to be
    rebuilt, not just the one that changed; the progress rings on the People, Tags and Projects tabs
    also animated a decorative wave continuously, at sizes too small for it to be visible, rebuilding
    their shape from scratch on every frame. Both are fixed, so long lists scroll better and the app
    is easier on the battery when left open.
  • The app holds on to less memory. Profile photos were cached by count rather than by size, so
    up to about five megabytes of images could sit in memory for as long as the app was running, and
    nothing released them when the system came under pressure. The cache is now measured in actual
    memory used and is emptied when you leave the app — which also makes Android less likely to close
    it in the background and lose where you were.

Fixed

  • Changing what a swipe does could keep performing the old action. Setting a direction to
    Snooze or Delete in Settings and then swiping a row already on screen updated the icon behind it
    but could still carry out whatever action was configured when that row first appeared, until it
    scrolled off and back. Newly-appearing rows were unaffected.
  • The Today header ignored the Date format setting once drawn — it read correctly on the first
    frame but didn't update if you changed Day-first/Month-first/ISO while the tab was already open.
  • Reduce Motion was only ever shortening animations, never removing them. It now takes effect
    on anything already on screen the moment you toggle it, rather than only on animations that
    start afterwards, and large movements are replaced rather than sped up — screen transitions and
    the Upcoming calendar cross-fade instead of sliding, the calendar no longer staggers its cells in
    one after another, and the decorative wave on progress rings stops entirely.
  • Project and List detail's drag-to-reorder rows now fade in and out consistently with every other
    task list in the app, instead of popping in and out abruptly.
  • Today and every other task list could show the wrong day. They read the date once when
    first opened and never again, so leaving the app open (or merely backgrounded — the process
    keeps running) across midnight left Today showing yesterday's tasks, overdue badges wrong, and
    deferred tasks not yet un-deferred, until the app was force-closed and relaunched.
  • Searching by subtask title missed archived and trashed tasks. It worked everywhere else, so
    a search that should have found a shelved task quietly returned nothing — matching on the task's
    own title, notes, people and tags but never its checklist.

YATA v0.86 Beta

Choose a tag to compare

@rjwarrier rjwarrier released this 31 Jul 17:23

versionCode 8. Upgrades in place over 0.85 beta.

Added

  • +project and =list while typing a task, alongside the #tag and @person that already
    worked. All four now pop the same picker as you type, so a project or a list no longer needs the
    longhand "project Foo" phrasing with nothing on screen to confirm it was understood. Picking a
    project clears the list and vice versa, since a task can only be in one. There's no "create new"
    option on these two — a project or list is more than a name, so it's better made properly than
    conjured mid-sentence.
  • Export a tag or a person as Markdown, from the ⋮ menu on their screen — the same option
    projects already had. Copies a checklist of the open tasks to the clipboard and opens the share
    sheet.
  • Time format (Settings → Display). Follow the device, or force 12-hour or 24-hour. Times were
    hardcoded to 12-hour everywhere, so a phone set to a 24-hour clock still read "5:00 PM" and got a
    12-hour time picker. Changing this never rewrites a task — the stored value is untouched, only
    how it's drawn changes.
  • Date format (Settings → Display). Follow the device's language, or pick day-first
    ("4 Jul"), month-first ("Jul 4") or ISO ("2026-07-04"). Dates were hardcoded to month-first;
    setting the phone to English (UK) or English (India) translated the month's name but still
    wrote the fields in US order. This also decides how smart add reads an ambiguous typed date, so
    "3/4" means the 3rd of April on a day-first setting and the 4th of March on a month-first one.
  • Choose what a swipe does (Settings → Sound & Feedback). Each direction can be set to
    complete, delete, snooze to tomorrow, edit the title, or nothing at all. Right-to-complete and
    left-to-delete stay the defaults.
  • Open on a fixed tab (Settings → Navigation). The app can start on a tab of your choosing
    instead of wherever you were last. A tab that's switched off in Features falls back to Today.
  • Confetti can be turned off on its own (Settings → Sound & Feedback). Previously the only way
    to stop it was Reduce Motion, which costs you every other animation too.
  • A Sound & vibration row (Settings → Notifications) opening Android's own notification
    settings for YATA, where tone and vibration are set per notification type.
  • Confetti when you clear the day. Finishing the last open task on Today gets a brief
    celebration. Only for actually finishing it — deleting the last one doesn't count — and only for
    clearing the whole day, not a filtered slice of it. Skipped entirely if Reduce Motion is on, in
    the app or system-wide.
  • Task rows now dip slightly when pressed, the same feedback the buttons and chips already gave.
  • Task cards (Settings → Display). Off by default. Turn it on and every task draws as its own
    rounded card instead of a flat row, everywhere tasks are listed — Today, Upcoming, Project, List,
    Tag, Person, Search and Next 10 Days. Works with all three row densities and with the priority
    colour stripe, which follows the card's rounded left edge.
  • Color intensity and Background tint sliders (Settings → Appearance). Muted to Pop for how
    saturated the accent colors are, over four stops; Clean to Max for how much of the theme color
    carries into page and card backgrounds, over ten. Both scale whatever scheme you already have
    rather than replacing it, so they work on top of Material You, a custom seed colour, or the
    built-in palette, and your wallpaper's hue survives at every stop. The defaults change nothing
    about an existing theme until you move a slider.
  • Sort people and tags by open work. A "Most open tasks" option on the People and Tags tabs,
    ranking by how many tasks are still unfinished. The existing "Most tasks" counts everything ever
    associated with someone, so whoever has the longest history came out on top regardless of what
    they currently have left — and on the Tags tab it disagreed with the "N open" figure printed on
    every row. Both original task-count options are unchanged.
  • Open and Closed sections on the Tags tab. Tags with unfinished work sit under Open; tags whose
    tasks are all done, and tags nothing points at any more, collapse into Closed, shut by default.
    Groups still work as before inside Open.
  • Auto-assign new tasks to you (Settings → Task Defaults). New tasks were always assigned to
    you with no way to change it; turn this off and they start unassigned instead. You can still pick
    an assignee on any task either way. Applies to the widget's quick-add as well as the app, and
    adding a task from someone's own screen still assigns it to them regardless.
  • Backups now include your settings — theme, feature flags, task defaults, notification
    preferences, sort orders and the rest. Previously a restore rebuilt every task and left you on
    defaults, which was most obvious after reinstalling. The app-lock PIN and the cloud account are
    deliberately excluded: a backup file is no place for a credential, and the cloud grant is
    per-device.
  • Smart add understands a lot more. Typing a new task now picks up:
    • Repeats — "every weekday", "every weekend", "every monday and wednesday", "every mon, wed,
      fri", "each monday" (each works anywhere every does), "every month on the 15th", "every 1st
      of the month", "every last day of the month".
    • When a repeat stops — "every 3 days until august 15", "daily standup for 10 times".
    • More dates — "next year", "end of year", "next quarter", "end of quarter", "in 2 years",
      "a week today", "wednesday next week", "beginning of next month", "later this week", "over the
      weekend", "mid january", "in a couple of days", "in a few weeks", "in 3 business days" (skips
      the weekend), "on the first"/"the twenty-first" spelled out, and dates written "20.07.2026" or
      "20-07-2026".
    • More times — "this morning", "this afternoon", "this evening", "later today", "5ish",
      "noon-ish", "first thing", "cob", and mealtimes behind a preposition ("call the bank at lunch").
    • More priorities — "not urgent", "backburner", "when i can", "nice to have", "eventually",
      "drop everything", and the "prio" short forms.
  • 60 more icons to choose from for projects and lists — food and drink, sport and outdoors,
    more travel and transport, health, media, and work icons like handshake, campaign and inventory.
    The picker also shows more of them at once before you have to scroll.

Changed

  • The app lock screen is a real lock screen now. The keypad is on screen from the start rather
    than behind a "use PIN instead" button, the keys are 76dp circles that dip as you press them, the
    dots show how long your PIN is and swell as they fill, and a wrong PIN shakes them — with a
    double buzz that's deliberately unlike the tick of a keypress — instead of printing a line of
    small red text. It unlocks as soon as the last digit lands, with no confirm button. The screen
    itself rises into place when it appears, the message under the dots crossfades rather than
    jumping, and the whole layout is spread out: header in the upper third, keypad low enough to
    reach with a thumb. The fingerprint prompt still comes up first, with a fingerprint key at the
    bottom-left of the pad to call it back. Every animation is skipped when Reduce Motion is on.
  • The profile picture in the top bar matches the buttons beside it. It was drawn smaller than
    the search and select buttons it sits next to, so the row of circles stepped down at the end.
  • Settings section headings are easier to find. Each of the fourteen headings now carries an
    icon for what it covers and is set in title-sized text rather than the same small caption size
    used for the description under a toggle, so a long scroll has landmarks to scan by.
  • Tags now show their own initial instead of the same generic label icon on every one. The Tags
    tab and each tag's own screen draw the first letter of the tag's name — two letters if the name
    has more than one word — in the tag's colour. Nothing to set up; it follows the name.
  • The task title in the New Task sheet is now the clear focal point of the screen: a tonal
    container with the largest rounding and type on the sheet, and a focus ring, instead of a thin
    underline that read as the least important control there. The mic button sits inside it.
  • Notes, comment and subtask fields are filled tonal surfaces with generous rounding instead of
    outlined boxes, which sat oddly against the tonal cards around them. The project, list, tag and
    person editor sheets now match.
  • "Create another" in the New Task sheet is a switch rather than a checkbox, and the whole row is
    one target: it's a mode that takes effect immediately, not something submitted with the task.
  • The top bar buttons on the person, tag, project and list screens now sit in the same circular
    containers as the ones on the main tabs, and hide-completed fills in while it's on rather than
    only swapping its icon. Every task list in the app has a consistent top bar again.
  • Dark mode is a few points lighter, off the near-black it used to sit at. AMOLED is untouched
    and remains the true-black option, so the two now divide cleanly into a comfortable dark and a
    panel-off black.
  • People tab is tighter. The gap between cards was being applied twice and came out at 24dp;
    it is now 10dp, so roughly two more people fit on screen.
  • Each person's open-task count moved from a badge clipped to the corner of their photo into the
    middle of the progress ring on the right, next to the "N assigned · M done" line it belongs with.

Removed

  • The dashed "New tag", "Add person" and "New project" rows on the Tags, People and Projects tabs.
    Each duplicated the button already floating over the same screen. Note that if you have the
    quick-add button set to Hidden, these three tabs no longer offer any way to creat...
Read more

YATA v0.85 Beta

Choose a tag to compare

@rjwarrier rjwarrier released this 30 Jul 01:38

Material 3 Expressive task manager for Android. 43 commits since v0.7 beta.

New

  • Start dates. A task can now be marked "not actionable before" a date. Deferred tasks drop out of Today but stay in their project or list, badged with the date they become available, and reappear on their own when it arrives. Understood at capture too — "draft proposal starts monday", "chase invoice not before next week", "defer until tomorrow".
  • Crash logs. Reports are saved on the device automatically and readable in-app from Settings → Crash Logs: full stack trace, copy, share, delete. Both hard crashes and failures the app recovered from are recorded, the latter being the ones that were previously invisible.
  • Manual cloud sync. A sync button in the Today top bar when cloud backup is enabled, with progress and a result message.
  • Profile name and email in backups. Previously the backup carried your avatar but not the name beside it, so a restore rebuilt the picture onto a blank identity.

Fixed

  • Adding a task or a person could crash the app. The immediate cause was a toolchain bug (D8 emitting unverifiable dex for the task sheet); a follow-up scan turned up and fixed four systemic crash paths behind it — unhandled database failures on every write, an unguarded startup coroutine, corrupt-preferences handling, and unresolvable settings deep links.
  • Long or pasted task titles could not be edited: the text scrolled off to the right with the cursor pinned at the end. Titles now wrap.
  • An unset profile name could never be set — the row was an invisible, untappable target.
  • Recoverable database failures now show a message instead of taking the app down.

Changed

  • M3 pass over the top bars on all five tabs: circular tonal containers, hide-completed as a proper toggle, correct touch targets and TalkBack labels on the profile avatar.
  • Settings search rebuilt to the M3 search-field spec.
  • Notes and comment fields: send action moved inside the field, markdown hint moved to supporting text, consistent shapes and bounded height.

Notes

Signed release build, versionCode 7. Upgrades in place over v0.7 beta — the database migrates from 23 to 26 and existing tasks are preserved.

YATA v0.6 beta

Choose a tag to compare

@rjwarrier rjwarrier released this 24 Jul 03:56

Signed release build. Includes:

  • Tags/People tabs: sort menu (Name A-Z/Z-A, Most/Fewest tasks, Starred first) — People's old drag-to-reorder removed in favor of it. Same alphabetical sort applied to the assignee/tag pickers in New Task, Edit Task, and @/# mention autocomplete.
  • Task detail: Export a single task as PDF or Image, with an options sheet to include Notes/Comments when present. The exported card's header shows Project, List, Assigned to, and Tags when set.
  • Fixed the missing % label on the Project/Person/List/Tag detail hero's progress ring.
  • Fixed home-screen widget "Configure" changes not reliably applying: Team Overdue widget now honors its Label/Accent Color settings, widget refreshes are serialized and retried per widget instance, and the refresh can no longer be cut short by the configure screen closing early.

YATA v0.5 Beta

Choose a tag to compare

@rjwarrier rjwarrier released this 23 Jul 17:23

First signed release build.
Includes: branded PDF/image export for Project/Tag/Person/List (accent letterhead, stat chips, project/list grouping, tag chips, assignee names, include/exclude completed with age cutoff, strike-off toggle, Compact/Relaxed layout), redesigned priority indicator (dots + colored edge stripe), equal-width hero stat cards, and an expanded natural-language quick-add parser (word-based priority, flag detection, more relative dates and recurrence words).