Skip to content

v4.0.0

Compare
Choose a tag to compare
@Minishlink Minishlink released this 17 Mar 20:47
· 95 commits to master since this release
75d198b

See migration commit in web-push-php-example

  • Support new aes128gcm content encoding (used notably in MS Edge)

You get your content encoding in your client JS code, and store it in your database alongside the rest of the subscription:

const contentEncoding = (PushManager.supportedContentEncodings || ['aesgcm'])[0];
  • [BREAKING] You must use a new Subscription object in sendNotification

Before:

use Minishlink\WebPush\WebPush;

$webPush->sendNotification(
    'endpoint',
    'payload', // optional (defaults null)
    'userPublicKey', // optional (defaults null)
    'userAuthToken' // optional (defaults null)
);

After:

use Minishlink\WebPush\WebPush;
use Minishlink\WebPush\Subscription;

$subcription = Subscription::create([
    'endpoint' => 'endpoint',
    'publicKey' => 'public key', // optional
    'authToken' => 'authToken', // optional
    'contentEncoding' => 'aesgcm', // optional, one of PushManager.supportedContentEncodings
]);

$webPush->sendNotification(
    $notification['subscription'],
    $notification['payload'] // optional (defaults null)
);