Skip to content

Commit c2e5a7f

Browse files
authored
Merge pull request #1185 from ably/release/1.6.0
Release/1.6.0
2 parents 90387fe + a4b5aa1 commit c2e5a7f

File tree

5 files changed

+61
-6
lines changed

5 files changed

+61
-6
lines changed

CHANGELOG.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,60 @@
11
# Change Log
22

3+
## [1.6.0](https://github.com/ably/ably-java/tree/v1.6.0)
4+
5+
[Full Changelog](https://github.com/ably/ably-java/compare/v1.5.0...v1.6.0)
6+
7+
### What's Changed
8+
9+
* Message Updates and Deletes updated, Appends API added in [#1182](https://github.com/ably/ably-java/pull/1182)
10+
* Mutable Message API over Realtime added in [#1183](https://github.com/ably/ably-java/pull/1183)
11+
* Updated publish API to include message serials in the response in [#1184](https://github.com/ably/ably-java/pull/1184)
12+
13+
### Breaking changes
14+
15+
This release includes several breaking changes to experimental Mutable Message features:
16+
17+
#### REST API Changes
18+
19+
* `updateMessage()` and `deleteMessage()` now return `UpdateDeleteResult` instead of `void`, containing the updated message version serial
20+
* `updateMessageAsync()` and `deleteMessageAsync()` callback parameter changed from `CompletionListener` to `Callback<UpdateDeleteResult>`
21+
* Added `appendMessage()` and `appendMessageAsync()` methods returning `UpdateDeleteResult`
22+
23+
#### Realtime API Changes
24+
25+
* `updateMessage()`, `deleteMessage()`, and `appendMessage()` are now asynchronous methods (void return) instead of synchronous (returning `UpdateDeleteResult`)
26+
* All message mutation methods now accept an optional `Callback<UpdateDeleteResult>` parameter for async result handling
27+
* Removed `*Async` suffix from method names - all Realtime methods are now async by default and throw `AblyException`
28+
* `updateMessage()`, `deleteMessage()`, and `appendMessage()` now use WebSocket transport to send data rather than REST requests
29+
30+
#### Migration Guide
31+
32+
**REST API:**
33+
```java
34+
// Before (v1.5.0)
35+
channel.updateMessageAsync(message, new Callback<UpdateDeleteResult>() {
36+
public void onSuccess() { ... }
37+
}});
38+
39+
// After (v1.6.0)
40+
channel.updateMessageAsync(message, new Callback<UpdateDeleteResult>() {
41+
public void onSuccess(UpdateDeleteResult result) { ... }
42+
});
43+
```
44+
45+
**Realtime API:**
46+
```java
47+
// Before (v1.5.0)
48+
channel.updateMessageAsync(message, new Callback<UpdateDeleteResult>() {
49+
public void onSuccess() { ... }
50+
}});
51+
52+
// After (v1.6.0)
53+
channel.updateMessage(message, new Callback<UpdateDeleteResult>() {
54+
public void onSuccess(UpdateDeleteResult result) { ... }
55+
});
56+
```
57+
358
## [1.5.0](https://github.com/ably/ably-java/tree/v1.5.0)
459

560
[Full Changelog](https://github.com/ably/ably-java/compare/v1.4.2...v1.5.0)

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ You may wish to make changes to Ably Java or Ably Android, and test it immediate
235235
- Open the directory printed from the output of that command. Inside that folder, get the `ably-android-x.y.z.aar`, and place it your Android project's `libs/` directory. Create this directory if it doesn't exist.
236236
- Add an `implementation` dependency on the `.aar`:
237237
```groovy
238-
implementation files('libs/ably-android-1.5.0.aar')
238+
implementation files('libs/ably-android-1.6.0.aar')
239239
```
240240
- Add the `implementation` (not `testImplementation`) dependencies found in `dependencies.gradle` to your project. This is because the `.aar` does not contain dependencies.
241241
- Build/run your application.

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,14 @@ The Java SDK is available as a [Maven dependency](https://mvnrepository.com/arti
5151
<dependency>
5252
<groupId>io.ably</groupId>
5353
<artifactId>ably-java</artifactId>
54-
<version>1.5.0</version>
54+
<version>1.6.0</version>
5555
</dependency>
5656
```
5757

5858
### Install for Gradle:
5959

6060
```gradle
61-
implementation 'io.ably:ably-java:1.5.0'
61+
implementation 'io.ably:ably-java:1.6.0'
6262
implementation 'org.slf4j:slf4j-simple:2.0.7'
6363
```
6464

@@ -113,7 +113,7 @@ Add the following dependency to your `build.gradle` file:
113113

114114
```groovy
115115
dependencies {
116-
runtimeOnly("io.ably:liveobjects:1.5.0")
116+
runtimeOnly("io.ably:liveobjects:1.6.0")
117117
}
118118
```
119119

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
GROUP=io.ably
2-
VERSION_NAME=1.5.0
2+
VERSION_NAME=1.6.0
33
POM_INCEPTION_YEAR=2015
44
POM_URL=https://github.com/ably/ably-java
55
POM_SCM_URL=https://github.com/ably/ably-java/

lib/src/test/java/io/ably/lib/test/realtime/RealtimeHttpHeaderTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public void realtime_websocket_param_test() {
8888
* Defaults.ABLY_AGENT_PARAM, as ultimately the request param has been derived from those values.
8989
*/
9090
assertEquals("Verify correct lib version", requestParameters.get("agent"),
91-
Collections.singletonList("ably-java/1.5.0 jre/" + System.getProperty("java.version")));
91+
Collections.singletonList("ably-java/1.6.0 jre/" + System.getProperty("java.version")));
9292

9393
/* Spec RTN2a */
9494
assertEquals("Verify correct format", requestParameters.get("format"),

0 commit comments

Comments
 (0)