Skip to content

Releases: warpcli/hexe

0.0.14

23 Feb 13:37

Choose a tag to compare

🐛 Bug Fixes

  • Improve session detachment and error handling

🚜 Refactor

  • Rename voidbox to libvoid everywhere

0.0.12

22 Feb 00:26

Choose a tag to compare

🐛 Bug Fixes

  • Stabilize terminal query routing for float panes
  • Route CSI query replies back to panes
  • Improve terminal query handling and OSC parsing
  • Restore terminal key forwarding in mux
  • Add minimal CPR query handling for pane apps
  • Harvest pending OSC query targets before stdin routing
  • Reliably route OSC color query replies per pane

0.0.11

21 Feb 19:24

Choose a tag to compare

⛰️ Features

  • Add basic CLI help output
  • Refactor popup handlers into dedicated module
  • Migrate CLI argument parsing to Yazap

0.0.10

21 Feb 18:46

Choose a tag to compare

⚙️ Miscellaneous Tasks

  • Update Linux runners to Ubuntu 24.04

0.0.9

21 Feb 18:37

Choose a tag to compare

⚙️ Miscellaneous Tasks

  • Update dependencies and release workflow

0.0.8

21 Feb 18:30

Choose a tag to compare

⚙️ Miscellaneous Tasks

  • Remove local tag before Zig setup

0.0.6

21 Feb 18:21

Choose a tag to compare

⛰️ Features

  • Map virtual kitty placements with clip offsets
  • Prefer unicode width method with explicit-width support
  • Render pinned kitty graphics placements
  • Bridge kitty image placements into vaxis cells
  • Reset mouse shape on mux teardown
  • Map OSC8 hyperlinks into vaxis cell links
  • Reset mouse shape on mouse-leave events
  • Add vaxis-backed clipboard copy action
  • Add vaxis-backed system notification action
  • Add vaxis-backed system clipboard request action
  • Handle in-band winsize and color-scheme updates
  • Use vaxis OSC52 clipboard for mux selections
  • Integrate vaxis mouse shape transitions
  • Add terminal capability diagnostics action
  • Apply capability-gated terminal feature modes
  • Wire vaxis terminal capability detection cycle
  • Parse key events through vaxis parser
  • Start vaxis parser integration for input events
  • Replace renderer output with libvaxis render engine
  • Add ghostty-to-vaxis cell bridge (vt_bridge.zig)

🐛 Bug Fixes

  • Always reset in-band resize mode on exit
  • Detect kitty image content changes by hash
  • Preserve grapheme text and links across wide cells
  • Free cached kitty images on pane teardown
  • Hide kitty graphics placeholder glyphs
  • Queue OSC query replies per pane
  • Forward bracketed paste boundary sequences
  • Harden bracketed paste handling across modal paths
  • Forward bracketed paste payloads to focused pane
  • Keep terminal caps notification message owned
  • Expose terminal caps action in Lua API
  • Consume unmapped parser events in input dispatch
  • Consume parser release/report events before forwarding
  • Swallow mid-stream terminal probe replies
  • Clamp float and segment numeric fields from lua
  • Encode enter and control keys via ghostty mapping
  • Parse spinner options in mux add_segment API
  • Swallow title clicks during float rename mode
  • Unify float title geometry for draw and hit-test
  • Sanitize float labels and unstick spinner fallback
  • Strip ansi escape payloads from float labels
  • Preserve shifted parser text in pane forwarding
  • Forward parser text codepoints for char keys
  • Filter terminal probe replies from pane input
  • Restore float label fallback and generic spinner modules
  • Strengthen spinner output and float title rendering
  • Restore float exit key, spinner fallback, and title clipping
  • Restore float binds, spinner fallback, and tab display mapping
  • Swallow modifier-only kitty key transport events
  • Swallow parser control sequences before pane forwarding
  • Filter terminal capability reply noise on startup
  • Enable kitty key timing only after release observed
  • Add ctrl-alt fallback for parser key events
  • Request full kitty keyboard reporting flags
  • Gate parser keybind mode on kitty capability
  • Normalize vaxis key events for bind matching
  • Restore legacy key dispatch for keybind compatibility
  • Restore legacy sgr mouse parser semantics
  • Restore legacy mouse mode for float interactions
  • Make float title editor unicode-aware
  • Make overlay text rendering unicode-aware
  • Render popup text with unicode-aware widths
  • Preserve utf-8 literals in status formats
  • Render float border titles with unicode width
  • Use unicode width for statusbar layout and draw
  • Add frame arena for non-ASCII grapheme encoding in vaxis bridge

🚜 Refactor

  • Unify terminal resize handling for winsize events
  • Track and log detected terminal capabilities
  • Add deterministic terminal capability query lifecycle
  • Remove OSC compatibility interception path
  • Forward OSC queries to terminal without synthetic replies
  • Remove pane-side CSI/DCS query emulation
  • Simplify parser-only input and feature setup
  • Move terminal mode setup fully to vaxis
  • Remove remaining raw input fallbacks
  • Simplify raw keycast fallback parser
  • Prefer parser events for keycast formatting
  • Unify raw query-reply stripping helpers
  • Return first parsed non-query event directly
  • Cache first parsed event after query stripping
  • Extract parser-driven input subloops
  • Fold parser flag updates into event dispatch
  • Reuse first parsed event in input loop
  • Prefer parser events for query-reply stripping
  • Drop unused key event consumed metadata
  • Unify parser-driven pane select and popup dispatch
  • Split key event state machine handlers
  • Extract popup and rename handlers from input loop
  • Clarify osc copy terminator comment
  • Reuse parser head helper in input loop
  • Remove dead loop input imports
  • Avoid reparsing encoded key forwarding bytes
  • Simplify blocked popup helper signature
  • Thread parsed events into pane forwarding
  • Simplify parser-event popup blocking helpers
  • Remove debug trace logging from api bridge
  • Remove raw-byte float exit key matching
  • Remove raw popup byte parser path
  • Require parsed events for blocked popup handling
  • Remove compatibility key mode and always use full events
  • Rename key event mode away from legacy wording
  • Route mux popup blocking through parsed event helper
  • Replace legacy key encoding with ghostty encoder
  • Extract unified parsed event dispatcher
  • Centralize parsed non-key event consumption
  • Centralize parsed key dispatch in input loop
  • Simplify tab popup parsed-event gating
  • Unify focused pane popup and forwarding path
  • Avoid reparsing popup bytes when event already parsed
  • Reuse parser events across blocked popup handlers
  • Reuse parsed events for pane popup input
  • Reuse parsed popup events in tab popup mode
  • Handle mouse input directly as vaxis events
  • Simplify parser mouse event conversion
  • Dispatch mux input from single parser pass
  • Remove obsolete scroll parse wrapper
  • Derive scroll actions from parsed vaxis events
  • Expose vaxis event helpers for key and scroll
  • Remove pooled surface layer from borders
  • Trim unused vaxis surface helpers
  • Draw split borders directly on renderer
  • Move surface threadlocal cleanup into main
  • Print statusbar text directly with vaxis window
  • Remove remaining float title draw shim
  • Drop draw shim in borders and statusbar clear
  • Remove popup vaxis draw shim usage
  • Move popup overlay and notifications to direct vaxis draws
  • Draw statusbar text directly on vaxis row
  • Route parser transport and mouse handling through loop input
  • Inline frame and pane render orchestration
  • Parse mux input in single vaxis pass
  • Route parser transport and mouse handling through loop input
  • Inline frame and pane render orchestration
  • Remove vaxis surface shims and fix parser text forwarding
  • Remove vaxis color adapter and use core style colors
  • Remove remaining render type bridges and style adapters
  • Drop unused style-color conversion in render types
  • Remove legacy render Cell compatibility types
  • Remove render cell bridge and legacy setCell API
  • Route remaining ui primitives through vaxis cell writes
  • Render sprite overlay using vaxis cells
  • Operate overlay and selection on vaxis cells
  • Blit vaxis cells directly into renderer
  • Remove CellBuffer path and render directly with vaxis
  • Remove render facade module and stale references
  • Remove render facade imports across mux modules
  • Migrate ui modules to shared render color type
  • Hide direct next-buffer access behind renderer api
  • Turn render module into facade
  • Decouple style and cell helpers from render module
  • Extract vaxis frame lifecycle helpers
  • Extract render-state blit from renderer core
  • Extract render cell and buffer types
  • Extract render-to-vaxis bridge helpers
  • Split sprite rendering out of render core
  • Add core style conversions for vaxis
  • Remove legacy pane-input sanitization layer
  • Handle ctrl-q quit through parser key path
  • Use parser key events for tab-popup tab switching
  • Parse popup keys through vaxis parser
  • Remove legacy escape-sequence key compatibility path
  • Decode mouse events through vaxis parser
  • Route statusbar text through pooled vaxis window
  • Share render-to-shp style conversion helpers
  • Pool temporary vaxis surfaces across modules
  • Add shared unicode screen initialization helper
  • Share temporary vaxis screen blit helpers
  • Centralize grapheme width clipping helper
  • Dedupe vaxis cell conversion helpers
  • Route split border cells through vaxis window
  • Switch mux mouse mode setup to vaxis api
  • Render floating border frame via vaxis
  • Draw popup frames using vaxis window borders
  • Preserve colors in overlay dim effect
  • Render notifications via vaxis print
  • Render statusbar text via vaxis print
  • Remove legacy csi-u input module
  • Route paste and mouse parsing through vaxis
  • Use vaxis helpers for terminal mode setup
  • Remove winpulse feature entirely

📚 Documentation

  • Update keybinding documentation
  • Update and expand documentation for Hexa

⚙️ Miscellaneous Tasks

  • Refactor release workflow to use dedicated jobs
  • Remove stale input migration comment

Build

  • Require libvaxis and drop caps diagnostics action
  • Add libvaxis dependency to mux module

0.0.3

15 Feb 18:11

Choose a tag to compare

⛰️ Features

  • Enhance Lua API for extended configuration
  • Implement 'when' condition parsing for keybindings
  • Implement new config setup and keymap API
  • Use ConfigBuilder for module config
  • Wire popup/overlay APIs to Lua hexe.pop module
  • Add notification/dialog/widget parsing and C API functions
  • Wire prompt APIs to Lua hexe.shp.prompt module
  • Add segment parsing helpers and prompt C API functions
  • Wire SES C API functions to Lua module
  • Implement hexe.ses.session.setup() C API
  • Implement hexe.ses.layout.define() C API
  • Add recursive layout parsing helpers for panes and splits
  • Wire all MUX C API functions to Lua module
  • Implement tabs.add_segment, tabs.set_status, splits.setup C APIs
  • Implement hexe.mux.float.define() C API
  • Implement hexe.mux.float.set_defaults() C API
  • Implement hexe.mux.keymap.set() C API
  • Add action parsing helpers for simple and parametric actions
  • Add key parsing helpers for unified key format
  • Implement hexe.mux.config.setup() C API
  • Implement hexe.mux.config.set() C API
  • Inject hexe.mux/ses/shp/pop/autocmd/api/plugin module structure
  • Integrate ConfigBuilder into LuaRuntime
  • Add api_bridge skeleton with builder registry helpers
  • Add PopConfigBuilder with notification/dialog/widgets config
  • Add ShpConfigBuilder with left/right segments
  • Add SesConfigBuilder with layouts list
  • Add MuxConfigBuilder with full field set
  • Add ConfigBuilder skeleton with section builders
  • Enable config validate and ses export commands
  • Introduce config validation, SES stats, and resource limits
  • Implement session recovery and robust reattach
  • Optimize wide character rendering
  • Render non-space characters in tmux cells
  • Improve CSI-u handling and scrollback
  • Introduce widgets module for interactive overlays
  • Implement Winpulse animation for focused panes
  • Introduce support for Pokemon sprites
  • Pokemon sprites
  • Remove blocking read for backlog replay
  • Implement layout saving and loading
  • Support floating panes within a session
  • Enhance keybinds with modes and improve float handling
  • Enhance float pane usability and input experience
  • Refactor mux input handling and IPC
  • Refactor keybinding timing and introduce robust tap/repeat logic
  • Improve session management and reattach reliability
  • Improve cursor handling and CWD resolution
  • Enhance float navigation and CWD handling
  • Improve time segment and mux focus navigation
  • Enhance keybind configuration and behavior
  • Implement configurable exit key for floating panes
  • Improve keybind handling with tap/hold and deferral
  • Refactor keybind handling for Kitty keyboard protocol
  • Support default float attributes
  • Add float sizing, positioning, and focus mode
  • Add ses kill and ses clear commands
  • Add env and env_not conditions
  • Add pod_name segment
  • Improve float handling and layout updates
  • Allow local config files and new keybind actions
  • Implement local .hexe.lua config merging
  • Customize mouse selection color
  • Implement session layouts and float definitions
  • Enhance mouse click behavior and session management
  • Update ghostty dependency and optimize pane swap
  • Add pane swapping functionality to pane select mode
  • Implement overlay system for UI feedback
  • Add JSON output for ses list and pod list
  • Refactor mouse events to forward raw SGR to applications
  • Optimize mux loop dead pane tracking
  • Reimplement state persistence and reattach logic
  • Implement versioned handshakes
  • Implement SES client heartbeat
  • Refactor CLI and core for improved efficiency
  • Improve robustness by adding error logging
  • Extract string sanitization into separate module
  • Implement a centralized logging system
  • Centralize and refactor UUID and float utilities
  • Implement Unix socket credential verification
  • Refactor config and query for unified 'when' conditions
  • Relocate spinner rendering to core animations
  • Refactor shared components into core module
  • Improve floating pane lifecycle management
  • Non-blocking CTL channel and rewrite architecture docs
  • Skip polling panes without file descriptors
  • Improve pane lifecycle management
  • Improve pane info request handling
  • Refactor Pod and client communication
  • Implement binary wire protocol for MUX-SES communication
  • Implement new binary communication protocols
  • Send and receive pod metadata from the pod
  • Implement SHP to POD direct communication
  • Improve detached session persistence and reattach
  • Add pod cli commands for management
  • Always refresh VT render state on output
  • Refactor config loading and improve performance
  • Add mouse-driven float pane management
  • Add randomdo module for dynamic status text
  • Add randomdo segment
  • Add explicit when configuration for status modules
  • Document conditional when for modules
  • Add configurable "when" conditions for status modules
  • Implement multi-click selection for mouse
  • Trim mouse selection to exclude trailing whitespace
  • Add mouse selection auto-scroll and improve copy
  • Update mouse selection to use buffer coordinates
  • Refactor animated status bar checks
  • Implement mux-side mouse selection with copy
  • Configure Ghostty scrollback size
  • Refactor shell init scripts into separate modules
  • Introduce multi-instance support and Lua config improvements
  • Add programmatic focus movement and program-specific keybindings
  • Move info command from ses to mux
  • Refactor com subcommand into ses and shp
  • Add Lua configuration for mux, pop, and shp
  • Refactor key input handling for cleanliness and robustness
  • Sanitize and translate kitty keyboard input
  • Add sandboxing and resource isolation for panes
  • Add support for resizing split panes
  • Improve keybind arbitration logic
  • Improve and unify focus navigation
  • Implement advanced keybinding infrastructure
  • Add initial support for Kitty Keyboard Protocol
  • Refactor keybinding configuration
  • Enhance float configuration and styling
  • Improve com list output with tree view and colors
  • Enhance shell integration with command info and exit intent
  • Remove built-in floating window title rendering
  • Add support for custom float pane titles
  • BIGGGGGGGER FIX
  • Improve mouse event handling to respect alt-screen
  • Improve tab switching and mouse support
  • SUPER FIXXXXXX
  • Improve PTY child process reaping and client handling
  • Introduce float attributes and new config structure
  • Refactor mux into modular files
  • Remove unnecessary stdout capture
  • Add option to redirect float pane selection to a file
  • Streamline and enhance float pane functionality
  • Implement blocking float panes
  • Enhance pane info with layout, size, and TTY
  • Add base and active process info to com info
  • Implement ad-hoc floating panes via CLI
  • Add timeout for handshake during pod spawn
  • Optimize pod protocol reader memory allocation
  • Increase maximum frame length and add frame skipping
  • Use spawn-safe CWD for pod panes
  • Allow respawning remote panes
  • Add logging capabilities to core components
  • Rename project from Hexa to Hexe
  • Add initial configuration files for Hexa
  • Enable sending input to panes via CLI
  • Improve ses daemon allocator handling and logging
  • Enhance CWD tracking for pod panes
  • README
  • REINIT

🐛 Bug Fixes

  • Parse mode as string not number in array format keybindings
  • Support passthrough_only bindings without action in array format
  • Migrate SesConfig to ConfigBuilder API, ensure all modules use defaults on error
  • Migrate PopConfig to ConfigBuilder API, resolve IOT abort
  • Prevent segfault by storing stable ConfigBuilder pointer
  • Handle wide characters during rendering
  • Update selectWord call for ghostty
  • Update ghostty dependency hash

📚 Documentation

  • Fix architecture diagrams with box-drawing characters
  • Update float pane documentation and add build info

🧪 Testing

  • Add Phase 5 POP API integration test
  • Add Phase 4 SHP API integration test
  • Add Phase 3 SES API integration test
  • Add Phase 2 MUX API integration test
  • Add Phase 1 infrastructure verification test

⚙️ Miscellaneous Tasks

  • Remove double pokemon sprites
  • Remove double pokemon sprites
  • Improve keycast and mux new behavior
  • Update project version and dependencies
  • VERSION RESET
  • Update release workflow and dependencies
  • Pass GITHUB_REF for release builds
  • Update project version
  • Bump version to 0.1.4
  • Add manual workflow_dispatch trigger
  • Fetch full history for release tags
  • Bump version to 0.1.3
  • Bump version to 0.1.2
  • Bump version to 0.1.1
  • Add GitHub Release workflow for binaries
  • Remove Kitty Keyboard Protocol documentation

◀️ Revert

  • Disable perf caches causing freeze