> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.meetstream.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.meetstream.ai/_mcp/server.

# Changelog

> Dated MeetStream release notes, newest first: API and webhook changes, Zoom, Google Meet and Microsoft Teams updates, storage, calendar, transcription, dashboard, SDK, CLI and MCP releases, with breaking changes called out.

Customer-facing changes to MeetStream, newest first. Each entry is tagged with the platform or area it affects: **Zoom**, **Google Meet**, **Teams**, **API**, **Webhooks**, **Calendar**, **Storage**, **Transcription**, **Dashboard** or **SDK** (SDKs, CLI and MCP server).

> **Warning**
>
> **Breaking changes in the last six months**
>
> * **Sep 15, 2026 · Zoom:** MeetStream-hosted Zoom token endpoints return `410 Gone`.
> * **Sep 2, 2026 · Zoom:** `use_zoom_obf` and `zoom_oauth_connection_user_id` return `400`. Use `zoom.zak_url` or `zoom.obf_url`.
> * **Aug 29, 2026 · Webhooks:** signatures are computed over the exact raw request body.
> * **Aug 24, 2026 · API:** only `automatic_leave.no_one_joined_timeout` is read; the spelling `noone_joined_timeout` is ignored.
> * **Jun 6, 2026 · API:** `video_required` defaults to `true`.
> * **May 28 to 29, 2026 · Webhooks:** lifecycle events were restructured and every bot ending is sent as `event: "bot.stopped"` with the cause in `bot_event`.

## September 2026

* **Sep 15** · Zoom · API · **Breaking.** The MeetStream-hosted Zoom token endpoints `GET /api/v1/zoom/zak-token` and `GET /api/v1/zoom/obf-token` are retired and return `410 Gone`. Serve ZAK and OBF tokens from your own endpoint and pass it as `zoom.zak_url` or `zoom.obf_url`. See [Zoom Authenticated Bots](/guides/app-integrations/zoom-authenticated-bots).
* **Sep 11** · Teams · API · Dashboard · **Microsoft Teams signed-in bots.** Register your tenant domain and bot accounts through the API or under **Integrations > Teams Bots**, then pass `teams.teams_login_domain` on `create_bot` so the bot joins as a signed-in user. See [Microsoft Teams Signed-In Bots](/guides/app-integrations/teams-signed-in-bots).
* **Sep 10** · Google Meet · Signed-in Google Meet bots work with newer Google Workspace SSO profiles.
* **Sep 9** · API · You are no longer charged for bots that fail before reaching the waiting room or the meeting, for example because the link is invalid or the meeting requires sign-in.
* **Sep 7** · Zoom · **Pause and resume recording on Zoom** with `pause_recording` and `resume_recording`. See [Mid Meeting Recording Controls](/guides/features/pause-resume-recording).
* **Sep 4** · Storage · **Cloudflare R2** is available as custom storage.
* **Sep 3** · Webhooks · Webhook deliveries send `User-Agent: MeetStream-Webhook/1.0`, so receivers behind bot-filtering proxies accept them.
* **Sep 2** · Zoom · API · **Breaking.** Signed-in (ZAK) and on-behalf-of (OBF) Zoom joins use tokens from your own endpoint, passed as `zoom.zak_url` or `zoom.obf_url`. `use_zoom_obf` and `zoom_oauth_connection_user_id` now return `400`. The hosted Zoom OAuth connect flow was removed from the dashboard; Zoom app credentials are still saved under **Integrations > Zoom**. See [Zoom Authenticated Bots](/guides/app-integrations/zoom-authenticated-bots).
* **Sep 1** · Teams · **Pause and resume recording on Microsoft Teams.** Chat messages captured from Teams have HTML entities decoded.

## August 2026

* **Aug 31** · Transcription · Deepgram post-call transcription detects the spoken language automatically when you don't set one.
* **Aug 30** · Storage · **Alibaba Cloud OSS** is available as custom storage, in read + write or write-only mode. See [Alibaba Cloud OSS](/guides/features/custom-storage-configurations/alibaba-cloud-oss).
* **Aug 29** · Webhooks · **Breaking for some verifiers.** Workspace webhook signatures are computed over the exact raw request body. Verify the HMAC against the bytes you received, not re-serialized JSON. See [Verifying Webhook Signatures](/guides/webhooks/webhook-signature-verification).
* **Aug 29** · API · `POST /api/v1/bots/{bot_id}/transcribe` works for any bot that has left the meeting, including bots that are `Done` or were removed by the host.
* **Aug 26** · SDK · **Official SDKs 1.0.0**: `@meetstream/sdk` for Node.js and `meetstream-sdk` for Python. See [Official SDKs](/build-with-ai/sdks).
* **Aug 24** · API · **Breaking.** The automatic leave setting is `automatic_leave.no_one_joined_timeout`. The spelling `noone_joined_timeout` is no longer read. See [Automatic Leave Configurations](/guides/features/automatic-leave-configuration).
* **Aug 18 to 20** · Dashboard · New accounts get a guided onboarding wizard.
* **Aug 15** · Google Meet · Teams · Scheduled bots start joining shortly before their scheduled time so they are in the meeting when it begins. The bot's recorded start time is still the scheduled join time.
* **Aug 13** · SDK · MeetStream CLI 0.2.0 and MCP server 0.3.0. Both send anonymous usage telemetry, which you can turn off with `DO_NOT_TRACK=1`.

## July 2026

* **Jul 18** · Calendar · Dashboard · Connect several Google and Outlook calendar accounts from the dashboard. See [Google Calendar](/guides/calendar-integrations/google-calendar-oauth-setup) and [Outlook Calendar](/guides/calendar-integrations/outlook-calendar-setup).
* **Jul 14** · Zoom · MIA voice agents can appear with an avatar on Zoom.
* **Jul 13** · Transcription · `meeting_captions` produces a transcript you can read with the transcript API during and after the call. See [Meeting Captions](/guides/transcription-recordings/providers/meeting-captions).
* **Jul 12 to 14** · SDK · **MeetStream MCP server** and **MeetStream CLI** published on npm, including a hosted remote MCP endpoint. See [MeetStream MCP Server](/build-with-ai/meetstream-mcp-server) and [MeetStream CLI](/build-with-ai/meetstream-cli).
* **Jul 8** · API · Participant join events include the participant's webcam and microphone state.
* **Jul 6** · Storage · **IAM role authentication** for Amazon S3 custom storage, with an external ID. See [Amazon S3](/guides/features/custom-storage-configurations/amazon-s3).

## June 2026

* **Jun 24** · Google Meet · **Pause and resume recording** with `POST /api/v1/bots/{bot_id}/pause_recording` and `resume_recording`.
* **Jun 16 to 18** · Dashboard · **Shared workspaces** with owner, admin, editor and viewer roles. See [Workspaces](/guides/get-started/workspaces).
* **Jun 9** · Teams · MIA voice agents can appear with an avatar on Microsoft Teams.
* **Jun 8** · Google Meet · `initial_audio` plays a short audio clip once the bot is admitted.
* **Jun 6** · API · **`deduplication_key`** on `create_bot` and calendar scheduling: a repeat request returns the original bot instead of creating a second one. See [Deduplication & Idempotency Keys](/guides/features/deduplication-idempotency-keys).
* **Jun 6** · API · **Breaking.** `video_required` defaults to `true`. When video is on, the recording uses the `grid_view` layout unless you set `recording_config.video_layout`. Send `"video_required": false` for audio-only bots.
* **Jun 5** · Storage · Custom storage supports separate prefixes for audio, video, transcripts and metadata.
* **Jun 1** · API · `automatic_leave.voice_inactivity_timeout` (60 to 1800 seconds) takes effect.

## May 2026

* **May 30** · API · Optional MP3 files alongside WAV: `audio_mixed_mp3` for the mixed recording and `audio_separate_mp3` for per-participant audio.
* **May 29** · Webhooks · **Breaking.** Every bot ending is sent with `event: "bot.stopped"`; the new `bot_event` field names the cause (`bot.stopped`, `bot.kicked`, `bot.denied`, `bot.notallowed` or `bot.failed`). A kick reports `bot_status: "Stopped"`. New `bot.scheduled` event for bots created with `join_at`. See [Webhooks and Events](/guides/webhooks/webhooks-and-events).
* **May 28** · Webhooks · **Breaking.** Lifecycle events restructured: `bot.joining` fires when MeetStream accepts the request; `bot.waitingroom` is renamed `bot.in_waiting_room`; new ending events `bot.kicked`, `bot.denied`, `bot.notallowed` and `bot.failed`; new Zoom events `bot.recording_permission_allowed` and `bot.recording_permission_denied`; `bot.done` is sent for every bot when post-call processing finishes. A Zoom recording-permission denial ends with `bot.stopped`.
* **May 28** · API · `automatic_leave.bot_detection.using_participant_names` makes the bot leave when only other bots remain. See [Automatic Leave Configurations](/guides/features/automatic-leave-configuration).
* **May 27** · Transcription · `sarvam_streaming` live transcription. See [Sarvam](/guides/transcription-recordings/providers/sarvam).
* **May 23** · Calendar · Connect several Google and Outlook accounts to one MeetStream account, and manage them with the `/api/v1/calendar/connections` endpoints.
* **May 21** · Calendar · **Outlook Calendar integration** for Microsoft 365 and Outlook.com. See [Outlook Calendar Setup](/guides/calendar-integrations/outlook-calendar-setup).
* **May 21** · Webhooks · New `bot.recording`, `bot.leaving` and `bot.done` events. Failed endings carry `status_code: 500`.
* **May 19** · API · `Idempotency-Key` header on `create_bot`, and `PATCH /api/v1/calendar/scheduled_bots/{bot_id}` can change a scheduled bot's full configuration.
* **May 12** · Transcription · Native live transcription with `meetstream_streaming`, and `jigsawstack_streaming` on Google Meet. See [Live Transcription](/guides/transcription-recordings/live-transcription).
* **May 10** · Webhooks · Dashboard · **Workspace webhook endpoints**: up to 10 per workspace, each with its own event subscriptions and signing secret, plus a delivery log with resend. See [Workspace Webhook Endpoints](/guides/webhooks/workspace-webhooks).
* **May 9** · Google Meet · Teams · API · On-demand screenshots of the meeting and endpoints to list and fetch them.

## April 2026

* **Apr 21 to 22** · API · `recording_config.video_layout` (`grid_view` or `speaker_view`) for recordings on Zoom, Google Meet and Microsoft Teams.
* **Apr 20 to 25** · API · MIA agent configs can be created and managed with your API key, with custom functions (tool calling), prompt variables and mid-call updates. See [MIA API Guide](/guides/mia/mia-api-guide).
* **Apr 15** · API · Real-time chat message events (`participant_events.chat_message`) through realtime endpoints.
* **Apr 3 to 18** · Google Meet · **Google signed-in bots**: bots sign in to a Google Workspace account through SSO before joining. See [Google Signed-In Bots](/guides/app-integrations/google-signed-in-bots).
* **Apr 10** · API · Zoom · Google Meet · Teams · **Release 1.3.0**
  * **Send Message API** to post chat messages from the bot, and **Send Image API** to show an image, including animated GIFs, as the bot's video. See [In-Meeting Chat & Visuals](/guides/features/chat-and-visuals).
  * **Per-participant audio** on Google Meet and Zoom. See [Per Participant Audio](/guides/transcription-recordings/per-participant-audio).
  * **Per-participant video** on Zoom, Google Meet and Microsoft Teams. See [Per Participant Video](/guides/transcription-recordings/per-participant-video).
  * **Participant events**: join and leave events for each participant. See [Participants & Speaker Timeline](/guides/features/participants-and-speaker-timeline).
  * **Bring your own S3 bucket** for recordings, in read + write or write-only mode. See [Amazon S3](/guides/features/custom-storage-configurations/amazon-s3).
  * **Schedule bots up to 3 months (90 days) ahead** with `join_at`. See [Scheduling Bots](/guides/features/scheduling-bots).
  * **Transcription re-trigger**: run post-call transcription again with `POST /api/v1/bots/{bot_id}/transcribe`.
* **Apr 2** · API · Google Meet · Teams · **Release 1.2.0**
  * **Live per-participant video** streaming on Google Meet and Microsoft Teams.
  * **Sarvam AI** transcription, and the native `meetstream` transcription provider. See [Transcription Providers](/guides/transcription-recordings/providers/transcription-providers).
  * **Hosted Zoom OAuth** for signed-in Zoom joins (retired in September 2026; see Sep 2 and Sep 15 above).
  * **Calendar Integration API** for Google Calendar: sync events and schedule bots automatically.
  * **Webhook notifications** configured for your account.
  * **Stripe Checkout** for buying credits in the dashboard.
  * **Google Gemini Live** as a realtime model for MIA voice agents.

## March 2026

* **Mar 8** · Transcription · **JigsawStack** post-call transcription provider. See [JigsawStack](/guides/transcription-recordings/providers/jigsawstack).
* **Mar 1 to 4** · Dashboard · Sign in with GitHub, and manage Google signed-in bot credentials in the dashboard.

> **Note**
>
> Dates are when each change shipped in the product code; SDK, CLI and MCP entries use their npm and PyPI publish dates. For questions about a change, [contact support](/guides/help/support).