¶Changelog
¶[Unreleased]
¶[0.9.11] - 2026-06-26
¶Changed
- Internal: removed all
any types from the embeddable @elyracode/web-ui package (143 eliminated), adding precise discriminated-union types for the sandbox messaging protocol — no behavior change
- Model registry data refresh
¶[0.9.10] - 2026-06-19
¶Added
- Stack detection now recognizes the SILT stack (Svelte 5 + Inertia + Laravel + Tailwind) and suggests
@elyracode/stack-silt
¶[0.9.9] - 2026-06-11
¶Added
- Budget-aware smart routing: when a budgeted
/goal is active, the router caps tiers as the budget depletes (balanced above 75% spent, fast above 90%) so the loop spends expensive turns early and rations later
/route: show what smart routing would do for the next turn — classified tier with reason, the model each tier would pick (pins marked), budget capping status, and image-modality constraints
/cost now shows a burn rate ($X.XX/hour at the current pace) once a session has more than a minute of activity
elyra doctor models: live-verify configured providers against the model registry from the CLI (credentials from auth.json or env), with --provider, --model, and --max filters; exits non-zero on failures or mismatches for CI use
smartRoutingModels setting: pin an explicit model per smart-routing tier ({"fast": "anthropic/claude-haiku-4-5", ...}) — the heuristic decides the tier, you decide the model; pins still respect the image-modality filter
- Smart routing decisions are now visible in the chat as a dim status line ("smart routing: fast — read-only tools → Haiku") instead of switching models silently
¶Fixed
- Smart routing no longer escalates permanently to the powerful tier after a few turns: conversation length is now measured in user turns instead of raw messages (tool results inflated the count immediately)
- Smart routing now filters candidates by input modality, so conversations containing images can never be routed to a text-only model
- Smart routing model selection within a tier now prefers same-provider, reasoning-capable, paid models by cost instead of blindly picking the largest context window (which could select a slow 1M-context flagship as the "fast" model)
- Smart routing hysteresis now tracks the classified tier on every turn, including turns where the model did not change
¶[0.9.8] - 2026-06-10
¶Added
/goal <cmd> --budget <usd>: cost-capped autonomy — the goal loop stops and reports once the spending cap is reached, keeping the work done so far
/replay <model>: replay the last turn on a new branch with a different model; the original branch is kept for comparison via /tree, and the replay cost is reported
/learn [topic]: extract a reusable skill from the current session — writes a draft SKILL.md to the user skills directory for review and /reload
¶Changed
elyra update now checks the npm registry first and reports "Elyra is up to date (version)" instead of reinstalling and claiming success when already on the latest version; use --force to reinstall anyway
¶[0.9.7] - 2026-06-10
¶[0.9.6] - 2026-06-09
¶[0.9.5] - 2026-06-07
¶Added
- MiniMax M3 on the direct
minimax and minimax-cn providers (512k context, 128k max output, reasoning, text + image)
¶Changed
- Upgraded the Anthropic SDK from
0.97.1 to 0.102.0
¶[0.9.4] - 2026-06-06
¶Changed
- Replaced the third-party native clipboard dependency with an in-repo fork,
@elyracode/clipboard, so the project controls its development and maintenance. The runtime behavior (optional native module with graceful fallback) is unchanged.
¶[0.9.3] - 2026-06-06
¶Added
- Self-writing extensions: the agent can give itself a tool it doesn't have via the new
extension_write tool, which scaffolds a TypeScript extension when a needed capability is missing. Approval-by-default with an "Auto-save extensions" setting in /settings.
/review: get an independent, second-opinion code review of your changes from the model with a clean reviewer prompt and no conversation context. Flags: --session (the agent's changes this session), or a path.
/bisect: binary-search the session's checkpoints to find which agent turn introduced a problem, like git bisect but over the agent's own turns. /bisect <command> runs automatically (exit 0 = good); without a command it asks you to mark each step. The working tree is always restored afterward.
¶[0.9.2] - 2026-06-06
¶Added
/update now updates installed extensions too, not just Elyra itself. It checks for both an Elyra version update and out-of-date extensions, updates everything, and restarts once.
¶Fixed
- A user's prompt is now flushed to disk when the agent starts a turn, so it survives a crash during a long initial LLM call (previously entries were deferred until the first assistant message arrived)
¶[0.9.1] - 2026-06-01
¶Added
- Scrollable in-TUI diff viewer:
/diff now opens a full-height, syntax-highlighted viewer (scroll with arrows/PgUp/PgDn, g/G for top/bottom) instead of dumping a markdown block into the chat
/diff --editor (-e) and a "Diff in editor" setting: open the diff in $VISUAL/$EDITOR. Press e inside the viewer to open the same diff in your editor.
/diff --session: show only what the agent changed this session (diffed against the session's first checkpoint)
/diff --cached: show staged changes
/diff <path>: filter the diff to a file or directory
- Plain
/diff now also lists untracked files
¶Fixed
- Replaced an inline import in the diff command with a top-level import; raised the diff buffer limit to 32MB
¶[0.9.0] - 2026-05-31
¶Added
- Self-writing skills: the agent can now save a hard-won solution as a reusable skill via the new
skill_write tool, so future sessions never re-solve the same problem. Skills are saved to user (~/.elyra/agent/skills) or project (.elyra/skills) scope.
- "Auto-save skills" setting in
/settings (default off). When off, the agent shows a Save/Discard prompt before saving each skill. When on, it saves autonomously.
¶[0.8.2] - 2026-05-28
¶Changed
- Default Anthropic model updated from Claude Opus 4.7 to Claude Opus 4.8
¶[0.8.0] - 2026-05-27
¶Fixed
- Synchronous busy-wait spin locks in auth-storage and settings-manager replaced with
Atomics.wait — no longer burns CPU at 100% during lock contention
- Edit tool
tsc check converted from blocking spawnSync (up to 15s) to async execFile — streaming, UI, and concurrent tools no longer freeze during type checking
exec.ts now preserves error messages from failed process spawns instead of discarding them
- Checkpoint persistence uses atomic write (temp file + rename) to prevent corruption on crash
- Memory generation errors are now logged instead of silently swallowed
- Agent retry
continue() errors are now logged instead of silently swallowed
- Unbounded
errors arrays in auth-storage and settings-manager capped at 100 entries
¶[0.7.15] - 2026-05-25
¶Added
@elyracode/btw extension: parallel side conversations with /btw, /btw:inject, /btw:summarize, /btw:clear, and /btw:thread commands
¶[0.7.14] - 2026-05-25
¶Fixed
@elyracode/laravel extension crashed on startup with getCwd is not defined — fixed variable reference in session_start handler
¶[0.7.13] - 2026-05-25
¶Changed
- Startup animation replaced with constellation design matching the favicon.svg — orange gradient with highlighted nodes
@elyracode/laravel skill updated with db-tools integration guidance for combined model-vs-schema analysis
@elyracode/laravel tools now register only in Laravel projects (no tool clutter in non-Laravel workspaces)
¶[0.7.12] - 2026-05-24
¶Added
@elyracode/laravel extension: deep Laravel project understanding with laravel_models, laravel_routes, and laravel_analyze tools
¶[0.7.11] - 2026-05-24
¶Added
/goal <command> command: set a completion condition and the agent keeps working until the command exits with code 0. Type /goal again to clear.
/update command: update Elyra to the latest version and restart without leaving the session
- In-app update notification shows
/update instead of requiring manual terminal commands
¶[0.7.10] - 2026-05-24
¶Changed
edit tool now runs TypeScript diagnostics after each successful edit and reports new errors to the agent immediately
read tool returns a structural outline (function/class/interface signatures with line numbers) for files over 150 lines instead of truncated content
read tool annotates each line with a short content hash (#xxxx | ) for precise edit targeting
edit tool transparently strips hash annotations from oldText/newText so copy-paste from annotated reads works directly
¶[0.7.9] - 2026-05-23
¶Added
@elyracode/workflows extension: code-orchestrated workflow pipelines defined in .elyra/workflows/. Supports prompt, run, if, and parallel step types with template interpolation between steps. Code handles control flow, the LLM handles judgment — no token tax from LLM-based orchestration.
/workflow command to list and execute workflows
elyra-workflows skill teaching the agent about workflow patterns
¶[0.7.8] - 2026-05-23
¶Added
@elyracode/seo extension: SEO and LLM optimization with seo_audit, seo_generate_llms_txt, seo_generate_schema, and seo_generate_meta tools
¶[0.7.7] - 2026-05-23
¶Added
@elyracode/lsp-typescript extension: TypeScript LSP integration with lsp_definitions, lsp_references, lsp_diagnostics, and lsp_hover tools for semantic code navigation
¶Changed
- Pinned file contents are now placed before the date in context injection for improved prompt cache hit rates
¶[0.7.6] - 2026-05-23
¶Added
/rewind command: roll back both conversation history and filesystem state to a previous point. Git checkpoints are automatically created before each agent turn and persisted alongside the session file.
app.session.rewind keybinding: trigger /rewind via configurable keyboard shortcut
rewind action in ExtensionCommandContextActions: extensions can programmatically trigger rewind operations
¶[0.7.4] - 2026-05-22
¶Added
- Version update notification on startup: checks npm registry and shows
elyra update command when a newer version is available
@elyracode/design-lookup extension added to /ext package browser
¶[0.7.3] - 2026-05-22
¶Added
/skills install <name> command: install skills from the community registry at github.com/kwhorne/elyra-skills. Supports multiple skills in one command.
¶[0.7.2] - 2026-05-21
¶Added
@elyracode/design-lookup extension: extract design systems from any website (colors, typography, spacing, components, layout) via /lookup-design <url>
¶[0.7.1] - 2026-05-21
¶Added
- Full Anthropic Agent Skills spec compatibility:
allowed-tools, compatibility, license, metadata frontmatter fields
- Auto-discovery of
scripts/ and references/ directories in skill folders, exposed to the agent via system prompt
/skills command: list all loaded skills with details, script/reference counts, and source info
¶[0.7.0] - 2026-05-21
¶Changed
- Major dependency upgrades:
diff 9.0, marked 18.0, vitest 4.1, typescript 6.0
- TypeScript target bumped from ES2022 to ES2024
- Updated
@typescript/native-preview (tsgo) to latest
¶[0.6.4] - 2026-05-20
¶Changed
- Upgraded
@anthropic-ai/sdk to 0.97.1 and openai to 6.38.0
¶[0.6.3] - 2026-05-19
¶Added
/snippet command: reusable instruction snippets from .elyra/snippets/ with selector and autocomplete
/init now creates .elyra/snippets/ directory
¶[0.6.2] - 2026-05-17
¶Added
/init command: interactive project setup. Creates .elyra/AGENTS.md with stack detection, .elyra/blueprints/, and suggests extensions based on detected frameworks.
¶[0.6.1] - 2026-05-17
¶Added
/memory command: view, clear, or locate project memory. Shows the knowledge Elyra has built across sessions.
- First-run welcome message with example prompts for new projects (shown when no
.elyra/ directory exists)
/help command: example prompts, useful commands, and link to elyracode.com
- Onboarding text now references elyracode.com for docs and guides
¶[0.6.0] - 2026-05-17
¶Added
/footer command: toggle between full and minimal footer. Minimal shows only cwd, git branch, and model name.
- Norwegian Midnight built-in theme (Nord palette with deeper backgrounds)
@elyracode/swarm extension: multi-agent pipeline orchestration with build, review, and refactor pipelines
@elyracode/docker extension: container-aware development with exec routing, log tailing, compose operations, and environment sync
¶Changed
- Compaction summarization prompts now preserve Architecture & Patterns, Error History, exact file paths, error messages, and stack traces
- Tool result serialization limit increased from 2000 to 4000 characters for richer compaction context
- Smart router expanded from 8 to 35 complex keywords covering debugging, architecture, and performance terms
- Smart router adds hysteresis to prevent tier oscillation between turns
- Smart router gates read-only de-escalation on conversation length (< 10 messages only)
- Smart router escalates to powerful tier on large tool outputs (> 5000 chars)
- Current date moved from system prompt to context injection for better LLM cache hit rates
- Upgraded @anthropic-ai/sdk to 0.96.0, openai to 6.38.0, @biomejs/biome to 2.4.15
¶Fixed
- Added
@elyracode/swarm to /ext package browser list
- Updated xAI test model references after grok-3 removal from API
¶[0.5.10] - 2026-05-15
¶Fixed
- Added
@elyracode/swarm to the /ext package browser list
¶Added
@elyracode/docker package: Docker-aware development with container exec, log tailing, compose operations, and environment sync
¶[0.5.9] - 2026-05-15
¶Added
- Built-in theme: Norwegian Midnight (Nord palette with deeper backgrounds)
@elyracode/swarm package: multi-agent pipeline orchestration with /swarm build, /swarm review, and /swarm refactor commands. Pipelines chain focused agent stages (plan → code → test → review → fix) with visual progress tracking. Read-only stages cannot edit files; only implementation stages can write.
¶[0.5.8] - 2026-05-15
¶Added
/cost command: displays session token usage, estimated cost, and context window utilization
/diff command: shows uncommitted git changes with syntax-highlighted diff output
/pin <path> and /unpin <path> commands: pin files to context so they survive compaction. Pinned file contents are injected into every LLM call.
/pins command: list currently pinned files
/blueprint [name] command: apply session blueprints from .elyra/blueprints/ or ~/.elyra/agent/blueprints/. Supports YAML frontmatter with pin directives.
¶[0.5.7] - 2026-05-15
¶Added
/theme slash command: opens a theme selector with live preview, or switch directly with /theme <name>. Includes autocomplete for theme names.
¶[0.5.6] - 2026-05-15
¶Added
- Built-in themes: Palenight, Catppuccin Mocha, and One Dark Pro (available via
/theme)
¶[0.5.5] - 2026-05-14
¶Changed
estimateTokens now caches results per message in a WeakMap, avoiding redundant token recomputation for immutable messages across compaction checks
ExtensionRunner.emitContext skips structuredClone entirely when no extension has registered a context handler
- Agent session uses
agent.appendMessage() instead of mutating agent.state.messages directly
¶[0.5.4] - 2026-05-14
¶Added
- Anna.js extension (
@elyracode/anna): generate, preview, and build Markdown presentations with terminal animations, live code playgrounds, Mermaid diagrams, and component layouts
¶[0.5.3] - 2026-05-14
¶Added
- Laravel Herd integration (
@elyracode/herd): environment detection, service status, error logs, .env sync checks, PHP version management
¶[0.5.2] - 2026-05-14
¶Added
- Git intelligence (
@elyracode/git-intel): session briefings, commit message generation, PR descriptions
- Test generator (
@elyracode/test-gen): intelligent test generation for Pest (Laravel) and Vitest (TypeScript)
- Performance analyzer (
@elyracode/perf-tools): N+1 query detection, slow queries, missing indexes, eager loading
- Localization tools (
@elyracode/i18n-tools): find hardcoded strings, compare translations across locales
¶[0.5.1] - 2026-05-13
¶Added
/packages and /ext commands: interactive TUI browser for all @elyracode extensions with descriptions, install directly without leaving Elyra
- SQLite support in
@elyracode/db-tools with auto-detection from .env
¶[0.5.0] - 2026-05-13
¶Added
- SQLite support in
@elyracode/db-tools: query_sqlite tool with auto-detection from .env (DB_CONNECTION=sqlite) and Laravel defaults
- SQLite schema discovery via get_database_schema
¶Fixed
- All package install/remove/update operations now suppress npm noise (warnings, funding, package counts)
- Clean CLI output for install: shows only "Installing...", "Installed", and activation instructions
¶[0.4.9] - 2026-05-13
¶Added
- Subagent orchestrated workflows:
/build-feature (scout -> planner -> oracle -> worker -> reviewer -> fix), /ui-review (adversarial UI testing with screenshots and accessibility checks), /deep-review (parallel correctness + tests + security review with synthesis)
- Git integration:
/git-review (review diff with go/no-go verdict), /setup-git-hook (install pre-push hook that blocks pushes with issues)
¶[0.4.8] - 2026-05-13
¶Added
- Design tools extension (
@elyracode/design-tools): live browser preview with Tailwind CDN, screenshot capture for visual QA, Tailwind design system consistency checker
- Subagents extension (
@elyracode/subagents): delegate to focused child agents (scout, reviewer, planner, worker, oracle, researcher, delegate) with single and parallel execution
¶[0.4.7] - 2026-05-12
¶Added
- Design tools extension (
@elyracode/design-tools): live browser preview with Tailwind CDN, screenshot capture for visual QA, and Tailwind design system consistency checker
¶[0.4.6] - 2026-05-11
¶Added
- HTTP tools extension (
@elyracode/http-tools): API testing, live documentation fetching, and OpenAPI/Swagger spec parsing
¶[0.4.5] - 2026-05-11
¶Added
@elyracode/doctor: Auto-heal mode (/doctor --heal) that instructs the agent to fix each issue step by step
¶[0.4.4] - 2026-05-11
¶Added
- Project health analysis (
@elyracode/doctor): security audit, outdated deps, code debt scanner, large file detection, .env validation, git status, project essentials check
¶[0.4.3] - 2026-05-11
¶Added
- RILT stack extension (
@elyracode/stack-rilt): React 19, Inertia.js 2, Laravel, Tailwind CSS 4, shadcn/ui
- Stack detector now recognizes RILT projects
¶Fixed
elyra update now shows clean output (version info, progress) instead of raw npm noise
¶[0.4.2] - 2026-05-11
¶Added
- RILT stack extension (
@elyracode/stack-rilt): React 19, Inertia.js 2, Laravel, Tailwind CSS 4, shadcn/ui
- Stack detector now recognizes RILT projects (React + Inertia + Laravel + Tailwind)
¶[0.4.1] - 2026-05-11
¶Added
- Filament v5 extension (
@elyracode/stack-filament): admin panels, resources, tables, forms, actions, widgets, multi-tenancy, testing
- Stack detector now detects Filament and Laravel AI SDK in composer.json
¶[0.4.0] - 2026-05-11
¶Added
- Flux UI extension (
@elyracode/flux-ui): live component index from GitHub, Blade-to-Flux converter, page generator with Livewire 4
- Laravel AI SDK extension (
@elyracode/stack-laravel-ai): complete reference for agents, sub-agents, tools, structured output, embeddings, vector stores, streaming, and testing
¶[0.3.7] - 2026-05-11
¶Added
- Flux UI extension (
@elyracode/flux-ui): live component index from GitHub, Blade-to-Flux converter, and page generator
¶[0.3.6] - 2026-05-11
¶Added
@elyracode/laravel-starters: GitHub file cache (~/.elyra/cache/github/) with 24h TTL for instant repeat fetches
@elyracode/laravel-starters: apply_starter_files tool to write kit files directly to disk with path filtering and excludes
¶Fixed
- CI: resolved platform-specific native module issues (tsgo, lightningcss, parcel/watcher, tailwind oxide)
- CI: fixed failing self-update tests after version-check removal
¶[0.3.5] - 2026-05-10
¶Added
- PrimeVue 4 extension (
@elyracode/stack-primevue): 80+ UI component reference for Vue 3 with Laravel/Inertia patterns
¶[0.3.4] - 2026-05-10
¶Added
- Laravel starters package (
@elyracode/laravel-starters): fetch and customize official Laravel 13.x starter kits from GitHub
fetch_laravel_starter tool: agent auto-fetches React, Vue, Svelte, or Livewire starter kits as reference
fetch_github_repo tool: fetch any public GitHub repo as context
/laravel:starter command: interactive TUI selector for starter kits
¶Fixed
- Laravel starters updated to current Laravel 13.x kits (React/shadcn, Vue/shadcn-vue, Svelte/shadcn-svelte, Livewire/Flux UI)
¶[0.3.3] - 2026-05-10
¶Added
- Animated startup logo with sky-to-teal gradient, revealed line by line on first launch
¶[0.3.2] - 2026-05-10
¶Fixed
@elyracode/db-tools: Auto-loads .env file from project root with Laravel/Docker key mapping (DB_HOST, DB_DATABASE, CLICKHOUSE_HOST, etc.)
@elyracode/db-tools: Explicit ELYRA_* env vars always take precedence over .env values
¶[0.3.1] - 2026-05-10
¶Added
- Database tools package (
@elyracode/db-tools): query MySQL and ClickHouse with schema awareness
- Read-only by default with
ELYRA_DB_ALLOW_WRITES escape hatch
¶Fixed
- ClickHouse config uses granular env vars (HOST, PORT, HTTPS, timeouts) instead of a single URL
¶[0.3.0] - 2026-05-10
¶Added
- Stack detection: automatically detects TALL and VILT stacks from composer.json/package.json
- Stack info injected into system prompt so the agent always knows the project's technology stack
- Auto-suggestion in interactive mode to install matching stack profile packages
- Also detects: React, Svelte, TypeScript, Vite, Sanctum, Reverb
¶[0.2.0] - 2026-05-10
¶Added
- Smart model routing: automatically selects optimal model tier per turn based on task complexity
- Codebase memory: persistent project knowledge across sessions via LLM-generated summaries
¶Changed
- npm scope changed from
@elyra to @elyracode
Loading index…
Hint
Try
install,
extensions,
themes,
sessions…
No matches for .
↑↓ navigate
↵ open
Elyra docs