- Bump supported versions to include PHP8.2, 8.3
- Bump supported versions to include PHP8.2, 8.3.
- [Fixed] Timeout option is propagated to guzzle client
- [Fixed] Include socket_id in batch trigger if included.
- [FIXED] composer.phar file removed from package
- [FIXED] authenticateUser returns correct auth value
- [CHANGED] explicit support for 8.1
- [CHANGED] Ignore pull_request_template.md on vendor
- [ADDED] has_mixed_channels method to allow triggering a single event on multiple channels
- [FIXED] path option can be used for proxied servers under subdirectory.
- [CHANGED] base_path's leading slash is trimmed on every call to Guzzle.
- [ADDED]
authenticateUser
,authorizeChannel
andauthorizePresenceChannel
- [ADDED]
sendToUser
andsendToUserAsync
- [ADDED]
terminateUserConnections
andterminateUserConnectionsAsync
- [FIXED]
get_object_vars()
error on/src/Pusher.php
- [DEPRECATED]
socketAuth
andpresenceAuth
in favour ofauthorizeChannel
andauthorizePresenceChannel
- [DEPRECATED] Internal functions
make_request
andmake_batch_request
that were exposed as public
- [CHANGED] Add psr/log v2.0 and v3.0 compatibility
- [FIXED] Infinite recursion in
presence_auth
.
- [DEPRECATED]
get_channel_info
,get_channels
,socket_auth
,presence_auth
in favour of camelCased versions - [DEPRECATED]
get_users_info
in favour ofgetPresenceUsers
- [DEPRECATED]
ensure_valid_signature
in favour ofverifySignature
- [CHANGED] Restrict
$app_id
parameter of thePusher()
object tostring
(int
was possible). - [ADDED] Return types.
- [ADDED] Namespacing, PSR-12 formatting.
- [ADDED] triggerAsync and triggerBatchAsync using the Guzzle async interface.
- [CHANGED] Use type hints where possible (mixed type not available in PHP7).
- [CHANGED] Document that functions can throw GuzzleException.
- [CHANGED] internal HTTP client to Guzzle
- [ADDED] optional client parameter to constructor
- [CHANGED] useTLS is true by default
- [REMOVED]
curl_options
from options - [REMOVED] customer logger
- [REMOVED] host, port and timeout constructor parameters
- [REMOVED] support for PHP 7.1
- [CHANGED] lower severity level of logging to DEBUG level
- [CHANGED] Ensure version in Pusher.php is bumped on release.
- [CHANGED] Add release automation actions.
- [FIXED] Notice raised due to reference to potentially missing object property in
trigger
method
- [CHANGED] The methods that make HTTP requests now throw an
ApiErrorException
instead of returningfalse
for non-2xx responses - [CHANGED]
trigger
now accepts a$params
associative array instead of a$socket_id
as the third parameter - [ADDED] Support for requesting channel attributes as part of a
trigger
andtriggerBatch
request via aninfo
parameter - [REMOVED]
debug
parameter from methods that make HTTP requests and from the constructor options - [REMOVED] Support for legacy push notifications (this has been superseded by https://github.com/pusher/push-notifications-php)
- [ADDED] Support for PHP 8.
- [FIXED] Errors in the failure path of
get_...
methods revealed by stricter type checking in PHP7.4
- No functional change, previous release was only partially successful
- [ADDED] option
encryption_master_key_base64
- [DEPRECATED] option
encryption_master_key
- [ADDED] Support for PHP 7.4.
- [ADDED]
path
configuration option.
- [REMOVED] Support for PHP 5.x, PHP 7.0 and HHVM.
- [ADDED] Support for PHP 7.3.
- [ADDED]
get_users_info
method.
- [FIXED] PHP Notice for Undefined
socket_id
in triggerBatch
- [ADDED] Support for End-to-end encrypted channels for triggerbatch
- [FIXED] trigger behavior with mixtures of encrypted and non-encrypted channels
- [ADDED] This release adds support for end to end encrypted channels, a new feature for Channels. Read more in our docs.
- [DEPRECATED] Renamed
encrypted
option touseTLS
-encrypted
will still work!
- [ADDED] This release adds Webhook validation as well as a data structure to store Webhook payloads.
- [FIXED] Non zero indexed arrays of channels no longer get serialized as an object.
- [ADDED] PSR-3 logger compatibility.
- [CHANGED] Improved PHP docs.
- [FIXED] Insufficient check for un-initialized curl resource.
- [FIXED] Acceptance tests.
- [CHANGED] Info messages are now prefixed with INFO and errors are now prefixed with ERROR.
- [NEW] Added namespaces (thanks @vinkla).
- [FIXED] Log the curl error in more circumstances
- [FIXED] Check for correct status code when POSTing to native push notifications API.
- [ADDED] support for publishing push notifications on up to 10 interests.
- [REMOVED] Native push notifications payload validation in the client.
- [FIXED] DDN and Native Push endpoints were not assembled correctly.
- [NEW] Native push notifications
- [CHANGED] One curl instance per Pusher instance
- [FIXED] Presence data could not be submitted after the style changes
- [ADDED] Support for batch events
- [ADDED] Curl options
- [FIXED] Applied fixes from StyleCI
- [ADDED] A new
cluster
option for the Pusher constructor.
- [FIXED] Fixed a PHP 5.2 incompatibility caused by referencing a private method in array_walk.
- [FIXED] Channel name and socket_id values are now validated.
- [BROKE] Inadvertently broke PHP 5.2 compatibility by referencing a private method in array_walk.
- [CHANGED]
new Pusher($app_key, $app_secret, $app_id, $options)
- The$options
parameter has been added as the forth parameter to the constructor and other additional parameters are now deprecated.
- [NEW]
$pusher->trigger
can now take anarray
of channel names as a first parameter to allow the same event to be published on multiple channels. - [NEW]
$pusher->get
generic function can be used to makeGET
calls to the REST API - [NEW]
$pusher->set_logger
to allow internal logging to be exposed and logged in your own logs.
- [CHANGED] Debug response from
$pusher->trigger
call is now an associative array in the formarray( 'body' => '{String} body text of response', 'status' => '{Number} http status of the response' )
- [CHANGED] Added optional $options parameter to get_channel_info. get_channel_info($channel, $options = array() )
- [CHANGED] Renamed get_channel_stats to get_channel_info
- [CHANGED] get_channels now takes and $options parameter. get_channels( $options = array() )
- [REMOVED] get_presence_channels
- [FIXED] Overwritten socket_id parameter in trigger: #3
- [NEW] Versioning introduced at 2.0.0
- [NEW] Added composer.json for submission to https://packagist.org/
- [CHANGED]
get_channels()
now returns an object which has achannels
property. This must be accessed to get the Array of channels in an application. - [CHANGED]
get_presence_channels()
now returns an object which has achannels
property. This must be accessed to get the Array of channels in an application.