Skip to content

TUFF 7.0.0

Choose a tag to compare

@rexmhall09 rexmhall09 released this 02 Oct 20:02

TUFF 7.0.0 adds a Background API that keeps a local OpenAI-compatible endpoint running while the app is closed, plus a release recovery system and better tools for reporting bugs and contributing.

  • Background API. Turn it on in the Server screen and allow the login item. Any installed model can be requested by name, or default for the model you choose. A model loads when a request arrives and unloads after an idle delay you pick, down to immediately after each response. One request runs at a time; requests for the loaded model go first, with a limit so others are not starved. Nothing unloads while a request is running or queued. Chat and the API share one memory budget, so the API declines a second model that would not fit beside Chat's. Clone builds can run the same router with tuff serve --all-models.
  • Recovery. Updates now require a signed feed and are verified before extraction. A defective release can be withdrawn without deleting tags or assets, and a newer recovery release can restore known-good code. The app checks that a recovery can read your chats and settings before installing it, and TUFF > Check for Recovery Update reports what is published. See recovery help, including steps for an app that will not open.
  • Bug reports. Help > Report a Bug opens the bug form with your version and Mac filled in. An optional diagnostic summary is previewed first and never includes chats, images, credentials or file paths.
  • Contributing. New issue forms and labels, Scripts/check.sh for every model-free check, CI on PRs and pushes to main, and a repository Codex review skill.

Inference kernels and model packs are unchanged from 6.1.0. Kernel experiments are written up in the inference notes; none qualified, and no speed change is claimed.

Validation on one 16 GB M2 MacBook Air: 1,716 Swift tests and 45 harness tests, packaging and isolated updater fixtures; all nine models and six image companions on the packaged CLI; 18 app-service and 18 HTTP-server checks; the router and login item through the official openai Python client; and paired 6.1.0/7.0.0 comparisons. Other Macs were not tested. See the release validation for details and limits.

The app is arm64 and ad-hoc signed, not notarized. The release includes the ZIP, a SHA-256 checksum and a signed Sparkle update feed.

AI assistance: OpenAI Codex and Claude implemented, reviewed, tested and documented these changes.