Releases: markwylde/terminay
Release list
v2.8.3
Terminay v2.8.3 fixes session-origin handoff for migrated profiles in the web manager.
Web Manager
Session Handoff
- Fixed connections launched from the web manager to respect session-origin boundaries, ensuring migrated profiles properly delegate to their origin-bound reconnect state rather than attempting to establish remote connections through the manager.
Testing
E2E Coverage
- Added test coverage for legacy manager migration with session-origin handoff to verify that imported profiles correctly transfer control to their respective session origins.
Release Assets
- macOS installer: https://github.com/markwylde/terminay/releases/download/v2.8.3/Terminay-Mac-2.8.3-Installer.dmg
- Linux AppImage: https://github.com/markwylde/terminay/releases/download/v2.8.3/Terminay-Linux-2.8.3.AppImage
- Standalone server: https://github.com/markwylde/terminay/releases/download/v2.8.3/terminay-server-2.8.3.tgz
v2.8.2
Terminay v2.8.2 stabilizes the connection manager migration and packages the versioned web container image as part of the release workflow.
Connection Manager Authority
App manager cutover
Serving the browser connection manager from app.terminay.com is now the canonical authority. The app serves web clients on that exact hostname while preserving the hosted handshake and session service at *.terminay.com. Connection profiles and session-origin keys remain same-origin; no migration or deletion occurs.
Manager and runtime coordination
Updated the shared protocol and server allowlists to enforce app.terminay.com as the single browser manager origin. Fixed the connection manager to serve correctly from the app authority. Updated tests and deployment specs to reflect the new routing model.
Reliability
Process and PTY stability
Tolerated race conditions in procfs process exit detection during CI and web PIN fixture startup, and allowed bounded convergence time for PTY exit handling. These changes reduce flakiness in the main test suite without changing shipped behavior.
Release and Deployment
Versioned web image packaging
The release workflow now builds and publishes the terminay-web container image at versioned tags (latest, semantic version, and major-minor) as part of the release process. Image artifacts are bound to the exact source revision and immutably tagged in the registry.
Release workflow consolidation
Enhanced the release automation to enforce exact image artifact selection, verify the web container is bound to the release tag, and publish the resulting digest alongside desktop binaries and the standalone server package.
Release Assets
- macOS installer: https://github.com/markwylde/terminay/releases/download/v2.8.2/Terminay-Mac-2.8.2-Installer.dmg
- Linux AppImage: https://github.com/markwylde/terminay/releases/download/v2.8.2/Terminay-Linux-2.8.2.AppImage
- Standalone server: https://github.com/markwylde/terminay/releases/download/v2.8.2/terminay-server-2.8.2.tgz
v2.8.1
This release adds specification progress tracking to the README and documentation workflow.
Documentation
Specification Progress
A new specification progress widget was added to track implementation status across Terminay features. The widget is automatically generated and displayed in the README, providing visibility into which features are fully specified versus in-progress or unspecified.
Development
Automation
Added a GitHub Actions workflow that generates and maintains the specification progress visualization, ensuring documentation stays synchronized with the current specification state.
Release Assets
- macOS installer: https://github.com/markwylde/terminay/releases/download/v2.8.1/Terminay-Mac-2.8.1-Installer.dmg
- Linux AppImage: https://github.com/markwylde/terminay/releases/download/v2.8.1/Terminay-Linux-2.8.1.AppImage
- Standalone server: https://github.com/markwylde/terminay/releases/download/v2.8.1/terminay-server-2.8.1.tgz
v2.8.0
v2.8.0 converges the browser connection manager to a single canonical origin with a tested legacy migration path and verified deployment contract.
Browser connection manager and pairing
The canonical web.terminay.com manager now provides one complete pair, save, and reconnect journey from every connection state. A visitor can paste a pairing link, complete enrollment with device name and PIN entry, connect immediately, and return later through a saved connection without reusing the one-time link. Connection profiles persist exact-origin credentials and device keys; metadata-only profiles without credentials clearly indicate that fresh pairing is required.
The pairing workflow validates and consumes the one-time fragment in memory before clearing it from the visible URL and browser history. Newly paired profiles connect immediately, atomically committing both the protected reconnect material and sanitized metadata only after both succeed. Re-pairing an existing session origin updates the saved profile and credential rather than creating a duplicate card or leaving the old grant active.
Legacy manager migration and redirect
app.terminay.com no longer serves an independently evolving manager. It instead performs a bounded, tested metadata-only migration from the documented legacy profile storage to the canonical origin through a one-time handoff in the browser context's window name. The migration excludes pairing fragments, reconnect grants, device keys, PINs, terminal data, and arbitrary fields.
The canonical manager consumes the handoff once, upserts profiles by stable identity and exact session origin, clears the handoff from browser history, and redirects future visits to web.terminay.com. Profiles without origin-bound credentials are marked as requiring fresh pairing. Failed imports leave the legacy record available for retry; successful imports trigger acknowledgement-gated cleanup at the legacy origin while preserving all session-origin credentials untouched.
Deployment and verification
The web-image.yml workflow now supports manual dispatch for controlled releases as well as the intended version-tag trigger, with every image bound to an immutable digest, source revision, SBOM, and provenance record. The /healthz endpoint now returns JSON {"ok":true} consistently across nginx, Docker health checks, deployment verification, and tests. Security headers including CSP, COOP, permissions policy, referrer policy, content-type protection, and frame denial are now reconciled between nginx configuration and the public verifier.
A new build-time integration test starts the actual production web image and runs the deployment verifier against it, catching contract drift between source configuration and the verifier without public network access. The verifier now identifies the expected release revision or image digest through a non-secret artifact marker, rejecting the legacy manager document, fallback signaling service, missing hashed assets, redirects, host-routing failures, and otherwise healthy but incorrect origins.
Hostname routing is hardened: web.terminay.com serves only the canonical static manager, app.terminay.com serves only the bounded migration redirect, and session/signaling hosts retain separate authority. A documented rollback procedure restores the prior immutable image and routing without deleting legacy metadata or session-origin reconnect credentials.
Test coverage and evidence
The canonical pairing coordinator and vault operations are exercised by dedicated pairing and local web-host tests, with metadata-import explicitly kept as an advanced operation that cannot report pairing success. Browser-local commits now use reversible exact-origin vault and device-key operations; credential storage failures restore the prior credential, and concurrent pairing cannot overwrite newer grants.
The exact manager-origin contract and bounded legacy migration protocol are covered by protocol tests, comprehensive legacy-migration tests, and Docker browser E2E. The deployment workflow, release marker, health response, headers, rollback procedure, and unknown-host rejection are guarded by source tests. Historical evidence gaps have been corrected to acknowledge that migration was a design milestone until the bounded implementation and Docker browser E2E are complete.
Release Assets
- macOS installer: https://github.com/markwylde/terminay/releases/download/v2.8.0/Terminay-Mac-2.8.0-Installer.dmg
- Linux AppImage: https://github.com/markwylde/terminay/releases/download/v2.8.0/Terminay-Linux-2.8.0.AppImage
- Standalone server: https://github.com/markwylde/terminay/releases/download/v2.8.0/terminay-server-2.8.0.tgz
v2.7.5
Terminay v2.7.5 recovers terminal control after system sleep and strengthens E2E test stability.
Terminal Control Recovery
Sleep Resilience
Terminal presentations that remain live across operating-system sleep now automatically renew their lease when timers resume. If automatic renewal cannot restore control, the terminal visibly offers acquisition instead of silently remaining read-only and non-interactive.
Testing & Reliability
E2E Improvements
E2E tests now await bounded app command completion to eliminate race conditions in project window lifecycle assertions, preventing flaky popout-window and app-command-deadline scenarios.
Release Assets
- macOS installer: https://github.com/markwylde/terminay/releases/download/v2.7.5/Terminay-Mac-2.7.5-Installer.dmg
- Linux AppImage: https://github.com/markwylde/terminay/releases/download/v2.7.5/Terminay-Linux-2.7.5.AppImage
- Standalone server: https://github.com/markwylde/terminay/releases/download/v2.7.5/terminay-server-2.7.5.tgz
v2.7.4
Terminay 2.7.4 isolates window close actions to the target window while preserving panels during renderer lifecycle events.
Project window close protection
- Closing a project window now closes only that window and detaches its workspace view, leaving sibling windows intact and usable.
- Close dialogs correctly distinguish between closing a single project window ("Close Window") and quitting the application ("Quit Terminay").
Renderer lifecycle and panel state
- Panels are now preserved when the renderer unloads, ensuring that a refreshed or reconnected renderer restores the same panels and terminal sessions without recreating them.
Testing and infrastructure
- Added comprehensive e2e tests for project window close isolation and cross-window workspace integrity.
- Extended close-confirmation test coverage to validate scoped window closure and application lifecycle behavior.
Release Assets
- macOS installer: https://github.com/markwylde/terminay/releases/download/v2.7.4/Terminay-Mac-2.7.4-Installer.dmg
- Linux AppImage: https://github.com/markwylde/terminay/releases/download/v2.7.4/Terminay-Linux-2.7.4.AppImage
- Standalone server: https://github.com/markwylde/terminay/releases/download/v2.7.4/terminay-server-2.7.4.tgz
v2.7.3
Terminay v2.7.3 improves resilience for remote access and project management across window tear-off and network recovery scenarios.
WebRTC Remote Access
Transient Disconnect Recovery
Transient WebRTC ICE disconnections no longer detach authenticated browser sessions. The connection now gracefully recovers using the existing peer when the transport returns to health, preserving terminal and application state without requiring a manual refresh. Permanent failures and expired recovery timeouts close the connection exactly once.
Workspace and Project Tabs
Project Identity Across Window Tear-Off
Project tear-off now preserves the canonical project, panel, and terminal session identities when moving between native windows. The destination window renders only the moved project's view and never momentarily commits unrelated projects. Refreshing either renderer reproduces the same project split from the server snapshot.
Agent Status and Sidebar
Stale Agent State After Resync
Agent status projection now correctly handles reconnect and resync boundaries after a server restart. A replay-gap resync replaces stale completed states, resumes working agents, and admits newly discovered concurrent agents without applying stale revision fences.
Release Assets
- macOS installer: https://github.com/markwylde/terminay/releases/download/v2.7.3/Terminay-Mac-2.7.3-Installer.dmg
- Linux AppImage: https://github.com/markwylde/terminay/releases/download/v2.7.3/Terminay-Linux-2.7.3.AppImage
- Standalone server: https://github.com/markwylde/terminay/releases/download/v2.7.3/terminay-server-2.7.3.tgz
v2.7.2
v2.7.2 aligns Git tree file interactions with the Explorer's filesystem operations contract.
Git sidebar file operations
Context menu and folder interactions
The Git panel's changed-file tree now mirrors the Explorer sidebar's filesystem interaction contract. Folder rows support file creation, renaming, deletion, and OS reveal actions through context menus, while double-clicking a folder opens a Folder panel without changing its disclosure state.
File and folder management
Create new file and folder actions are available on folder rows in the Git tree. Rename and delete operations are now available for both files and folders, with a dedicated "Reveal in OS" action to open paths in the host's file browser.
Testing
Updated acceptance coverage
End-to-end tests verify that Git tree folders expose the same applicable filesystem actions as Explorer entries, including create, rename, delete, copy-path, copy-relative-path, shell, and OS-reveal operations. File rows correctly omit folder-only actions, and folder disclosure states remain unchanged when opening Folder panels.
Release Assets
- macOS installer: https://github.com/markwylde/terminay/releases/download/v2.7.2/Terminay-Mac-2.7.2-Installer.dmg
- Linux AppImage: https://github.com/markwylde/terminay/releases/download/v2.7.2/Terminay-Linux-2.7.2.AppImage
- Standalone server: https://github.com/markwylde/terminay/releases/download/v2.7.2/terminay-server-2.7.2.tgz
v2.7.1
Terminay v2.7.1 adds secure audio access for desktop dictation while maintaining the deny-by-default security posture of the Electron app.
Security Permissions
Desktop Dictation Audio
Trusted application and settings windows can now request audio permissions for dictation. The new permission handler validates that audio-only requests come from trusted windows, upholding the security policy while enabling voice input functionality.
Testing
E2E Reliability
Web PIN enrollment bootstrap now uses explicit timeout and wait conditions to accommodate cold Vite compilation times during test execution.
Release Assets
- macOS installer: https://github.com/markwylde/terminay/releases/download/v2.7.1/Terminay-Mac-2.7.1-Installer.dmg
- Linux AppImage: https://github.com/markwylde/terminay/releases/download/v2.7.1/Terminay-Linux-2.7.1.AppImage
- Standalone server: https://github.com/markwylde/terminay/releases/download/v2.7.1/terminay-server-2.7.1.tgz
v2.7.0
Terminay v2.7.0 adds on-device Parakeet dictation for Apple Silicon Macs and protects running terminal work on close.
Dictation
On-device Parakeet transcription
Terminay now supports on-device speech-to-text transcription using Parakeet on Apple Silicon macOS. Users can install the pinned Parakeet model and transcribe audio locally without sending data to OpenAI. The Dictation settings now let users choose between OpenAI and On-device (Parakeet) providers, with provider-specific configuration and installation status displayed inline.
Parakeet setup and lifecycle
The Parakeet runtime can be explicitly installed from the Dictation settings. Setup progress is displayed with phase-based status (unavailable, not-installed, installing, ready, or error), and the runtime stays warm for subsequent transcription requests. Audio and transcripts are never persisted to the model cache.
Workspace
Close confirmation for running terminals
Busy terminals, projects containing busy terminals, and the application itself now show a context-specific close confirmation dialog when closed. The dialog defaults to Keep Running to prevent accidental termination of live work. Idle terminals, projects, and the app close immediately without confirmation.
Activity tracking improvements
The server now publishes foreground-process state in activity snapshots so the Desktop can distinguish idle shells from running sessions. The activity protocol includes normalized foregroundBusy events and status for accurate session state reporting.
Testing and reliability
End-to-end test refactoring
The E2E test suite was stabilized and aligned with Electron delivery constraints. Scenario and operation budgets are separated; fixtures are scoped; web readiness and terminal rendering are awaited; and graceful teardown keeps cleanup within resource budgets. CI delivery jitter is tolerated with bounded timeouts, and settings windows close gracefully during test cleanup.
Release Assets
- macOS installer: https://github.com/markwylde/terminay/releases/download/v2.7.0/Terminay-Mac-2.7.0-Installer.dmg
- Linux AppImage: https://github.com/markwylde/terminay/releases/download/v2.7.0/Terminay-Linux-2.7.0.AppImage
- Standalone server: https://github.com/markwylde/terminay/releases/download/v2.7.0/terminay-server-2.7.0.tgz