# Changelog

### June 4, 2026

#### What's new

**Live MCP activity in the extension.** When Claude Code, Cursor, Windsurf, or any other MCP host drives Kerno, the extension now reflects what is happening in real time. Test runs, scenario plan and implement, environment spin-ups, baselines, and validation triggered by your agent all show up in the extension within a few seconds.

**Live status in the Tests view.** Per-endpoint running indicators now appear when your agent is planning, implementing, or validating. Coverage and the report panel refresh automatically when the run completes so you always see the latest state without having to reload.

**Notifications for agent-triggered runs.** Completion toasts now fire for runs started by your agent outside the IDE, not just for runs you triggered manually from the extension. You know when an agent's run finishes without having to watch the terminal.

**MCP connectivity indicator.** The Environment panel now shows a live MCP port and status dot. You can see at a glance whether an agent is connected and whether it is currently doing something.

#### Improvements & Bug fixes

**Approve-and-update no longer leaves stale diffs.** Approving a diff was clearing the decision but leaving the report showing "2 diffs detected." The report now clears correctly after approval.

**"Test complete" no longer fires during planning.** The completion toast was firing as soon as planning finished, before implementation had run. The toast now waits for the full run to complete.

**Spinner on the Implement Plan button.** Long implementations previously showed a greyed-out button with no feedback. There is now a clear in-progress spinner so you know the operation is running.

**Stale environment after plan feedback.** Providing feedback on the compose plan and regenerating it was not triggering a re-run of orchestration. kerno\_start\_environment now re-runs orchestration after a plan change instead of reusing a cached healthy result.

**Validation no longer hangs without a Docker healthcheck.** Environments with no healthcheck configured were stalling at the ready-for-validation step indefinitely. These environments now reach ready state correctly.

***

### May 21, 2026

#### What's new

**Azure Blob Storage and Azure Data Tables via Azurite.** Kerno now automatically orchestrates and tests against Azure Storage services. When Kerno detects an Azure Storage connection string in your app, it provisions the Azurite emulator, injects a working local endpoint, and wires it into your test environment. State is wiped between runs and the container is health-checked before any scenario starts. Both Blob and Data Tables are supported.

**ts-sandbox upgraded to Node 24 LTS.** The TypeScript test sandbox now runs on Node 24. This brings native fetch, the updated V8 engine, and keeps the runtime ahead of Node 20's maintenance window. No changes required on your side.

**Scenario agent now inspects code and environment before retrying.** Two new analysis tools give the implementation agent direct visibility into your codebase and running environment. Instead of burning retries on the wrong assumption, the agent now exits early with a useful diagnostic when it hits a problem it cannot resolve.

**Review the environment plan before building.** Kerno now renders the full Docker Compose plan as markdown before spinning anything up. Approve with one click, give free-text feedback to regenerate, or cancel. The plan waits for your sign-off before any container is started.

**Add or remove services from the plan.** Services added or removed through the environment selector stay in sync with the plan view. You can also adjust services directly from the plan screen before approving the build.

#### Improvements & Bug fixes

**npm install fix on Linux.** Installing @kerno/cli was crashing on Linux with an EBADPLATFORM error caused by a macOS-only fsevents dependency being pulled in unconditionally. The dependency is now gated correctly and Linux installs complete cleanly.

**Extension login on Linux.** The extension was failing on startup with a `spawn secret-tool ENOENT` error when the OS keychain helper was not available. This is now handled gracefully and Linux users can log in without a workaround.

**Agent version visible in the IDE.** The current agent version now displays in the extension panel. When a newer version is available, an in-place update prompt appears so you can upgrade without leaving your editor.

**Kerno asks when setup gets stuck.** The environment orchestrator previously stopped with a generic infra error when it encountered an ambiguous situation (wrong DB driver, missing env var, unsupported config). It now escalates to a user-feedback prompt so you can provide the missing information and continue.

**Code changes picked up correctly on re-run.** Modifying code and re-running Kerno was not producing updated results after the initial run. Changes in the working tree are now detected correctly on every run.

**Failed run state no longer sticks between sessions.** Bad state from a failed build was being written back to .kerno/ and causing a persistent BuildSUT retry loop on the next session. Bad state is now discarded instead of persisted.

**Closing the IDE now cancels test generation.** The backend now auto-cancels the agent run on client disconnect. Previously, closing the IDE left orphaned runs spending tokens in the background.

**Scenario generator no longer produces uncompilable TypeScript.** Multi-line string literals in generated .scenario.ts files were causing parse errors. The generator now handles these correctly and all generated files compile on the first attempt.

***

### May 7, 2026

#### What's new

**Instantaneous SUT rebuild on code change.** When you modify code, the SUT environment now rebuilds immediately. Previously there was a noticeable delay between saving a change and the environment reflecting it. The synchronisation is now fast enough that you can validate immediately after editing.

**Implementation agent can now diagnose environment issues directly.** The agent now has shell access inside the sandbox, which lets it inspect what is actually running rather than inferring state from error messages. When something goes wrong during implementation, the agent can check container state, logs, and process health before deciding how to proceed.

#### Improvements & Bug fixes

**Env build failures now surface a prompt.** When Docker Compose fails during environment setup, Kerno previously stopped with an infra error and gave no path forward. It now asks for more information and offers remediation options so you can correct the issue without starting from scratch.

**Kerno stop now cleans up completely.** The agent process and all running Docker containers now fully tear down when you stop Kerno. Previously, some containers were left running in the background after a stop.

***

### April 16, 2026

#### What's new

**Large repo support.** Kerno now handles repositories with over one million lines of code reliably. Index timeouts that previously caused large codebases to fail during setup have been resolved, and the indexer now completes successfully on projects of any size.

**Workspace analysis caching.** Analysis results are now cached correctly across runs. If your codebase has not changed since the last analysis, subsequent runs skip the redundant work entirely and proceed directly to the operation you requested.

#### Improvements & Bug fixes

**Auth tokens now refresh through long runs.** Tokens were expiring during long implementation sessions, causing authentication failures mid-run. Tokens now refresh silently in the background so you stay signed in from start to finish regardless of how long a run takes.

**kerno stop now tears down everything.** The stop command previously left the agent process or Docker containers running in some cases. The agent process and all containers now fully shut down on stop.

**File writes succeed on paths containing dots.** File paths with dots in directory names were being percent-encoded incorrectly, causing writes to fail with a path not found error. Paths are now handled correctly and writes land on the first attempt.

**Repeat runs skip redundant work.** Workspace analysis results were not being reused between runs even when nothing had changed. The cache now works correctly, so repeat validation runs are significantly faster.

***

### April 9, 2026

#### What's new

**Codex is now a supported MCP agent.** Add Kerno to your AGENTS.md and Codex can index your codebase, compose the environment, and run full validation. Claude Code and Cursor are also supported. All three agents use the same MCP interface.

**Scenarios tab in the IDE.** A dedicated tab now shows all generated scenarios for the selected endpoint. You can inspect each scenario individually and re-run specific ones without triggering a full regeneration of the entire endpoint.

**Agents can no longer skip the environment build plan.** The MCP tool schema now enforces that kerno\_start\_environment cannot be called until the compose plan has been shown and explicitly approved. This prevents agents from bypassing the review step, which catches edge cases that Kerno cannot detect automatically such as a shared database that already exists in the repo.

#### Improvements & Bug fixes

**Environment status now reflects SUT readiness accurately.** kerno\_start\_environment was previously returning "up" while the application container was still initialising or had failed silently. The status response now distinguishes between dependencies running and the full application being ready for validation. You will no longer see false positives on environment health.

**Large repo indexing no longer times out.** Repositories above a certain size were hitting index timeouts that caused setup to fail. The indexer now handles large codebases without failing on first run.

***

### April 2, 2026

#### What's new

**ClickHouse support.** Kerno can now spin up ClickHouse as part of the test environment. If your service reads from or writes to ClickHouse, scenarios run against a real running instance rather than a stub. Kerno provisions the container, waits for it to be healthy, and tears it down cleanly after the run.

**Auth tokens stored in OS keychain.** VS Code, JetBrains, and the CLI now store authentication tokens in your operating system keychain and refresh them silently before they expire. You stay logged in across sessions without having to re-authenticate after restarts.

#### Improvements & Bug fixes

**Sign out now works correctly.** Clicking sign out was redirecting back to the dashboard instead of signing the user out. The sign out flow now completes correctly and clears the stored session.

**Re-indexing during Cursor edits no longer breaks the environment.** Editing files in Cursor while Kerno was re-indexing could leave the environment in a broken state. The indexing and environment processes are now properly isolated.

***

### March 19, 2026

#### What's new

**Python PEP 735 dependency groups supported.** Python projects using PEP 735 dependency groups in their pyproject.toml were failing to index correctly on the first run. Kerno now parses these correctly and more Python projects index successfully without any manual intervention.

**Mocking is more reliable.** Synthetic route registration was failing silently in certain configurations, causing a retry loop that did not surface a useful error. The registration flow has been hardened and failures now surface an actionable error message on the first attempt.

#### Improvements & Bug fixes

**Coverage metric fix.** An endpoint was being marked as covered as soon as a scenario plan was created, even before any scenarios had run. Coverage now only increments when scenarios have actually executed successfully.

**Faster environment startup on repeat runs.** Kerno previously rebuilt the Docker environment from scratch on every run for a repository it had already set up. Kerno now reuses what it built and only rebuilds what changed, significantly reducing startup time on subsequent runs.

**Python indexing improvements.** Several edge cases in Python project indexing were causing silent failures. These have been resolved and the indexer now handles a broader range of Python project structures correctly.

***

### March 12, 2026

#### What's new

**Schema and documentation generation.** Kerno now generates accurate API schemas and documentation directly from your codebase. These are generated from the actual code rather than hand-written annotations, so they stay in sync as your code changes. Your agent can use these as a reliable source of truth when reasoning about your API.

**Log in once, stay logged in.** VS Code, JetBrains, and the CLI now store authentication tokens in your OS keychain and refresh them silently before they expire. You no longer need to re-authenticate after restarting your editor or machine.

#### Improvements & Bug fixes

**Stopping Kerno now fully stops everything.** Running kerno stop previously left agent processes or Docker containers running in some configurations. The stop command now shuts down the agent process, all Docker containers, and the environment cleanly every time.

**Mocking failures now surface errors immediately.** Persistent failures in synthetic route registration were causing silent retry loops. These now fail fast with a clear error message rather than retrying indefinitely.

***

### March 5, 2026

#### What's new

**Kerno MCP.** Kerno is now headless and works natively with your coding agent. Kerno MCP exposes Kerno's full capabilities directly inside Claude Code, Cursor, and any MCP-compatible agent. Your agent can search your codebase, start environments, and run full end-to-end validation without you touching the IDE.

**kerno\_validate.** Your agent runs the full integration test suite after making a code change. No context switch and no manual trigger. The feedback loop closes in the same agent session, so your agent can write code, validate it, and fix issues without leaving the conversation.

**kerno\_env.** Your agent spins up databases, queues, and service dependencies on demand. The real services, running locally, ready to test against. Your agent no longer needs you to manage the environment manually.

**Codebase search tools.** MCP exposes Kerno's semantic code index to your agent. Your agent can search across endpoints, schemas, and dependencies and get precise answers in a single tool call without burning tokens on broad file reads.

#### Improvements & Bug fixes

**Faster environment startup on repeat runs.** Kerno now reuses previously built containers and Docker layers instead of rebuilding from scratch. Environments that previously took several minutes to start on repeat runs now start in seconds.

***

### February 26, 2026

#### What's new

**Kerno CLI (early access).** The Kerno CLI is now available for early adopters. Install globally via npm and run Kerno from any terminal on macOS, Linux, or Windows without needing the IDE extension.

```bash
npm install -g @kerno/cli
```

**Proper exit codes for CI/CD.** Failed CLI commands now return meaningful non-zero exit codes. Kerno integrates cleanly into automated pipelines and CI systems that rely on exit codes to detect failures.

#### Improvements & Bug fixes

**Sign out actually signs you out.** Clicking sign out in the IDE extension was redirecting back to the dashboard rather than ending the session. The sign out flow now completes correctly and clears all stored credentials.

**Agent processes clean up on exit.** Closing the terminal or interrupting the CLI process now shuts down the agent and any associated Docker containers cleanly, rather than leaving orphaned processes running in the background.

***

### February 19, 2026

#### What's new

**Review the plan before anything runs.** Kerno now shows you the full scenario plan before starting implementation. You can approve it as-is, reject individual scenarios, or give feedback to adjust scope and direction. Nothing is generated until you sign off.

**Stop a run mid-implementation.** You can now stop a long-running implementation at any point. Make your code change, then start again from a clean state. There is no broken state left behind and no error on retry.

**Update scenarios after the fact.** If you change your mind about a scenario after implementation, you can edit and re-run it individually without triggering a full regeneration of all scenarios for that endpoint.

#### Improvements & Bug fixes

**Run state no longer persists across restarts.** Failed runs were leaving partial state in .kerno/ that caused errors on the next session. State from failed runs is now discarded on exit so each session starts clean.

**Scenario generator no longer produces uncompilable TypeScript.** Multi-line strings in generated scenario files were being formatted incorrectly, causing TypeScript parse errors. Generated files now compile correctly on the first attempt.

***

### February 12, 2026

#### What's new

**Multi-org support.** You can now belong to and switch between multiple organisations in Kerno. Teams that work across more than one organisation no longer need separate accounts.

**AI thinking logs.** During environment setup and baseline capture, you can now see the agent's reasoning as it works. Thinking logs are displayed inline so you can follow what the agent is doing and catch issues early rather than waiting for the operation to complete.

**Enable and disable Kerno from the IDE.** You can now toggle Kerno on and off from the extension panel without uninstalling. Useful for pausing Kerno on a project temporarily without losing your configuration.

#### Improvements & Bug fixes

**Median latency reduced to 50 seconds.** Index time is down from a median of 110 seconds to 50 seconds, measured across 33 runs on TypeScript and Python projects ranging from small to large. Minimum observed is 20 seconds.

**Clear Kerno logs from the IDE.** The extension panel now includes a clear logs action so you can reset the output view without restarting the extension.

**Onboarding walkthrough improved.** The initial setup flow now guides you through each step with clearer instructions and better error messages when something is missing.

***

### January 29, 2026

#### What's new

**In-IDE behaviour diffs.** Kerno now shows behaviour diffs directly in the IDE panel. When a test run detects a change, you can inspect the expected versus actual response inline without leaving your editor.

**Enable and disable Kerno per project.** You can now turn Kerno on or off for a specific project from the IDE panel. Kerno remembers the setting per project so you do not need to reconfigure on each restart.

#### Improvements & Bug fixes

**Dozens of small improvements.** This release contains a broad set of tweaks that reduce cognitive overload during test generation and review: clearer status messages, more consistent UI state, and better handling of edge cases during environment setup.

**Clear Kerno logs action.** The extension panel now has a clear logs button so you can reset the output view without restarting.

***

### January 22, 2026

#### What's new

**New portal.** A new web portal is now available at portal.kerno.io. It shows endpoint coverage across your app and tracks P0 issues detected by Kerno. Teams can use the portal to monitor coverage progress and review outstanding issues without opening the IDE.

**VS Code native UI.** The IDE extension has been rebuilt using VS Code components. The experience now feels native to the editor rather than a custom-styled panel embedded inside it.

#### Improvements & Bug fixes

**Polyglot support improvements.** TypeScript and Python projects across a wider range of configurations now index and run correctly. Several edge cases that caused silent failures on project setup have been resolved.

**General stability.** A broad set of small fixes across environment setup, test generation, and result reporting. The overall number of unexpected errors during a session is significantly reduced.

***

### January 15, 2026

#### What's new

**Just-in-Time containerisation.** Kerno now generates Dockerfiles and Docker Compose manifests on the fly for services that do not have them. This happens automatically as part of environment setup with no manual configuration required. The generated files update automatically as your service and API logic changes.

**Automatic dependency mapping.** Kerno maps your internal and external dependencies, migration context, and business logic during setup. This gives the test agent the context it needs to generate accurate scenarios without you having to explain the architecture.

#### Improvements & Bug fixes

**Agent CPU and memory requirements down by 50%.** The Kerno agent is now significantly more lightweight. Running Kerno alongside your editor and application no longer competes noticeably for system resources.

**Average test time reduced to \~2 minutes.** From spinning up the backend service and seeding dependencies to writing and executing tests, the full cycle now completes in around two minutes on most projects.

**Setup time \~3 minutes.** Initial indexation now completes in around three minutes for small to medium projects.

***

### January 8, 2026

#### What's new

**Seven infrastructure services supported out of the box.** Kerno now supports Postgres, MySQL, MariaDB, MongoDB, Redis, Kafka, and RabbitMQ as first-class test environment services. Kerno handles data and context propagation across all dependencies automatically. No migration files to manage, no flaky Docker Compose configurations, and no wrong database version surprises.

**IDE support across five editors.** Kerno now works with Antigravity, Cline, Windsurf, Cursor, and VS Code. Install the extension for your editor and Kerno connects automatically when you open a supported project.

#### Improvements & Bug fixes

**Initial release stability.** A broad set of fixes across environment provisioning, dependency detection, and test execution landed alongside the initial release. Kerno handles the most common project configurations without requiring manual intervention on setup.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kerno.gitbook.io/docs/getting-started/changelog.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
