You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tasks can now track time spent: each completed Pomodoro focus session with a linked task adds its minutes to a synced, manually editable Time Spent value — fully opt-in and invisible unless the timer and task linking are enabled.
Everyday actions got faster defaults: deleting or completing a task shows an Undo toast instead of a confirmation, Ctrl/Cmd+Z undoes from the keyboard, archiving a project is one click and reversible, and the calendar week starts where your locale expects.
Capture is more capable: a %person quick-add token with autocomplete, multi-word +project/!area matching, files shared from other apps land as attachments, a persistent Android Quick capture notification, and an iOS "Add to Mindwtr Inbox" Shortcut that works with the app closed.
Data safety deepened: every storage layer now refuses saves that would wipe existing data with an empty snapshot, settings are never persisted before the initial load completes, and resolved sync conflicts are reported item by item with the winning device named.
The task checklist is now fully independent from the description markdown, and attaching a file stores a real copy inside app storage with honest owned-copy vs. pointer icons.
Mobile performance improved substantially on large libraries: paced auto-sync, differential SQLite saves, in-memory sync refresh, native list measurement, and widgets that only re-render when their content changes.
Desktop keyboard support matured: Enter opens instead of completing, a Standard (Gmail-style) preset joins Vim and Emacs, and context menus and pickers are fully keyboard-operable.
New distribution channels: beta APT/RPM repos, a floating Docker beta tag, AUR beta stable backfill, channel-aware desktop update checks, and MCP cloud-mode writes behind --write.
Full change list (grouped by area)
Capture & Quick Add
Added a %person quick-add token (%Jim, %"Jim Smith") that fills Assigned to at capture time, with people autocomplete in desktop quick-add inputs and every assigned/delegated field.
Made +project and !area shortcuts match existing multi-word names without swallowing the rest of the title, and let quoted names create multi-word projects mid-sentence.
Added /energy: quick-add syntax, default schedule times, bulk capture improvements, and restored desktop quick-add focus after adding a task.
Unified quick-add capture policy across platforms: archived +Project names create a fresh project, active ones are reused, and natural-language dates work in the mobile in-list quick add.
Added an optional persistent Android "Quick capture" notification for one-swipe capture from anywhere, which re-pins itself after swipes, OEM app kills, and reminder-triggered restarts.
The mobile share sheet now accepts files — PDFs, images, video, and audio (up to six at once) arrive as copied attachments with validation, size caps, and skipped-file reporting.
Added an iOS "Add to Mindwtr Inbox" Shortcuts action that captures tasks in unattended Automations without opening the app, and fixed "Open Mindwtr List" landing on an error screen.
Quick Add captures with the Today star promote to Next, the star is a compact icon toggle, and the capture sheet's keyboard-dismiss control is a clear chevron.
Tasks, Editing & Attachments
Decoupled the checklist from description markdown (ADR 0022): notes no longer rewrite the checklist and checklist edits no longer rewrite notes; multi-line pastes split into one item per line with bullet and [x] recognition.
Attaching a file now stores a copy inside app storage on desktop (mobile already did), failures are reported at attach time, and attachment rows show a paperclip only for files the app actually owns.
Added a completion-timestamp editor — correct a Completed time or complete a task as of an earlier time, with backdated completions anchoring repeat-after-completion recurrence.
Editor drafts can no longer wipe stored attachments, attachment edits count as unsaved changes, and clicking outside an untouched editor closes it.
Rendered Markdown consistently in description previews, made expanded descriptions text-selectable on both platforms, and added in-place title rename from the row's ••• menu.
Deleting a task moves it to Trash immediately with an Undo toast on both platforms; completing a task on mobile now offers the same Undo; deleted projects appear in Trash and can be deleted forever.
Relative start dates accept 0 so a task can hide until its due date, and time estimates gained a synced Time Spent companion fed by linked Pomodoro sessions.
Planning, Review & Recurrence
Completing a due-only or review-only recurring task now defers the next instance until its date arrives instead of leaving an identical-looking copy in Focus and Next actions.
Recurring previews always show the next occurrence date, regenerated unscheduled recurrences stay date-only, and schedule edits that defer a task drop its Today star.
The Weekly Review honors future review dates: stale-item steps skip deferred items and the Waiting/Someday steps tuck them into a collapsed "Not due yet" group.
Added a no-AI Weekly Review stale-items step with a "Review in 1 week" action, and the Daily Review checks Waiting For before choosing today's focus.
Converting an inbox capture into a project can split it into several next actions, with extra actions returning to the Inbox attached to the new project.
The Today's Focus star and task status keep each other consistent on every surface, and the future-start notice counts only tasks that could actually appear in Focus.
Board drops snap to the nearest card across columns, and boards, Contexts, and Review views gained grouping controls.
Mobile
Paced auto-sync by cycle duration, refreshed the store from the merged sync payload instead of re-reading SQLite, reused serialized rows across saves, and skipped redundant reminder rescans — cutting seconds off sync cycles on large libraries.
Task, Focus, and project lists scroll natively with measured row heights: no settle-jumps, no oscillation, no top-jump entering Select mode, and no blank list after reorder mode.
Project Task order mode opens on the tasks in view, supports dragging tasks between sections in one flat list, and returns to your position on exit.
Session restore resumes the screen — including the open project — when reopening within one Pomodoro block.
Status badges follow the active theme palette, pressed rows and buttons give visible feedback on every theme, and emoji labels survive Samsung fonts.
Search surfaces Done and Archived matches behind a one-tap hint, priority is exposed in the default editor view, and the keyboard no longer covers editors, calendar composers, or capture sheets.
Home and lock screen widgets re-render only when their content changes, starred tasks lead widget lists, and reminder notifications respect Android's lock screen privacy setting.
Desktop
Enter opens the selected task instead of completing it, Ctrl/Cmd+Z undoes the last complete or delete, and a Standard (Gmail-style) keyboard preset joins Vim and Emacs.
Context menus are fully keyboard-operable with visible focus highlights, submenu panels, and a keyboard-driven Area picker; the Inbox Processor's Area dropdown matches the Project picker.
Drag tasks onto sidebar projects or areas to move them (with Undo), drag projects into any area including collapsed and empty ones, and reorder without sync undoing fractional positions.
Dark-mode colors follow the selected app theme instead of the OS scheme, scrollbars follow the theme palette, and duplicated rows in grouped Focus views share one editor.
Update checks are channel-aware for Scoop, Chocolatey, winget, Homebrew, AUR, Flatpak, Snap, and App Store installs, and wait for channel detection before contacting GitHub.
Guided inbox processing scrolls to the top on advance, keeps assigned areas, uses consistent buttons and icons, and bulk organize defaults to keeping each task's status.
The global quick-add shortcut recommends Ctrl+Alt+M, detected Obsidian vaults are offered one-click, and Waiting/Someday rows promote to Next in one click.
Sync, Storage & Data Safety
Every storage layer — desktop database, shared adapter on mobile, and the MCP server's local mode — refuses saves that would replace existing data with an empty snapshot.
Settings changes are never persisted before the initial data load completes, fixing local data being wiped on startup for some Linux setups.
Resolved sync conflicts are named item by item with differing fields and the winning device, recorded in the log, and reachable from the sidebar sync status.
Manual sync always reads the remote instead of trusting the unchanged-check cache on desktop and mobile, and pull-to-refresh works on short lists.
Dropbox sync retries transient failures with backoff instead of reporting a false "no internet" skip, and desktop HTTP uses native TLS with the platform certificate trust.
The default-area setting syncs between devices, task sort orders stay integral, purged project tombstones survive save/load cycles, and task merge signatures use a compile-time-enforced field allowlist.
The self-hosted web app no longer breaks permanently after a redeploy: the service worker serves pages network-first, never caches HTML under asset URLs, and clears poisoned caches.
Apple Platforms
Added iOS lock screen widgets (iOS 16+): a rectangular widget with up to two focus tasks, an inline one-liner, and a circular starred-task counter.
CloudKit sync covers project archive restore metadata, purged project tombstones, and the new time-spent field across Apple devices.
Made iOS Whisper dictation durable: model storage, verification, capture audio paths, and duplicate transcription were all hardened.
Project archive from the mobile editor is a single reversible tap, fixing a confirmation dialog that could appear behind the editor sheet on iOS.
Windows & Linux
The Windows portable build keeps everything beside the executable — data, attachments, models, logs, and the WebView2 profile — and migrates earlier stray files on first launch.
"Launch at startup" works in the Microsoft Store build through a declared startup task instead of a silently virtualized registry entry.
WebDAV sync on Windows uses the native certificate trust path, and the AppImage no longer bundles a conflicting Wayland client library.
Cloud, MCP & AI
The MCP server's self-hosted Cloud mode supports writes behind --write, going through the Cloud server's validated REST endpoints; npm i -g mindwtr-mcp uses prebuilt better-sqlite3 binaries.
Cloud task REST endpoints accept energy level, assignee, and reminder suppression fields, and MCP writes stay on the core-backed service path.
Modernized OpenAI, Anthropic, and Gemini providers with stricter structured output parsing, bounded retries, truncated-JSON recovery, and updated default models.
Release, Packaging & Quality
Release candidates publish to beta APT/RPM repos and a floating Docker beta tag; stable releases feed the same beta channels and the AUR beta package so testers pick stable back up automatically.
Prerelease deb/rpm packages are stamped base~rc.N so stable versions supersede them, and gh-pages repo publishes are serialized with retries.
Release builds pin Node 22 for prebuilt better-sqlite3, use the prebuilt Tauri CLI, check out the exact requested tag, and fail closed on untracked Android versionCode overrides.
FOSS builds self-report the release version from a committed file for reproducible F-Droid/IzzyOnDroid builds, and Android heartbeat channels are baked at build time with opt-out for FOSS builds.
Added synced-field parity checks, frozen-lockfile CI installs, and broader regression coverage across sync, recurrence, and write paths.