Changelog
All notable changes to Kward will be documented in this file.
[Unreleased]
[0.69.0] - 2026-06-17
Added
- Added a
docs:buildRake task for building the YARD documentation site. - Reworked core guide documentation around developer workflows, setup, authentication, memory, personas, extensibility, plugins, web search, and code search.
- Added
fetch_contentandfetch_rawweb tools for reading specific URLs after search discovery. - Added
enforce_workspace_agents_fileconfig support for forcing full workspaceAGENTS.mdinjection. - Added config-directory
PRINCIPLES.mdas the preferred global principles file, withAGENTS.mdkept as a legacy alias. - Added
kward syspromptfor inspecting the effective system prompt, with--rawfor unannotated prompt content.
Changed
- Changed workspace
AGENTS.mdhandling to inject a compact read-when-relevant instruction by default instead of the full file. - Changed interactive runtime command/status messages to use a
Runtime>transcript label instead of the assistant label. - Changed terminal tool transcript rendering to show a single
Tool>block containing the tool invocation summary and result summary. - Changed transcript label colors to a quieter palette, with failed tool calls rendered in red.
- Separated conversation system prompt state from durable transcript messages; provider request context still includes the current system prompt on every model request.
- Persisted system prompt snapshots as session audit metadata when the prompt changes, without adding them to transcript messages.
Fixed
- Fixed custom
ask_user_questionanswers so trailing spaces remain visible while typing. - Fixed inferred soft memory learning to canonicalize user preferences and avoid storing near-duplicate memories with slightly different wording.
- Fixed in-flight steering messages so they appear in the interactive transcript as
You>entries. - Fixed interactive plugin slash commands and OAuth login so they show the running spinner while executing.
- Fixed
/reloadso terminal plugin footers use the newly loaded plugin renderer without restarting Kward. - Fixed Codex GPT-5.5 RPC model metadata to report a 400k context window instead of the upstream OpenAI API context window.
- Fixed a bug that prevented proper context window calculation whenever an image is attached to a session
- Fixed persona selection so workspace and model personas override the default base persona instead of appending duplicate base personas.
- Fixed Codex Responses streaming to preserve ordered response items, replay assistant phase metadata, and keep commentary/tool-planning text out of visible assistant output.
- Fixed Codex multi-turn requests with
store: falseby not replaying server-assigned response item ids. - Fixed RPC session listing to include each session's persisted provider, model, and reasoning effort so pickers can show session-specific runtime state.
[0.68.0] - 2026-06-14
In this release, most changes are under the hood, as it included massive refactors to have an even more robust way forward.
Added
- Added Anthropic Claude Pro/Max subscription provider support with OAuth login, static Claude model choices, and Anthropic Messages streaming.
Changed
- Changed known context windows and reasoning effort choices to use provider/model-specific metadata for Codex, OpenRouter, Copilot, and Anthropic models.
- Changed the default Anthropic model to Claude Sonnet 4.6 and expanded direct Anthropic model choices to include newer Claude Opus/Sonnet releases.
- Changed resumed sessions to restore the session's last-used provider, model, and reasoning effort without rewriting default config.
- Documented the tool contract: schemas define strict generated/returned payloads, while runtime accepts tolerant incoming tool-call input for compatibility.
- Expanded RDoc coverage past 50% across message compatibility, tool-call normalization, session persistence, session tree helpers, model/client boundaries, config paths, workspace operations, telemetry, RPC, plugins, memory, auth, compaction, search internals, CLI mixins, and prompt interface components.
Fixed
- Fixed session tree editing and RPC fork text so prompt-template turns use the original visible slash command instead of expanded model content.
[0.67.1] - 2026-06-14
Fixed
- Fixed RPC session listing so it no longer deletes the active empty session file while UI clients are starting a first turn.
[0.67.0] - 2026-06-13
Added
- Added optional startup resume for the last active session in each workspace through
sessions.auto_resume: true, including immediate restored transcript/persona data for RPC clients. - Added
tools.workspace_guardrails: falseconfig support for allowing file tools to access paths outside the active workspace. - Added
banner.enabled: falseconfig support for hiding the interactive terminal banner. - Added colored CLI help/version commands, command-specific help, and stricter command precedence over one-shot prompts.
- Added
--working-directory PATHas a global option for running any CLI mode from another workspace. - Added
kward initfor installing the starter pack;--install-starter-packremains as a compatibility alias. - Added
kward doctorto check local config, workspace, auth hints, Pan credentials, and writable directories. - Added
--as a prompt delimiter so option-like text can be sent as a one-shot prompt. - Added
kward auth statusandkward auth logoutfor checking and clearing saved credentials without printing secrets. - Added
/reloadand RPC runtime reload support for reloading installed plugins without restarting Kward. - Added Session Tree support with a CLI
/treecommand plus RPC persisted entry IDs, labels, label timestamps, and branch navigation. - Added RPC
ui/footernotifications for Kward plugin footers. - Added
!shell commands in the interactive CLI composer. - Added the active persona label to RPC
runtime/stateresponses.
Changed
- Expanded the interactive
/settingscommand into categorized settings for model, accounts, memory, interface, tools, compaction, personalization, logging, and advanced config info. - Changed RPC session deletion to use the OS trash/recycle bin when available before falling back to permanent file deletion.
- Changed automatic session naming to persist the first visible user turn, keeping slash prompt names unexpanded while still saving expanded prompt content.
- Changed Pan mode to start with the
kward pancommand;--pan-moderemains as a compatibility alias. - Changed memory retrieval and listing to use a global core, workspace core, workspace soft hierarchy, and added
/memory relaxfor downgrading global core memories to the current workspace. - Changed session tree rendering to match Pi's active-path-first branch display, markers, tool rows, and connector prefixes.
- Changed session tree navigation so all persisted entry points are selectable without automatically running anything.
Fixed
- Fixed RPC session deletion so empty unnamed sessions are explicitly deleted instead of being consumed by unused-session cleanup first.
- Fixed the TUI
/treeselector to start on the current tree position, or the last item for a fresh tree. - Fixed the normal session list/resume picker to stay in recent modification-time order, delete empty unnamed sessions, return the full list by default, and avoid test-created session pollution.
- Fixed RPC model selection to accept lowercase provider IDs from UI clients.
- Fixed cloned sessions to keep the current session name after renaming.
Removed
- Removed the obsolete
/crewcommand reservation and unreleased RPC compatibility aliases.
[0.66.0] - 2026-06-12 - Codename: Order
Added
- Initial public release.
- Prepare RubyGems packaging for the initial public release.