Important
v7.17.0 is published to the Stream Maven repository, not Maven Central.
// settings.gradle.kts
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven("https://stream-io-repo.com")
}
}What's Changed
New Features ๐
- Add hardDelete and skipPush to channel truncation, and remove truncated messages by the channel's truncatedAt by @gpunto in #6878
- Let apps override the channel list search filters and sort by @andremion in #6884
- Connector sign-in card on a tool call's step in AIConversation by @aleksandar-apostolov in #6890
Bug Fixes ๐
- Retry the messages, reactions and channels left in progress when the app process died by @gpunto in #6871
- Let a single answer poll vote move to another option by @andremion in #6880
- Hide messages created before the channel's truncation when reading them from the local database by @gpunto in #6879
- Save the outcome of message deletes and retry the deletes a dead app process left pending by @gpunto in #6883
- Retry distinct channels created offline with an empty id and keep their offline messages by @gpunto in #6886
- Watch open channels when the active channel refresh fails on reconnect by @andremion in #6891
- Set the member role from a channel_role in MemberData extra data when adding members or creating channels by @gpunto in #6898
- Keep placeholders of distinct channels created offline out of the sync after reconnect by @gpunto in #6897
- Fix attachment sends failing when extra data uses a typed attachment field name by @gpunto in #6899
Improvements โจ
- Connect the websocket through the v2 endpoint by default, keeping v1 behind the internal flag by @gpunto in #6876
- Parse v2 message.new events on the fast path when fastEventParsing is on by @gpunto in #6877
- Search channels by name and membership in the Standard channel list by @andremion in #6882
- Send channel events through the v2 endpoint and read the returned event with the v2 parser by @gpunto in #6881
- Replay missed events through the v2 sync endpoint and skip the ones that can't be read by @gpunto in #6885
- Content padding on AIConversation for a composer over the conversation by @aleksandar-apostolov in #6893
Internal ๐งช
- Remove the SyncManager retry on health events, which the socket never forwards by @gpunto in #6887
- Remove the v1 websocket now that every client connection goes through the v2 endpoint by @gpunto in #6889
- Remove the v1 event parsing now that events only arrive in the v2 shape by @gpunto in #6892
- Pin the v2 request body tests to literal bodies instead of comparing with the v1 parser by @gpunto in #6895
- Run the selected E2E tests on 8 shards by @aleksandar-apostolov in #6904
- Drop the v1 REST adapters that only the endpoints now on v2 used by @gpunto in #6900
- Build the E2E apks from the Actions cache instead of S3 by @aleksandar-apostolov in #6905
Full Changelog: v7.16.0...v7.17.0