Skip to content

Commit d8d7a77

Browse files
authored
Merge pull request #445 from pusher/release-10.1.6
Release 10.1.6
2 parents 79b773a + f56e7f7 commit d8d7a77

File tree

8 files changed

+21
-15
lines changed

8 files changed

+21
-15
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
55
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
66

7+
## [10.1.6](https://github.com/pusher/pusher-websocket-swift/compare/10.1.5...10.1.6) - 2025-06-20
8+
9+
### Fixed
10+
11+
- Upgrade NWWebSocket library to version 0.5.7 to fix reported crashes due to data race.
12+
713
## [10.1.3](https://github.com/pusher/pusher-websocket-swift/compare/10.1.2...10.1.3) - 2023-05-19
814

915
### Fixed

PusherSwift.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'PusherSwift'
3-
s.version = '10.1.5'
3+
s.version = '10.1.6'
44
s.summary = 'A Pusher client library in Swift'
55
s.homepage = 'https://github.com/pusher/pusher-websocket-swift'
66
s.license = 'MIT'

PusherSwiftWithEncryption.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'PusherSwiftWithEncryption'
3-
s.version = '10.1.5'
3+
s.version = '10.1.6'
44
s.summary = 'A Pusher client library in Swift that supports encrypted channels'
55
s.homepage = 'https://github.com/pusher/pusher-websocket-swift'
66
s.license = 'MIT'

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ source 'https://github.com/CocoaPods/Specs.git'
8282
platform :ios, '10.0'
8383
use_frameworks!
8484

85-
pod 'PusherSwift', '~> 10.1.0'
85+
pod 'PusherSwift', '~> 10.1.6'
8686
```
8787

8888
Then, run the following command:
@@ -150,7 +150,7 @@ let package = Package(
150150
targets: ["YourPackage"]),
151151
],
152152
dependencies: [
153-
.package(url: "https://github.com/pusher/pusher-websocket-swift.git", from: "10.1.0"),
153+
.package(url: "https://github.com/pusher/pusher-websocket-swift.git", from: "10.1.6"),
154154
],
155155
targets: [
156156
.target(
@@ -609,7 +609,7 @@ PusherChannel *myChannel = [pusher subscribeWithChannelName:@"my-channel"];
609609
610610
This returns PusherChannel object, which events can be bound to.
611611
612-
For non-presence channels, you can also provide a function that will be called when a client either subscribes or unsubscribes to a channel with the number of subscribers as a parameter. Also, this function is available as a parameter to `subscribe` function.
612+
For non-presence channels, you can also provide a function that will be called when a client either subscribes or unsubscribes to a channel with the number of subscribers as a parameter. Also, this function is available as a parameter to `subscribe` function.
613613
614614
```swift
615615
let onSubscriptionCountChanged = { (count: Int) in
@@ -644,9 +644,9 @@ Subscribing to private channels involves the client being authenticated. See the
644644
645645
Similar to Private channels, you can also subscribe to a [private encrypted channel](https://pusher.com/docs/channels/using_channels/encrypted-channels). This library now fully supports end-to-end encryption. This means that only you and your connected clients will be able to read your messages. Pusher cannot decrypt them.
646646
647-
Like with private channels, you must provide an authentication endpoint. That endpoint must be using a [server client that supports end-to-end encryption](https://pusher.com/docs/channels/using_channels/encrypted-channels#server). There is a [demonstration endpoint to look at using nodejs](https://github.com/pusher/pusher-channels-auth-example#using-e2e-encryption).
647+
Like with private channels, you must provide an authentication endpoint. That endpoint must be using a [server client that supports end-to-end encryption](https://pusher.com/docs/channels/using_channels/encrypted-channels#server). There is a [demonstration endpoint to look at using nodejs](https://github.com/pusher/pusher-channels-auth-example#using-e2e-encryption).
648648
649-
The shared secret used to decrypt events is loaded from the same auth endpoint request that is used to authorize your subscription. There is also a mechanism for reloading the shared secret if your encryption master key changes. If an event is encountered that cannot be decrypted, a request is made to your auth endpoint to attempt to load the new shared secret. If that request fails or if the returned secret still cannot decrypt the event then that event will be skipped, the `failedToDecryptEvent` connection delegate function will be called, and the next received event will be processed.
649+
The shared secret used to decrypt events is loaded from the same auth endpoint request that is used to authorize your subscription. There is also a mechanism for reloading the shared secret if your encryption master key changes. If an event is encountered that cannot be decrypted, a request is made to your auth endpoint to attempt to load the new shared secret. If that request fails or if the returned secret still cannot decrypt the event then that event will be skipped, the `failedToDecryptEvent` connection delegate function will be called, and the next received event will be processed.
650650
651651
Because of the requirement to reload the shared secret on demand, you can only use the following [auth methods](#configuration): `endpoint`, `authRequestBuilder`, `authorizer`. It is not possible to pass an instance of `PusherAuth` to the `subscribe` function if you are subscribing to an encrypted channel.
652652
@@ -833,7 +833,7 @@ Events can be bound to at 2 levels; globally and per channel. When binding to an
833833

834834
### Per-channel events
835835

836-
These are bound to a specific channel, and mean that you can reuse event names in different parts of your client application.
836+
These are bound to a specific channel, and mean that you can reuse event names in different parts of your client application.
837837

838838
#### Swift
839839

@@ -894,7 +894,7 @@ PusherChannel *chan = [pusher subscribeWithChannelName:@"my-channel"];
894894

895895
### Global events
896896

897-
You can attach behavior to these events regardless of the channel the event is broadcast to.
897+
You can attach behavior to these events regardless of the channel the event is broadcast to.
898898

899899
#### Swift
900900

@@ -1005,7 +1005,7 @@ myChannel.bind(eventName: "price-update", eventCallback: { (event: PusherEvent)
10051005

10061006
```
10071007

1008-
Alternatively, you could use [`JSONSerialization`](https://developer.apple.com/documentation/foundation/jsonserialization) to decode the JSON into Swift data types:
1008+
Alternatively, you could use [`JSONSerialization`](https://developer.apple.com/documentation/foundation/jsonserialization) to decode the JSON into Swift data types:
10091009

10101010
#### Swift
10111011

@@ -1073,7 +1073,7 @@ pusher.bind({ (message: Any?) in
10731073
```
10741074

10751075
#### Objective-C
1076-
1076+
10771077
```objc
10781078
[pusher bind:^void (NSDictionary *data) {
10791079
NSString *eventName = data[@"event"];

Sources/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<key>CFBundlePackageType</key>
1616
<string>FMWK</string>
1717
<key>CFBundleShortVersionString</key>
18-
<string>10.1.5</string>
18+
<string>10.1.6</string>
1919
<key>CFBundleSignature</key>
2020
<string>????</string>
2121
<key>CFBundleVersion</key>

Sources/PusherSwift.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import Foundation
22
import NWWebSocket
33

44
let PROTOCOL = 7
5-
let VERSION = "10.1.5"
5+
let VERSION = "10.1.6"
66
// swiftlint:disable:next identifier_name
77
let CLIENT_NAME = "pusher-websocket-swift"
88

Tests/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<key>CFBundlePackageType</key>
1616
<string>BNDL</string>
1717
<key>CFBundleShortVersionString</key>
18-
<string>10.1.5</string>
18+
<string>10.1.6</string>
1919
<key>CFBundleSignature</key>
2020
<string>????</string>
2121
<key>CFBundleVersion</key>

Tests/Integration/PusherClientInitializationTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import XCTest
22

33
@testable import PusherSwift
44

5-
let VERSION = "10.1.5"
5+
let VERSION = "10.1.6"
66

77
class ClientInitializationTests: XCTestCase {
88
private var key: String!

0 commit comments

Comments
 (0)