NewtonCuff App

Release notes & version history

Changelog
← All apps

Version 1.8.26

2026-08-26
Added
  • AI Chat can create GitLab delivery objectives from either local mobile model. The approval-gated `new_objective` action files through the existing issue path with exactly the `ai-issue-logged` label, and its approval and activity cards use objective-specific labels.

Version 1.8.25

2026-08-25
Added
  • AI Chat now opens from the Dashboard and talks to the authenticated, always-on Deep Agents LangGraph service. It provides streaming replies, iOS-scoped durable history, stop/new/history controls, structured approvals, and a Keychain-backed backend API key.
  • Four AI model routes are available: Local Spark, RTX-backed `homelab-primary`, OpenAI Codex, and Claude Code. Hosted provider catalogs are discovered live, with last-known five-hour and weekly allowances shown when available.
  • Photo context is available on Local Spark and `homelab-primary`. A prompt can preview and remove up to four bounded, compressed photos; those images remain available to the model when durable history is reopened.
  • Scoped AI app actions let the local routes create, update, complete, reschedule, or delete todos and manage their linked reminders after structured approval. Todo deadlines appear in the app Calendar, and reminders schedule device-local notifications.
  • Live AI activity exposes sanitized harness progress, status icons, and elapsed time without revealing raw tool payloads, results, or model reasoning.
  • Pull-to-refresh throughout the Vault now works from nested folders and search results, not only from the Vault root.
  • Objective abandonment lets a top-level Ready or In-Progress objective file an abandon request for the runner to consume.
Changed
  • AI Chat uses a compact, non-repeating header. The green dot represents a successful authenticated connection probe, provider allowance badges omit the redundant word “left,” and the model name appears only in the picker. Photo capability copy is no longer repeated below it.
  • The keyboard no longer obscures replies. Sending dismisses it automatically; swipe-down and a keyboard Done button provide manual controls.
  • AI Chat startup is selected-route-first. It restores saved conversation pointers and checks the chosen Spark/RTX harness before optional provider and quota refreshes. Photo-heavy history loads only when opened, connection probes fail quickly, and the display stays awake only while chat work is active.
  • Objectives select planning and execution models separately, both as Settings defaults and per objective, using the current catalog from local Spark through Fable 5 with runner escalation retained.
  • The Dashboard's New Build action is now New AI Issue; it still files a labelled GitLab issue for the AI build pipeline.
Removed
  • The legacy Hermes/“Theo” chat and its settings were removed. The current AI Chat is a separate Deep Agents client and protocol.
Fixed
  • AI-created todos now pull into the active app immediately and are verified record by record. The chat retains CT800's committed todo/reminder UUIDs, versions, content fingerprints, and sync cursor, retries after suspension/relaunch, and clears its pending marker only after equal revisions match or a later clean server revision supersedes them. A successful unrelated or zero-change sync can no longer produce a false local-success acknowledgement. Pulled Core Data rows now refresh mounted Todo and Calendar screens before slower local-notification or GitLab work, and later periodic pulls also clear reconciled chat warnings.
  • Fail-soft app tool errors no longer appear as completed actions when a backend returns `ERROR:` text inside a nominally successful ToolMessage.
  • AI-created Critical and end-of-window todos remain visible. Critical is now available in the priority filter, and Due Soon includes the entire final calendar day instead of stopping at midnight at its start.
  • Phone chat no longer depends on the Windows workstation. The mobile graphs run on LXC 149 and deliberately exclude workstation-backed project, Vault, shell, worktree, and coding-worker capabilities.
  • Responses reliably return to the originating phone. Namespaced LangGraph message events are accepted and the completed thread state is reconciled.
  • Prompts survive screen lock and app suspension. Accepted work continues as a durable backend run; foregrounding or relaunching restores it and loads the final response. Only the explicit Stop action cancels it.
  • Backend failures no longer look like hangs. Streamed and durable task errors remain visible after foreground recovery or background polling.
  • `homelab-primary` photo handling is enabled end to end on its dedicated RTX PRO 4500 multimodal graph, with the same durable history, approvals, app actions, and bounded image flow as Local Spark.
  • AI-created changes reconcile reliably with Core Data. AI Chat now uses the sync cycle's typed outcome rather than a timestamp guess. Failed or skipped sync retains the pending marker for foreground/relaunch retry, a later failed tool call cannot erase an earlier successful mutation, and actionable Tailscale/configuration/credential/server errors are shown.
  • Vault pull-to-refresh reflects a completed sync. It waits for an existing foreground sync instead of flashing and returning before data is current.

Version 1.1

2026-07-20
Added
  • New Project — a dashboard composer that spins up a *whole new project* from your phone: name it, describe what it should do, pick the stack, where it runs (a fresh homelab LXC or the VPS), and whether it's internal or public. The project-factory then creates the GitLab repo, provisions a Docker container, exposes `<name>.newtoncuff.com` behind Authelia 2FA when public, and files the first AI build request — which the AI builder implements. The screen tracks the job live and shows the created repo, its issue, and its URL. Complements *New Build Request*, which files work against an existing repo. Configure the factory's tailnet URL + token in Settings → Project Factory.

Version 1.2

2026-07-20
Changed
  • Dashboard quick actions reorganised into three rows: *New project · New objective · New build*, then *Build activity · Pipelines*, then *Homelab · Traefik*.
Added
  • Pipelines — a cross-repo overview: recent pipelines across every AI-SDLC repo, newest first, with live status. Tap one to drill into jobs, manual gates, cancel, and re-trigger.
  • Traefik — a dashboard button that opens the Traefik dashboard (traefik.newtoncuff.com) in the browser.

Version 1.0

2026-07-16
Added
  • Theo AI chat — live, streaming in-app chat with the Theo assistant: resumable session history, markdown-rendered replies, image attachments, stop/interrupt, in-chat command-approval prompts, model + token-usage display, message timestamps, and hide/delete for past conversations.
  • Build requests — an in-app *New Build Request* composer with a multi-repo target picker; file AI build requests against any enabled repo and run manual pipeline jobs (e.g. deploy) straight from the app.
  • Notifications — an inbox for received push notifications with a configurable retention window, and taps that route to the right screen by structured payload.
  • Issues & activity — project-level Issues tracking plus an AI build activity tracker.
  • Todos widget — a home-screen widget backed by a shared app-group store.
  • Library — encrypted export/import so your data survives reinstalls.
  • Settings — build date and iOS version at a glance.
Changed
  • Renamed the in-app assistant from *Hermes* to *Theo*.
Fixed
  • More resilient chat connectivity across screen-lock, idle drops, and app suspension; previously-silent Core Data save failures are now surfaced.
Performance
  • Snappier chat (cached markdown parsing, O(1) streaming append), scoped widget and list refreshes, and parallelized GitLab data loading. 1. Add a new "## [version] - date" section at the TOP with your curated notes. 2. Commit + push to staging. After the pipeline promotes to main and you approve the manual deploy_ota gate, the notes publish automatically to https://newtoncuff.com/releases/app. CHANGELOG.md is in the pipeline trigger globs, so a notes-only edit is enough to cut a release.