Skip to content

Releases: vaadin/collaboration-kit

Collaboration Engine 5.1.0.alpha2

14 Apr 14:20
7a5d690
Compare
Choose a tag to compare
Pre-release

Changes since 5.1.0.alpha1

  • MessageManager now prevents concurrency issues that might happen when using Collaboration Engine in a cluster.

Collaboration Engine 5.0.3

05 Sep 08:18
7a5d690
Compare
Choose a tag to compare

Collaboration Engine 5.0.2

02 May 14:59
7a5d690
Compare
Choose a tag to compare

Collaboration Engine 5.1.0.alpha1

05 Apr 16:24
cd9acf0
Compare
Choose a tag to compare
Pre-release

This is the first pre-release of Collaboration Engine 5.1.

New Collaboration List operations

You can now specify the position when adding an item to the list, and then also move the item to a different position:

ListKey fooKey = list.insertFirst("foo").getKey();
ListKey barKey = list.insertBefore(fooKey, "bar").getKey();
ListKey bazKey = list.insertAfter(barKey, "baz").getKey();
list.moveAfter(fooKey, bazKey);
list.moveBefore(bazKey, barKey);

Collaboration List conditional inserts

CollaborationList now supports conditional inserts: you can configure the insert operation with the new ListInsertOperation class and set requirements.

Given an instance of ListInsertOperation:

ListInsertOperation op = ListInsertOperation.insertLast("last");
  • Require fooKey to be followed by barKey: op.ifNext(fooKey, barKey)
  • Require fooKey to be right before barKay: op.ifPrev(barKey, fooKey)
  • Require fooKey to be the first of the list: op.ifFirst(fooKey)
  • Require fooKey to be the last of the list: op.ifLast(fooKey)
  • Require the list to be empty: op.ifEmpty()
  • Require the list not to be empty: op.ifNotEmpty()

The operation can then be applied to the list and use the result object to verify if the execution succeeded:

list.insert(op).getCompletableFuture().thenAccept(success -> {
    if (success) {
        log("Operation applied");
    } else {
        log("Operation failed");
    }
});

Collaboration Engine 5.0.1

05 Apr 11:51
cd9acf0
Compare
Choose a tag to compare

Collaboration Engine 5.0.0

01 Mar 15:31
cd9acf0
Compare
Choose a tag to compare

This is the final release of Collaboration Engine 5.0, which brings a renewed and improved API for the CollaborationList and important bug-fixes.

Collaboration Engine 5.0 is part of Vaadin 23 and now requires Java 11 (or newer).

New Collaboration List API

CollaborationList is a data-structure to store ordered values in Collaboration Engine topics and subscribe to their changes. In this release we are introducing new methods to get, replace and remove values in the list. The current API has now these new methods:

  • insertLast(Object) to insert a new value at the end of the list: it returns a ListInsertResult object that provides a CompletableFuture to track the completion of the operation, and a ListKey instance to identify the inserted value which can be used as a reference to its position in the list (this method replaces the now deprecated append method);
  • getItem(ListKey, Class) to get an existing value from the list, given its ListKey;
  • set(ListKey, Object) to replace an existing value with a new one;
  • remove(ListKey) to remove a value from the list.
ListKey key = list.insertLast("foo").getKey();
list.set(key, "bar").thenAccept(completed -> {
    if (completed) {
        // If the operation was successful, get the new value
        String bar = list.getItem(key, String.class);
    } else {
        // If the operation failed, remove the value
        list.remove(key);
    }
});

Other new features

  • The path of the browser Beacon API endpoint is now configurable, to ease configuration of security modules:
collaborationEngineConfiguration.setBeaconPath("/beacon");

Fixes

  • Check if a named map exists before clearing on expiration [#55]
  • Prevent "UI detached" exception on session expiration
  • Preserve the order of actions in collaboration maps and lists
  • Properly deactivate connections on shutdown

Collaboration Engine 5.0.0.rc1

25 Feb 13:23
cd9acf0
Compare
Choose a tag to compare
Pre-release

No changes since 5.0.0.beta4

Collaboration Engine 5.0.0.beta4

25 Feb 13:23
cd9acf0
Compare
Choose a tag to compare
Pre-release

No changes since 5.0.0.beta3

Collaboration Engine 5.0.0.beta3

18 Feb 07:56
cd9acf0
Compare
Choose a tag to compare
Pre-release

This Collaboration Engine pre-release is included in Vaadin Platform 23.0.0.beta3.

Changes since 5.0.0.beta2

  • Fixes:
    • Solved a race condition in CollaborationBinder that prevented to fields to be populated with initial values when setting the topic.
    • Solved an exception that was being thrown on session expiration if the browser was still open and idle.

Collaboration Engine 5.0.0.beta2

14 Feb 14:25
cd9acf0
Compare
Choose a tag to compare
Pre-release

No changes since 5.0.0.beta1