Changelog

CanyonOS releases, taken from GitHub.

v0.2.1

Nov 6, 2026LatestOn GitHub

CLI

New

  • Added canyonos target to set once whether a project deploys to Docker or Kubernetes, so deploy, status, test, logs, serve, doctor and stop work the same way on both without repeating --target or kubectl commands.
  • Added canyonos doctor --target kubernetes, checking kubectl and cluster reachability, the operator version, project readiness, each agent's replicas and launch errors, the endpoint, and the dashboard.
  • Quickstart now starts with a Hello World example that needs no API key, using bundled examples with no git clone required; the optional TradingAgents example still needs an OpenAI key.
  • The dashboard now shows a project, traces and costs right after the quickstart, instead of starting empty.

Improved

  • canyonos serve on Kubernetes now runs the dashboard in the background, so it no longer holds the terminal.
  • Deploying on Kubernetes now keeps the endpoint reachable at 127.0.0.1:8080 through a background port-forward that reconnects automatically when the pod is replaced, or prints the Ingress/Route URL when configured; canyonos stop closes it.
  • canyonos convert supports more coding agents.

Fixed

  • A deploy with no otel: block in the config no longer silently loses telemetry: the dashboard previously showed 0 replicas and empty costs/traces with no warning from validate, doctor or deploy.

Core

New

  • Added canyonos doctor --target kubernetes, checking that kubectl is installed and the cluster is reachable, the operator is installed and its version matches the CLI, the CanyonProject exists and is Ready, each agent's replicas and any launch errors, the endpoint answers, and whether the dashboard is running.
  • Added canyonos target, which shows where a project deploys and whether that is reachable; canyonos target kubernetes and canyonos target docker switch between them and write the choice to the project's config, so plain deploy, status, test, logs, serve, doctor and stop work on both without --target.
  • A replica now drains on SIGTERM, the standard stop signal: it refuses new work, reports draining, finishes in-flight calls, and exits once idle, instead of being killed at the end of the grace period.

Improved

  • On Kubernetes, serve now runs the dashboard port-forward in the background instead of holding the terminal, matching Docker.
  • On Kubernetes, deploy keeps the endpoint reachable through a background port-forward that reconnects when a pod is replaced, or prints the Ingress/Route URL when configured; stop closes it.
  • The default shutdown grace period for agents and endpoints is now 180 seconds; Docker containers and Kubernetes pods use matching timeouts so a stop drains a replica instead of cutting it off. The endpoint stops accepting new connections before draining in-flight requests.

Fixed

  • canyonos validate, canyonos deploy and canyonos doctor now warn when a local deploy has no otel: destination configured, instead of silently showing 0 replicas, no agents, and empty costs and traces on the dashboard.

API

Improved

  • The dashboard now shows a project with traces and costs right after the quickstart, instead of appearing empty on a fresh install.

v0.2.0

Nov 4, 2026On GitHub

CLI

New

  • Added canyonos feedback "<message>" to report bugs from the CLI.
  • Replaced canyonos quit with canyonos stop and canyonos clean; both support --all to operate on every CanyonOS project on the machine, including projects whose folder no longer exists.
  • Added a preflight check before build that stops the deploy with a one-line fix when a required port is in use, .env is missing, a required provider key is unset, or Docker is not running.
  • Added canyonos provision to create and tear down a deploying machine on AWS.
  • Added --target kubernetes to deploy, status, logs, stop, clean, and serve, so these commands work against a Kubernetes cluster.
  • Added canyonos convert --install-only.
  • Added status --json, logs --no-follow, and logs <agent>.
  • Added an ec2-assign provider, which gives each replica its own EC2 machine, alongside the renamed ec2-pool provider (was EC2).
  • Added machine metrics collection for EC2 agent machines, so the dashboard shows metrics beyond localhost.
  • Published the CanyonOS operator image and Helm chart with each release, so it can be installed with helm install without a copy of the repository.

Improved

  • Agent calls made from threads an app starts (e.g. parallel graph branches) now keep their request id instead of losing it.
  • A redeploy keeps the dashboard running instead of tearing it down and starting it again.
  • Deploy steps that don't depend on each other now run at the same time, and teardown no longer waits 10 seconds unnecessarily, making first deploys and redeploys faster.
  • Error messages now name the specific agent, method, file, or setting involved instead of showing internal details.
  • The CLI now works on Windows, including Docker Desktop support, config file encoding, and shell-appropriate commands; its tests also run on macOS and Windows.
  • Each project now gets a lasting ID instead of relying on the folder name, so two projects with the same name deploy and test independently.
  • .env and project files are now resolved relative to the project root, and the .car folder is renamed to .canyon.
  • The deploy screen is now clearer.
  • Added a one-command local Kubernetes setup (scripts/kind/up.sh) for running CanyonOS on a kind cluster.

Fixed

  • canyonos sync and canyonos config now exit non-zero when a config change fails to apply, instead of printing an error and exiting 0.
  • stop, clean, logs, config, and status now exit 1 on failure instead of hanging or exiting 0.
  • Calls between agents no longer fail on Kubernetes when a call takes longer than a routing check interval.
  • Telemetry for running requests now shows up on the dashboard on Kubernetes instead of only after the request finishes.
  • canyonos test no longer falsely reports success against a different, already-running project with the same folder name.
  • Fixed Global Controller and agent gRPC host ports being published inconsistently starting from 8000, with no way to set them in the manifest.
  • Fixed a release candidate's Helm chart version being spelled inconsistently with the release version.
  • Fixed the upload to a Kubernetes build pod not retrying correctly when its port-forward dropped.
  • canyonos test now defaults to the project's saved test query, or "hello" if none is set.
  • Hidden YAML files are no longer loaded into configuration or Kubernetes ConfigMaps.
  • Docker services now shut down more reliably, and deployments report port conflicts.

Core

New

  • Added a selected-block metrics drawer to the project cost dashboard, showing cost, share of spend, tokens, cost per 1K requests, p95 latency, retry rate, cache hit, and recoverable cost for the last 30 days, with a cost-per-request histogram and an every-block table.
  • Added human-in-the-loop support: agents can now stop mid-request to ask the caller a question and continue with the answer, including through builtins.input, LangGraph's interrupt, and the OpenAI Agents SDK's Runner.run/Runner.run_sync. A new response command surfaces this in canyonos status and success messages, and the test command can prompt for answers interactively.
  • Added CanyonOS support for running on Kubernetes: a kubernetes: config section, in-cluster image builds, a Kubernetes operator, health probes for Kubernetes, Redis password/TLS support, and a cluster-wide dashboard for every project. canyonos deploy, status, logs, serve, stop, test, and clean can target a Kubernetes cluster with --target kubernetes.
  • Added canyonos provision to create and tear down a deploying machine on AWS.
  • Added an ec2-assign provider, which gives each replica its own EC2 machine, alongside the renamed ec2-pool provider (formerly EC2).
  • Added machine metrics collection for EC2 agent machines, so the dashboard shows metrics beyond localhost.
  • Added governance rules: agents can require other agents to be up, and spend rules can switch an agent's model or refuse its calls above a threshold. Includes a dashboard Governance screen for viewing and editing rules and starting/stopping agents.
  • Added status --json, logs --no-follow, and logs <agent> for inspecting a deploy without a human, and convert --install-only.

Improved

  • Sped up LLM gateway calls by reusing HTTP connections instead of opening a new one per call.
  • Reduced CPU use and sped up request handling by waiting for results instead of repeatedly polling Redis, and by avoiding repeated cleanup and telemetry work.
  • Replicas now drain gracefully before removal: a replica that is no longer wanted finishes its in-flight work (up to 180 seconds) before being removed, instead of being killed mid-call.
  • Sped up deploys and teardowns by running independent steps (image builds, machine launches, Redis startup, replica removal) at the same time; teardown no longer waits an extra 10 seconds per container.
  • Project IDs now persist across deploys instead of being recreated each time.
  • Error messages now name the specific agent, method, file, or setting involved, with clearer messages for timeouts, policy denials, removed replicas, bad config files, missing SSH keys or AWS credentials, and LLM gateway connection failures. CLI commands no longer hang or silently exit without error information.
  • Renamed the generated project folder from .car to .canyon (and validate_car to validate_canyon, CAR-* codes to CANYON-*).
  • Removed the app/ subfolder and the manifest's env_file setting; a project's root .env now reaches every container directly, and -c/--config is removed from deploy and validate.

Fixed

  • Fixed a timeout on deploys with a database agent, which were incorrectly expected to report healthy like other replicas.
  • Fixed agent calls made from app-started threads (e.g. parallel graph branches) losing their request ID and not appearing in telemetry.
  • Fixed .env files saved with a UTF-8 byte-order mark silently failing to expand ${VAR} references in the config.
  • Fixed calls between agents failing on Kubernetes once a call took longer than a few seconds, even though the called agent kept running.
  • Fixed telemetry for still-running requests not appearing on Kubernetes until the request finished.
  • Fixed Global Controller and agent ports being published starting from 8000 and hopping unpredictably instead of being fixed or configurable.
  • Fixed the SSH key CanyonOS generates for EC2 agents being lost on canyonos stop, causing unused key pairs to accumulate in AWS.
  • Fixed canyonos validate passing when an EC2 agent's ssh_private_key_path references an unset environment variable.
  • Fixed an unknown provider name being silently accepted instead of raising a clear error in one code path.
  • Fixed various project setup, validation, and deploy/lifecycle issues, including environment file resolution relative to the project root, hidden YAML files being incorrectly loaded as config, more reliable Docker shutdown, and reporting port conflicts during deploy.

API

New

  • Added an AUTH_MODE setting for the dashboard API, with sign-in off by default. When sign-in is off, project routes answer without a login and /auth/* routes report sign-in as disabled; when sign-in is on, the dashboard behaves as before.
  • Added governance rules for agents: an agent can require other agents to be up, and spend rules can switch its model or refuse its calls above a threshold. Refused calls fail with a named error, and the API now publishes agent spend for this.
  • Added dashboard support for a single dashboard covering every project on a Kubernetes cluster.

Improved

  • Error responses are clearer: a request missing a required argument now gets an immediate 400, and failure messages name the agent, method, or setting responsible instead of internal details.

Fixed

  • Fixed dashboard queries slowing down over time: metric data no longer grows unbounded, and queries now use the intended index instead of scanning the full table.
  • Fixed governance incorrectly reporting agents as down when running on Kubernetes or across multiple EC2 machines.

Web

New

  • Added an optional sign-in mode: the dashboard can run with no sign-in required, opening straight on the projects overview, or with password sign-in as before.
  • Added a Governance page: a canvas of agents showing status and dependency requirements, with a drawer to edit rules, stop or start an agent, view the scaling policy, and see which step a refused request failed at.

Improved

  • The dashboard delete dialog now shows the API's reason as a toast instead of leaving it stuck in the dialog, and resets correctly each time it's opened.
  • On a running project, the delete dialog now explains to run canyonos stop first instead of offering a delete action that would fail.

Fixed

  • A Trading agent cleaned with canyonos clean no longer remains stuck in the UI; it can now be deleted.

v1.0.0rc2

Oct 30, 2026Pre-releaseOn GitHub

CLI

New

  • canyonos test --target kubernetes can query an existing, ready Kubernetes deployment through a temporary local connection, without deploying it again.
  • canyonos test now uses the project's saved test query when no query is provided, falling back to "hello" if none is available.

Improved

  • Docker services shut down more reliably, and deployments report port conflicts.

Fixed

  • Calls between agents on Kubernetes no longer fail once a call takes longer than a few seconds; forwarded calls are only failed when a replica is confirmed missing from a published routing table.
  • Telemetry (traces and logs) for running requests now shows up on Kubernetes instead of only appearing once a request finishes.
  • bun run canyonos:dev now works on Windows by using the correct virtual-environment path separator and shell.
  • Project environment files are now located and handled relative to the project root during deployment and sync.
  • Hidden YAML files are excluded from configuration loading and Kubernetes ConfigMaps.

Core

Improved

  • Agent liveness is now determined from a shared, published set of up agents rather than derived separately, fixing incorrect "down" status on Kubernetes and on EC2 deployments with multiple machines.
  • Telemetry for running requests now shows up on the dashboard on Kubernetes instead of waiting until the request finished.

Fixed

  • Calls between agents on Kubernetes no longer fail when a call takes longer than a few seconds, even though the called agent is still running.
  • Calls are no longer failed when replica routing information is unavailable.
  • Project spend publishing now uses the correct Redis connection and skips projects that are no longer running or registered.
  • Project environment files are now located and handled correctly relative to the project root during deployment and sync.
  • Hidden YAML files are excluded from configuration loading and Kubernetes ConfigMaps.
  • Docker services shut down more reliably, and deployments report port conflicts.
  • canyonos test now uses the project's saved test query when none is provided, falling back to "hello" if none is available.

API

Fixed

  • Fixed slow dashboard performance caused by metrics data growing without limit and metrics queries not using their index, which made dashboard queries take tens of seconds to minutes.
  • The dashboard API now reads agent liveness from the shared routing_table:up set instead of judging it from replica heartbeats, fixing agents showing as down when running on Kubernetes or across multiple EC2 machines.

v1.0.0rc1

Oct 29, 2026Pre-releaseOn GitHub

Security

  • Core: certifi is updated to 2026.10.19, which drops the emSign root CAs whose intermediate CA keys were compromised (GHSA-6q48-6c7w-9gw2, critical).
  • CLI, Core: local agents no longer open ports on the host, and the ports opened for agents on other machines (EC2 agents and the endpoint's callback) are bound to the machine's private IP instead of every interface.
  • Core: Redis connections can use a password, an ACL user and TLS (CANYONOS_REDIS_PASSWORD, CANYONOS_REDIS_USERNAME, CANYONOS_REDIS_TLS, CANYONOS_REDIS_CA_FILE). All are optional, so Redis on Docker and EC2 is unchanged.
  • CLI, Core: the project root's .env now reaches every container on its own, and convert copies it into .canyon. It still never goes into an image.

CLI

New

  • canyonos feedback "<message>" sends bug reports from the CLI. See Feedback Docs
  • canyonos quit is replaced by canyonos stop and canyonos clean, each with --all for every project on the machine, including ones whose folder no longer exists.
  • canyonos deploy, status, logs, stop and serve take --target kubernetes to run the same commands against a Kubernetes cluster.
  • canyonos provision creates and tears down a deploying machine on AWS.
  • New ec2-assign provider gives each replica its own EC2 machine, alongside the renamed ec2-pool provider.
  • status --json reports replicas, launch errors and machine errors.
  • logs --no-follow and logs <agent> for one agent's logs without following.
  • convert --install-only.
  • A preflight check before build stops a deploy with a plain fix when required ports are taken, .env is missing, required keys are empty, or Docker isn't running.
  • The Kubernetes operator image and Helm chart are now published with each release, so helm install works with no local repository checkout.
  • Each project gets a lasting ID so two projects in same-named folders deploy and test independently.

Improved

  • The CLI now works on Windows: it starts, Docker Desktop's named pipe is detected correctly, config files keep their line endings, and upgrade prints commands for the user's own shell.
  • Redeploying a project no longer tears down and restarts the dashboard.
  • Deploys and teardowns run independent steps in parallel and are noticeably faster.
  • Error messages now name the actual agent, method, file or setting involved instead of internal details.
  • The deploy screen is clearer.
  • stop, clean, logs, config, status and sync now exit non-zero on failure instead of printing an error and exiting 0.
  • Remote EC2 machines now report their own metrics in the dashboard instead of only localhost.
  • provider: EC2 is now provider: ec2-pool; the ec2: section is now ec2-pool: (old names now fail validation).
  • The generated .car folder is renamed to .canyon; the app/ subfolder is gone, .env is read from the project root, and the manifest's env_file key and -c/--config option are removed.

Fixed

  • Agent calls made from threads the app itself starts no longer lose their request id.
  • canyonos sync and canyonos config no longer report success when a config change couldn't actually be applied.
  • canyonos validate now catches an unset environment variable in ssh_private_key_path for EC2 agents instead of letting the deploy fail later.
  • Global Controller and agent ports are no longer silently hopped to the next free one; they can be set and stay consistent across deploys.
  • A replica that can't be cleaned up after a failed launch no longer loops a warning forever with no resolution.

Core

New

  • Added Human-in-the-Loop support: agents can now pause mid-request to ask the caller a question and resume with the answer, with no change to agent code.
  • Added support for running the Global Controller and agents on Kubernetes, including health probes, a kubernetes: config section, in-cluster image builds, Redis password/TLS support, and a shared dashboard for projects on a cluster.
  • Added graceful draining: a replica that is scaled down, replaced, or removed now finishes its in-flight work before being removed, instead of being killed mid-call.
  • Added Baseten token passthrough.
  • Renamed the EC2 provider to ec2-pool and added ec2-assign, which gives each replica its own EC2 machine; added canyonos provision to create and tear down a deploying machine on AWS, and machine-level metrics for remote machines.
  • Added governance rules: agents can require other agents to be up, and spend-based rules can switch an agent's model or refuse its calls above a threshold, with a dashboard screen to view and edit them.
  • The .car project folder is now .canyon (existing .car folders must be renamed or rebuilt).

Improved

  • The LLM gateway reuses HTTP connections to providers instead of opening a new one per call, lowering latency.
  • Replicas and the Global Controller now wait for work instead of polling in a loop, cutting idle CPU use and Redis traffic and raising throughput.
  • Deploy and teardown steps that don't depend on each other now run at the same time, speeding up deploys and shutdowns.
  • Error messages now name the user's own agent, method, file, or setting instead of internal details, including clearer request failures, endpoint errors, deploy failures, and LLM gateway errors.
  • CLI commands now report accurate exit codes and JSON/log output so they can be driven without a human watching, and no longer hang on test or SIGTERM.
  • Project configuration no longer reads files outside the project root; .env is read from the project root and reaches containers directly, and the -c/--config option and env_file setting have been removed.
  • A project's ID now persists across deploys instead of being recreated each time.

Fixed

  • Fixed agent calls made from threads an app starts (e.g. parallel branches) losing their request ID, which had caused missing telemetry.
  • Fixed deploys with a database agent timing out while waiting for it to report healthy.
  • Fixed a .env file saved with a UTF-8 byte-order mark silently failing to expand ${VAR} references.
  • Fixed Global Controller and agent gRPC host ports being assigned unpredictably starting from 8000, colliding with other local processes and projects.
  • Fixed several provider issues: a replica that can't be cleaned up now gives up retrying instead of warning forever; an unknown provider name now raises a clear error; generated SSH keys now persist across teardowns instead of piling up in AWS; and an unset environment variable in ssh_private_key_path now fails validation instead of only failing at deploy time.

API

New

  • Added AUTH_MODE (none or password) on the API; sign-in is now off by default, so the dashboard opens straight to the projects overview without requiring sign-in.
  • Added governance rules per agent: require other agents to be running, and cap or switch models once spend crosses a threshold. A refused call returns a named error, and a refused root call answers with 403.
  • Added a Governance screen showing agents, their status, requirements, and spend, with controls to edit rules and start or stop agents.
  • The dashboard can now list and reach every project on a Kubernetes cluster, including each project's live state, settings, and telemetry.

Improved

  • Error messages now name the specific agent, method, file, or setting involved instead of internal details.
  • A request missing a required argument now returns 400 immediately instead of failing later.
  • Calling an endpoint with the wrong HTTP method now names the expected route.

Web

New

  • Added a Governance page showing agents, their status, dependencies, and spend, with controls to edit rules and start or stop agents.
  • Request details now show the name and message of an error when a call is refused.
  • Added sign-in modes: the dashboard can run with no sign-in required, or with password-protected accounts.

Improved

  • The delete dialog now shows a toast and closes instead of staying open when a delete is refused.
  • A running project's delete dialog explains it must be stopped first and no longer offers a delete action.

Fixed

  • A cleaned agent no longer remains stuck in the UI and can now be deleted.

v0.1.738

Oct 16, 2026On GitHub

CLI

Fixed

  • Pin Python 3.13.15 in the CLI binary release job

v0.1.736

Oct 13, 2026On GitHub

CLI

New

  • Added a canyonos upgrade command. If CanyonOS is managed by uv tool, it upgrades using uv tool upgrade canyonos, preserving any existing version constraint and explaining how to override it with uv tool install canyonos@latest. If not managed by uv, it prints the correct reinstall instruction instead.
  • The CLI now warns when your installed version is outdated: a short warning if a newer version is available, a stronger warning if your version is no longer supported. These checks use a locally cached, periodically refreshed policy and never block a command, including on network or cache errors. Warnings go to stderr and don't affect structured output like canyonos test --json.

Improved

  • CanyonOS-managed Docker containers (Global Controller, Redis, metrics collector, workflows, and agent replicas) are now grouped under a stable, named Docker project/group, distinct from the dashboard stack, so local containers from different projects no longer collide. stop, quit, clean, test and redeploy continue to affect only their own containers.

Fixed

  • canyonos test no longer starts the dashboard stack, removing unnecessary image pulls, a long wait for the stack to come up, and a rewrite of your project's .env file.
  • Fixed agent manifest validation to require and check the functions declaration for each agent, with clearer error messages for missing or invalid function definitions, duplicate or reserved function names, and names that would shadow built-in types.

Core

New

  • Docker containers launched by CanyonOS are now grouped under a stable, named project (matching the current directory), so local runtime containers (Global Controller, Redis, metrics collector, workflow, and agent replicas) are clearly distinguished from the dashboard stack and from containers belonging to other local projects.
  • Agent function signatures (names, arguments, and return types) are now declared directly in the main global controller configuration, replacing the separate per-agent .yaml files.

Improved

  • stop, quit, clean, redeploy, and failure cleanup now reliably affect only the containers they own, preventing collisions between multiple local projects.
  • Build and validation now use the consolidated agent configuration to generate stubs and check agent methods.
  • Validation now reports clearer errors when function declarations are missing or when agent methods don't match the configuration.

Fixed

  • Projects using the old per-agent .yaml file layout now fail deployment/validation with a clear configuration error instead of being silently accepted or producing confusing errors.

API

No user-facing changes.

Web

No user-facing changes.

v0.1.735

Oct 9, 2026On GitHub

CLI

Improved

  • Deploy and test failures end with a Root Cause line naming the actual error: uv's own lines for build failures, the container's logged error for a replica that never comes up. canyonos test waits for the deploy's verdict instead of a fixed 60s and includes root_cause in --json.
  • canyonos clean now also removes the CanyonOS skill installed in the project and the .env keys canyonos serve wrote; your own .env lines stay.
  • canyonos stop and canyonos quit now stop and remove the dashboard containers regardless of the directory they're run from.

Removed

  • canyonos test --stub-llm and --stub-text. Test runs always use the real LLM gateway.

Fixed

  • Deploys on Apple Silicon no longer build amd64 images that run under Rosetta; the configured Docker platform now reaches the image build.
  • Dashboard startup now uses the resolved container images consistently, instead of sometimes using raw shell environment values.
  • Deploy progress no longer reports certain dashboard startup log-export messages as errors.

Core

New

  • Docker containers now have resource bounds applied.

Improved

  • Replica ids are now stable ({agent}-{replica_index}) instead of random, so a recreated replica keeps its id and the dashboard's replica count no longer grows with every recreation.
  • Workflow replica logs and failure entries now report "Workflow" as their source, and controller logs are now captured and surfaced as "Global Controller".
  • Scaling now reacts and cools down faster (about 20s instead of 50s).
  • Controller readiness timeout increased (3 to 6 minutes) to reduce premature readiness failures.
  • Local image builds are faster: builds use the local machine's native architecture when running fully locally, and images ship precompiled bytecode for quicker deploys.

Fixed

  • Removed hardcoded price multipliers.
  • Fixed a bug where agent calls made from app-started threads (e.g. parallel graph branches) lost their request id, causing telemetry to be dropped and stale data to accumulate.
  • Fixed telemetry data occasionally being lost or cleanup failures not being retried: request data is now cleaned up only after telemetry has been confirmed delivered.

API

New

  • Added monitoring endpoints for viewing project replicas and their health, queue length, and active request counts.
  • Added an endpoint to discover workflow replicas that expose a public API.
  • Trace details now include model, token, cost, input, and output information for LLM calls.

Improved

  • Resource utilization is now grouped by agent name for clearer monitoring.

Web

New

  • Added a header toggle to switch between light and dark themes; the choice is remembered across visits, and follows the system setting when none is saved.
  • Desktop sidebars can now be resized with a drag handle or keyboard controls, and can be collapsed and reopened.
  • Added a Status screen per project, showing a running badge, the workflow endpoint with curl examples, summary tiles, and the containers list grouped by agent.
  • The project sidebar now opens projects on the Status screen and groups navigation into Monitoring (Costs, Traces, Errors, Metrics, Logs, LLM) and Configuration (Prompts, Scaling) dropdowns.
  • Added a view toggle on the Traces screen (All traces / With LLM calls / LLM calls), with the selected view reflected in the URL.
  • Trace rows now show an LLM column with call count and cost; LLM spans can be expanded to show model, tokens, cost, and input/output.
  • Added the ability to open a trace directly from an LLM call.

Improved

  • Updated the app's font and refreshed colors for dark and light themes.
  • Empty states now show the Canyon logo with a shimmer effect while loading, instead of the previous animation.
  • Compact warning and danger cards no longer display the muted background used by default cards.

Fixed

  • Time-range controls now notify of changes only when the selected value matches an available option.

v0.1.734

Oct 2, 2026On GitHub

CLI

Fixed

  • The local dashboard's web interface is now reachable from other machines instead of only the host itself. deploy, serve, and status now show the dashboard's public URL when running on EC2, falling back to a local address otherwise.

Core

Fixed

  • Increased agent startup limits so deploys no longer fail on smaller machines: the LLM gateway health deadline rose from 10s to 60s, and the readiness and workflow launcher limits rose from 120s to 180s.

API

No user-facing changes.

Web

No user-facing changes.

v0.1.733

Oct 1, 2026On GitHub

CLI

No user-facing changes.

Core

New

  • Added pricing for GPT-6 Astra, Sol, 6.1 Sol, and Luna models.

Fixed

  • Fixed OpenAI Responses API calls reporting no token usage and no cost.

API

No user-facing changes.

Web

No user-facing changes.

v0.1.732

Sep 30, 2026On GitHub

CLI

Fixed

  • Locally built dashboard images are no longer ignored: the CLI now uses the resolved image instead of a shell CANYONOS_API_IMAGE/CANYONOS_WEB_IMAGE, only pulls local images when missing instead of always hitting the registry, and correctly passes through CANYONOS_DOCKER_PLATFORM.

Core

New

  • Added a per-agent autoscaling policy (config/scaling.yaml) that the global controller applies each poll based on rolled-up replica load.
  • Added support for launching EC2 instances as spot instances via a per-service market_type setting, defaulting to on-demand.

Improved

  • Config folder YAML files are now published to each node so node-side code (e.g. the LLM proxy) can read them, with keys cleared when files are removed.
  • Exported logs now include a project id, so logs outside a session (startup, crashes) can be tied to a project.

Fixed

  • Workflow runs now get a future record, so they appear in the dashboard.
  • On-demand EC2 launches no longer include unnecessary spot-market settings.
  • Span input/output fields now use the correct OpenTelemetry GenAI names instead of Langfuse's.

API

Fixed

  • Dashboard project title no longer always shows as project_1; it now uses the host folder name, falling back to project_1 if unavailable.
  • Span input/output fields use the correct OpenTelemetry GenAI naming instead of the deprecated Langfuse format.

Web

New

  • Added a per-agent autoscaling policy configurable via a new scaling config, applied automatically based on rolled-up replica load.
  • Added a dashboard page to view and edit the autoscaling policy.