Skip to content

runtime-v0.2.12

Choose a tag to compare

@github-actions github-actions released this 16 Jun 10:49

What's Changed

Large Features

  • feat(product): improve agent auth and workspace mobility by @pablonyx in #381
  • feat(desktop): add support report uploads by @pablonyx in #391

Minor Features

  • feat(mobile): refine chat configuration controls by @pablonyx in #342
  • feat(desktop): slim updater UI by @pablonyx in #369
  • feat(product): surface cloud workspace activity status by @pablonyx in #371
  • feat(web): refine workspace chat header by @pablonyx in #372
  • feat(product): share transcript viewer across web and desktop by @pablonyx in #373
  • feat(product): add email password sign-in by @pablonyx in #382
  • feat(product): align web loading and copy feedback by @pablonyx in #387
  • feat(support): add debug correlation case files by @pablonyx in #397
  • feat(desktop): align Git UI and add turn undo by @pablonyx in #402
  • feat(desktop): add web handoff shortcuts by @pablonyx in #405
  • feat(product): refresh frontier agent model defaults by @pablonyx in #407
  • feat(support): track support reports in GitHub and Linear by @pablonyx in #411
  • feat(product): refine chat transcript and launch flows by @pablonyx in #507
  • feat(workspaces): improve generated worktree creation by @pablonyx in #605
  • feat(agents): normalize variant-encoded model families in catalog build by @pablonyx in #614
  • feat(agents): bedrock + opencode-zen probe contexts, parallel matrix by @pablonyx in #617
  • feat(desktop): Obsidian-style live-preview markdown in scratchpad by @pablonyx in #660
  • feat(workspaces): AI-generate workspace names, retire workspace_naming MCP by @pablonyx in #661
  • feat(desktop): tab-strip playground, workspace UI polish, and session runtime updates by @pablonyx in #686

Performance

  • perf(cloud): add worker control long poll by @pablonyx in #416
  • perf(anyharness): reduce local session latency by @pablonyx in #517

Fixes

  • fix(desktop): repair workspace shortcuts and tab activation by @pablonyx in #353
  • fix(desktop): preserve sidebar row spacing by @pablonyx in #356
  • fix(product): smooth auth loading mark handoff by @pablonyx in #364
  • fix(product): constrain auth loading beads by @pablonyx in #365
  • fix(product): stabilize agents, workspaces, and automations by @pablonyx in #368
  • fix(mobile): use remote production build numbers by @pablonyx in #378
  • fix(server): avoid wake transaction leak by @pablonyx in #386
  • fix(product): apply cloud MCP config to local sessions by @pablonyx in #388
  • fix(desktop): apply appearance theme in support window by @pablonyx in #393
  • fix(desktop): allow support window event listen by @pablonyx in #396
  • fix(desktop): preserve billing return handoff by @pablonyx in #399
  • fix(desktop): clarify support report upload failures by @pablonyx in #398
  • fix(desktop): make new workspace shortcuts reliable by @pablonyx in #401
  • fix(support): harden debug report correlation by @pablonyx in #403
  • fix(desktop): dedupe support report upload toasts by @pablonyx in #406
  • fix(server): isolate automation snapshot failures by @pablonyx in #408
  • fix(desktop): fail release on broken sentry upload by @pablonyx in #409
  • fix(release): align desktop sentry preflight guard by @pablonyx in #410
  • fix(desktop): avoid web-to-desktop handoff reload loops by @pablonyx in #511
  • fix(desktop): align live tool call labels by @pablonyx in #518
  • fix(desktop): normalize composer caret sizing by @pablonyx in #519
  • fix(anyharness): honor requested Claude model ids by @pablonyx in #520
  • fix(desktop): scale composer input text with chat size by @pablonyx in #521
  • fix(anyharness): resolve Claude Opus 4.8 launch id by @pablonyx in #524
  • fix(anyharness): render prompts for terminal command runs by @pablonyx in #602
  • fix(chat): surface delivery errors and allow retry for unconfirmed prompts by @pablonyx in #628
  • fix(desktop): idle presentation for warming sessions + stable sidebar position for new workspaces by @pablonyx in #647
  • fix(sessions): fail ACP startup fast when the agent process exits + codex install fix by @pablonyx in #646
  • fix(desktop): single transcript spacing rhythm and resize-driven bottom pinning by @pablonyx in #649
  • fix(catalog): codex back to npm delivery now that @proliferate-ai sidecars are published by @pablonyx in #655
  • fix(web): explain when the local API is unreachable during first-run auth by @utsavp257 in #657
  • fix(anyharness): preserve access-gate failures in session errors by @sandip-pathe in #656

Docs

  • docs(dev): add local development runbook by @pablonyx in #354
  • docs(dev): move ci cd guide into dev process by @pablonyx in #355
  • docs(docs): route docs into spec buckets by @pablonyx in #374
  • docs(release): document production deploy failure modes by @pablonyx in #375
  • docs(release): clarify deployment runbook by @pablonyx in #380
  • docs(structures): add worker and supervisor structure guides by @pablonyx in #392
  • docs(server): align server guide structure by @pablonyx in #395
  • docs(anyharness): align runtime structure docs with current paths by @pablonyx in #441
  • docs(specs): move repo docs into specs by @pablonyx in #501
  • docs(specs): track migrated reference specs by @pablonyx in #503
  • docs(specs): clean up transitional spec language by @pablonyx in #516
  • docs(product): consolidate architecture and worker specs by @pablonyx in #528
  • docs(runbooks): add Stripe and E2B recovery guides by @pablonyx in #563
  • docs(runbooks): add cloud ops recovery inventory by @pablonyx in #593
  • docs(worker): ratify shared redis wake ownership by @pablonyx in #531
  • docs(worker): ratify durable job substrate plan by @pablonyx in #533
  • docs(frontend): tighten frontend structure guidance by @pablonyx in #595
  • docs(server): codify background and shared-lib structure by @pablonyx in #596
  • docs(docs): clarify worker docs and retire drafts by @pablonyx in #600
  • docs(docs): clarify auth and package ownership by @pablonyx in #601
  • docs(release): add GitHub issue form templates for bugs and features by @pablonyx in #665

Maintenance

  • ci(release): add hosted deploy spine by @pablonyx in #344
  • refactor(frontend): share settings surfaces across apps by @pablonyx in #343
  • refactor(anyharness): thin workspace and agent HTTP handlers by @pablonyx in #347
  • refactor(anyharness): move cross-domain deletes out of stores by @pablonyx in #348
  • ci(anyharness): ratchet architecture boundaries by @pablonyx in #349
  • refactor(anyharness): align live session boundaries by @pablonyx in #350
  • refactor(anyharness): split terminal domain and live runtime by @pablonyx in #351
  • refactor(anyharness): tighten domain contracts by @pablonyx in #352
  • feat(billing): add Pro early-access promo-code script + docs by @pablonyx in #357
  • ci(release): build E2B when bypassing staging by @pablonyx in #358
  • release(desktop): bump to 0.1.41 by @pablonyx in #359
  • release(mobile): bump iOS build number by @pablonyx in #360
  • refactor(anyharness): clean up session store live boundary by @pablonyx in #361
  • refactor(anyharness): move domain response DTOs to API mappers by @pablonyx in #362
  • refactor(anyharness): decouple session product MCP launch by @pablonyx in #363
  • release(desktop): bump to 0.1.42 by @pablonyx in #366
  • ci(release): route desktop through production promote by @pablonyx in #370
  • chore(desktop): bump release to 0.1.43 by @pablonyx in #376
  • ci(desktop): allow promote-sourced release refs by @pablonyx in #377
  • ci(mobile): submit built EAS artifact by id by @pablonyx in #379
  • fix(server): format password auth changes by @pablonyx in #383
  • fix(server): make analytics MCP test product-ready by @pablonyx in #384
  • fix(server): make agent auth tests product-ready by @pablonyx in #385
  • fix(server): format runtime config service by @pablonyx in #389
  • fix(mobile): keep staging TestFlight submit aligned by @pablonyx in #390
  • chore(desktop): bump updater version to 0.1.44 by @pablonyx in #394
  • chore(product): disable Slack bot flow by @pablonyx in #400
  • chore(desktop): bump updater version to 0.1.45 by @pablonyx in #404
  • test(anyharness): split worker tailer tests by @pablonyx in #435
  • fix(server): keep worker control service boundary clean by @pablonyx in #436
  • fix(server): guard worker control migration replay by @pablonyx in #437
  • chore(frontend): add report-only structure inventory by @pablonyx in #440
  • chore(server): add structure guardrails by @pablonyx in #442
  • refactor(anyharness): split live session runtime concerns by @pablonyx in #444
  • refactor(frontend): normalize hook responsibility folders by @pablonyx in #443
  • refactor(anyharness): split adapter operations by capability by @pablonyx in #446
  • refactor(anyharness): split agent readiness and install roles by @pablonyx in #445
  • refactor(frontend): align DOM primitives with ui package by @pablonyx in #448
  • ci(deploy): exclude dry runs from deploy bases by @pablonyx in #449
  • refactor(server): thread automation store db sessions by @pablonyx in #447
  • refactor(frontend): route support access through sdk react by @pablonyx in #451
  • refactor(frontend): move component config out of components by @pablonyx in #452
  • refactor(anyharness): split workspace lifecycle responsibilities by @pablonyx in #453
  • refactor(frontend): split desktop workspace shell responsibilities by @pablonyx in #456
  • refactor(frontend): split automation inventory domain rules by @pablonyx in #457
  • refactor(anyharness): split session domain responsibilities by @pablonyx in #454
  • ci(deploy): key promotion checks off deploy artifacts by @pablonyx in #459
  • refactor(frontend): split mobile chat screen responsibilities by @pablonyx in #460
  • refactor(frontend): split web chat screen responsibilities by @pablonyx in #458
  • refactor(anyharness): decouple core domains from product surfaces by @pablonyx in #461
  • refactor(frontend): split mobile surface responsibilities by @pablonyx in #465
  • refactor(frontend): split desktop session workflow responsibilities by @pablonyx in #468
  • refactor(desktop): split settings and automation surfaces by @pablonyx in #467
  • refactor(anyharness): split api contract boundary modules by @pablonyx in #470
  • refactor(server): thread billing store db sessions by @pablonyx in #450
  • refactor(frontend): split shared package surface responsibilities by @pablonyx in #466
  • refactor(anyharness): align product mcp structure by @pablonyx in #471
  • refactor(anyharness): promote artifacts into product domain by @pablonyx in #472
  • refactor(anyharness): finish runtime topology moves by @pablonyx in #473
  • refactor(server): thread cloud store db sessions by @pablonyx in #455
  • release(desktop): bump version to 0.1.47 by @pablonyx in #474
  • ci(server): let server test job finish by @pablonyx in #476
  • refactor(server): route service session boundaries by @pablonyx in #475
  • refactor(server): align billing Stripe integration by @pablonyx in #480
  • refactor(server): carve cloud runtime owners by @pablonyx in #477
  • refactor(server): split agent auth gateway owners by @pablonyx in #481
  • refactor(server): split command and worker transactions by @pablonyx in #479
  • refactor(server): split Slack cloud bot workers by @pablonyx in #478
  • refactor(ui): split shared icon modules by @pablonyx in #485
  • refactor(server): clean folder naming hygiene by @pablonyx in #482
  • refactor(desktop): split large workspace hooks by @pablonyx in #486
  • refactor(mobile): split large mobile surfaces by @pablonyx in #489
  • refactor(desktop): split large frontend infra modules by @pablonyx in #491
  • refactor(web): split large web frontend surfaces by @pablonyx in #490
  • refactor(desktop): split content and review surfaces by @pablonyx in #492
  • refactor(desktop): split settings and app utilities by @pablonyx in #493
  • refactor(desktop): split home launch flow by @pablonyx in #495
  • refactor(desktop): split workspace mobility flows by @pablonyx in #494
  • refactor(desktop): split workspace navigation flows by @pablonyx in #496
  • refactor(desktop): split chat selector hooks by @pablonyx in #498
  • refactor(desktop): split session lifecycle actions by @pablonyx in #499
  • refactor(desktop): split composer model selector logic by @pablonyx in #500
  • refactor(product-ui): split shared chat composer surfaces by @pablonyx in #502
  • refactor(product-ui): split shared chat transcript surfaces by @pablonyx in #504
  • chore(test): normalize describe blocks and refresh todo playground fixtures by @pablonyx in #508
  • release(desktop): bump desktop version to 0.1.48 by @pablonyx in #512
  • release(desktop): bump desktop version to 0.1.49 by @pablonyx in #525
  • docs(release): capture production deploy learnings by @pablonyx in #527
  • refactor(cloud): collapse sandbox slot identity into targets by @pablonyx in #529
  • refactor(desktop): split turn diff panel components by @pablonyx in #566
  • refactor(product): split chat transcript view by @pablonyx in #568
  • refactor(desktop): split session runtime dev SSE logging by @pablonyx in #571
  • ci(frontend): enforce structure report by @pablonyx in #591
  • refactor(desktop): centralize settings admin role checks by @pablonyx in #592
  • refactor(worker): align worker structure with control and tail model by @pablonyx in #530
  • feat(worker): fold control reconcile into two-poll loop by @pablonyx in #532
  • feat(server): add celery background skeleton by @pablonyx in #534
  • feat(server): add background outbox foundation by @pablonyx in #535
  • feat(server): move signup slack notification to celery by @pablonyx in #536
  • refactor(server): move runtime wake to background outbox by @pablonyx in #537
  • refactor(server): move support tracker reconciler to Beat by @pablonyx in #538
  • refactor(server): move cloud automation execution to Celery by @pablonyx in #539
  • refactor(server): extract worker command service by @pablonyx in #540
  • refactor(server): extract worker auth helpers by @pablonyx in #541
  • refactor(server): extract command preflight by @pablonyx in #542
  • refactor(server): extract command wake orchestration by @pablonyx in #543
  • refactor(server): extract command client state by @pablonyx in #544
  • refactor(server): extract command workspace scope by @pablonyx in #545
  • refactor(server): extract workspace detail assembly by @pablonyx in #546
  • refactor(server): extract workspace target launch by @pablonyx in #547
  • refactor(server): extract workspace remote access by @pablonyx in #548
  • refactor(server): extract workspace lifecycle actions by @pablonyx in #549
  • refactor(server): extract workspace provisioning by @pablonyx in #550
  • refactor(server): split workspace payload models by @pablonyx in #551
  • refactor(server): split workspace lifecycle store by @pablonyx in #552
  • refactor(server): move sandbox store helpers by @pablonyx in #553
  • refactor(server): split runtime config worker service by @pablonyx in #554
  • refactor(server): split runtime bootstrap helpers by @pablonyx in #555
  • refactor(server): split runtime sandbox lifecycle by @pablonyx in #556
  • refactor(server): split runtime launch helpers by @pablonyx in #557
  • refactor(server): split runtime workspace preparation by @pablonyx in #558
  • refactor(server): split runtime provision input by @pablonyx in #559
  • refactor(server): split runtime template preparation by @pablonyx in #560
  • refactor(server): split runtime launch connect flow by @pablonyx in #561
  • refactor(server): split command payload rules by @pablonyx in #562
  • refactor(server): split runtime config resolver types by @pablonyx in #564
  • refactor(server): split mobility cleanup service by @pablonyx in #565
  • refactor(server): split mobility preflight service by @pablonyx in #567
  • refactor(server): split cloud mobility store package by @pablonyx in #569
  • refactor(server): ratchet cloud repo config store by @pablonyx in #570
  • refactor(server): split cloud sync event stores by @pablonyx in #572
  • refactor(server): split cloud command lease store by @pablonyx in #573
  • refactor(server): split cloud command result store by @pablonyx in #574
  • refactor(server): split automation run store by @pablonyx in #575
  • refactor(server): split cloud workspace store by @pablonyx in #576
  • refactor(server): split auth identity service by @pablonyx in #577
  • refactor(server): split billing usage stores by @pablonyx in #578
  • refactor(server): split billing subject store by @pablonyx in #579
  • refactor(server): split billing subscription store by @pablonyx in #580
  • refactor(server): split billing seat store by @pablonyx in #581
  • refactor(server): split billing accounting service by @pablonyx in #582
  • refactor(server): split billing snapshot service by @pablonyx in #583
  • refactor(server): split billing team checkout by @pablonyx in #584
  • refactor(server): split billing checkout service by @pablonyx in #585
  • refactor(server): split billing accounting pass by @pablonyx in #586
  • refactor(server): split billing seat reconciliation by @pablonyx in #587
  • refactor(server): split billing runtime usage by @pablonyx in #588
  • refactor(server): split billing overview read models by @pablonyx in #589
  • refactor(server): retire billing service imports by @pablonyx in #590
  • ci(release): add release train hotfix automation by @pablonyx in #597
  • ci(release): add public product version train by @pablonyx in #598
  • ci(release): publish product release notes by @pablonyx in #599
  • chore(anyharness): add sqlite schema snapshot by @pablonyx in #603
  • refactor(anyharness): group live terminal modules by role by @pablonyx in #604
  • refactor(anyharness): simplify workspace records by @pablonyx in #606
  • refactor(mcp): collapse sub-threshold product MCP files by @pablonyx in #610
  • refactor(mcp): purge legacy routes, headers, and deprecated tool params by @pablonyx in #616
  • chore(release): add dependabot, CODEOWNERS, CodeQL, and security docs by @pablonyx in #666
  • ci(release): bump CodeQL action to v4 and checkout to v5 (Node 24) by @pablonyx in #679
  • chore(deps): bump toml from 0.8.2 to 0.9.12+spec-1.1.0 by @dependabot[bot] in #681
  • chore(deps): bump zip from 4.6.1 to 8.6.0 by @dependabot[bot] in #682
  • chore(deps): bump rusqlite from 0.32.1 to 0.40.1 by @dependabot[bot] in #683
  • chore(deps): bump sentry from 0.47.0 to 0.48.2 by @dependabot[bot] in #684
  • chore(deps): bump portable-pty from 0.8.1 to 0.9.0 by @dependabot[bot] in #685
  • chore(deps): bump the cargo-minor-and-patch group across 1 directory with 17 updates by @dependabot[bot] in #701
  • chore(ci): ignore Expo SDK packages in Dependabot by @pablonyx in #704
  • test(server): make api-path-prefix assertions robust to Starlette router nesting by @pablonyx in #714
  • chore(deps): bump getrandom from 0.2.17 to 0.4.2 by @dependabot[bot] in #687
  • chore(deps): bump the github-actions group across 1 directory with 12 updates by @dependabot[bot] in #690
  • chore(deps): bump cryptography from 46.0.5 to 49.0.0 in /server by @dependabot[bot] in #670
  • chore(deps): update fastapi-users[oauth,sqlalchemy] requirement from >=14.0.0 to >=15.0.5 in /server by @dependabot[bot] in #674
  • chore(deps): update uvicorn[standard] requirement from >=0.34.0 to >=0.49.0 in /server by @dependabot[bot] in #671
  • chore(deps): update sentry-sdk[fastapi] requirement from >=2.28.0 to >=2.62.0 in /server by @dependabot[bot] in #676
  • chore(deps): update botocore[crt] requirement from >=1.43.18 to >=1.43.30 in /server by @dependabot[bot] in #677
  • chore(ci): stop Dependabot major-version churn by @pablonyx in #726
  • chore(deps): bump the python-minor-and-patch group across 1 directory with 12 updates by @dependabot[bot] in #712
  • chore(deps): bump tauri from 2.10.3 to 2.11.2 in the cargo-minor-and-patch group across 1 directory by @dependabot[bot] in #725
  • chore(deps): bump the npm-minor-and-patch group across 1 directory with 36 updates by @dependabot[bot] in #727

Other Changes

  • docs(specs): codify anyharness domain grammar and mental model by @pablonyx in #608
  • feat(agents): add catalog probe, collation pipeline, and viewer by @pablonyx in #611
  • chore(deps): bump agent-client-protocol 0.10.2 → 0.14.0 by @pablonyx in #609
  • feat(codex): migrate to standard ACP elicitation + repin to 0.16 fork by @pablonyx in #615
  • fix(desktop): runtime queries resolve materialized session ids (404 spam) by @pablonyx in #641
  • fix(desktop): sidebar row shows blue dot for unseen session activity by @pablonyx in #642
  • fix(plans): fail rejected plans without native reject mapping by @pablonyx in #629
  • refactor(anyharness): rename live session modules to grammar vocabulary by @pablonyx in #643
  • refactor(anyharness): empty the actor's product pockets via observers, advisor, and domain ops by @pablonyx in #631
  • refactor(anyharness): cross the live boundary with a launch bundle and capability traits by @pablonyx in #632
  • refactor(anyharness): extract pure launch policy and prompt rendering by @pablonyx in #633
  • refactor(anyharness): consolidate the session actor into a struct with methods by @pablonyx in #634
  • refactor(anyharness): replace latency threading with tracing spans by @pablonyx in #635
  • refactor(anyharness): finish live-session packaging - sink.ingest, InboundDoor, bg-work ownership, SessionView by @pablonyx in #636
  • feat(anyharness): restore live model truth from the model config option by @pablonyx in #637
  • docs(specs): align anyharness structure specs with the live-sessions migration by @pablonyx in #638
  • refactor(anyharness): fold the turn entry vestige into start.rs by @pablonyx in #639
  • refactor(agents): clarify runtime service boundaries (PR-1 of catalog/registry stack) by @pablonyx in #618
  • feat(catalog): sync — validated atomic catalog ingestion (PR-5) by @pablonyx in #624
  • feat(catalog): v2 consumption — launch validation, heartbeat convergence, gated menus (PR-7b) by @pablonyx in #627
  • refactor(catalog)!: v2-only hard cutover — delete v1 + model_registry, real auth detection by @pablonyx in #640
  • ci(catalog): scheduled probe run with auto-PR (PR-8) by @pablonyx in #623
  • fix(desktop): composer model picker search focus and submenu hover gap by @pablonyx in #645
  • fix(desktop): markdown tables, sidebar menu polish, terminal creation grid by @pablonyx in #648
  • feat(design): Dominic = Claude theme, mono light parity, chrome banding fixes by @pablonyx in #652
  • style(design): flatten turn-diff and right-panel git headers (Codex parity) by @pablonyx in #653
  • style(design): pull turn-diff and right-panel git headers a notch darker by @pablonyx in #654
  • feat(desktop): reverse Cmd/Cmd+Opt number shortcuts; always land on a session by @pablonyx in #664
  • fix(desktop): intent-aware transcript scrolling (escape, completion, resume) by @pablonyx in #663
  • fix(db): disable asyncpg statement cache to survive index recreation by @pablonyx in #702
  • feat(ci): zero-touch auto-prod in the nightly release train by @pablonyx in #703
  • feat(anyharness): catalog-lockfile harness pins — fenced, sha-verified installer + producer by @pablonyx in #722

New Contributors

Full Changelog: runtime-v0.1.2...runtime-v0.2.12