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_message
now properly propagates thename
andcustom_data
for any attachments provided -
Fixes compatibility issue with Ruby 2.1.x
1.6.0 - 2019-07-30
- Support for setting
push_notification_title_override
increate_room
andupdate_room
methods.
1.5.0 - 2019-07-03
- Support for user specified room IDs. Provide an
id
parameter to thecreate_room
method.
- The
delete_message
method now requires a room ID parameter,room_id
, and theid
parameter has been renamed tomessage_id
to avoid ambiguity.
1.4.0 - 2019-06-24
- Unread counts. No new methods are added, but
getUserRooms
now includeunread_count
andlast_message_at
in the response
1.3.0 - 2019-06-18
- Async deletion methods.
async_delete_user
,async_delete_room
andget_delete_status
. Thedelete_room
anddelete_user
methods should be considered deprecated, and will be removed in a future version.
1.2.0 - 2019-03-08
send_multipart_message
,send_simple_message
andfetch_multipart_messages
using the new V3 endpoints
- all methods except
sendMessage
andgetRoomMessages
uses new V3 endpoints
1.1.0 - 2018-11-07
create_room
andupdate_room
acceptcustom_data
as part of theoptions
hash.
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_ids
has been renamed toget_users_by_id
generate_su_token
now returns a hash with the keystoken
andexpires_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::ErrorResponse
or return a hash of the form:
{
status: 200
headers: {
...
},
body: {
...
}
}
- Bump pusher-platform dependency to 0.11.2
- Unified all errors under a
Chatkit::Error
type
-
Added the following functionality:
create_room
update_room
delete_room
get_user_rooms
get_user_joinable_rooms
add_users_to_room
remove_users_from_room
get_user
update_user
create_users
send_message
delete_message
update_permissions_for_global_role
update_permissions_for_room_role
get_read_cursor
set_read_cursor
get_user_read_cursors
get_room_read_cursors
-
get_rooms
supports theinclude_private
option
- Removed
update_permissions_for_role
(replaced byupdate_permissions_for_global_role
andupdate_permissions_for_room_role
) authenticate_with_request
has been removed as we believeauthenticate
provides an easier to use API
get_rooms
now properly paginates using thefrom_ts
value 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
authenticate
now 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:
status
is the suggested HTTP response status code,headers
are the suggested response headers,body
holds 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.0
of 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_request
has been added so if you are using a web server that usesRack::Request
objects as the request objects then you can callauthenticate_with_request
like 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