v2.9.0
Stream Features
Message Impressions
We now support three types of message impressions, which you can register with a simple method call. To find out how, read our docs article on Advanced Customization.
Note: You don't have to implement these impressions if you are not using a custom stream.
Mark Messages as Read
When building your custom stream, you can now mark your messages as read at a time that makes sense in your app. Read more here.
Delete Messages
Users can now delete messages. You can also programmatically delete messages in your own stream implementations. Read more here.
Parcelable Messages
Carnival Messages now implement the Parcelable interface, allowing them to be serialized in Android Intent bundles.
outState.putParcelableArrayList(BUNDLE_MESSAGES, mAdapter.getMessages());
...
ArrayList<Message> messages = savedInstanceState.getParcelableArrayList(BUNDLE_MESSAGES);
mAdapter = new MyAdapter(messages);
User ID
To interact with other systems and track users across apps, you can now set a user ID. This deprecates the unique identifier methods. Read more here.