Skip to content

3.0.0

Choose a tag to compare

@mogita mogita released this 05 Mar 17:09
· 78 commits to main since this release
7eb46ea

[3.0.0] - 2026-03-25

Installation

  pip install "getstream>=3,<4"
  # or
  uv add "getstream>=3,<4"

https://pypi.org/project/getstream/

Breaking Changes

  • Type names across all products now follow the OpenAPI spec naming convention: response types are suffixed with Response, input types with Request. See MIGRATION_v2_to_v3.md for the complete rename mapping.
  • Event (WebSocket envelope type) renamed to WSEvent. Base event type renamed from BaseEvent to Event (with field type instead of T).
  • Event composition changed from monolithic *Preset embeds to modular Has* types.
  • Pager renamed to PagerResponse and migrated from offset-based to cursor-based pagination (next/prev tokens).
  • Types that were previously dict or TypedDict (e.g., User, Channel, Message) are now full dataclasses with typed fields.

Added

  • Full product coverage: Chat, Video, Moderation, and Feeds APIs are all supported in a single SDK.
  • Feeds: activities, feeds, feed groups, follows, comments, reactions, collections, bookmarks, membership levels, feed views, and more.
  • Video: calls, recordings, transcription, closed captions, SFU, call statistics, user feedback analytics, and more.
  • Moderation: flags, review queue, moderation rules, config, appeals, moderation logs, and more.
  • Push notification types, preferences, and templates.
  • Webhook support: WHEvent envelope class for receiving webhook payloads, utility functions for decoding and verifying webhook signatures, and a full set of individual typed event dataclasses for every event across all products (Chat, Video, Moderation, Feeds) usable as discriminated event types.
  • Cursor-based pagination across all list endpoints.

PR

  • [CHA-1578] refactor: code generated from openapi specs by @mogita in #205

Full Changelog: v2.7.1...v3.0.0