Changelog
[Unreleased]
[0.9.43] - 2026-09-24
Changed
- GPT-6 Sol is the new OpenAI default (
gpt-6-sol, released 2026-09-22) foropenai,azure-openai-responses, andgithub-copilot, replacing GPT-5.6. Same 1M context and reasoning at half the price ($2/$10 vs $4/$20, cache read $0.20 vs $0.40).openai-codexstays ongpt-5.5because Codex does not expose GPT-6 yet. SetdefaultModelto keep GPT-5.6; existing sessions are unaffected
[0.9.42] - 2026-09-22
Changed
- Claude Opus 5.5 is the new Anthropic default (
claude-opus-5-5, also on Bedrock asus.anthropic.claude-opus-5-5and Cloudflare AI Gateway), replacing Claude Sonnet 5. The smart-routingpowerfultier is pinned to it as well. Opus 5.5 is $4/$20 per M tokens against Sonnet 5's $2/$10 (cache reads are $0.20 on both, and it undercuts Opus 5's $5/$25), so expect up to double the cost per turn on the default and powerful tiers, less on cache-heavy sessions; pinsmartRoutingModels.powerfulor setdefaultModelto keep Sonnet 5. Existing sessions and explicitdefaultModelsettings are unaffected
[0.9.41] - 2026-09-20
Added
- Anthropic prompt-cache warming. After a turn ends, Elyra waits four minutes and replays the exact request prefix (system prompt, tools, history, thinking settings) with a one-character user message and
max_tokens: 1, refreshing the five-minute cache TTL for one cache-read price instead of paying a full rewrite when you return. Up to two pings per idle period, only foranthropic-messagesmodels with an API key (not subscription OAuth), only when the last request was at least 20k tokens, and cancelled the moment you prompt, switch models, or abort. Pings never enter the conversation or session file;/sessionreports their count and cost separately. Configure or disable with thecacheWarmingsetting - Mid-conversation system messages.
/system <text>inserts an instruction into the history at the current point; it is persisted, replayed on resume, summarized by compaction, and applies to every following turn. Extensions get the same viaelyra.sendSystemMessage(text, { display?, deliverAs?, triggerTurn? }). No provider offers a portable mid-stream system role, so the message reaches the model as a user message wrapped in<system-reminder>tags, and the default system prompt tells the model to treat that wrapper as harness instructions. Appending at the end of history keeps the prompt cache intact, unlike rewriting the system prompt per turn /bug <description>: builds a bug report with Elyra version, runtime, OS, active model and thinking level, session message counts, recent tool calls, loaded extensions and their load errors, and the last error if the previous turn failed. Shows a preview, then opens a prefilled GitHub issue in the browser or copies the report to the clipboard (also saved to a temp file). API keys, tokens, JWTs, and the home directory are redacted; nothing is sent until you submit on GitHub
Changed
- Toggling tools mid-session no longer invalidates the prompt cache. Deactivated tools stay in the request and the system prompt (the tools block is the root of Anthropic's cache hierarchy and part of OpenAI's hashed prefix); the agent blocks calls to them with a clear error result instead. Activating a tool that was never sent still adds it, costing one cache miss as before. Startup restrictions (
--tools,--no-tools) are unchanged. NewstableToolSetsetting (defaulttrue); set tofalsefor the old send-only-active-tools behaviour - Faster
--resumeand--continuestartup. Session listing now keeps anindex.jsonsidecar per sessions directory and only re-parses files whose mtime or size changed; corrupt or missing indexes are rebuilt.SessionInfo.allMessagesTextis loaded lazily on first access (i.e. when searching in the session picker) instead of concatenating every session's text at startup.--continuevalidates candidate files newest-first and stops at the first valid one, and the chosen file is parsed once instead of twice.SessionManager.buildSessionContext()caches its result until entries or the leaf change.
[0.9.40] - 2026-09-18
Added
@elyracode/jev-toolscan now call TypeSafe directly (https://api.typesafe.ai/v1/systemone, modeljev-latest) withTYPESAFE_API_KEY, in addition to the OpenRouter route. Direct is preferred when its key is present;JEV_BACKEND=typesafe|openrouterforces one./jevshows the active backend and both key states
[0.9.39] - 2026-09-18
Added
- Jev decision tools extension (
@elyracode/jev-tools): adecidetool that sends astateplus typed questions (noulyes/no,choice,score) to TypeSafe Jev through OpenRouter's decisions endpoint and returns calibrated probabilities instead of prose. Reuses the stored OpenRouter key;/jevshows configuration. Jev is a classifier, not a chat model, so it is exposed as a tool rather than a selectable model. Includes an opt-in bash gate (--jev-gate,JEV_BASH_GATE=1, or/jev gate on) that asks Jev whether each shell command is destructive and requests confirmation above a threshold (JEV_BASH_GATE_THRESHOLD, default 0.7); blocks in non-interactive mode, fails open on API errors
[0.9.38] - 2026-09-16
Added
-
Smart routing now picks the thinking level per turn, not just the model: a fast-tier turn (directory listing, quick question) runs at
minimal, balanced at up tomedium, powerful at the session level. The session setting is a ceiling that routing only ever lowers - never raises - and it is untouched in the footer and/thinking./routeshows the per-turn level -
Stale tool-output pruning: before each provider request, tool results older than 6 assistant turns and larger than 2000 characters are replaced with a one-line placeholder (
[read src/foo.ts, 412 lines – pruned from context; re-read if needed]). Request-time only - session history and compaction are unaffected, errors and image results are never pruned, and untouched messages keep reference identity for cache stability. Tune or disable with thecontextPruningsetting -
Stack-aware verification commands: the stack detector now derives the project's own checks (typecheck, lint, test, build) from
package.jsonscripts and lockfile,composer.json(pest/phpunit, pint, phpstan/larastan, composer scripts),Cargo.toml,pyproject.toml, andgo.mod, and lists them in the system prompt so "verify your work" names the exact commands to run -
Edit-failure escalation:
editerrors now say where to look - duplicates list the line numbers of each occurrence, not-found errors name the closest line matching the first line ofoldText(or say the file may have changed). After two consecutive failures on the same file, the tool result gains an explicit instruction to stop retrying blind, re-read the region, and rebuildoldTextfrom fresh content -
Stack-relevant skills: skills whose name, description,
compatibility, ormetadata.tagsmention a detected framework (with aliases, e.g. Flux UI ↔flux) are listed first in the system prompt with a lead-in naming them and a<relevant-to>marker, so the model reads the right skill for a Laravel + Livewire project without guessing
Changed
- System prompt gained a "How to work" section with working-method rules: read before editing, explore deliberately, prefer small targeted edits, ask when intent is ambiguous, verify with the project's own checks and never report unobserved success, stop when done without gold-plating, and change approach after repeated identical failures. Rules that depend on a tool are only emitted when that tool is available
[0.9.37] - 2026-09-11
Added
- Ledger-driven tier suggestions:
/routing-statsandelyra doctor routingnow end with concrete recommendations per smart-routing tier based on your local outcome ledger - switch a pinned model when a measured alternative is meaningfully better (higher success rate, or equal success at under 60% of the cost per turn), pin a tier that has none, or keep the current pin with the numbers that justify it. Nothing leaves your machine - Per-commit cost receipt: git commits made by the agent get an
Elyra-Cost: $0.42 (glm-5.3, 4 turns, 1 model switch)trailer showing spend since the previous commit, so teams see AI cost per change ingit log. Skips--amend/--fixup/--squash. Disable withgitCostTrailer: false
Changed
- Decision-aware compaction: when the project has a decision log, the summarizer is told which decisions are already recorded and references them by id instead of restating the rationale - smaller summaries, no lost reasoning (the full text lives on disk) - and does not re-extract them. Manual
/compactnow also persists extracted decisions
[0.9.36] - 2026-09-05
Added
- Project decision log: architecture decisions are persisted as one ADR-lite Markdown file per decision under
.elyra/memory/decisions/(frontmatter with id/date/status/supersedes; Context / Decision / Alternatives / Consequences), committed to git and shared with the team. Decisions are never deleted - a newer decision supersedes an older one decision_recordtool: the agent records a decision when the user settles an architecture or design choice with lasting impact (with the alternatives rejected). Guarded by thedecisionLogsetting:confirm(default) shows an approval dialog,autorecords silently,offdisables- Compaction now extracts unrecorded architecture decisions from the history being discarded (a machine-parseable block appended to the existing summarization call - no extra request). In
automode they are written to the log; inconfirmmode the candidates are surfaced in the status line - A budget-capped digest of active decisions is injected into the system prompt so future sessions respect them; full text stays on disk for
read /decisions [id|mode]command: list the log, show one decision (id or unique prefix), or switch mode (off/confirm/auto); argument autocomplete offers modes and ids
[0.9.35] - 2026-09-03
Added
/thinking [level]command: set the thinking level for the current model. Without an argument it opens a selector listing only the levels the model supports (current one marked); with an argument it sets the level directly and rejects levels the model does not offer. Argument autocomplete offers the valid levels
[0.9.34] - 2026-09-01
Changed
- Model registry refreshed: added Claude Fable 5.1 (Anthropic direct, Bedrock regional/global variants, and gateways — $10/$50, 1M context, adaptive thinking with a new max level), GLM-5.3 on HuggingFace, Qwen 3.8 Flash Next, Mercury 2.5 preview, Granite 4.2, and a wave of OpenAI
:batchvariants on the gateways. The Anthropic default staysclaude-sonnet-5— Fable 5.1 and Opus 5 are premium picks for the deep tier.
[0.9.33] - 2026-08-29
Added
- Mid-turn auto-compaction: when large tool results (big file reads, long test logs) push the context past the compaction threshold in the middle of a run, compaction now runs between the tool results and the next provider request instead of waiting for the request to fail with a context overflow and retrying
- Terminal capability overrides: new
terminal.hyperlinks,terminal.images, andterminal.trueColorsettings ("auto"default) force capabilities on or off when auto-detection is too conservative (unrecognized terminals) or wrong
[0.9.32] - 2026-08-25
Changed
- Vercel AI Gateway default bumped from
zai/glm-5.2tozai/glm-5.3(5.3 landed on the gateway) - Cloudflare AI Gateway default changed from
workers-ai/@cf/moonshotai/kimi-k2.6toclaude-sonnet-5: the gateway catalog dropped its Workers AI mirror and is BYOK-only now - Cerebras default changed from
zai-glm-4.7togpt-oss-120b(GLM 4.7 removed upstream)
[0.9.31] - 2026-08-16
Changed
- zai default model bumped from
glm-5.2toglm-5.3(1M context; Vercel AI Gateway default stays onzai/glm-5.2until 5.3 lands there)
[0.9.30] - 2026-08-12
Changed
- xAI default model bumped from
grok-4.5togrok-4.6(same $2/$6 pricing, 500K context) - The Anthropic extra-usage warning (subscription OAuth) is now shown once per install instead of once per session; the shown state is persisted as
warnings.anthropicExtraUsageShown
[0.9.29] - 2026-08-12
Fixed
- Anthropic requests failing with
400 invalid_request_errorwhen signed in with a subscription (OAuth): "A maximum of 4 blocks with cache_control may be provided. Found 5." The Claude Code identity block and the system prompt each carried a cache marker, which with the last-tool and first/last user message markers made five. Prefix caching means the marker on the system prompt already covers the block before it, so the identity block now carries one only when it is the sole system block
[0.9.28] - 2026-08-12
Changed
- OAuth callback pages (
/loginsuccess and error) show the Elyra constellation logo instead of the old placeholder mark
[0.9.27] - 2026-08-08
Added
/extcan now mark installed extensions for removal: space toggles[x](install) on packages you don't have and[-](remove) on ones you do, and enter applies both sets in one pass with per-package progresselyra doctor resources: lists running Elyra instances with uptime, accumulated CPU time, and memory (including child language servers and headless browsers), and flags instances that look forgotten (high memory + running for over a day) with a ready-to-paste kill hint. Built in response to battery/memory reports — idle Elyra uses no CPU, but forgotten instances hold their memory
[0.9.26] - 2026-08-07
Added
- Package browser: added
@elyracode/browser-tools(Playwright browser automation) - Goal economy mode: with the
goalBatchModelssetting enabled, smart routing swaps the routed model for its half-price:batchsibling (same provider) while a budgeted/goalruns — unattended loops tolerate batch latency, interactive turns are never swapped, and user-pinned tier models are never overridden. Batch variants are also excluded from normal tier selection so they cannot hijack interactive routing on price
Changed
/extnow shows which extensions are already installed: a green ✓ marker per installed package, an installed count in the title, and a legend. The installed check matches package sources exactly, solaravelno longer countslaravel-startersas installed (also fixes the Grove startup hint's matching)
[0.9.25] - 2026-08-03
Added
- Package browser: added
@elyracode/felagi(Félagi project portal integration)
[0.9.24] - 2026-07-24
Changed
- Model registry refreshed: adds
claude-opus-5(adaptive thinking, 1M context, May 2026 knowledge cutoff, $5/$25) — Anthropic's new recommended starting point for agentic coding. The Anthropic default staysclaude-sonnet-5($3/$15, intro-priced $2/$10 through August 2026)
Fixed
- Image paste (Ctrl+V) failing silently: when the optional
@elyracode/clipboardnative module is missing (npm skips optional dependencies that fail to install, e.g. when an update races registry propagation), pressing the paste-image shortcut now shows an actionable warning with the reinstall command instead of doing nothing
[0.9.23] - 2026-07-23
Fixed
/extinstalls no longer look like a hang: installing now shows a live spinner with per-package progress ("Installing @elyracode/x (2/8)...") instead of blocking the UI silently, installs run with a 2-minute timeout per package, and Escape cancels the remaining queue (already-installed packages are kept and reported)- Oversized images from extension tools (e.g. a full-page
screenshot_urlcapture taller than 8000px) no longer fail the whole turn with a provider 400. Extension tool results now pass through a hard-limit safety net that downscales images exceeding provider dimension limits, with a coordinate-mapping note appended
[0.9.22] - 2026-07-23
Changed
- Default models bumped:
azure-openai-responsestogpt-5.6,github-copilottogpt-5.5,zaitoglm-5.2,vercel-ai-gatewaytozai/glm-5.2 - Model registry refreshed: adds
claude-fable-5(Anthropic API: adaptive thinking with a newmaxlevel, 1M context) andsakana/fugu-ultra(via OpenRouter and Vercel AI Gateway), plus Gemini 3.6 Flash, Poolside Laguna S 2.1, Tencent HY3, and Meituan LongCat 2.0
[0.9.21] - 2026-07-19
Added
- Package browser: added
@elyracode/grove(Grove local dev environment integration) - Grove site detection: when the project is served by Grove (registered in Grove's config or under a parked path), Elyra suggests installing
@elyracode/groveat startup (skipped when already installed) and in/initoutput
[0.9.20] - 2026-07-19
Added
- Measured routing: Elyra now records per-model outcome measurements (turn success, edit failures, retries, failovers, latency, cost) to a local ledger (
~/.elyra/agent/routing-ledger.jsonl) and uses them to demote demonstrably unreliable models in cross-provider failover ranking. Only model ids, counters, and timings are stored — never prompts or code — and nothing leaves disk. Inspect withelyra doctor routingor/routing-stats; opt out with theroutingLedgersetting
[0.9.19] - 2026-07-18
Changed
- Redesigned the
/ext(/packages) extension browser: a clean, scrollable list with aligned name/description columns, multi-select via space (install one or several at once), and a persistent reminder to run/reloadafter installing. Adds@elyracode/stack-elyra-frameworkto the list.
[0.9.18] - 2026-07-18
Added
- Detect Elyra Framework (Rust + Svelte 5 desktop framework) projects via
elyra.tomlor anelyradependency inCargo.toml, suggesting@elyracode/stack-elyra-framework
Fixed
- Package browser: added missing
@elyracode/lsp-phpand@elyracode/stack-siltentries
[0.9.17] - 2026-07-18
Changed
- Default model bumped to
kimi-k3(Kimi K3: reasoning, text + image, 1M context) for themoonshotai,moonshotai-cn,opencode-go, andopenrouterproviders, replacingkimi-k2.6
[0.9.16] - 2026-07-15
Added
- Cross-vendor code review:
/review --crossreviews your changes with a model from a different vendor than the one you're using, for a genuinely independent second opinion (a same-family reviewer shares the author's blind spots). Falls back to the current model when no other provider is configured. Only possible because Elyra is provider-agnostic. - Cross-provider failover: when a turn fails because a provider is unavailable (overloaded, rate-limited, an auth problem, or a model that vanished such as an export-control suspension), Elyra automatically retries the turn on an equivalent model from another provider you hold keys for, instead of just surfacing the error. Modality-aware (an image conversation only fails over to vision-capable models) and capped at 2 attempts. Toggle with the
providerFailoversetting (default on). Only possible because Elyra is provider-agnostic.
[0.9.15] - 2026-07-12
Added
elyra doctor preflight: offline check that every configured default model still resolves against the model registry (catches defaults pointing at removed model ids), plus freshness nudges when a newer model is available for a provider- Visual QA (
@elyracode/design-tools): newdesign_difftool compares before/after screenshots so the agent can describe the visual delta and flag regressions;screenshot_urlnow supports element screenshots (selector), full-page capture, and reports browser console errors/warnings alongside the image
Changed
- Default xAI model is now
grok-4.5(reasoning, text + image), replacinggrok-4.20-0309-reasoning - A broken optional extension no longer blocks startup: it is skipped with an actionable warning (e.g. a reinstall hint when a dependency is missing) instead of failing to launch
[0.9.14] - 2026-07-09
Changed
- Default OpenAI model is now
gpt-5.6(1M+ context, reasoning), replacinggpt-5.4
[0.9.13] - 2026-07-08
Changed
- Upgraded to TypeScript 7.0 (the native compiler) across the workspace, bumping the
typescriptdevDependency from^6.0.3to^7.0.2
[0.9.12] - 2026-06-30
Changed
- Default Anthropic model is now
claude-sonnet-5(Claude Sonnet 5: 1M context, adaptive thinking, $2/$10 per million), replacingclaude-opus-4-8 - Default Amazon Bedrock model is now
us.anthropic.claude-sonnet-5, replacingus.anthropic.claude-opus-4-6-v1 - Smart routing now pins the
powerfultier toclaude-sonnet-5by default (usersmartRoutingModelssettings still override; the pin falls back to the heuristic when Anthropic is unavailable)
[0.9.11] - 2026-06-26
Changed
- Internal: removed all
anytypes from the embeddable@elyracode/web-uipackage (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
/goalis 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/costnow shows a burn rate ($X.XX/hour at the current pace) once a session has more than a minute of activityelyra doctor models: live-verify configured providers against the model registry from the CLI (credentials from auth.json or env), with--provider,--model, and--maxfilters; exits non-zero on failures or mismatches for CI usesmartRoutingModelssetting: 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 draftSKILL.mdto the user skills directory for review and/reload
Changed
elyra updatenow 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--forceto reinstall anyway
[0.9.7] - 2026-06-10
Added
- Thinking-type detection is metadata-driven rather than pattern-matched on model ids, so a model declares how it reasons instead of being guessed at by name
[0.9.6] - 2026-06-09
Added
- Claude Fable 5 support
[0.9.5] - 2026-06-07
Added
- MiniMax M3 on the direct
minimaxandminimax-cnproviders (512k context, 128k max output, reasoning, text + image)
Changed
- Upgraded the Anthropic SDK from
0.97.1to0.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_writetool, 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, likegit bisectbut 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
/updatenow 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:
/diffnow 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. Presseinside 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
/diffnow 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_writetool, 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
tsccheck converted from blockingspawnSync(up to 15s) to asyncexecFile— streaming, UI, and concurrent tools no longer freeze during type checking exec.tsnow 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
errorsarrays in auth-storage and settings-manager capped at 100 entries
[0.7.15] - 2026-05-25
Added
@elyracode/btwextension: parallel side conversations with/btw,/btw:inject,/btw:summarize,/btw:clear, and/btw:threadcommands
[0.7.14] - 2026-05-25
Fixed
@elyracode/laravelextension crashed on startup withgetCwd 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/laravelskill updated withdb-toolsintegration guidance for combined model-vs-schema analysis@elyracode/laraveltools now register only in Laravel projects (no tool clutter in non-Laravel workspaces)
[0.7.12] - 2026-05-24
Added
@elyracode/laravelextension: deep Laravel project understanding withlaravel_models,laravel_routes, andlaravel_analyzetools
[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/goalagain to clear./updatecommand: update Elyra to the latest version and restart without leaving the session- In-app update notification shows
/updateinstead of requiring manual terminal commands
[0.7.10] - 2026-05-24
Changed
edittool now runs TypeScript diagnostics after each successful edit and reports new errors to the agent immediatelyreadtool returns a structural outline (function/class/interface signatures with line numbers) for files over 150 lines instead of truncated contentreadtool annotates each line with a short content hash (#xxxx |) for precise edit targetingedittool transparently strips hash annotations fromoldText/newTextso copy-paste from annotated reads works directly
[0.7.9] - 2026-05-23
Added
@elyracode/workflowsextension: code-orchestrated workflow pipelines defined in.elyra/workflows/. Supportsprompt,run,if, andparallelstep types with template interpolation between steps. Code handles control flow, the LLM handles judgment — no token tax from LLM-based orchestration./workflowcommand to list and execute workflowselyra-workflowsskill teaching the agent about workflow patterns
[0.7.8] - 2026-05-23
Added
@elyracode/seoextension: SEO and LLM optimization withseo_audit,seo_generate_llms_txt,seo_generate_schema, andseo_generate_metatools
[0.7.7] - 2026-05-23
Added
@elyracode/lsp-typescriptextension: TypeScript LSP integration withlsp_definitions,lsp_references,lsp_diagnostics, andlsp_hovertools 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
/rewindcommand: 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.rewindkeybinding: trigger/rewindvia configurable keyboard shortcutrewindaction inExtensionCommandContextActions: extensions can programmatically trigger rewind operations
[0.7.4] - 2026-05-22
Added
- Version update notification on startup: checks npm registry and shows
elyra updatecommand when a newer version is available @elyracode/design-lookupextension added to/extpackage 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-lookupextension: 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,metadatafrontmatter fields - Auto-discovery of
scripts/andreferences/directories in skill folders, exposed to the agent via system prompt /skillscommand: list all loaded skills with details, script/reference counts, and source info
[0.7.0] - 2026-05-21
Changed
- Major dependency upgrades:
diff9.0,marked18.0,vitest4.1,typescript6.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/sdkto 0.97.1 andopenaito 6.38.0
[0.6.3] - 2026-05-19
Added
/snippetcommand: reusable instruction snippets from.elyra/snippets/with selector and autocomplete/initnow creates.elyra/snippets/directory
[0.6.2] - 2026-05-17
Added
/initcommand: interactive project setup. Creates.elyra/AGENTS.mdwith stack detection,.elyra/blueprints/, and suggests extensions based on detected frameworks.
[0.6.1] - 2026-05-17
Added
/memorycommand: 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) /helpcommand: 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
/footercommand: 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/swarmextension: multi-agent pipeline orchestration with build, review, and refactor pipelines@elyracode/dockerextension: 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/swarmto/extpackage browser list - Updated xAI test model references after grok-3 removal from API
[0.5.10] - 2026-05-15
Fixed
- Added
@elyracode/swarmto the/extpackage browser list
Added
@elyracode/dockerpackage: 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/swarmpackage: multi-agent pipeline orchestration with/swarm build,/swarm review, and/swarm refactorcommands. 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
/costcommand: displays session token usage, estimated cost, and context window utilization/diffcommand: 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./pinscommand: list currently pinned files/blueprint [name]command: apply session blueprints from.elyra/blueprints/or~/.elyra/agent/blueprints/. Supports YAML frontmatter withpindirectives.
[0.5.7] - 2026-05-15
Added
/themeslash 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
estimateTokensnow caches results per message in a WeakMap, avoiding redundant token recomputation for immutable messages across compaction checksExtensionRunner.emitContextskipsstructuredCloneentirely when no extension has registered a context handler- Agent session uses
agent.appendMessage()instead of mutatingagent.state.messagesdirectly
[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
/packagesand/extcommands: interactive TUI browser for all @elyracode extensions with descriptions, install directly without leaving Elyra- SQLite support in
@elyracode/db-toolswith 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 updatenow 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_filestool 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_startertool: agent auto-fetches React, Vue, Svelte, or Livewire starter kits as referencefetch_github_repotool: fetch any public GitHub repo as context/laravel:startercommand: 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.envfile from project root with Laravel/Docker key mapping (DB_HOST, DB_DATABASE, CLICKHOUSE_HOST, etc.)@elyracode/db-tools: ExplicitELYRA_*env vars always take precedence over.envvalues
[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_WRITESescape 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
@elyrato@elyracode