Repository navigation
What's Changed
- Users table: the admin Users list, offboarding record and sign-in links by @16francej in #2851
- Move model route resolution into a shared module and route decision rules through it by @16francej in #3070
- Run the browser tool on the session's model route by @16francej in #3074
- Label models served by company ChatGPT access as org-billed in the runtime listing by @16francej in #3071
- Revert minimal multitenancy by @ReganBell in #3090
- Revert "Keep users and their sign-in links in real tables (#2851)" by @16francej in #3093
- Hold the transcript's height across redraws so a rebuilt reply cannot clamp the follower's scroll by @ReganBell in #3095
- Wake an idle peer conversation when another top-level conversation messages it by @ReganBell in #3066
- Name offending fields in tool argument errors; say when connected-app access ends by @16francej in #2902
- Ask for blocking input up front, keep the person's own claims, report verified cron progress by @16francej in #2903
- Start the recall query embedding alongside the notebook load by @ReganBell in #3029
- Ship the web UI as published static releases served by core; fold web-ui, portal and auth into core by @ReganBell in #2870
- Run daily-or-less crons on the conversation runtime default by @ReganBell in #3096
- Rank memory recall from a binary sketch and rerank the best candidates exactly by @ReganBell in #2754
- Let native app skills run over brokered app connections by @16francej in #3008
- Key users by a generated id, with every sign-in as a link, and mark Slack apps by @16francej in #3094
- Tell the agent to keep cron code in scripts or Files, never on a sandbox disk by @ReganBell in #3108
- Re-drive a cron fire whose wait is cut by shutdown instead of failing it by @ReganBell in #3107
- Capture memory only from person-authored turns in human conversations by @ReganBell in #2694
- Let a person's explicit web steer reach a live automation turn by @ReganBell in #3109
- Add Explaining-away UI and Category gate without census lenses by @ReganBell in #3110
- Remove Projects row hover tooltip by @evebouf in #3061
- Skip inbox sync turns when a provider pre-check finds nothing new by @ReganBell in #3111
- Ask a provider with a question limit using the member's own message by @garrytan in #3005
- Add a sidebar grouping setting: by scope or by activity by @ReganBell in #3116
- web-ui: Slack group DM avatars on Projects page rows by @evebouf in #3062
- Keep automatic capture within 20 facts per write and give provider writes 30 seconds by @garrytan in #2987
- Move the native iOS client into ios/ by @ReganBell in #2935
- Ambient: start workers with their Slack source and record failed starts by @pcapriolo-yc in #3082
- Attest a person only to that person, never in a shared room by @garrytan in #2877
- Sidebar: experimental last-message row titles behind a personal flag by @ReganBell in #3119
- Descriptive session titles behind a personal flag by @ReganBell in #3115
- Nudge a plain-text answer to a person's thread follow-up into a post by @ReganBell in #3125
- Steer a subagent message into the target's running turn instead of queueing a turn by @ReganBell in #3126
- Cover a subagent's message to a busy sibling steering its running turn by @ReganBell in #3128
- Personas: reusable agents with shared access by @16francej in #3089
- Move background-work chip to the right of session titles by @ReganBell in #3129
- Keep 1M/1M gateway models (Gemini 4 Argon/Carbon) with a safe output-limit fallback by @ReganBell in #3130
- Register an MCP server from its URL by @16francej in #3131
- Approval cards run the approved call on click by @ReganBell in #2926
- Let web UI session replay follow the PostHog project settings by @16francej in #3132
- Route a separate AWS apiUrl host and apps domain straight to core's API port by @ReganBell in #3134
- Read admin people pages from the users table by @16francej in #3138
- Treat private shared channels like other channels for their own members by @16francej in #3139
- Accept Slack relay deliveries for tenants without their own bridge credential by @ReganBell in #3149
- Quiet code-block copy button by @ReganBell in #3153
- Let agents size a Porter computer's memory on create and restart by @tjq in #3121
- Start a personal chat from the top New session action in every sidebar mode by @ReganBell in #3152
- Let an attested MCP connector serve its signed-in person in any audience by @ReganBell in #3151
- Record which client surface each web turn came from by @ReganBell in #3167
- Helm: support additional resource labels by @JessicaGCarvalho in #3120
- Attest the actor in every conversation for audience any by @ReganBell in #3169
- web-ui: Cmd+Enter does the opposite of the steer/queue default by @ReganBell in #3157
- Show the Slack reply box without waiting on the connection check by @ReganBell in #3156
- Background-work chip: inline after the title, no subagents by @ReganBell in #3159
- Contain mid-stream upstream failures in web-ui file relay by @ReganBell in #3166
- List a persona's crons on its page; keep the tab persona pill from stealing tab clicks by @16francej in #3150
- Name the in-flight request in fatal crash logs and reports by @ReganBell in #3171
- Relay every server stream through one error-safe helper by @ReganBell in #3172
- Let core authenticate browser sign-in sessions on routes that opt in by @ReganBell in #3174
- Persona page: manage skills, crons, credentials and channels; version history with rollback; persona attribution in Slack by @16francej in #3161
- Delete unreachable web UI relay branches and uncalled GET relays by @ReganBell in #3173
- Capture only credential files after a credentialed command by @16francej in #3133
- Keep core serving with failing health checks until the shutdown drain deadline by @ReganBell in #3175
- Record a stop with no output as the Stop entry alone, not a "(stopped)" reply by @ReganBell in #3178
- Let agents size a computer's memory on every provider that can take a size by @16francej in #3158
- Bind caller-named principalId to the signed-in actor on every person-scoped route by @ReganBell in #3179
- Give core its shutdown drain plus 30 s to exit on Helm by @ReganBell in #3182
- Replace built-in product analytics with generic deployment hooks by @16francej in #3183
- CI: upgrade a seeded database from the latest published release by @16francej in #3176
- Serve the first browser reads from core through /api aliases by @ReganBell in #3185
- Serve the transcript and cron run reads from core through /api aliases by @ReganBell in #3187
- Serve the first browser writes from core through /api aliases by @ReganBell in #3189
- Manage persona access in place on the persona page by @garrytan in #3186
- Serve cron edits, swarm controls, runtime settings and persona credential grants from core through /api aliases by @ReganBell in #3191
- Serve the active-run lookup, run reads and the run event stream from core through /api aliases by @ReganBell in #3192
- Tidy the persona access page's spacing, notes and messages by @garrytan in #3190
- Serve file content, playgrounds and by-name downloads from core through /api aliases by @ReganBell in #3193
- Serve web turns, approvals and run signals from core through /api aliases by @ReganBell in #3195
- Serve the web UI's live-update stream and /me from core by @ReganBell in #3196
- Serve admin pages, voice, UI canvas, the Composio return and run withdraw from core through /api aliases by @ReganBell in #3197
- Serve keychain, app management, webhooks, connector and Composio starts, ambient policy, directory lookup and suggested activities from core through /api aliases by @ReganBell in #3199
- Stream the web UI's blob, file and admin file uploads straight into core by @ReganBell in #3202
- Gate Inbox and Loops on the per-person flag in core and delete the web UI env allowlists by @ReganBell in #3203
- Serve the web UI shell and share pages from core and delete the web UI relay server by @ReganBell in #3204
- Show scroll-to-bottom arrow in Slack threads by @evebouf in #3205
- Attest a scheduled turn's owner only when the answer goes back to them by @garrytan in #2952
- Refuse MCP memory providers that would pool memory across conversations by @garrytan in #3208
- Keep long runs of slashes in paths and URLs from stalling the server by @garrytan in #3209
- Subagents started by a Slack bot keep the bot's restrictions by @garrytan in #3207
- Fetch loop item images through the guarded fetch by @garrytan in #3194
- Derive an admin-edited cron destination's audience from its target by @garrytan in #3210
- Let operators allow named private addresses for MCP, sign-in and memory servers by @garrytan in #3206
- Keep long runs of dots or colons from stalling deploy paths and reaction names by @garrytan in #3211
- README: list hosted QM options by @16francej in #3212
- Add a durable memory registry and its org-admin API by @garrytan in #2878
- Keep a Slack bot's restrictions when it steers a running turn, directs a person's swarm, or passes a live-person check by @garrytan in #3214
- Refuse private network addresses for custom model key checks and decision endpoints by @garrytan in #3215
- Set a memory brain's client secret through a core-only drop link by @garrytan in #2890
- Let members connect their own memory brain by @garrytan in #2945
- Keep recall and search rows' identity and merge scopes by turn, not score by @garrytan in #2961
- Keep a Slack bot's stop, goal commands and swarm reads off a person's work by @garrytan in #3216
- Memory: one mutation authority for every caller, notebook-only tidy by @garrytan in #2966
- Let a Slack channel wear a persona and lock its instructions to that persona's writers by @garrytan in #3122
- Post as the channel's persona in Slack by @garrytan in #3123
- Hand a persona to the default admin when its last owner leaves by @garrytan in #3148
- Shrink draft copy icon and use shared tooltip by @evebouf in #3218
- Replace the channel persona stack with a pin on the channel's grant by @16francej in #3213
- Remove the server-side analytics events hook by @16francej in #3221
- Drop the Render Hobby lifetime fallback and the image environment export by @anurag in #3135
- Terminate Render sandboxes that no record tracks by @anurag in #3184
- Keep admin Users, Retention and Security flags fast on large histories by @16francej in #3177
- Keep side chats beside their source conversation by @ReganBell in #3228
- Return TERM-immune Render commands as timeouts, restart Render computers in place, and report stopped ones as paused by @16francej in #3227
- Upgrade 0.1.16 databases to single-tenant keys and block on the upgrade check by @16francej in #3226
- Add Claude Fable 5.2 as a selectable model with fast mode by @ReganBell in #3229
- Restore upgrades from published 0.1.15 databases by @ReganBell in #3168
- Omit admin permissions from /me while impersonating by @ReganBell in #3233
- Give core a 60-second termination grace period on Porter by @ReganBell in #3232
- Delete the legacy unversioned OAuth callback page by @ReganBell in #3234
- Remove the sidebar last-message titles experiment and its feature flag by @ReganBell in #3239
- Delete the portal's anonymous playground mode by @ReganBell in #3160
- Stop mid-tool-call no longer writes the partial reply twice by @ReganBell in #3253
- web-ui: show attached files on a waiting steer row by @ReganBell in #3237
- Tell only the person who stopped a Slack turn, instead of posting Stopped. in the thread by @ReganBell in #3255
- Make responsive spine delegation the default for internal actors by @ReganBell in #3236
- Multitenant standard: per-company hosts and sign-in clients, tenant-bound Slack, app publishing, settings reload, tenant-keyed caches by @ReganBell in #3124
- Portal pages: QM Desktop harbour scene, masthead and card styling by @ReganBell in #3141
- Fix tenant binding for the release harness, session-state subscribers and legacy app hosts by @ReganBell in #3296
- Keep core alive when a loop-inbox event reaches web tabs outside a tenant binding by @ReganBell in #3299
- Normalize partition dates inside index and constraint names in the v0.1.16 upgrade test by @ReganBell in #3301
- Add a Prod-like QA example: QA on a local provider for a change that ships on another by @ReganBell in #3147
- Move run availability watching out of the run store factory into its own module by @ReganBell in #3306
New Contributors
- @tjq made their first contribution in #3121
- @JessicaGCarvalho made their first contribution in #3120
Full Changelog: v0.1.16...v0.1.17