Skip to content

Releases

v4.4.0

Choose a tag to compare

@github-actions github-actions released this 07 Nov 19:05

4.4.0 (2026-11-07)

Features

  • apiauth: require a bearer token on the custom event webhook (47afc2a)
  • apiserver: add custom event type RPCs (1377cfb)
  • apiserver: validate routing rules against org custom event types (9ea23e6)
  • cmpx: add OnlyProtoFields (5ae5a1b)
  • customserver: add custom event ingestion endpoint (cfff179)
  • eventrouter: validate custom event types (c39a853)
  • store: store org custom event types (3e1e5e9)
  • webui: add custom event schemas tab (2447913)
  • webui: add dark mode with light/dark/system theme toggle (e92948d)
  • webui: describe custom event attrs by their help text (bc88bf4)
  • webui: describe every field of the custom event JSON Schema (4b11d96)
  • webui: drop the type value from its JSON Schema description (1aedd32)
  • webui: show a Dynatrace icon for Dynatrace links and events (04e6d73)
  • webui: show a JSON Schema per custom event type (5932ff7)
  • webui: show custom event webhook URL and example payload (e7e487f)

Bug Fixes

  • runner: stop the local driver's reaper removing its successor's pid file (a777ec6)
  • webui: collapse nav labels to icons below lg so the bar fits on one row (8c52fe0)

Miscellaneous

  • apiauth: rename RequireBearer to RequireBearerAuth (1ef2d93)
  • api: move the custom webhook URL to org settings (51c5a85)
  • apiserver: name GetEventTypes registry (14bb0ea)
  • customserver: add NewWebhookRequest for submitting envelopes (52f5c74)
  • customserver: inline webhook handler test fixtures (ca9695f)
  • customserver: look up custom types through the schema registry (17e01d6)
  • customserver: unexport toInputEvent (79b911e)
  • driverclient: read the first request in stub Run handlers (5fbe2d8)
  • e2e: assert custom event outcome with whole-value compares (9d46862)
  • e2e: compare whole events in event, lifecycle and link tests (75718f6)
  • e2e: compare whole runner events in TestListRunnerEvents (f3d955b)
  • e2e: compare whole schedules and test-event responses (21d17ad)
  • e2e: compare whole tasks in task, runner, shell and wake tests (cf5f716)
  • e2e: compare whole values in log, org, key and token tests (6adec7b)
  • e2e: inline custom event type in-use arrange (aafc112)
  • e2e: keep the id-assigned checks in TestCreateOrg and TestCreateKey (28fc5e2)
  • e2e: post custom events through a harness webhook helper (1c860ea)
  • e2e: project narrow task tests onto the fields they check (1fc6c47)
  • e2e: project schedule and task compares to the fields under test (c6db0bd)
  • e2e: project task snapshots onto the state they drive (751b53a)
  • e2e: project the cancelled task to id and status (e8a064d)
  • e2e: split custom event type in-use tests (f8e5472)
  • eventrouter: inline custom event type fixtures (3e77a80)
  • eventrouter: move event type schemas to model (9eebb2f)
  • eventrouter: rename customNamePattern to customNameRe (55f121c)
  • eventrouter: rename customNameRe to reCustomName (c9e5af7)
  • move custom external events proposal to implemented (b4ee32d)
  • server: inject customserver like the other integrations (4d39bd3)
  • server: register the custom webhook only when configured (9ac7327)
  • webui: drop nested bordered boxes from the rule and event type forms (ff013c8)
  • webui: format routing-rules.ts (78f340a)
  • webui: remove the legacy event type option from routing rules (e541062)
  • webui: rewrap external source comment (08414a2)
  • webui: run the Prettier check as part of pnpm lint (edad768)
  • webui: use a grid for custom event type attributes (082e8b7)
  • webui: use useTernaryDarkMode from usehooks-ts for the theme (5b77cf5)

v4.3.0

Choose a tag to compare

@github-actions github-actions released this 06 Nov 17:56

4.3.0 (2026-11-06)

Features

  • atlassian: route Jira issue assignment events (3859f3c)

Bug Fixes

  • apiauth: reject token_type JWTs in VerifyAppToken (1906617)
  • atlassian: reject webhooks to archived orgs instead of clearing their secret (59d7df6)
  • auth: reject API keys of archived orgs (1985c6f)
  • oauthflow: resolve the org on refresh token grant (34ea186)
  • org: refuse DeleteOrg while the org has unarchived tasks (2dd1740)
  • org: tear down an org's work when it is deleted (af12946)

Miscellaneous

  • atlassian: return webhook actor meta from toInputEvents (1acf115)
  • e2e: bind the harness server's URL with an unstarted test server (d444cf4)
  • e2e: deliver Atlassian webhooks through an h.Atlassian handle (ea2feeb)
  • e2e: replace h.Atlassian with an AtlassianWebhook wrapper (e72c82e)
  • e2e: send a typed payload through AtlassianWebhook.Send (cac677f)
  • e2e: split DeleteOrg teardown test into one test per outcome (9a6eeb2)
  • org: check for unarchived tasks with an EXISTS query (3d3cd43)

v4.2.3

Choose a tag to compare

@github-actions github-actions released this 05 Nov 13:28

4.2.3 (2026-11-05)

Bug Fixes

  • auth: fall back to given and family name when OIDC omits name (1b5edd8), closes #1977

v4.2.2

Choose a tag to compare

@github-actions github-actions released this 04 Nov 21:26

4.2.2 (2026-11-04)

Bug Fixes

  • auth: keep login sessions in memory instead of the session cookie (c4dd46b), closes #1973

v4.2.1

Choose a tag to compare

@github-actions github-actions released this 04 Nov 17:11

4.2.1 (2026-11-04)

Bug Fixes

  • auth: make skipping the nonce check opt-in (e37dde5)
  • auth: skip the ID token nonce check on login (162d3cd), closes #1969
  • server: keep database credentials out of the logs (00520f3), closes #1968

Miscellaneous

  • store: drop the invalid database URL test (51a2c3b)

v4.2.0

Choose a tag to compare

@github-actions github-actions released this 04 Nov 14:42

4.2.0 (2026-11-04)

Features

  • server: add /healthz endpoint that pings the database (5881557), closes #1962

Bug Fixes

  • server: ignore the healthz write error explicitly (eb6ca45)

v4.1.0

Choose a tag to compare

@github-actions github-actions released this 04 Nov 13:27

4.1.0 (2026-11-04)

Features

  • auth: configurable OIDC scopes and end-session URL (4aa0285)
  • lambdamicrovm: default max_duration_seconds to 8 hours (ea9cbd3)

Miscellaneous

  • auth: drop the Cognito comment on the scopes flag (080a78b)
  • auth: drop the end-session URL override (4747755)
  • auth: rename the scopes flag to auth-scopes (514aa2f)

v4.0.1

Choose a tag to compare

@github-actions github-actions released this 03 Nov 16:10

4.0.1 (2026-11-03)

Miscellaneous

v4.0.0

Choose a tag to compare

@github-actions github-actions released this 02 Nov 16:14

4.0.0 (2026-11-02)

⚠ BREAKING CHANGES

  • api: a ListEventsByTask request without page_size or page_token returns only the newest page (default 50 events) instead of the whole stream. Clients that need every event must page.

Features

  • agent: add the puppet agent (60958e7)
  • carry the task's workspace in command events (bfe62d4)
  • diagrams: add playback controls to the published diagram pages (ad661e7)
  • docker: speak h2c to the driver server (0ad0fdd)
  • firefox-ext: add Firefox extension to start tasks from GitHub code view (0eb5680)
  • gritzclient: add a ListRunnerEvents page walker (c1c2e67)
  • lambdamicrovm: force HTTP/2 to the driver through the proxy (046a717)
  • lambdamicrovm: run an image script on the validate hook (a690f14)
  • runner: add RunLoop and drive (d01f6f7)
  • runner: add the local sandbox backend (541374d)
  • runner: driver acts on commands (c42f9ed)
  • runner: driver event file and bidi Run stream (9c4d73e)
  • runner: keep runner events in runnerstore (bee778e)
  • runner: keep sandbox records in runnerstore (872dfe0)
  • runner: render the agent prompt from the event file (c90faad)
  • runner: replace Poll with a follower per task (677a80d)
  • runner: replicate the runner's event log alongside the TaskManager (7e424c9)
  • runnerstore: add the runner's SQLite event replica store (ef4ba26)
  • runnerstore: project task archive state into a tasks table (6061408)
  • store: record the inserting transaction's xid on events (40ded65)
  • store: write a command event whenever a task's command changes (8e5f7f5)
  • taskevents: replicate the runner's event log into per-task streams (0f4234b)

Bug Fixes

  • server: write a command event when a pending start moves to the next run (2a63f71)
  • sqlite: set busy_timeout before the other pragmas (fde03b5)

Miscellaneous

  • add CodeView and stepper for motion canvas code walkthroughs (0c63300)
  • add Go style guidance on slice pre-allocation (39964e1)
  • add motion canvas diagram of the runner event replica (52cba18)
  • agent: move the puppet into its own package with a server side (55fa062)
  • api: drop the unpaged ListEventsByTask path (861cb5e)
  • apiserver: archive the draft directly in the archived gating tests (584f9c1)
  • apiserver: convert runner events with model.ProtoMap (51ee084)
  • apiserver: format each authscope.New argument on its own line (760db6d)
  • apiserver: format each scope on its own line in archived gating tests (5db06c8)
  • apiserver: inline createCtx (162797b)
  • apiserver: port taskscope tests onto the e2e harness (1a2af94)
  • apiserver: port the remaining apiserver tests onto the e2e harness (7e7974f)
  • apiserver: snapshot the task with Clone before command changes (07fdb87)
  • break long struct literals across lines (9856278)
  • diagrams: ignore motion canvas meta files (abf42c3)
  • document step pauses and link waypoints in the motioncanvas skill (8a1cb45)
  • driverserver: check TestRun_Restart's dials once the run is idle (f236287)
  • driverserver: replace driver path options with PrefixPath (8d1ecbf)
  • drop append pre-allocations for small slices (9f266e9)
  • drop backwards compatibility as a design concern (36eb02d)
  • drop the CommandPayload.workspace comment (0830c1c)
  • e2e: add agent error, setup command and env scenarios (0fb1a92)
  • e2e: add backend mocks and fault scenarios (dd19009)
  • e2e: add cancel and restart scenarios (dc16794)
  • e2e: add CloseRunStream and replace the reattach unit test (425502e), closes #1930
  • e2e: add e2e.Server and port four apiserver tests onto it (75bfd90)
  • e2e: add Org setup helpers and use them in the ported tests (e586a78)
  • e2e: add pending-start cancel, concurrency and archive scenarios (f1dd6c9)
  • e2e: add runner restart scenarios (bc678ca)
  • e2e: add the harness runner, backend and agent, and TestStart (8a82770)
  • e2e: add wake scenarios (2dfa0f8)
  • e2e: assert the reason a vanished sandbox's run failed (62cfc50), closes #1930
  • e2e: break mock funcs onto their own lines (cec95e7)
  • e2e: carry the creating RPC's response on Task and Key (4ef26b5)
  • e2e: cover a sandbox that vanished while suspended (ed4b051), closes #1930
  • e2e: cover archive at load, destroy retry and a vanished sandbox (8fd3361), closes #1930
  • e2e: cover Load's lost-run backstop with a scenario (760e1de), closes #1930
  • e2e: cover...
Read more

v3.14.0

Choose a tag to compare

@github-actions github-actions released this 12 Oct 07:04

3.14.0 (2026-10-12)

Features

  • runner: add the Backend and Sandbox interfaces to the backends (0a62e6c)
  • runner: serve the Docker driver on a unix socket (2341175)

Bug Fixes

  • agent: log the api_retry error under the err key (343f38f)
  • agent: read agent stream lines of any length and log Claude results (c59a7b9)
  • driver: log the lambda hooks error under the err key (9ef9fc4)

Miscellaneous

  • agent: read agent output with a generic lines.Read iterator (28016a5)
  • describe the driver server architecture in CLAUDE.md (c664ba3)
  • driver: remove the one-shot driver (7f2961b)
  • driver: serve the Lambda hooks from the driver command (ef8c264)
  • driver: strip leftovers from driverserver and agent.Driver (7417aff)
  • proposal: plan the driver-server switch-over (e7dc01d)
  • proposal: split Backend and Sandbox in the driver-server design (854fff3)
  • remove outdated driver-server diagrams (c3409f4)
  • runner: delete the v1 backend interface (84fd060)
  • runner: drop the experimental --backend aliases (56f8880)
  • runner: hold a run's state on a taskRun (ec4000d)
  • runner: keep the task registry in sync with taskstate (e24d417)
  • runner: kill tasks through the driver's Stop (2c5c8db)
  • runner: load, prune and check running through BackendV2 (5a3c6c0)
  • runner: move taskRun into run.go (e58e9a2)
  • runner: promote the experimental backends (8e9db25)
  • runner: remove sandboxes through BackendV2 (4c3c852)
  • runner: remove the old docker and lambda-microvm backends (1233735)
  • runner: rename BackendV2 and SandboxV2 to Backend and Sandbox (58270f2)
  • runner: rename files and variables for TaskManager and TaskRunner (d2d6e22)
  • runner: split Runner into TaskManager and TaskRunner (c033a1a)
  • runner: start tasks through BackendV2 (1786334)
  • runner: supervise runs over the driver protocol (f97224c)
  • runner: treat a foreign handle as an invalid handle (72898c2)
  • runner: use cenkalti/backoff for retries (3ed318e)
  • skills: add comment-command skill (75b347a)
  • skills: filter Done cards when reading the board (15f07b1)