Skip to content

Canyonos v0.1.735

Choose a tag to compare

@canyonos-cici canyonos-cici released this 09 Oct 22:25
· 139 commits to main since this release

Release notes for v0.1.735

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.