All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Updates several dependencies for minor security vulnerabilities
- Fix support for parameters which allow spaces. Methods whose parameters contain spaces and were interpolated into URI path segments were incorrectly encoded. For example, user ids containing spaces when passed to get_user_rooms had spaces encoded as '+' (suitable for query strings) not '%20'.
- Adds message editing via
edit{_simple,_multipart,}_message.
- Includes updated Gemfile.lock
1.7.0 - 2019-11-28
- Support for fetching a single message by its message ID via
fetch_multipart_message
-
send_multipart_messagenow properly propagates thenameandcustom_datafor any attachments provided -
Fixes compatibility issue with Ruby 2.1.x
1.6.0 - 2019-07-30
- Support for setting
push_notification_title_overrideincreate_roomandupdate_roommethods.
1.5.0 - 2019-07-03
- Support for user specified room IDs. Provide an
idparameter to thecreate_roommethod.
- The
delete_messagemethod now requires a room ID parameter,room_id, and theidparameter has been renamed tomessage_idto avoid ambiguity.
1.4.0 - 2019-06-24
- Unread counts. No new methods are added, but
getUserRoomsnow includeunread_countandlast_message_atin the response
1.3.0 - 2019-06-18
- Async deletion methods.
async_delete_user,async_delete_roomandget_delete_status. Thedelete_roomanddelete_usermethods should be considered deprecated, and will be removed in a future version.
1.2.0 - 2019-03-08
send_multipart_message,send_simple_messageandfetch_multipart_messagesusing the new V3 endpoints
- all methods except
sendMessageandgetRoomMessagesuses new V3 endpoints
1.1.0 - 2018-11-07
create_roomandupdate_roomacceptcustom_dataas part of theoptionshash.
1.0.0 - 2018-10-30
- Room IDs are now strings throughout.
- All functions now take a single hash as their sole parameter
get_users_by_idshas been renamed toget_users_by_idgenerate_su_tokennow returns a hash with the keystokenandexpires_in, to match the return value ofgenerate_access_token- All functions that interact with the API (i.e. everything but authentication methods) either raise a
PusherPlatform::ErrorResponseor return a hash of the form:
{
status: 200
headers: {
...
},
body: {
...
}
}- Bump pusher-platform dependency to 0.11.2
- Unified all errors under a
Chatkit::Errortype
-
Added the following functionality:
create_roomupdate_roomdelete_roomget_user_roomsget_user_joinable_roomsadd_users_to_roomremove_users_from_roomget_userupdate_usercreate_userssend_messagedelete_messageupdate_permissions_for_global_roleupdate_permissions_for_room_roleget_read_cursorset_read_cursorget_user_read_cursorsget_room_read_cursors
-
get_roomssupports theinclude_privateoption
- Removed
update_permissions_for_role(replaced byupdate_permissions_for_global_roleandupdate_permissions_for_room_role) authenticate_with_requesthas been removed as we believeauthenticateprovides an easier to use API
get_roomsnow properly paginates using thefrom_tsvalue provided
0.7.2 - 2018-07-20
- Bump pusher-platform-ruby dependency to 0.8.2
0.7.1 - 2018-05-24
- Bump pusher-platform-ruby dependency to 0.8.1
0.7.0 - 2018-04-23
- Bump pusher-platform-ruby dependency to 0.8.0
authenticatenow returns an object like this:
{
"status": 200,
"headers": {
"Some-Header": "some-value"
},
"body": {
"access_token": "an.access.token",
"token_type": "bearer",
"expires_in": 86400
}
}where:
statusis the suggested HTTP response status code,headersare the suggested response headers,bodyholds the token payload.
If there's an error with the authentication process then the return value will be the same but with a different body. For example:
{
"status": 422,
"headers": {
"Some-Header": "some-value"
},
"body": {
"error": "token_provider/invalid_grant_type",
"error_description": "The grant_type provided, some-invalid-grant-type, is unsupported"
}
}- Authentication no longer returns refresh tokens.
If your client devices are running the:
- Swift SDK - (breaking change) you must be using version
>= 0.8.0of chatkit-swift. - Android SDK - you won't be affected regardless of which version you are running.
- JS SDK - you won't be affected regardless of which version you are running.
authenticate_with_requesthas been added so if you are using a web server that usesRack::Requestobjects as the request objects then you can callauthenticate_with_requestlike this:
auth_data = chatkit.authenticate_with_request(request, { user_id: 'testymctest' })0.6.1 - 2018-01-26
- Bump pusher-platform-ruby dependency to 0.6.0