What's Changed
- docs(self-host): restore a production snapshot into a new stack by @tc3oliver in #2167
- Agent import follow-ups: Back from a dropped agent, shared helpers, logged Undo failures by @elie222 in #2172
- fix(runs): deny an open approval when its run is stopped by @tc3oliver in #2171
- Give each screenshot of a remote desktop its own file by @elie222 in #2166
- Tell the simulated person when a screen step did nothing by @elie222 in #2169
- Drop the legacy isDefault column on model preferences by @elie222 in #2176
- Always show the password field and drop the sign-in method toggle by @elie222 in #2173
- Repair broken dependencies when preparing cloud computers by @elie222 in #2178
- Delete everything an account leaves on bot computers by @elie222 in #2161
- fix(runs): deny an expired run's open approval by @tc3oliver in #2181
- Run weekly Codex dependency updates in GitHub Actions by @elie222 in #2174
- Say where to send a link code, and match mobile messaging to web by @elie222 in #2175
- Make models, voice and confirmations account settings a space can customize by @elie222 in #2146
- Use one set of create labels and show the space hint on hover by @elie222 in #2179
- fix(adapters): keep runs going when the emoji font can't be installed by @elie222 in #2185
- Show the password length limit instead of "Password too long" (copy only; related to #2081) by @qiumochen in #2183
- fix(runtime): skip the SDK retry when a backup model is set by @tc3oliver in #2190
- Replace middle-dot separators with layout across the app by @elie222 in #2147
- Open the private space hint to the right of the create menu by @elie222 in #2188
- Keep placeholder account names out of bot prompts by @elie222 in #2189
- Let bots start a routine later and edit it in place by @elie222 in #2177
- Grade routine start dates and keep the simulated person on the real site by @elie222 in #2187
- Align sidebar section carets by @elie222 in #2186
- Add team chat room settings on mobile, sharing the rules with web by @elie222 in #2191
- Match the header star pill to the button and always show a star count by @elie222 in #2192
- Fall back to GitHub runners when a Depot image build fails by @elie222 in #2195
- Keep the New divider off fresh chats and clear it once you reply by @elie222 in #2193
- Boot the open computer once its bot's run lets go by @elie222 in #2196
- Focus the model setup step and make Claude sign-in hand back a code by @elie222 in #2197
- Route noVNC's double-slash screen socket through the proxy by @elie222 in #2198
- Continue the chat after an MCP card is approved by @elie222 in #2194
- Tell the simulated person when it repeats a screen step by @elie222 in #2200
- Approve by mode with allow and block lists by @elie222 in #2180
- Present the provider's origin on proxied screen requests by @elie222 in #2203
- Index the run, task and bot lookups that scanned whole tables by @elie222 in #2204
- fix(mobile): bring swiped rows back when a delete or archive doesn't happen by @ald3b in #2205
- Keep a routine's later start when only its timezone changes by @rjdotdev in #2206
- Record how long each computer runs, per user and space by @elie222 in #2201
- Let bots coordinate in their groups from other chats by @elie222 in #2202
- Connect Slack through one workspace setup action by @elie222 in #2199
- Drop the light border from chat approval cards by @elie222 in #2208
- feat(db): record each computer run's provider sandbox id by @elie222 in #2209
- Give every chat card the same borderless shell by @elie222 in #2212
- Keep a finished run completed when finalizing waits on the thread lock by @elie222 in #2211
- Classify unknown model stop reasons as unusable output by @elie222 in #2210
- Focus the running window on a second desktop launch by @princejain756 in #2132
- Use server labels on mobile approval buttons by @princejain756 in #2134
- fix(adapters): align file paths with Docker home by @vedantb7 in #2151
- fix(mcp): honour the private-endpoint opt-in during OAuth by @tc3oliver in #2101
- fix: inherit EAS production environment in android-apk profile by @awhite0030 in #2076
- Stop the computer from its menu, hide noVNC chrome, and leave lost spaces by @elie222 in #2215
- fix(web): allow CSV attachments in Android document picker by @linkalls in #2136
- Keep Claude sign-in alive when the code reaches another API process by @elie222 in #2213
- Run Rakazo computers as Kubernetes pods by @rinseaid in #2182
- fix(mobile): keep the chat title still when a chat opens by @ald3b in #2071
- Let flow runs start in parallel without colliding by @elie222 in #2217
- fix(web): keep a controlled screen open through a slow access check by @ald3b in #2116
- Translate markdown table and copy-button labels by @princejain756 in #2131
- Keep Kubernetes computer homes on a persistent volume by @rinseaid in #2184
- Let idle Boat computers sleep again and prune dead jobs by @elie222 in #2222
- fix(mobile): set the chat title in medium 17 and even out its capsule by @ald3b in #2079
- Localise cron schedule descriptions and fix singular intervals by @princejain756 in #2128
- Classify malformed keys, expired tokens and policy blocks as user-fixable by @elie222 in #2218
- feat(mobile): show a group's members in its chat title by @ald3b in #2080
- Refuse stdio MCP servers where the deployment can't run them by @elie222 in #2219
- feat(i18n): add Traditional Chinese for web and mobile by @TonyPepeBear in #2099
- Report a duplicate MCP server name as a conflict instead of a server error by @elie222 in #2225
- Let a repeated bot removal succeed instead of failing by @elie222 in #2224
- Show Messaging as a settings section instead of its own dialog by @elie222 in #2216
- Refresh the Traditional Chinese catalog after the messaging settings move by @elie222 in #2244
- Move space settings under General and drop the memory space picker by @elie222 in #2243
- Back off a routine whose model account keeps refusing it by @elie222 in #2214
- Count composer messages and measure model setup in product analytics by @elie222 in #2246
- fix(adapters): import RunErrorKind from contracts by @elie222 in #2249
- Connect Slack to the default bot, outside of spaces by @elie222 in #2245
- Explain failed computer starts and stop retrying computers that cannot run anything by @elie222 in #2248
- Retry transactions that never started by @elie222 in #2252
- Give every failed run one action that fixes it by @elie222 in #2253
- feat(voice): read long replies as a short summary by @chrisware in #1470
- Save large computer homes with bounded memory and disk by @elie222 in #2250
- Stop offering models agents cannot run, and check the model at connect by @elie222 in #2254
- Drop the border from chat question options by @elie222 in #2257
- Expect the current model error wording in the connect check test by @elie222 in #2261
- Split oversized files, share web/mobile logic, and tighten module boundaries by @elie222 in #2223
- Add a chat gallery page for checking UI consistency by @elie222 in #2258
- Tell bots a routine carries the user's lasting request by @elie222 in #2259
- fix: reject out-of-range ticket references by @yxr-2025 in #2263
- Give approval and secret buttons the standard card button size by @elie222 in #2260
- Split the mobile chat screen's sync, paging, scroll and send logic into hooks by @elie222 in #2265
- Hold each run's state in one context and split the executor's tool dispatcher and turn loop by @elie222 in #2267
- Recover damaged Boat computers once, and stop resuming stopped ones to save them by @elie222 in #2266
- Match the Android notifications endpoint check to the app's server URL rule by @elie222 in #2264
- fix: avoid zero-minute relative timestamps by @yxr-2025 in #2269
- fix: keep long Unicode read-aloud replies within synthesis limits by @yxr-2025 in #2271
- fix(routines): refuse duplicate and excess routines in schedule_create by @tc3oliver in #2232
- Checkpoint a Boat workspace as one archive instead of a request per file by @elie222 in #2255
- fix: preserve IPv6 URLs in search results by @yxr-2025 in #2276
- fix: reject impossible offset datetimes in schedules by @yxr-2025 in #2278
- fix(updater): preserve image tags with inline env comments by @yxr-2025 in #2280
- fix: preserve CRLF Docker log lines by @yxr-2025 in #2284
- fix: prefer the longest routine skill mention by @yxr-2025 in #2282
- Keep emoji whole when splitting long WhatsApp replies by @rjdotdev in #2285
- Send declared JSON request bodies unchanged from imported API connectors by @rjdotdev in #2286
- Use the shared reply-quote cap on mobile instead of a copy by @rjdotdev in #2289
- Stop a damaged computer instead of leaving it running by @rjdotdev in #2288
- fix: open each chat with its own side panel, closed by default by @elie222 in #2287
- fix: preserve Markdown table image descriptions by @yxr-2025 in #2295
- fix: preserve voice call markers at the start of history by @yxr-2025 in #2299
- fix: redact Windows profile names containing spaces by @yxr-2025 in #2297
- fix: preserve literal hashes in imported agent headings by @yxr-2025 in #2301
- fix: prefer complete group mention names by @yxr-2025 in #2303
- fix(updater): preserve full stdout for release selection by @yxr-2025 in #2305
- fix(search): keep snippets aligned after Unicode lowercasing by @yxr-2025 in #2310
- fix: redact fallback log sink errors by @yxr-2025 in #2311
- fix: preserve emoji in slash menu descriptions by @yxr-2025 in #2312
- Exclude email addresses from trusted outbound sites by @yxr-2025 in #2314
- fix: recognize CJK punctuation around routine skill mentions by @earsonlau in #2315
- fix: preserve UTF-8 across desktop CLI output chunks by @earsonlau in #2316
- Fix quoted cells in table Copy rows TSV by @yxr-2025 in #2318
- fix(desktop): keep background update errors silent after throttled checks by @yxr-2025 in #2321
- fix: keep chat controls above hovered messages by @todaymare in #2320
- Fix quoted .env API keys followed by comments during agent import by @yxr-2025 in #2323
- Stop resending a reply the provider already accepted by @rjdotdev in #2326
- Charge $10 a month for running bots on your own model connection by @elie222 in #2273
- chore: share adapter context construction by @elie222 in #2290
- fix: avoid duplicate catalog account names by @yxr-2025 in #2293
- Show a damaged computer's Recover message instead of a server error by @rjdotdev in #2291
- Allow public OpenAI-compatible model endpoints by default by @elie222 in #2329
- fix: correctly classify "failed to resolve reference" as image-not-found by @awhite0030 in #2240
- chore: allow blank GitHub issues for proposals by @elie222 in #2332
- Offer an Upgrade button and a direct link to the plan choice by @elie222 in #2333
- Cache monthly Stripe price IDs by @elie222 in #2331
- Tell a running computer apart from a working screen, with fixed failure reasons and Recover by @rjdotdev in #2067
- feat: operator menu links that open a same-origin page in the web app by @elie222 in #2334
- feat(mobile): Routines screen with on/off switches by @ald3b in #2207
- fix(computer): scroll where the bot points by @ald3b in #2247
- fix: confirm image sends to models without visual input by @rjdotdev in #1996
- Fix four errors still firing in production by @elie222 in #2335
- Letter question options and show answers in place by @elie222 in #2337
- Drop cards around single controls in bot settings by @elie222 in #2336
- Fix choice-card e2e after the lettered option rows by @elie222 in #2338
- Add a live flow that connects an MCP server from its approval card by @rjdotdev in #2256
- Let mobile settings screens retry a failed load by @rjdotdev in #2328
- Keep the line breaks of a pasted multi-line secret by @rjdotdev in #2242
- Keep the computer preview's Open pill readable on hover by @elie222 in #2339
- Keep the skill draft card honest about unsaved edits and failed saves by @rjdotdev in #2327
- Show artifact file sizes with the shared formatter by @rjdotdev in #2330
- Clarify the plan choice and subscribe from both cards by @elie222 in #2340
- Hide each line of a multi-line secret in output by @elie222 in #2343
- fix(adapters): continue a reply cut off at the output limit by @ald3b in #2342
- Start the own-key plan with a 7-day free trial by @elie222 in #2345
- Keep OpenAI-compatible base URLs that already contain a version segment by @rjsadow in #2347
- fix(logging): redact forward-slash Windows profile paths in monitoring by @elie222 in #2351
- fix(web): keep sidebar previews to one truncated line by @elie222 in #2352
- Let bots generate and save passwords and keys they never see by @elie222 in #2349
- perf(api): narrow membership and account projections by @luinbytes in #2355
- Show a routine's run history as a plain list on web and mobile by @elie222 in #2350
- perf(api): stop search after the result budget fills by @luinbytes in #2354
- Let a generated login also give its password to shell commands by @elie222 in #2361
- perf(clients): coalesce event-driven snapshot refreshes by @luinbytes in #2357
- perf(db): index recent foreground activity by scope and order by @luinbytes in #2356
- Drain bounded pages of scheduled recovery work by @luinbytes in #2353
- Wrap content keys with AWS KMS when configured by @elie222 in #2362
- Offer Crisp chat on the homepage and paywall by @elie222 in #2365
- Drop duration and "Done" from routine run history rows by @elie222 in #2364
- perf(mentions): batch routine reads while retaining client caches by @luinbytes in #2358
- Publish fair use limits for hosted plans by @elie222 in #2368
- Run migrations in a one-shot container that alone holds the owner login by @elie222 in #2369
- Move bot credentials into a vault every bot in a Space can use by @elie222 in #2372
- Let bots on a hosted server run commands on the user's own computer by @elie222 in #2348
- Ask people to confirm it's them before sensitive data is shown by @elie222 in #2370
- Add a Vault settings screen on mobile by @elie222 in #2373
- fix(desktop): repair quoted empty stack passwords by @yxr-2025 in #2378
- fix(updater): rewrite whitespace-delimited duplicate env assignments by @yxr-2025 in #2377
- Let the owner reveal a saved credential after confirming it's them by @elie222 in #2381
- Manage the vault from Settings instead of each bot by @elie222 in #2374
- Refuse saving into a Space vault the Space no longer uses by @elie222 in #2384
- Show a saved credential on mobile after confirming it's you by @elie222 in #2397
- Fix mobile attachment identity collisions by @yxr-2025 in #2425
- fix(contracts): accept valid MCP header names by @yxr-2025 in #2380
- fix: wrap exported plot legends to the canvas width by @yxr-2025 in #2383
- fix(core): match Chinese locale variants consistently by @yxr-2025 in #2386
- fix(core): start read queue timeouts when tasks run by @yxr-2025 in #2389
- fix(core): derive backend-valid MCP server slugs by @yxr-2025 in #2391
- fix(core): preserve whitespace in taught input by @yxr-2025 in #2395
- fix(voice): bound Fish Audio catalog page concurrency by @yxr-2025 in #2398
- Preserve combining marks in mobile share filenames by @yxr-2025 in #2404
- fix(chat): keep emoji whole in shortened links by @yxr-2025 in #2406
- Add missing OpenAI speech voices by @yxr-2025 in #2410
- fix(voice): surface nested server error messages by @yxr-2025 in #2412
- Keep Android notifications on the selected Space by @yxr-2025 in #2413
- Preserve sibling MCP tool schema compositions by @yxr-2025 in #2419
- Keep peer chart replies visible in threads by @yxr-2025 in #2424
- Preserve run owners for live input requests by @yxr-2025 in #2428
- test(adapters): make desktop-prepare call counts host-independent by @SilasSolivagus in #2429
- Show a saved credential on web after confirming it's you by @elie222 in #2399
- Fold space environment variables into the vault by @elie222 in #2401
- docs: add ConnectorMap to README Thanks by @luinbytes in #2367
- Fix testing the selected subscription connection by @yxr-2025 in #2418
- Keep surrogate pairs intact in activity and bot text by @yxr-2025 in #2437
- Treat run events for a deleted thread as closed run history by @elie222 in #2453
- Let account deletion finish when a Boat sandbox belongs to another key by @elie222 in #2452
- Let transactions wait for a busy pool as long as other queries by @elie222 in #2454
- Keep client disconnects and cancelled revokes out of error reports by @elie222 in #2455
- Fall back when connector SVG artwork cannot render on mobile by @elie222 in #2456
- Remove noise comments across the repo by @elie222 in #2457
- Let bots buy things from their user's wallet, starting with Stripe Link by @elie222 in #2371
- Send new accounts a welcome email with one-click unsubscribe by @elie222 in #2458
- Explain how to delete a Rakazo account without the mobile app by @elie222 in #2462
- Give mobile a real plan choice with in-app checkout by @elie222 in #2459
- Type an approved card into payment provider frames by @elie222 in #2461
- Pay with Link pay tokens and for HTTP APIs that answer 402 by @elie222 in #2463
- Show channels and capabilities on the homepage by @elie222 in #2460
- Offer the homepage in every language the app ships by @elie222 in #2473
- Release mobile 1.0.10 by @elie222 in #2474
- fix(adapters): keep a bot's notes out of its reply and answer mid-task messages by @ald3b in #2241
- Scan the app image without pulling it back from the registry by @elie222 in #2475
- fix(adapters): keep a bot's notes by position, not wording by @elie222 in #2476
- Fix the CI flakes behind most reruns by @elie222 in #2477
- fix(adapters): let watch routines read MCP tools behind the lazy catalog by @elie222 in #2438
- Wait for pairing before desktop test cleanup by @yxr-2025 in #2451
- fix(compose): cap Rolldown threads in web so it starts on many-core hosts by @balabommablock-cpu in #2440
- Preserve Unicode boundaries in history results by @yxr-2025 in #2445
- fix: properly truncate long text in CollaborationMarker by @awhite0030 in #2403
- docs: sync Chinese README with development setup and supported locales by @earsonlau in #2237
- fix(adapters): preserve image support for live Codex models by @hphproton in #2467
- fix(adapters): load and redact Vault command credentials in routine command watches by @hphproton in #2465
- fix(docker): build the Node images on Node 24.22.1 (CVE-2026-111497) by @FredrikZeiner in #2275
- Defer idle sleep on a concurrent home save and ride out Expo network blips by @elie222 in #2485
- fix(bot-messages): don't relay a bare NO_RESPONSE to the asking bot by @tc3oliver in #2234
- fix(adapters): split WhatsApp replies by their rendered length by @elie222 in #2491
- Show a chat message as plain text when markdown parsing overflows the stack by @elie222 in #2489
- Keep user-fixable connector and sign-in failures out of error reports by @elie222 in #2487
- feat(mobile): pick the approval mode from a Settings row by @ald3b in #2344
- fix(mobile): avoid duplicate chats when opening notifications by @Quack6765 in #2341
- refactor(core): fold text boundary helpers into truncatePlainText by @elie222 in #2490
- Classify the model failures still reported as server errors by @elie222 in #2488
- fix(tts): allow free-text input for self-hosted Kokoro voices by @awhite0030 in #2236
- Save website logins as a list of named fields by @elie222 in #2478
- Keep numeric output-budget counters visible in structured logs by @elie222 in #2479
- Recover from provider request caps and reject unsupported models by @elie222 in #2484
- Fix main's failing unit tests by @elie222 in #2498
- fix(mobile): report a replayed startup crash under the release that crashed by @elie222 in #2497
- fix: show agent description inline in sidebar roster by @awhite0030 in #2426
- Browse and install plugins from Integrations on web and mobile by @elie222 in #2470
- Make skills, MCP servers and plugins available in all or chosen spaces by @elie222 in #2494
- Add seeded Rakazo avatars and live activity states by @elie222 in #2499
- perf(supervisor): skip the screen setup script for a browser call right after setup by @init-lunacy in #2504
- i18n(web): fill Simplified Chinese shell, call, and plural strings by @earsonlau in #2512
- Make the Compose backup test opt-in by @zicochaos in #2516
- Don't start mobile dictation after an abort during loading by @zicochaos in #2518
- Expire computer leases instead of deleting them on stop/switch by @zicochaos in #2517
- Make board prefix changes atomic against first-ticket creation by @zicochaos in #2520
- feat(web): stop the installed app from zooming by @paintenzero in #2050
- Add an integrations directory and a docs site to rakazo.com by @elie222 in #2521
- feat(mobile): receive shares from other Android apps by @renatosneves in #1563
- Bring in Rakazo avatar follow-ups from #2495 by @elie222 in #2522
- Match the board rename race test to its blocking creator by @zicochaos in #2523
- Keep the avatar pencil above the working ring by @awhite0030 in #2420
- Name the saved rule that blocked a tool in the agent's refusal by @earsonlau in #2466
- Preserve graphemes in mobile share filenames by @yxr-2025 in #2444
- Preview approval rule changes on tool samples by @earsonlau in #2421
- fix(mobile): keep the group mark in the chat header before members load by @linkalls in #2235
- Fix inline bot mentions at the composer caret by @elie222 in #2525
- Ignore stale desktop setup results after edits or mode changes by @zicochaos in #2529
- Release iOS through App Store review from one workflow by @elie222 in #2526
- Offer "Always open {site}" on the external-link prompt by @jzelez in #2272
- feat(sandbox): add Novita desktop provider by @steven-forresttechnologies in #2346
- Add optional point-in-time recovery for the Compose Postgres by @elie222 in #2530
- Stop mobile call speech when the caller hangs up by @zicochaos in #2519
- Sign Windows desktop builds with Azure Artifact Signing by @elie222 in #2524
- Export a whole account and import it on another install by @elie222 in #2528
- Make PR descriptions shorter and lead with what and why by @elie222 in #2538
- Rebuild a rejected OpenAI-compatible context at the window the server reports by @rjdotdev in #2537
- Point Greptile at AGENTS.md and stop patching code that should go by @elie222 in #2540
- Ship the Windows app as an unsigned beta and link the apps from the welcome email by @elie222 in #2542
- Fix stale approval refresh failures on mobile by @yxr-2025 in #2545
- Keep review rules in AGENTS.md, not in Greptile's config by @elie222 in #2546
- Drop Greptile's AGENTS.md pointer and tighten the reviewer line by @elie222 in #2551
- Fix Playwright report result for retried runs by @yxr-2025 in #2548
- Start PR descriptions with plain What and Why sections by @elie222 in #2552
- Fix OpenClaw standalone config asset validation by @yxr-2025 in #2556
- Take one PITR base backup when the replication slot is created by @elie222 in #2547
- feat(mobile): open the bot's profile from a one-to-one chat's title by @ald3b in #2514
- Start ID and phone login fields visible by @ald3b in #2532
- Gate production deploys only on checks that catch a broken server by @elie222 in #2559
- fix(adapters): sign-ins without a password get a login card by @ald3b in #2534
- Make the bot's browser tools click for real, read dropdowns and report the page by @ald3b in #2531
- Remove the bot label and record manual bot setting edits by @elie222 in #2539
- Fix stale earlier-message errors on mobile by @yxr-2025 in #2562
- Avoid reading excess mobile documents by @yxr-2025 in #2565
- Drop the heavyweight point-in-time recovery tests by @elie222 in #2567
- Fix the Web E2E flakes behind recent main failures by @elie222 in #2568
- Fix Windows pnpm dev launcher by @yxr-2025 in #2558
- Fix stale agent backup previews by @yxr-2025 in #2571
- Let a bot set its first instructions in chat and move instructions under Advanced by @elie222 in #2553
- Default new bots to the Original avatar set by @elie222 in #2566
- Center "Messaged" and "Message from" markers in a bot's chat by @Quack6765 in #2550
- Fix chat row hit area by setting ContextMenu content shape by @awhite0030 in #2557
- Preserve Lark inbound code blocks by @yxr-2025 in #2572
- fix(web): let web_fetch read past a truncated page by @tc3oliver in #2230
- Run the database suites CI was skipping by @elie222 in #2574
- i18n(web): fill remaining Simplified Chinese UI strings by @earsonlau in #2515
- docs(self-host): restricted egress on Docker-in-VM hosts (OrbStack) by @tc3oliver in #2231
- Let worker runs stop cooperatively on shutdown by @zicochaos in #2509
- Preserve emoji in mobile share filenames by @yxr-2025 in #2508
- Use configured backups for explicit 4xx account exhaustion by @rinseaid in #2577
- Hide the Skills icon from the sidebar footer by @elie222 in #2564
- Stop quoting a typed answer inside an option question by @elie222 in #2580
- Give subscribers a free month for each friend who starts a trial by @elie222 in #2573
- Start every space in Auto approval mode by @elie222 in #2581
- Roll the worker during deploys so chat keeps running by @elie222 in #2582
- Open the desktop app as a window that fits the screen by @elie222 in #2492
- Show a clear message when an app has no managed auth by @elie222 in #2486
- Open the view-only bot chat at its latest message by @elie222 in #2482
- Preserve overlay intent during space switches by @yxr-2025 in #2587
- Group the account menu around Settings by @elie222 in #2588
- Let every owner invite friends and simplify the referral schema by @elie222 in #2590
- Redact user profile paths in server logs and error reports by @zicochaos in #2591
- Start scheduled and maintenance jobs as soon as they are due by @elie222 in #2589
- fix(web): keep the chat header above message rails and avatars by @elie222 in #2481
- Keep the bot-to-bot chat header clear of desktop window controls by @elie222 in #2483
- Judge every action in a Composio batch, including through a Composio MCP server by @elie222 in #2493
- Say when a login's site address is missing by @ald3b in #2595
- Start each bot run the moment it's created, in the process that created it by @elie222 in #2593
- Treat computer provider outages as retryable, not server errors by @elie222 in #2598
- Stop the web app filing a CSP report on every page load by @elie222 in #2604
- Answer voice key refusals as account problems, not server errors by @elie222 in #2603
- Stop using the bot label and self-update setting, and drop unused referral tables by @elie222 in #2599
- Stop reporting expected client failures as errors by @elie222 in #2600
- Stop holding chats back when the worker's memory is only file cache by @elie222 in #2606
- Treat rejected MCP sign-ins and revoked ChatGPT tokens as user-fixable by @elie222 in #2596
- Link the homepage self-host section to GitHub and the docs by @elie222 in #2610
- Let GitHub see visits that come from rakazo.com by @elie222 in #2607
- Drop the bot label, self-update setting and legacy referral columns by @elie222 in #2609
- Let a computer sleep while a run waits for takeover by @elie222 in #2612
- Honor Boat's rate limits and stop tight polling by @elie222 in #2597
- Keep UTF-8 characters intact when command output splits them across chunks by @rjdotdev in #2614
- Drop tables and columns in one PR with deferred migrations by @elie222 in #2615
- Sign Windows desktop releases with GitHub OIDC by @elie222 in #2613
- Deploy the newest main commit sooner and skip CI a change cannot affect by @elie222 in #2616
- Settle OpenRouter model credits with the right id and the full cost by @elie222 in #2608
- chore(desktop): release v0.3.6 by @elie222 in #2628
New Contributors
- @qiumochen made their first contribution in #2183
- @vedantb7 made their first contribution in #2151
- @linkalls made their first contribution in #2136
- @rinseaid made their first contribution in #2182
- @TonyPepeBear made their first contribution in #2099
- @chrisware made their first contribution in #1470
- @todaymare made their first contribution in #2320
- @rjsadow made their first contribution in #2347
- @SilasSolivagus made their first contribution in #2429
- @Quack6765 made their first contribution in #2341
- @init-lunacy made their first contribution in #2504
- @zicochaos made their first contribution in #2516
Full Changelog: v0.3.5...v0.3.6