Roadmap
Last updated: 2026-09-17
Part of the TunaOS ecosystem.
Done
- ✅ Brewfile support — open, display, bulk install/remove
- ✅ Filter macOS-only Casks on Linux
- ✅ Icons and screenshots for packages
- ✅ Discover section (replaced reverse-alphabetical "Recently Added")
- ✅ Tap Manager — add, remove, update, list taps; view tap contents; trust status
- ✅ Related Packages — dependencies, same-tap siblings, and versioned variants on the details page
- ✅ Version pinning — pin/unpin formulae and casks; pinned packages excluded from update prompts
- ✅ Preferences and Keyboard Shortcuts dialogs; header-bar search (Ctrl+F)
- ✅ Indexed search off the main thread (#49)
- ✅ Font cask previews (#39)
- ✅ Read-only Brew Doctor report, retry, raw output, and copy (#170 phase 1, #176)
- ✅ Homebrew 7 diagnostics, security scans, install previews, user services, and cleanup previews (#177)
- ✅ Complete Brewfile source preservation and confirmed tasks; no automatic tap changes on open (#113)
- ✅ Explicit historical formula installs through
brew version-install - ✅ Released version
v0.1.64with Homebrew 7 maintenance and repair cache freshness (#178)
Release health
Tavern's distribution channels are active and aligning under a unified release contract.
Repository tags reached v0.1.64 in September 2026 with release preparation and tag tagging (#178).
Before calling a new version stable across all channels, complete the release-parity gate tracked in #104:
- choose one intentional promotion event and source commit as the canonical version;
- produce matching GitHub Release, Flatpak OCI, Homebrew cask, AppImage, and macOS artifacts from that promotion;
- record artifact/version verification for every supported channel; and
- reconcile or clearly mark tags that do not represent a published release.
Success means a user can identify the current stable version and obtain the same release through every supported install path. Until this gate passes, new tags alone are not evidence of a stable release.
Planned
- Release parity — finish the artifact and install checks in #104.
- Brew Doctor — assess explicit fix actions and report export per the implementation proposal (#170).
- Backend contracts — add focused state tests (#153), then separate state ownership (#172). Tap parsing and Brewfile execution now have separate boundaries.
- Performance — measure the proposals in #171 before changing search, list widgets, or cache policy. Keep feature and performance work incremental.
- Cask lifecycle steps — assess Homebrew 7 declarative steps in the org tap before Ruby flight hooks expire in December 2027.
- Local icon/screenshot cache — ORAS-based database for faster loads
Maintenance policy
Tavern stays a standalone Python and GTK application. A Rust rewrite needs a measured product benefit and a separate migration proposal. Shared release tools can serve multiple languages without an application rewrite. Small native components are an option for measured CPU bottlenecks. First improve the algorithm, then compare a native prototype with the Python path. Keep a narrow data interface and equivalent behavior tests. Include Linux, macOS, and Flatpak build costs in the decision. Network waits and excess UI work need design fixes regardless of language. Use current stable dependencies and keep development and production manifests aligned. Validate updates with both test jobs and the Flatpak build. Keep quality checks tied to real behavior; empty scorecard files are not work.
Contributing
See CONTRIBUTING.md.