Promote v1.9.0 to production - #2625
Open
mrubens wants to merge 60 commits into
Open
Conversation
Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
* feat: enable native Fast GitHub PR merges * feat: extend Fast PR merging across providers * fix: bind provider merges to the intended target --------- Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* fix(api): stop automatic Telegram Fast reactions * fix(api): retain Telegram snapshot resume ack --------- Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
OpenAI gpt-5.x models fill every optional list_skills argument, so an exact-name lookup arrived with both scope IDs set and was rejected by the bridge schema. The bare catch then reported 'The requested skill catalog is unavailable.' on every call, which made models conclude the catalog was down. - Treat null as absent for list_skills and load_skill on every Fast host, not only inside task sandboxes. - Prefer environmentId when both scope IDs are given, and ignore a continuation offset without an exact name, instead of rejecting the call. - Report the zod issues for invalid arguments and log other failures. - Degrade a failing Settings or repository source to a catalog warning so packaged and instance skills still load. Co-authored-by: Matt Rubens <2600+mrubens@users.noreply.github.com>
* feat: add native Telegram thinking activity * fix: make Telegram thinking requests explicit --------- Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* feat: add native Telegram thinking activity * feat: stream Telegram Fast replies * fix: make Telegram thinking requests explicit --------- Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
* feat: add Telegram live task updates * chore: keep Telegram render result internal * fix: keep Telegram live updates compact and terminal * fix: keep Telegram launch message expandable * fix: match Telegram task link to Slack --------- Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* fix: preserve transcript output for audio attachments * fix: apply audio reasoning to selected model * fix: prioritize request-scoped reasoning * fix: scope audio reasoning to selected model --------- Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* feat: follow coding tasks every minute in voice mode * fix: preserve voice call marker order * fix: keep voice mode out of the Fast system prompt --------- Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
* fix: thread Telegram automation DM reports * fix: reuse Telegram automation recovery topics --------- Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* fix: restore Telegram PR review actions * fix: retire failed Telegram review carriers * fix: clear retired Telegram footer actions --------- Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
…2572) * fix: classify Telegram topic icons deterministically * fix: classify Telegram topic icons by model enum * refactor: clarify Telegram icon candidates --------- Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* fix(web): hide timer create and list receipts * test(web): align grouped timer visibility --------- Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
* fix: keep Telegram Fast activity turn-scoped * test: align Telegram reply lifecycle timing --------- Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
Co-authored-by: Roomote <roomote@roomote.dev>
* fix: send widget previews to Telegram * improve: share widget links across chat providers * fix: align widget guidance and test setup --------- Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* fix: let users retry loading tasks * test: cover the tasks list failure, retry and recovery wiring --------- Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* fix: authorize session artifact helper reads * test: assert authorized session artifact version reads --------- Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* fix: reject malformed deployment domains * fix: reject newline-embedded domains and avoid shell string in domain test - Reject embedded newlines/carriage returns in validate_domain before label splitting, since 'read' only consumes the first line of a here-string and previously let unvalidated trailing content through. - Add a regression case covering a domain with an embedded newline. - Restructure the deployment-scripts test to invoke bash with the runner script and candidate domain as explicit positional arguments instead of interpolating the script path into a '-c' shell string, clearing the CodeQL 'shell command built from environment values' finding while keeping the subprocess-boundary coverage intact. * test: assert carriage-return domains are rejected --------- Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* fix: keep Cloud email settings status-only * fix: show unavailable managed email status --------- Co-authored-by: Matt Rubens <2600+mrubens@users.noreply.github.com>
* feat: add atomic custom skill updates * fix: reject stale custom skill settings edits --------- Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
* fix: preserve Telegram rich message structure * fix: preserve nested Telegram lists --------- Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
* fix: select Telegram topic icons directly * refactor: deduplicate Telegram topic icons --------- Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com> Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
* fix: require matching environments for repository tasks * fix: remove ambiguous environment fallback * fix: generalize task environment guidance * fix: keep repository requirements above blank slate * fix: align blank slate with routing requirements --------- Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
…#2612) * fix: retire stale Telegram elicitations * fix: preserve image elicitation answers * fix: keep losing image replies isolated --------- Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* feat: add mobile session switching * feat: move mobile sessions to left rail --------- Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* feat: move mobile session switching into menu * refactor: share recent session navigation * fix: add new session action to mobile menu --------- Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
Contributor
This was referenced Sep 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Promote v1.9.0
Frozen at
83b0b77567590416d4d48b681bf3178fc087847b— the commit where1.9.0was versioned. Commits merged todevelopafterward require an explicit candidate refresh or ship in the next release.v1.9.0and triggers the existing GHCRv*image publish (latestchannel).release/v1.9.0branch can be deleted after this PR merges.Changelog
1.9.0 (2026-09-13)
Roomote 1.9 brings a native Telegram experience for Fast work, direct pull request merging and shared-skill editing, clearer mobile navigation, and personal task-finish notifications.
Highlights
/goal, live coding progress, reliable attachments, and clearer automation and review controls.Minor changes
/goal, keeping goal-directed work in the same chat or topic without switching to the web app.Patch changes