Changelog

What shipped recently

A running log of fixes and features across all missionctl tools, newest first. For the full roadmap of what's planned next, see the project's public GitHub repo.

2026-10-18

missionctl

Live colour themes in every app — press T (timectl: C) or type :theme for a picker that previews every palette live; enter keeps it for the whole suite. habctl now follows the suite palette, too. The dashboard has it as well, and the Settings screens of habctl, budgetctl and notectl show the active theme.

missionctl

Empty apps show a short Welcome checklist (what to press first). Security hardening across the suite: owner-only files, shared database lock so an open TUI no longer blocks the CLI/MCP, confirmation for every MCP delete and mailctl only sends mail over MCP when MAILCTL_MCP_ALLOW_SEND=1 is set (otherwise it saves a draft).

2026-10-17

missionctl

Dashboard: new postctl card — your next scheduled posts and queue health (failed/overdue) across all postctl profiles, shown only when postctl is installed. The Today and Recent-activity panels stay visible on small terminals: the dashboard now scrolls (mouse wheel, PgUp/PgDn, follows the cursor).

postctl

Instagram (feed, carousel, story), Facebook pages, profiles with one scheduler service each, calendar view and a security hardening release — see postctl.sh.

2026-08-26

mailctl

New: Linux support via Thunderbird — reads your default Thunderbird profile's local mbox files and sends via the account's own SMTP server (STARTTLS + password, stored in the OS keyring via the new mailctl account set-password command). Same CLI/TUI/MCP surface as the existing Apple Mail backend. Currently in testing on real hardware — inbox only for now (no other folders), no attachments on send, no draft-saving or delete/mark-unread from mailctl (avoids writing into a Thunderbird mbox file it may have open). Feedback welcome.

2026-08-22

suite-wide

Named theme presets — set preset: dracula (or catppuccin, gruvbox, nord, one-dark, solarized, tokyo-night) in ~/.config/missionctl/theme.yaml. Applies automatically to every tool sharing the suite palette; your own per-color overrides still win on top.

budgetctl

budgetctl suggest-cuts — AI reviews this month's category spend against your trailing 3-month average and suggests up to 5 budget cuts; approve each one individually before it sets a real goal. missionctl Bundle feature.

budgetctl

budgetctl export --summary — year-end category totals for tax filing, instead of a raw transaction dump

taskctl

taskctl review — AI reviews this week's completed and pending tasks and suggests follow-ups with concrete due dates; approve each one before it creates anything

calctl

calctl export — write a week or date range of events to a file (--output), instead of only printing to the terminal

notectl

--tag filter on list/search, and a new --event-id on write to link a note to a calctl calendar event (find it back with list --event <id>)

2026-08-21

notectl

Fixed a serious bug where the terminal UI could show duplicated or stuck content — headers/tabs lingering, footers overlapping — especially with a lot of mouse movement or right after a sync. Rebuilt on a newer, more robust rendering engine.

suite-wide

mailctl, calctl, taskctl, budgetctl, timectl, diaryctl: preventive fix for the same rendering issue found in notectl — a status bar could very rarely overflow its width as a sync timestamp or counter changed, with no resize involved

mailctl

Same rendering engine upgrade as notectl (bubbletea v2), plus a specific fix: long, multi-paragraph HTML emails could break the detail view's scrollbar partway down the message. Root cause was Apple Mail's HTML-to-text conversion leaving invisible line-break characters in the body — not a terminal or font issue, so no amount of column-width tweaking had fixed it before.

mailctl

mailctl search --live now actually works — it previously failed with a syntax error on every single call (Mail.app has no scriptable "search" command). Live search now matches by subject, typically in 6-7 seconds.

timectl

timectl start --notes now actually attaches the note — the flag was accepted but silently dropped before

2026-08-14

habctl

habctl add <N> — add a suggested habit by number instead of retyping emoji-heavy titles

missionctl

missionctl doctor now reports real daemon status (running / crashed / idle), not just "loaded"

2026-08-13

notectl

New delete_note MCP tool (8 tools total)

notectl

Notebook navigation redesigned: explicit expand/collapse, dedicated account line, fixed-width tabs

notectl

Fixed a bug where landing on certain tabs could collapse the whole notebook tree

2026-08-12

diaryctl / timectl

Fixed the MCP server holding its database lock for its entire lifetime, which could block the CLI

mailctl

Faster inbox sync — bounded message access, lower default count

2026-08-07

postctl

Fixed a license-status caching edge case around rate-limited validation calls

2026-08-06

taskctl

Fixed a bug where deleting a task could silently fail to remove the underlying reminder

2026-08-05

suite-wide

Local AI via Ollama rolled out across the suite — every tool can now run entirely on a local model (e.g. Mistral) instead of a cloud API key, with a per-tool model override

Missing something you'd expect? Reach out at hello@abteilung83.com.