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