M1 through M10 are complete. 0.1.2 is publicly released with a Windows installer, passwordless auto-start, mobile Select fix, instance titles, and terminal bell; the download site is live at https://termiweb.com. The next focus is M11 public outreach, scheduled for 2026-09-25 through 2026-10-09. M12 remains the drafted 0.2 milestone, with the QR connect affordance as its first included feature candidate.
- M1: Repository bootstrap and docs baseline
- Summary: Added the initial repo structure, TypeScript/Vite/server scaffolding, baseline docs (including the initial
AGENTS.md/CLAUDE.mdworking agreement), and the first environment/runtime conventions. This is the phase that created the project skeleton later milestones could actually build on. - Start: 2026-04-06
- End: 2026-04-06
- Worklist: M1 repository bootstrap and docs baseline (retroactive reconstruction)
- Summary: Added the initial repo structure, TypeScript/Vite/server scaffolding, baseline docs (including the initial
- M2: Shared terminal backend and session model
- Summary: Added the server-side PTY/session manager, protocol, auth/session handling, and lightweight workspace persistence. This is where instance creation, attach/select, close, and shared terminal I/O became real code paths instead of placeholders.
- Start: 2026-04-06
- End: 2026-04-06
- Worklist: M2 shared terminal backend and session model (retroactive reconstruction)
- M3: Browser UI with instances, auth, and mobile controls
- Summary: Added the browser client, login flow, instance rail, xterm integration, and the first usable mobile control surface. By the end of this phase, desktop and phone clients could both attach to the same live instance through the browser UI.
- Start: 2026-04-06
- End: 2026-04-06
- Worklist: M3 browser UI with instances, auth, and mobile controls (retroactive reconstruction)
- M4: Local verification and launch polish
- Summary: Added the first serious verification loop, tightened restart/reconnect behavior, and cleaned up the initial launch/run path enough for real local use. This is also where the project stopped feeling like a dev-only prototype and started behaving like an intentional app.
- Start: 2026-04-07
- End: 2026-04-07
- Worklist: M4 local verification and launch polish (retroactive reconstruction)
- M5: 0.1 release polish and rendering integrity
- Summary: This milestone contains the major UI/layout refinements, per-instance width controls, mobile behavior fixes, local viewport scrolling, shared terminal geometry cleanup, and the current follow-cursor work. It closed after interactive CLI rendering held up in dogfooding and the elevated-only run path passed live packaged verification.
- Start: 2026-04-08
- End: 2026-04-17
- Notes: extended by one week; closed after the packaged run surface and elevated-instance behavior both passed live verification
- Worklist: M5 0.1 release polish and rendering integrity (retroactive reconstruction)
- M6: Installer and first-run experience
- Summary: Added packaging, launch scripts, optional startup-task auto-start, uninstall, distribution layout, and first-run docs for a non-dev Windows install path. Verified fresh-machine setup, before-sign-in auto-start, uninstall cleanup, and two-device shared session on real hardware.
- Start: 2026-04-12
- End: 2026-04-13
- Worklist: M6 installer and first-run experience
- M7: 0.1 release and GitHub Pages download website
- Summary: This milestone produced the tagged
0.1release artifacts, the livehttps://termiweb.comdownload site, the public GitHub release entry, the canonical download path at/download/, the private milestone-calendar feed, and the launch-surface docs that now describe the shipped release honestly. - Start: 2026-04-19
- End: 2026-04-23
- Worklist: M7 release and download website
- Summary: This milestone produced the tagged
- M8: Search and discovery foundation for an open-source, free-to-use product
- Summary: This milestone prepares the public surface without pushing broad attention yet. It includes website search hygiene, metadata, sitemap/Search Console setup, GitHub discovery polish, positioning decisions, and reusable announcement copy that can wait for the post-
0.1.1outreach lane. - Start: 2026-04-24
- End: 2026-04-26
- Worklist: M8 marketing and website growth
- Summary: This milestone prepares the public surface without pushing broad attention yet. It includes website search hygiene, metadata, sitemap/Search Console setup, GitHub discovery polish, positioning decisions, and reusable announcement copy that can wait for the post-
- M9:
0.1.1mobile stabilization- Summary: This milestone shipped
0.1.1, pulling the must-have mobile fixes from Findings13and14into the release line while keeping release verification local and explicit for the current one-maintainer workflow. - Start: 2026-04-27
- End: 2026-05-01
- Worklist: M9 0.1.1 mobile stabilization
- Summary: This milestone shipped
- M10:
0.1.2Select fix, Windows installer, instance titles, and bell- Summary: Shipped
0.1.2with the mobile Select fix, Windows installer, passwordlessSYSTEMauto-start, instance titles, and terminal bell. Closed the remaining mobile stabilization and installer findings after hardware and clean Windows 11 verification. - Start: 2026-07-24
- End: 2026-09-11
- Notes: six-week window chosen on 2026-05-23 because the maintainer expects scope to expand beyond the initial drafted breakdown; extended by three weeks on 2026-08-06 when the Windows-installer scope joined after two real-world Windows 11 install failures (#9); renumbered from M11 to M10 on 2026-08-06 when the release was resequenced ahead of outreach
- Worklist: M10 0.1.2 Select fix and titles
- Summary: Shipped
- M11: Post-
0.1.2public outreach- Summary: This milestone turns the M8 positioning and reusable copy into deliberate outreach once the
0.1.2release has shipped, so first impressions land on the improved install experience. It includes direct sharing, feedback capture, first public technical post preparation, community-rule review, and a later Product Hunt decision. - Start: 2026-09-25
- Target End: 2026-10-09
- Notes: originally scheduled 2026-05-11 to 2026-07-24 (after a two-month extension on 2026-05-23 so other projects could take priority); renumbered from M10 to M11 and resequenced behind the
0.1.2release on 2026-08-06 because the observed install failures (#9, #10) would undermine outreach first impressions - Worklist: M11 post-0.1.2 public outreach
- Summary: This milestone turns the M8 positioning and reusable copy into deliberate outreach once the
- M12:
0.2- Summary: This milestone ships the first
0.2release. The QR connect affordance is already pulled in as the easiest included feature candidate, and the milestone leaves room to add other bounded0.2features before the release surface is locked. - Start: 2026-10-09
- Target End: 2026-11-06
- Notes: four-week window chosen on 2026-07-11 with QR already included because the first
0.2scope should stay bounded even if more small feature candidates join behind it; start and target end shifted on 2026-08-06 to follow the extended0.1.2window and the resequencedM11outreach milestone - Worklist: M12 0.2
- Summary: This milestone ships the first
These are feature candidates for later version scope. Here, candidate means a possible feature or release-scope item to pull into a future version, not a release-candidate build.
0.2feature candidate: isolated workstation-hostedBrowserinstances with one tab and basic browser chrome0.2feature candidate: side-by-side instance view for very wide workstation windows0.2feature candidate: two-mode auto-start handoff so TermiWeb runs as the signed-in user after logon instead of stayingSYSTEMin session 0 (#8)0.2feature candidate: password-change UI for the configured app password0.2+feature candidate: a detached session host so live instances survive server upgrades and restarts. Each instance's ConPTY, shell process, and scrollback belong to the web server process today, so replacing the server kills every shell and whatever runs in it (the 2026-09-06 install migration did exactly that, twice). A small long-lived host process would own the PTYs and history, the web server would attach to it over a named pipe, and the installer's stop-before-upgrade step would stop only the web server. Instances still would not survive a reboot, and the host itself would need to change rarely.- Contributor-readiness scope candidate: hosted CI for typecheck, tests, build, site build, and release-candidate checks before accepting outside PRs or when the project has multiple active contributors
- Distribution candidate: code-sign the Windows installer (free open-source tier or low-cost option) to remove the SmartScreen warning, once the unsigned-with-documented-bypass path proves insufficient
0.3+feature candidate: Linux host support for TermiWeb, including Linux PTY/process integration, packaged install/run/auto-start path, and cross-platform doc/spec updates
- Future releases should ship only after their documented local release checks pass.
0.1.2passed its local release gate and shipped on 2026-09-11 with all release blockers closed. Remaining issue #8 is a0.2candidate, not a0.1.2blocker. GitHub Issues holds current blocker state. (FINDINGS.md is the closed historical archive of pre-0.1.1findings.)
Begin M11 public outreach with release-readiness review and announcement-copy preparation for the shipped 0.1.2 installer. The outreach schedule remains unchanged; M10 closed early.