github wavetermdev/waveterm v0.14.0
Wave Terminal v0.14.0 Release

8 hours ago

Wave v0.14 introduces Durable Sessions for SSH connections, allowing your remote terminal sessions to survive connection interruptions, network changes, and Wave restarts. This release also includes major improvements to connection monitoring, RPC infrastructure with flow control, and expanded terminal capabilities.

Durable Sessions (Remote SSH Only):

  • Survive Interruptions - SSH terminal sessions persist through network changes, computer sleep, and Wave restarts, automatically reconnecting when the connection is restored
  • Session Protection - Shell state, running programs, and terminal history are maintained even when Wave is closed or disconnected
  • Visual Status Indicators - Shield icons in terminal headers show session status (Standard, Durable Attached, Durable Detached, Durable Awaiting) with detailed flyover information
  • Flexible Configuration - Configure at global, per-connection, or per-block level with easy switching between standard and durable modes
  • See the new Durable Sessions documentation for setup and usage

Enhanced Connection Monitoring:

  • Connection Keepalives - Active monitoring of SSH connections with automatic keepalive probes
  • Stalled Connection Detection - New connection monitor detects and displays "stalled" connection states when network issues occur, providing clear visual feedback
  • Better Error Handling - Improved connection status tracking and user-facing connection state indicators

Terminal Improvements:

  • OSC 52 Clipboard Support - Terminal applications can now copy directly to your system clipboard using OSC 52 escape sequences
  • Enhanced Context Menu - Right-click terminals for quick access to splits, URL opening, themes, file browser, and more
  • Streamlined Header Layout - Terminal headers now focus on connection info without redundant view type labels

Wave AI Updates:

  • Image/Vision Support - Added image support for OpenAI chat completions API, enabling vision capabilities with compatible models
  • Stop Generation - New ability to stop AI responses mid-generation across OpenAI and Gemini backends
  • AI Panel Scroll Latch - Improved auto-scrolling behavior in Wave AI panel
  • Configurable Verbosity - Control verbosity levels for OpenAI Responses API
  • Deprecated old AI-widget proxy endpoint

RPC and Performance:

  • RPC Streaming with Flow Control - New streaming primitives with built-in flow control for better performance and reliability
  • WSH Router Refactor - Major routing architecture improvements to prevent hangs on connection interruptions
  • RPC Client/Server Cleanup - Improved RPC implementation and error handling

Configuration Updates:

  • Hide AI Button - New app:hideaibutton setting to hide the AI button from the UI
  • Disable Ctrl+Shift Arrows - New app:disablectrlshiftarrows setting for keyboard shortcut conflicts
  • Disable Ctrl+Shift Display - New app:disablectrlshiftdisplay setting to disable overlay block numbers

Breaking Changes:

  • Removed Pinned Tabs - Pinned tabs feature has been removed from the UI
  • Removed S3 and WaveFile - S3 filesystem and wavefile implementations removed to prevent large/recursive file transfer issues and simplify codebase

Other Changes:

  • Confirm on Quit - Added confirmation dialog when closing Wave with active sessions
  • Monaco Editor upgrade removing monaco-editor/loader and monaco-editor/react dependencies for better performance and stability
  • New Tab model with React provider for improved state management
  • Removed OSC 23198 and OSC 9283 legacy handlers
  • Updated contribution guidelines
  • Upgraded Go toolchain to 1.25.6
  • Enhanced OpenAI-compatible API provider documentation
  • [bugfix] Fixed empty data handling in sysinfo view
  • [bugfix] Fixed app:ctrlvpaste setting on Windows (can now be disabled)
  • [bugfix] Fixed duplicated Wave AI system prompt for some providers
  • [bugfix] Fixed disconnect hanging issue - disconnects now happen immediately
  • [bugfix] Fixed tool approval lifecycle to match SSE connection timing
  • [bugfix] Increased WSL connection timeout to handle slow initial WSL startup
  • [bugfix] Improved terminal shutdown with SIGHUP for graceful shell exit
  • Package updates and dependency upgrades

PRs

  • remove broken winget action by @sawka in #2692
  • fix tool approval lifecycle to match SSE connection, not keep-alives by @sawka in #2693
  • introduce new models -- specifically tab model which has a react provider for prop drilling by @sawka in #2694
  • Bump google.golang.org/api from 0.256.0 to 0.258.0 by @dependabot[bot] in #2700
  • Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.93.2 to 1.94.0 by @dependabot[bot] in #2699
  • Bump @docusaurus/core from 3.8.1 to 3.9.2 by @dependabot[bot] in #2697
  • Bump the dev-dependencies-patch group across 1 directory with 4 updates by @dependabot[bot] in #2702
  • gitbash is now autodetected (change faq) by @sawka in #2705
  • Implement AI "stop" -- in the client, open ai responses/chat, and gemini backends by @sawka in #2704
  • Bump github.com/aws/aws-sdk-go-v2/config from 1.32.0 to 1.32.6 by @dependabot[bot] in #2698
  • some RPC client/server cleanup by @sawka in #2709
  • add empty go.mod file in scaffold directory to prevent errant imports by @sawka in #2710
  • very large refactor of wshrouter by @sawka in #2732
  • bump version to v0.13.2-alpha.0 (for wsh install) by @sawka in #2734
  • Bump github.com/shirou/gopsutil/v4 from 4.25.11 to 4.25.12 by @dependabot[bot] in #2740
  • add OSC 52 clipboard support for terminal applications by @gaius-codius in #2725
  • rip out osc 23198 and osc 9283 handlers by @sawka in #2736
  • Bump golang.org/x/mod from 0.30.0 to 0.31.0 by @dependabot[bot] in #2720
  • Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.94.0 to 1.95.0 by @dependabot[bot] in #2719
  • removed pinned tabs feature by @sawka in #2737
  • implement a scroll latch for AI panel by @sawka in #2744
  • only create activity events every 2 hours by @sawka in #2752
  • add context menu items for terminal (splits, open url, themes, file browser, etc) by @sawka in #2745
  • upgrade monaco editor (remove monaco-editor/loader and monaco-editor/react) by @sawka in #2743
  • add deprecation message to old wave ai proxy by @sawka in #2753
  • add nowsh reason to help debug failure by @sawka in #2755
  • rpc streaming primitives by @sawka in #2759
  • set clearer contribution guidelines and expectations by @sawka in #2782
  • new job manager / framework for creating persistent remove sessions by @sawka in #2779
  • Bump github.com/mattn/go-sqlite3 from 1.14.32 to 1.14.33 by @dependabot[bot] in #2762
  • Bump google.golang.org/api from 0.258.0 to 0.259.0 by @dependabot[bot] in #2761
  • Bump golang.org/x/sys from 0.39.0 to 0.40.0 by @dependabot[bot] in #2760
  • Bump the dev-dependencies-minor group across 1 directory with 3 updates by @dependabot[bot] in #2774
  • update some js packages by @sawka in #2785
  • Bump lodash from 4.17.21 to 4.17.23 by @dependabot[bot] in #2783
  • upgrade to go 1.25.6 by @sawka in #2784
  • Bump @types/uuid from 10.0.0 to 11.0.0 by @dependabot[bot] in #2723
  • Persistent Terminal Sessions (+ improvements and bug fixes) by @sawka in #2806
  • Do not allow large/recursive file transfers (for now), remove s3 and wavefile fs implementations by @sawka in #2808
  • Bump golang.org/x/mod from 0.31.0 to 0.32.0 by @dependabot[bot] in #2797
  • Bump google.golang.org/api from 0.259.0 to 0.262.0 by @dependabot[bot] in #2795
  • Bump node-abi from 4.25.0 to 4.26.0 in the dev-dependencies-minor group by @dependabot[bot] in #2799
  • Bump the dev-dependencies-patch group with 2 updates by @dependabot[bot] in #2798
  • Document OpenAI compatible API provider usage by @giraypultar in #2777
  • first definition of "first day", and minor doc mod by @sawka in #2810
  • Tab Indicators, Confirm on Quit, etc by @sawka in #2811
  • Bump github.com/golang-jwt/jwt/v5 from 5.3.0 to 5.3.1 by @dependabot[bot] in #2816
  • Bump google.golang.org/api from 0.263.0 to 0.264.0 by @dependabot[bot] in #2815
  • Update Model Mode Docs by @ericmann in #2819
  • Session Durability Checkpoint by @sawka in #2821
  • More Durable Shell Bug Fixes by @sawka in #2822
  • Add configurable verbosity for OpenAI Responses API by @thnk2wn in #2776
  • fix for #2818 (dont let empty plotData go to SingleLinePlot) by @sawka in #2827
  • Durable Session PR #5 (Icon Flyover, More Bug Fixes, Corner Cases) by @sawka in #2825
  • stress test for the new RPC streaming primitives (+ bug fixes) by @sawka in #2828
  • Bump github.com/shirou/gopsutil/v4 from 4.25.12 to 4.26.1 by @dependabot[bot] in #2832
  • Bump google.golang.org/api from 0.264.0 to 0.265.0 by @dependabot[bot] in #2831
  • Bump typescript-eslint from 8.53.1 to 8.54.0 in the dev-dependencies-minor group by @dependabot[bot] in #2817
  • First Cut at Durable Sessions Docs + Onboarding by @sawka in #2847
  • Fix Monaco Resizing Issue in Editor Block by @sawka in #2848
  • New ConnMonitor to Track "Stalled" Connection State for SSH Conns by @sawka in #2846
  • implement openaichat images for APIs that support them (using content parts) by @sawka in #2849
  • Working on Test Harness for Remote Connections by @sawka in #2829
  • new rpc call to get focused block data from a tab by @sawka in #2833
  • new config: app:hideaibutton, app:disablectrlshiftarrows, app:disablectrlshiftdisplay by @sawka in #2850
  • first cut at v0.14 release notes by @sawka in #2851
  • patch onboarding modal for v0.14 by @sawka in #2852
  • increase initial command timeout to 30s from 5s (slow WSL start) by @sawka in #2853
  • update logging for jobmanager. by @sawka in #2854
  • job events, terminal command types, connect error codes by @sawka in #2855
  • Misc v0.14 fixes by @sawka in #2860
  • Animation for Durable Sessions Onboarding Screen by @sawka in #2861
  • fix windows compilation error by @sawka in #2862
  • minor release notes changes by @sawka in #2863
  • dont confirm quit on install update by @sawka in #2864

New Contributors

Full Changelog: v0.13.1...v0.14.0

Don't miss a new waveterm release

NewReleases is sending notifications on new releases.