Important
v7.16.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 ๐
- Update grouped channel lists on partial updates to unwatched channels by @andremion in #6838
- Expose the blocked user's profile in
UserBlockby @andremion in #6839 - Add AIVoiceAgentState and the voice visualization driver by @aleksandar-apostolov in #6848
- Add AIVoiceWave composable as pre-build component by @aleksandar-apostolov in #6849
- Add AIVoiceGlow as a pre-built compose component by @aleksandar-apostolov in #6851
- AIConversation: a conversation laid out in turns by @aleksandar-apostolov in #6867
- AI message views with image and file attachments by @aleksandar-apostolov in #6868
- Show a pending message at once in AIConversation by @aleksandar-apostolov in #6869
- Reply actions under a finished AI reply by @aleksandar-apostolov in #6870
- Replaceable colours, text styles and file-type icons in AIConversation by @aleksandar-apostolov in #6874
Bug Fixes ๐
- Store a sent giphy and drop its preview by @gpunto in #6843
- Keep an offline reaction change when a server copy of the message is saved before the retry by @gpunto in #6847
- Send the edited group mentions instead of the ids kept in extraData by @gpunto in #6850
- Clear the channel list and message search when the user logs out or another user connects by @gpunto in #6861
- Clear the thread and mention lists when the user logs out or another user connects by @gpunto in #6863
Improvements โจ
- Move the channel endpoints to v2, keeping events, member updates and grouped queries on v1 by @gpunto in #6840
- Show only the page around a jumped-to reply in threads by @andremion in #6841
- Move grouped channel queries to v2 and hide custom values stored under declared field names by @gpunto in #6842
- Move the member partial update to v2 and deprecate its unused userId parameter by @gpunto in #6846
- Keep loaded grouped channel pages after a reconnect by @andremion in #6854
- Smooth how AIVoiceWave follows the audio level by @aleksandar-apostolov in #6860
- Handle disabled, hidden and partially updated grouped channels by @andremion in #6864
Internal ๐งช
- Move the build-conventions pins to 1.1.1 by @aleksandar-apostolov in #6852
- Run E2E tests in 8 shards by @aleksandar-apostolov in #6856
- [CI] Run only the E2E tests a pull request can affect by @testableapple in #6857
- Move the build-conventions pins to 1.1.2 by @aleksandar-apostolov in #6858
- Parse v2 websocket events with the generated models, ahead of moving the socket to v2 by @gpunto in #6853
- Connect the websocket through the v2 endpoint behind an internal flag, still off by default by @gpunto in #6865
- Fix JUnit 5 tests that declared the ignored JUnit 4 coroutine rule by @andremion in #6866
- Move the build-conventions pins to 1.1.3 by @andremion in #6872
- Run the E2E tests against a v2 mock server with the v2 websocket on demand by @gpunto in #6873
- Scroll to the first reply of the newer page in the thread jump E2E test by @gpunto in #6875
Full Changelog: v7.15.0...v7.16.0