Skip to content

runtime-v0.3.11

Choose a tag to compare

@github-actions github-actions released this 07 Jul 20:54

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
  • feat(product): update settings navigation IA by @pablonyx in #773
  • feat(auth): add configurable SSO by @pablonyx in #782
  • feat(server): self-hosting v1 - single-org mode, first-run claim, invites, versions, deploy bundle by @pablonyx in #858
  • feat(agent-auth): titled-key vault + env-var selections, state.json v2, two-phase render, new auth UI by @pablonyx in #907
  • feat(support): revive support flow as two focused modals + product-wide polish by @pablonyx in #932

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
  • feat(agents): add Grok (xAI Grok Build) as a harness by @pablonyx in #705
  • feat(agents): runtime-startup installed-only reconcile (run_startup_pass) by @pablonyx in #730
  • feat(desktop): misc UI polish — tab width, markdown headings, codex spinner, default ⌘N by @pablonyx in #743
  • feat(transcript): provider-icon links + better file-path resolution by @pablonyx in #742
  • feat(web): gate browser auth for beta access by @pablonyx in #775
  • feat(anyharness): add runtime pressure pruning by @pablonyx in #776
  • feat(product): add organization integration controls by @pablonyx in #774
  • feat(desktop): refresh settings UI by @pablonyx in #777
  • fix(desktop): polish settings and page spacing by @pablonyx in #778
  • feat(desktop): polish scratch markdown editing by @row0-rl in #780
  • feat(desktop): add organization switcher footer by @pablonyx in #784
  • feat(orgs): accept pending invitations by @pablonyx in #785
  • feat(billing): clarify plans and credits UI by @pablonyx in #786
  • feat(cloud): add managed sandbox stack one by @pablonyx in #789
  • feat(cloud): runtime worker auth model + enrollment by @pablonyx in #827
  • feat(server): first-run claim with setup token by @pablonyx in #863
  • feat(server): ADMIN_EMAILS floor + instance admin invariants by @pablonyx in #865
  • feat: invite-as-allowlist registration + desktop password sign-in by @pablonyx in #867
  • feat(server): real version reporting, /meta pins, desktop updater redirect by @pablonyx in #861
  • feat(cloud): integration definition/account/oauth models + provider access by @pablonyx in #830
  • feat(cloud): integration gateway MCP endpoint + virtual tools by @pablonyx in #832
  • feat(cloud): integration management APIs (authenticate, oauth, admin) by @pablonyx in #835
  • feat(cloud): integration health endpoint by @pablonyx in #836
  • feat(cloud): integrations settings UI by @pablonyx in #844
  • feat(gateway): real xAI upstream + LiteLLM in production compose by @pablonyx in #906
  • feat(agent-auth): runtime catalog — gateway probe-always, curation as data, render pins deleted by @pablonyx in #908
  • feat(cloud): OAuth (DCR) support for org-custom MCP integrations by @pablonyx in #902
  • feat(desktop): searchable integrations + composer indicator by @pablonyx in #905
  • feat(desktop): All-Models becomes a rich model table (thinking levels, provider, status) by @pablonyx in #923
  • feat(cloud): org-scoped worker identity + gateway org-policy enforcement (restore #894) by @pablonyx in #924
  • feat(cloud): heartbeat version convergence + sandbox worker self-swap (restore #897) by @pablonyx in #925
  • feat(desktop): ModelTable round 2 — modes column, family-key enrichment, description subtitles by @pablonyx in #926
  • feat(anyharness): Bedrock models in the agent gateway + enrichment fixes by @pablonyx in #928
  • feat(desktop): Codex-style file tree overlay with grouped filter search by @pablonyx in #930
  • feat(desktop): files viewer chrome polish — toggle menu, compact find bar, metrics sweep by @pablonyx in #931
  • feat(desktop): Codex-quality diff renderer — layered color-mix + airy typography by @pablonyx in #933
  • feat(desktop): per-gap context expanders with gutter chevrons by @pablonyx in #934
  • feat(desktop): Codex-style review layout — sticky headers, jump-to-file, virtualization by @pablonyx in #935
  • feat: hunk-level revert/stage — sidecar patch endpoints + hover pills by @pablonyx in #936
  • feat(desktop): full-height single-scroll review layout by @pablonyx in #937
  • feat(server): analytics dashboards — provider-cost ingestion + Metabase schema by @pablonyx in #973
  • feat(customerio): engagement attribute sync (email_type, workspace_count, last_active_at) by @pablonyx in #967
  • feat(desktop): header tabs polish — borderless chips, sticky new-chat, history popover by @pablonyx in #991
  • feat(settings): rework Account IA and Appearance preview by @pablonyx in #993
  • fix(desktop): sidebar dates/icons, neutral update pill, stable workspace sort by @pablonyx in #992
  • feat(composer): redesign chat input control row, model picker, and empty-session switch by @pablonyx in #996
  • feat(workers): add catalogVersion to heartbeat response (convergence P1) by @pablonyx in #988
  • feat(worker): catalog fetch+push transport — pins converge without binary releases (convergence P2) by @pablonyx in #989
  • feat(composer): rework command palette, slash command UX, and add-repo flow by @pablonyx in #1000
  • feat(chat): transcript polish — list spacing, shimmer, label sizes, streaming reveal, anchor fixes by @pablonyx in #1002

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
  • fix(support): stop report uploads retrying a permanent conflict forever by @pablonyx in #737
  • fix(catalog): refresh agent catalog + restore claude model availability across auth contexts by @pablonyx in #738
  • fix(catalog): drop sourceless native pins + update catalog tests for the refresh by @pablonyx in #741
  • fix(desktop): self-heal stale default model + gate new-thread to active auth context by @pablonyx in #739
  • fix(desktop): GitHub sign-in checking flash + sidebar spinner alignment by @pablonyx in #757
  • fix(desktop): keep right panel add button outside tab fade by @row0-rl in #779
  • fix(desktop): reduce duplicate subagent visual identities by @Julian0444 in #788
  • fix(product): tighten sidebar row density by @pablonyx in #797
  • fix(desktop): repo-shape conformance for streaming-UI leftovers by @pablonyx in #872
  • fix(migrations): merge the three parallel alembic heads on main by @pablonyx in #887
  • fix(desktop): prevent path traversal in support attachment staging by @pablonyx in #874
  • fix(cloud/agent-run-config): require org membership for org-scoped listing (IDOR) by @pablonyx in #875
  • fix(cloud/github-app): verify installation ownership in install callback (IDOR) by @pablonyx in #876
  • fix(auth): add token-generation revocation for logout and password change by @pablonyx in #877
  • fix(product-ui): repo-shape conformance for secrets dialog + icon barrel by @pablonyx in #911
  • fix(desktop): All-Models refresh for native routes uploads runtime-probed models by @pablonyx in #912
  • fix(desktop): worker identity survives logout/user switch by @pablonyx in #893
  • fix(desktop): file-viewer scroll + open-in fixes by @pablonyx in #954
  • fix(anyharness): dedup gateway model table to Bedrock-only current-gen + fix names by @pablonyx in #955
  • fix(agent-gateway): schedule materialization after vkey rotation (P0) by @pablonyx in #987
  • fix(catalog): gateway enrichment join — normalizer gaps + cross-harness identity fallback by @pablonyx in #994
  • fix(catalog): codex gateway policy — openai only, gpt-5.2 default by @pablonyx in #995
  • fix(auth): classify against the env the CLI actually inherits (ambient, registry-bounded) by @pablonyx in #997
  • fix(auth): reject unknown fields on PATCH /users/me + allowlist gateway line growth by @pablonyx in #999
  • fix(server): correct Sentry error-count ingestion (empty-result bug) by @pablonyx in #984

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
  • docs(specs): integrations + worker-auth primitive, current-state architecture by @pablonyx in #891

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
  • fix(anyharness): re-fork zero-turn Claude fork children instead of dead load_session by @pablonyx in #732
  • fix(product-ui): don't show scroll-to-bottom button when transcript isn't scrollable by @pablonyx in #733
  • fix(desktop): keep distinct local workspaces per folder+branch instead of collapsing by @pablonyx in #735
  • fix(desktop): stop model/mode switch landing one behind by @pablonyx in #736
  • feat(desktop): publish Homebrew cask on release by @pablonyx in #770
  • fix(desktop): push Homebrew cask on the tap's first release by @pablonyx in #771
  • refactor(server): add ownership dependency substrate by @pablonyx in #781
  • refactor(server): enforce integration policy org RLS by @pablonyx in #783
  • chore(dev): split local dev setup and run by @pablonyx in #790
  • [codex] Clean up cloud repo workspace sandbox DB models by @pablonyx in #803
  • refactor(cloud): cut over workspace flow to gateway by @pablonyx in #809
  • fix(frontend): wire the six oversized files onto their split-out modules by @pablonyx in #855
  • refactor(cloud): delete parked cloud domains and dead consumers by @pablonyx in #823
  • feat(server): membership policy seam + SINGLE_ORG_MODE by @pablonyx in #862
  • ci(self-host): production compose smoke, phase 1 by @pablonyx in #859
  • release(server): publish self-host deploy bundle by @pablonyx in #868
  • refactor(anyharness): gut runtime_config, inject gateway MCP from dotfile by @pablonyx in #837
  • ci: fail PRs that fork the alembic migration history by @pablonyx in #888
  • chore(harness): remove the gemini harness (upstream went enterprise-only) by @pablonyx in #896
  • fix(ci): sync HarnessPane.test.tsx max-lines allowlist by @pablonyx in #917
  • chore(cloud): integration FKs + schema vestiges + gateway/health perf hygiene by @pablonyx in #895
  • refactor(desktop): unify code/markdown rendering onto shared product-ui primitive by @pablonyx in #927
  • chore(sdk): regenerate openapi for stage-patch/unstage-patch endpoints by @pablonyx in #951
  • fix(server): sync analytics ingest task def with deployed reality by @pablonyx in #983

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
  • fix(readme): make release/license badges static by @pablonyx in #728
  • feat(anyharness): the catalog is the lockfile — fenced, sha-verified agent installer by @pablonyx in #723
  • fix(live): restore live model switching for Gemini via session/set_model by @pablonyx in #715
  • fix(desktop): persist auth + provider creds as 0600 files in ~/.proliferate by @pablonyx in #731
  • fix(ci): nightly version bump must clear all surface tags by @pablonyx in #734
  • feat(desktop): persistent loading→auth shell (no brand-mark jump) by @pablonyx in #740
  • feat(desktop): clean up update UI — accent pill, unified toast, session-aware restart by @pablonyx in #744
  • Wave 1: desktop settings on the design system + shared flat primitives by @pablonyx in #810
  • Wave 2: shadcn interaction kit in @proliferate/ui by @pablonyx in #811
  • Wave 2.5: transcript virtualization + trailing-status base by @pablonyx in #822
  • Wave 3a: chat composer restyle + transcript polish by @pablonyx in #813
  • Wave 3d: codex-style home, onboarding cards, toast update UI by @pablonyx in #812
  • Wave 3c: session tabs, right-pane header, unified add-repo by @pablonyx in #815
  • Wave 3b: codex-style sidebar + conductor workspaces view by @pablonyx in #816
  • feat(desktop): semantic type scale wired to the UI font-size setting by @pablonyx in #841
  • feat(desktop): single SidebarAccountFooter; shortcuts modal-only; update pill top-left by @pablonyx in #842
  • fix(server): align test suite + finish deletion sweep after #803/#809 cutover by @pablonyx in #846
  • fix(ci): green main — product-ui tooltip assertions + test_cloud_api length by @pablonyx in #848
  • fix(ci): green main — product-ui tooltip assertions + test_cloud_api length by @pablonyx in #849
  • fix(ci): green main — product-ui tooltip test + test_cloud_api length by @pablonyx in #851
  • fix(desktop): route raw buttons through the ui Button primitive by @pablonyx in #852
  • refactor(frontend): split six files under the 400-line structure threshold by @pablonyx in #853
  • refactor(frontend): split six oversized files below the structure threshold by @pablonyx in #854
  • feat(desktop): chat input cleanup — monochrome pills, tone system removed, placeholder variants by @pablonyx in #857
  • feat(desktop): polished update UI — morphing pill, progress ring, honest states, copy deck by @pablonyx in #856
  • style(desktop): update entrances are plain fades by @pablonyx in #864
  • fix(desktop): clear the last 3 frontend-structure violations by @pablonyx in #866
  • polish(settings): end-to-end settings surface cleanup by @pablonyx in #870
  • feat: workspace git/PR statuses — sidebar, workspaces page, and anyharness hosting endpoint by @pablonyx in #869
  • feat(desktop): codex-family popover convergence + header chip restore + new tab look by @pablonyx in #860
  • feat(desktop): streaming UI overhaul — interaction cards, plan flow, shimmer, todo tracker by @pablonyx in #871
  • feat(desktop): environments + repo-scope settings (picker, Cloud|Local, Configure/Actions/Environment, unified add-repo modal) by @pablonyx in #873
  • feat(desktop): offline connectivity detection, network error classification, reconnect backoff by @pablonyx in #929
  • docs: CLAUDE.md + feature-worktree dev/auth recipe for agent sessions by @pablonyx in #953
  • feat(support): capture urgent/notify-me + outreach_email override by @pablonyx in #972
  • feat(desktop): support modal urgent/notify/credit/logs + outreach email footer by @pablonyx in #976
  • fix(alembic): merge divergent support-capture + dashboards migration heads by @pablonyx in #982
  • obs: sync Sentry release tags to VERSION+sha everywhere by @pablonyx in #968
  • obs: version+context on server logs, report_critical severity helper by @pablonyx in #971
  • obs: org/sandbox/runtime-env identity tags on all Sentry surfaces by @pablonyx in #970
  • obs: Sentry replay-on-error for desktop renderer (masked) by @pablonyx in #969
  • docs: exceptions-observability implementation reference by @pablonyx in #980
  • feat(goals): native goals end-to-end (anyharness domain + GoalPort + goal bar) by @pablonyx in #909
  • feat(activity): SessionActivity contract v1 (loops, processes, subagents, feed) by @pablonyx in #918
  • feat(activity): loops + rosters runtime (native writes, emulated scheduler, fork-compat ingest) by @pablonyx in #919
  • feat(activity): desktop loops/rosters/feed UI, live-wired by @pablonyx in #920
  • chore(repo-shape): unbreak main max-lines after goals stack by @pablonyx in #990

New Contributors

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