Skip to content

Kward 0.84.0

Latest

Choose a tag to compare

@github-actions github-actions released this 30 Aug 19:33
· 34 commits to main since this release

Added

  • Added security reporting, contribution and conduct policies, structured issue and pull-request templates, and an explicit macOS/Linux/WSL/Windows support matrix.
  • Added Vibe multi-cursor editing with Ctrl+D occurrence selection from normal, insert, and characterwise visual modes, plus visual-mode I/A cursors at each selected line boundary.
  • Added script/benchmark_composer for repeatable draft-layout, history-search, and file-completion performance measurements.
  • Added Vibe visual and cursor-aware :run support plus :run all for executing runnable Markdown fenced language blocks and inserting or replacing their formatted <output> fields.
  • Added configurable editor runners under editor.runners, with Node, TypeScript, Python, Shell, Lua, Julia, Elixir, Crystal, Go, and Swift buffer execution alongside Ruby.
  • Added Vibe visual-mode Ctrl+h/Ctrl+j/Ctrl+k/Ctrl+l shortcuts to outdent, move down, move up, and indent selected lines while keeping visual mode active.
  • Added a live source/. shell builtin that applies declarative aliases and exports to the running /shell session without restarting Kward.
  • Added shell-agent provider, model, and reasoning-effort settings under shell.agent, editor-agent provider settings under editor.agent, and environment overrides for transient-agent provider selection.
  • Added shell-style kwshrc configuration files at ~/.kward/kwshrc and ~/.kwshrc, with ordered alias, export, and declarative source support.
  • Added the open_editor agent tool so interactive sessions, including explicit /shell ? prompts, can open a requested workspace file in Kward's built-in editor.
  • Extended /scratchpad to open all 26 built-in syntax-highlighted languages through canonical names or familiar file-extension shortcuts, with /scratchpad help for discovery.
  • Added nested syntax highlighting, auto-indentation, and endwise behavior for recognized language tags inside fenced code blocks in Markdown editor buffers.

Changed

  • Smoothed interactive response streaming by pacing buffered provider events and rendering safe text before incomplete inline Markdown instead of delaying whole lines.
  • Replaced the busy Braille spinner with a calmer four-frame activity pulse in the interactive composer.
  • Added brief success, failure, and cancellation transitions to the interactive composer when an agent turn finishes.
  • Standardized terminal accents by meaning: cyan for agent activity, green for success, amber for caution, red for failure, purple for tools, and gray for metadata.
  • Added a brief, visual-only response-arrival flourish when the first assistant output reaches the interactive composer.
  • Made the composer activity label follow real turn states such as thinking, reasoning, responding, retrying, and the currently running tool.
  • Added unobtrusive elapsed-time feedback after two seconds, final turn duration in completion transitions, and provider-reported tool durations in result summaries.
  • Added stable user and assistant anchors to make transcript turn boundaries easier to scan without changing stored conversation content.
  • Added persistent background-tab status colors for running work, unread output, successful detached commands, questions, and failures without changing tab label widths.
  • Documentation checks now validate the curated public extension entry points without presenting aggregate internal-helper coverage as a product-quality metric.
  • The repository and documentation landing pages now use a focused coding-workflow visual, restrained project badges, and clearer product identity.
  • Updated RubyGems positioning and metadata to describe Kward's supported product surfaces and direct users to the documentation site while keeping source and issue links on GitHub.
  • Refined the documentation homepage with a concrete static message, direct getting-started navigation, branded browser and social metadata, canonical URLs, and a quieter generated-docs footer.
  • The composer now highlights / command and @ file discovery, and the startup screen gives actionable guidance when no model provider is connected.
  • Grouped and aligned top-level help, condensed credential status with an opt-in --all view, and standardized doctor, hooks, and project-skill diagnostics with actionable summaries and exit statuses.
  • Pan now binds to 127.0.0.1 by default, accepts KWARD_PAN_PASSWORD, and warns whenever it is explicitly exposed over plain HTTP on a non-loopback address.
  • Vibe visual selections can now be used as line ranges for : commands, including :s substitutions and :run scratchpad execution.
  • Ruby scratchpad runs now preserve the source buffer and show captured output in a scrollable, cancellable lower-half output pane instead of appending it after __END__; mouse drag selection and Ctrl+C/Cmd+C/Vibe y copy clean output without pane borders.

Fixed

  • Restored Codex commentary as visible reasoning output during streaming and session replay instead of showing only the provider's short reasoning-summary headline.
  • Kept expected Git discovery failures, PTY fixtures, and release subprocess output inside their owning tests so successful suite and CI logs remain quiet.
  • Replaced one-shot authentication and runtime backtraces with concise, actionable CLI errors while retaining opt-in debug backtraces through KWARD_DEBUG=1.
  • Fixed composer cursor movement, deletion, wrapping, truncation, and border alignment for wide and multi-codepoint Unicode graphemes.
  • Reduced composer latency for long drafts, large file and slash-command lists, and prompt histories by eliminating repeated layout work, discovering project paths outside rendering, and reusing search results.
  • Fixed tab switching during shell commands so tab shortcuts take priority without aborting the command; detached commands continue in the originating tab's background and report their output when complete.

Removed

  • Removed legacy kwsh.yml shell configuration; shell aliases and exports now use the shell-style kwshrc files.