Ably Cocoa library release 1.1.9

This is a bugfix release.

Important changes

Fixed bugs:

  • Push deactivate on an app is failing with push-subscribe permissions

Merged pull requests:

  • Delete device registration should not use the general-purpose endpoint

Complete list of changes available here.

⚠️ Important notes

Push related:

  • Whenever a new device token occurs in application(_:didRegisterForRemoteNotificationsWithDeviceToken:), the library was updating the LocalDevice.deviceIdentityTokenDetails with invalid data. The issue causing this was in the deviceUpdateRegistration.

  • After updating to this version, because of the bad state of deviceIdentityTokenDetails, it is possible that a response error with status code 401 occurs when a PATCH /push/deviceRegistrations request is done:

error =     {
    code = 40100;
    href = "https://help.ably.io/error/40100";
    message = "Incompatible deviceSecret specified for device access. (See https://help.ably.io/error/40100 for help.)";
    serverId = "frontend.33f8.1.eu-central-1-A.i-00dc4bfbae5ebfeac";
    statusCode = 401;
};

✅ The recommended way to fix the deviceIdentityTokenDetails bad state is to deactivate() -> activate() the device.

Versions

Podfile

pod 'Ably', '1.1.9'

Cartfile

github "ably/ably-cocoa" == 1.1.9

Objective-C

#import <Ably/Ably.h>

Swift

import Ably

See full release notes on GitHub.

Ably Java library release 1.1.2

This is a bugfix release.

Implemented enhancements:

  • ConnectionManager: ensure that cached token details are cleared on any connection error
  • Add interactive test notes to the README

Fixed bugs:

  • Push problems with push-subscribe permission
  • Push: LocaDevice.deviceSecret serialisation issue
  • Push: LocalDevice.reset() doesn't clear persisted device state
  • PUSH_ACTIVATE intent broadcast is not always sent when activating push
  • Stop using deprecated FirebaseInstanceIdService
  • Expired token never renewed
  • Presence: fix a couple test regressions

Closed issues:

  • Add RTN20 support - react to operating system network connectivity events
  • Exceptions when attempting to send with null WsClient

Merged pull requests:

  • README: add a note about the push example/test app
  • Reenable REST publish tests that depend on idempotency
  • Push fixes for 112
  • Local device reset fix

See the full release notes on GitHub.

Ably Javascript library release 1.1.14

This release adds support for running ably-js in a WebWorker context (thanks to Clifton Hensley for that contribution!)

Additional features and bug fixes:

  • Add check for double-encoded tokens
  • Reinstate message suppression based on connectionSerial to ensure no duplicate messages during transport upgrades

Ably now supports the Server-Sent Events (SSE) protocol

As of today, anyone building on Ably can seamlessly stream data over the Server-Sent Events (SSE) protocol using the Ably Adapter.

SSE becomes the fifth supported protocol for the Ably Adapter, with existing support for MQTT, STOMP, AMQP, and other proprietary realtime protocols. Note that this is a beta release but fully operational and production-ready.

pull-protocols-panel.png

What is SSE?

It’s a server push technology enabling a browser or device to receive automatic updates from a server via HTTP connection. With SSE, servers initiate data transmission towards clients once an initial client connection has been established.

It’s commonly used to send message updates, new events, or continuous data streams to a browser client. It’s designed to enhance native, cross-browser streaming through a JavaScript API called EventSource. Using this API, a client can easily receive an event stream by sending a request to a particular URL endpoint.

For the technical detail and to jump right in, check out the:

As always, feel free to contact us about how you can best use SSE and Ably.

Ably Cocoa Client Library SDK release 1.1.6

Important changes

Fixed bugs:

  • Lexical or Preprocessor Issue: 'SRWebSocket.h' file not found #840
  • KSCrashAblyFork ksthread_getQueueName #846

Breaking changes

We changed the name of our SocketRocket framework to SocketRocketAblyFork. In case you're using the library with Carthage, then you need to update the path of the SocketRocket framework on your application targets’ Build Phases settings tab:

59460334-c3634b80-8e16-11e9-81b3-de2378b2f384.png

Podfile

pod 'Ably', '1.1.6'

Cartfile

github "ably/ably-cocoa" == 1.1.6

Objective-C

#import <Ably/Ably.h>

Swift

import Ably

Here's the complete list of changes.

Ably Cocoa Client Library SDK release 1.1.5

Implemented enhancements:

  • Swift 5 / Xcode 10.2 #838

Fixed bugs:

  • Issue reported in iOS push tutorial #850

Please see the CHANGELOG for a complete list of changes.


Podfile:

pod 'Ably', '1.1.5'

Cartfile:

github "ably/ably-cocoa" == 1.1.5

Objective-C:

#import <Ably/Ably.h>

Swift:

import Ably

Any questions, get in touch.

Ably .NET Client Library SDK release 1.1.6 stable and 1.1.7 beta

.NET 1.1.6 stable release

This release implements Transient Publishing.

What is transient publishing?

When attempting to only publish to a client, it is possible to publish without attaching to the channel. This can be beneficial if you intend to publish into many channels, removing the need to attach to a channel each time you wish to publish. Additionally, it avoids the client subscribing to messages, avoiding messages being sent to it redundantly.

Please see the CHANGELOG for a complete list of changes.


.NET 1.1.7 beta release

  • This release introduces experimental network and power state detection.
  • This release has been well tested on Windows but less so on other platforms and the implementation may change in the future.

This is beta software, please use the 1.1.6 version if you want the stable release!

Please see the CHANGELOG for full details of this release.

Any questions, get in touch.

Ably Ruby Client Library SDK release 1.1.1

Transient publishing is now enabled in 1.1.1, and a few fixes to bugs relating to broken publishing with recovered connections or resuming connections that fail.

Release and full changelog.

Any questions, get in touch.

Ably .NET Client Library SDK 1.1.2 release

This is a minor bug fix release to resolve a breaking change when fetching History.

Previously the History method expected a parameter of HistoryRequestParams, this was refactored to improve code reuse and became PaginatedRequestParams.

This release adds back HistoryRequestParams as a subclass of PaginatedRequestParams to make the transition from 0.8 to 1.1 a little smoother for those that are upgrading.

More details of this change can be seen in the this PR #323.

See the CHANGELOG for complete a list of changes.

Any questions, get in touch.

Ably JavaScript client library release 1.1.8

We've made two fixes to the Ably JavaScript client library SDK:

  • Auth: if you do multiple concurrent authorize()s, make sure the token from last one wins
  • If fallback hosts are enabled and a connection is abruptly disconnected with a 5xx error, retry immediately to a fallback rather than waiting the usual 15s disconnectedRetryTimeout

Any questions, get in touch.