Skip to content

Promote v0.34.0 to production - #1108

Merged
mrubens merged 11 commits into
mainfrom
release/v0.34.0
Aug 4, 2026
Merged

Promote v0.34.0 to production#1108
mrubens merged 11 commits into
mainfrom
release/v0.34.0

Conversation

@mrubens

@mrubens mrubens commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Promote v0.34.0

Frozen at 55fa64c370fb8839b127fdd031ab1eb5e344589a — the commit where 0.34.0 was versioned. Commits merged to develop afterward require an explicit candidate refresh or ship in the next release.

  • Merge this PR with a merge commit (do not squash or rebase).
  • If multiple promote PRs are open, merge them in version order (oldest first).
  • Merging publishes a GitHub Release for v0.34.0 and triggers the existing GHCR v* image publish (latest channel).
  • The release/v0.34.0 branch can be deleted after this PR merges.

Changelog

0.34.0 (2026-08-04)

This release adds Granola and Requesty connections, introduces Mind reader mode for expanded model thoughts, and improves task reliability across mixed-provider workspaces and chat delivery failures.

Highlights

  • Connect Granola once for deployment-wide access to approved meeting notes, folders, and transcripts.
  • Connect Requesty from setup or model settings with a curated catalog of current supported models.
  • Expand model thought blocks by default with the optional Mind reader mode.
  • Launch tasks reliably from workspaces that combine repositories across supported source-control providers.

Minor changes

  • Let deployment administrators connect Granola once so Roomote can securely browse the notes, folders, and transcripts allowed by the configured API key.
  • Add an optional Mind reader mode that expands LLM thought blocks by default while preserving manual conversation-level choices.
  • Let users connect Requesty from setup or model settings and start with a curated catalog of current supported models.

Patch changes

  • Use Roomote's stable branded Discord invite from the repository and in-app release notes.
  • Keep tasks running when agents attempt to read unsupported ICO or CUR files by returning a recoverable tool error before provider submission.
  • Launch tasks reliably from workspaces that combine repositories across GitHub, GitLab, Gitea, Azure DevOps, and Bitbucket with provider-scoped credentials. Thanks to @jantekb for reporting #1082.
  • Require an active deployment administrator to create or update shared environments through Roomote's MCP tools.
  • Stop completed chat tasks from entering repeated closeout attempts when message delivery has failed permanently.

daniel-lxs and others added 11 commits August 4, 2026 11:26
…1095)

* fix: stop closeout retry loops when chat delivery permanently fails

An automation task whose Slack channel rejects every chat.postMessage got
stuck in a loop: the stop hook demands a terminal closeout, the closeout
post fails with an opaque generic 502, the agent retries, and the hook
re-blocks on the next idle. The task burned reminder budget on 15 failed
posts and then completed silently with no closeout delivered anywhere.

Two fixes:

- Propagate the real Slack error. SlackNotifier.postMessageDetailed
  preserves the structured Slack error code (not_in_channel,
  invalid_auth, ...) instead of collapsing every failure into a missing
  timestamp, and the thread_reply MCP handler returns it with a
  structured retryable verdict (422 for permanent errors, 502 for
  transient ones).
- Give the closeout requirement an escape hatch. The worker records
  failed deliveries in the reply-satisfaction state; a non-retryable
  error (or five failed attempts) stamps a terminal delivery failure,
  the send_chat_reply result tells the agent to stop retrying, and the
  stop/silence hooks stand down so the task can complete instead of
  being reminded into a post that cannot succeed. A later successful
  post or a new inbound turn clears the stamp.

* fix: only successful posts clear the terminal delivery failure state

A successful reaction goes through reactions.add, not chat.postMessage,
so it proves nothing about the posting path. Clearing the delivery
failure state on reactions would re-arm closeout enforcement against a
channel that still rejects posts.
Co-authored-by: Matt Rubens <2600+mrubens@users.noreply.github.com>
Co-authored-by: Matt Rubens <2600+mrubens@users.noreply.github.com>
* feat: add mind reader preference

* fix: preserve concurrent preference updates

---------

Co-authored-by: Roomote <roomote@roomote.dev>
Co-authored-by: Roomote <roomote@roomote.dev>
Co-authored-by: Matt Rubens <2600+mrubens@users.noreply.github.com>
Co-authored-by: Matt Rubens <2600+mrubens@users.noreply.github.com>
* fix: prevent unsupported icon reads from crashing tasks

* fix: resolve symlinks before icon reads

---------

Co-authored-by: Matt Rubens <2600+mrubens@users.noreply.github.com>
Co-authored-by: Matt Rubens <2600+mrubens@users.noreply.github.com>
Co-authored-by: Matt Rubens <2600+mrubens@users.noreply.github.com>
* chore: release Roomote 0.34.0

* chore: remove release contributor acknowledgement

---------

Co-authored-by: Matt Rubens <2600+mrubens@users.noreply.github.com>
@mintlify

mintlify Bot commented Aug 4, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
roomote 🟢 Ready View Preview Aug 4, 2026, 9:39 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@roomote-community

roomote-community Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

2 issues outstanding. See task

  • packages/cloud-agents/src/server/task-run-queue.ts:1808 Mixed-provider stamps retain only a provider per repository and then clear sourceControlHost. Repository-level source-control reads and writes deliberately ignore the scalar host for mapped repositories, so a task targeting a same-name repository on two self-hosted instances cannot disambiguate its target and fails instead of using the intended host. Persist host identity per repository with the provider map.
  • packages/slack/src/slack-notifier.ts:904 A thread root can be deleted after hasMessageInThread succeeds. In that race chat.postMessage returns thread_not_found, but this is surfaced as a retryable delivery error rather than skippedMissingThreadRoot; the handler returns 502 and the agent retries an already-deleted thread instead of receiving the existing 409 terminal response. Map that threaded Slack error to the missing-root outcome.

Reviewed 55fa64c

@mrubens
mrubens merged commit 0f6a2f8 into main Aug 4, 2026
48 checks passed
@mrubens
mrubens deleted the release/v0.34.0 branch August 4, 2026 21:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants