Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,60 @@
# Change Log

## [1.6.0](https://github.com/ably/ably-java/tree/v1.6.0)

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

### What's Changed

* Message Updates and Deletes updated, Appends API added in [#1182](https://github.com/ably/ably-java/pull/1182)
* Mutable Message API over Realtime added in [#1183](https://github.com/ably/ably-java/pull/1183)
* Updated publish API to include message serials in the response in [#1184](https://github.com/ably/ably-java/pull/1184)

### Breaking changes

This release includes several breaking changes to experimental Mutable Message features:

#### REST API Changes

* `updateMessage()` and `deleteMessage()` now return `UpdateDeleteResult` instead of `void`, containing the updated message version serial
* `updateMessageAsync()` and `deleteMessageAsync()` callback parameter changed from `CompletionListener` to `Callback<UpdateDeleteResult>`
* Added `appendMessage()` and `appendMessageAsync()` methods returning `UpdateDeleteResult`

#### Realtime API Changes

* `updateMessage()`, `deleteMessage()`, and `appendMessage()` are now asynchronous methods (void return) instead of synchronous (returning `UpdateDeleteResult`)
* All message mutation methods now accept an optional `Callback<UpdateDeleteResult>` parameter for async result handling
* Removed `*Async` suffix from method names - all Realtime methods are now async by default and throw `AblyException`
* `updateMessage()`, `deleteMessage()`, and `appendMessage()` now use WebSocket transport to send data rather than REST requests

#### Migration Guide

**REST API:**
```java
// Before (v1.5.0)
channel.updateMessageAsync(message, new Callback<UpdateDeleteResult>() {
public void onSuccess() { ... }
}});

// After (v1.6.0)
channel.updateMessageAsync(message, new Callback<UpdateDeleteResult>() {
public void onSuccess(UpdateDeleteResult result) { ... }
});
```

**Realtime API:**
```java
// Before (v1.5.0)
channel.updateMessageAsync(message, new Callback<UpdateDeleteResult>() {
public void onSuccess() { ... }
}});

// After (v1.6.0)
channel.updateMessage(message, new Callback<UpdateDeleteResult>() {
public void onSuccess(UpdateDeleteResult result) { ... }
});
```

## [1.5.0](https://github.com/ably/ably-java/tree/v1.5.0)

[Full Changelog](https://github.com/ably/ably-java/compare/v1.4.2...v1.5.0)
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ You may wish to make changes to Ably Java or Ably Android, and test it immediate
- 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.
- Add an `implementation` dependency on the `.aar`:
```groovy
implementation files('libs/ably-android-1.5.0.aar')
implementation files('libs/ably-android-1.6.0.aar')
```
- Add the `implementation` (not `testImplementation`) dependencies found in `dependencies.gradle` to your project. This is because the `.aar` does not contain dependencies.
- Build/run your application.
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,14 +51,14 @@ The Java SDK is available as a [Maven dependency](https://mvnrepository.com/arti
<dependency>
<groupId>io.ably</groupId>
<artifactId>ably-java</artifactId>
<version>1.5.0</version>
<version>1.6.0</version>
</dependency>
```

### Install for Gradle:

```gradle
implementation 'io.ably:ably-java:1.5.0'
implementation 'io.ably:ably-java:1.6.0'
implementation 'org.slf4j:slf4j-simple:2.0.7'
```

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

```groovy
dependencies {
runtimeOnly("io.ably:liveobjects:1.5.0")
runtimeOnly("io.ably:liveobjects:1.6.0")
}
```

Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
GROUP=io.ably
VERSION_NAME=1.5.0
VERSION_NAME=1.6.0
POM_INCEPTION_YEAR=2015
POM_URL=https://github.com/ably/ably-java
POM_SCM_URL=https://github.com/ably/ably-java/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ public void realtime_websocket_param_test() {
* Defaults.ABLY_AGENT_PARAM, as ultimately the request param has been derived from those values.
*/
assertEquals("Verify correct lib version", requestParameters.get("agent"),
Collections.singletonList("ably-java/1.5.0 jre/" + System.getProperty("java.version")));
Collections.singletonList("ably-java/1.6.0 jre/" + System.getProperty("java.version")));

/* Spec RTN2a */
assertEquals("Verify correct format", requestParameters.get("format"),
Expand Down
Loading