Skip to content

Releases: pubnub/swift

9.2.0

15 May 12:03
094d029
Compare
Choose a tag to compare

May 15 2025

Added

  • The encryptStream(from:) convenience method in CryptoModule is designed to encrypt a local file. It eliminates the need for the caller to provide an InputStream and its content length - these are handled internally. You only need to pass a local file URL.

9.1.0

13 May 15:09
56b8f5e
Compare
Choose a tag to compare

May 13 2025

Added

  • The encrypt(stream:contentLength:) method in CryptoModule now returns an EncryptedStreamResult containing both the encrypted stream and its total content length
// Before
if case .success(let result) = cryptoModule.encrypt(stream: fileStream, contentLength: fileSize) {
  // The `result` variable is of type `InputStream` representing an encoded stream.
  // There's no information about the total length of the encoded stream
}

// Now
if case .success(let result) = cryptoModule.encrypt(stream: fileStream, contentLength: fileSize) {
  // The result variable is of type `EncryptedStreamResult`, containing both the encrypted stream 
  // and its content length:
  let stream = result.stream 
  let totalLength = result.contentLength
}
  • The new decryptStream(from:to:) method in CryptoModule simplifies file decryption by automatically handling low-level details, in contrast to decrypt(stream:contentLength:to:). Instead of manually creating an InputStream and specifying the content length, you now only need to provide the source and destination URLs.

9.0.1

20 Mar 14:58
1645946
Compare
Choose a tag to compare

March 20 2025

Fixed

  • Include endpoint error message in PubNubError's details property.
  • Defer computing the textual representation of EventEngine's current and previous states until needed.

9.0.0

06 Mar 11:34
2a6a177
Compare
Choose a tag to compare

March 06 2025

This version introduces breaking changes when providing a custom LogWriter. Please visit PubNub 9.0 Migration Guide for detailed information and instructions

Added

  • Add OSLogWriter as the recommended LogWriter to use.
  • Refine LogWriter protocol signature to support built-in Logger from the os framework.
  • Enhance object descriptions with CustomStringConvertible.
  • Add explanatory documentation for debug-level logging messages.

8.3.1

24 Jan 14:34
d1f8296
Compare
Choose a tag to compare

January 24 2025

Fixed

  • Fix the issue where the request's completion handler is not invoked in certain scenarios.

8.3.0

20 Jan 16:03
51163d6
Compare
Choose a tag to compare

January 20 2025

Added

  • Add ETag support for setting Channel and User metadata.

8.2.5

16 Jan 20:21
5878413
Compare
Choose a tag to compare

January 16 2025

Fixed

  • Fix the crash issue caused by multiple accesses to the state property in multithreaded scenarios.

8.2.4

10 Jan 12:27
2e3e028
Compare
Choose a tag to compare

January 10 2025

Fixed

  • Fix the issue of passing an invalid value for the storeTTL parameter in the KMP layer (internal use).
  • Handle shouldCompress parameter in the KMP layer (internal use).

8.2.3

03 Jan 12:03
4abf87c
Compare
Choose a tag to compare

January 03 2025

Added

  • Handle all possible values for the include field in the KMP layer (internal usage).

8.2.2

11 Dec 20:58
771973e
Compare
Choose a tag to compare

December 11 2024

Fixed

  • Fix excessive memory usage in the high-volume messages use case.
  • Add missing customMessageType in PubNubFileEvent.