---
title: Kuzzle Spring Release 2020
description: "Kuzzle 2.2: discover bulk:deleteByQuery and a more performant MQTT broker\nKourou: 10, a new version now with 34 commands available\nSDKs: Java SDK v3 available and Dart SDK almost available thanks to our community\n Admin Console: A new redesigned version will also be available for Kuzzle v1"
---

[Kuzzle blog](https://blog.kuzzle.io)

# [Kuzzle Spring Release 2020](https://blog.kuzzle.io/kuzzle-spring-release-2020)

 Written by [Alicia Thermos](https://blog.kuzzle.io/author/alicia-thermos) | June 15, 2020

 

Good morning, everyone!

This period has been particularly complicated all over the world and also for us of course.

Nevertheless between COVID and our IoT projects, we had time to make progress on our products ;-)

[Lire l'article en français](https://blog.kuzzle.io/fr/kuzzle-spring-release-2020)

## Kuzzle v2.2

In spite of these difficult times, we were able to make a number of improvements to Kuzzle.

### New API method

The method [bulk:deleteByQuery](https://docs.kuzzle.io/core/2/api/controllers/bulk/delete-by-query/) allows to delete documents based on an Elasticsearch request.

 

Unlike its counterpart [document:deleteByQuery,](https://docs.kuzzle.io/core/2/api/controllers/bulk/delete-by-query/) it is not limited in the number of deleted documents, but it does not trigger real-time notifications.

### New MQTT broker

We have decided to change our broker MQTT to use [Aedes,](https://github.com/moscajs/aedes) which is much better than our previous broker.

 

Nothing changes for the users, except extra performance of course ;-)

### Loose coupling

Although invisible to users, this internal change allows us to improve the interactions between the core modules.

 

This is a necessary step to integrate the cluster plugin into the Kuzzle and it is also the first milestone of a future architecture composed of interchangeable services.

### Others changes

Inter-plugin communication is now made possible using the [trigger](https://docs.kuzzle.io/core/2/plugins/plugin-context/accessors/trigger/) method and the [pipe system](https://docs.kuzzle.io/core/2/plugins/guides/pipes/).

 

Kuzzle now forces the[re-indexing of fields after a modification of mappings](https://docs.kuzzle.io/core/2/api/controllers/collection/update/) that was not handled by Elasticsearch in some cases.

 

## Kourou

In the Winter Release 2020, we presented the first official version of Kourou. Since then we have released 10 versions and [Kourou](https://github.com/kuzzleio/kourou/) with a total of [34 commands](https://github.com/kuzzleio/kourou/).

### Send a query

The [sdk:query](https://github.com/kuzzleio/kourou/#kourou-sdkquery-controlleraction) command allows you to execute any query to the Kuzzle API.

 

It is possible to provide a body in JSON or JS format, to automatically open your text editor before sending the request or to impersonate a user.

 

At Kuzzle we use it every day because it's so practical ;-)

### Execute a script

Similar to sdk:query,[sdk:execute](https://github.com/kuzzleio/kourou/#kourou-sdkexecute) allows you to execute a script via Kourou taking advantage of connection, authentication and error handling.

 

If you had little scripts everywhere with SDK instantiation, login and authentication then you'll love this command to replace them all!

 

You can provide the script directly as an argument or from a file.

It is even possible to pass variables in the command line, they will be directly integrated into your script.

### Import & export

It is possible to export and import your [indexes](https://github.com/kuzzleio/kourou/#kourou-indexexport-index), [collections](https://github.com/kuzzleio/kourou/#kourou-collectionexport-index-collection), [users](https://github.com/kuzzleio/kourou/#kourou-userexport), [roles](https://github.com/kuzzleio/kourou/#kourou-roleexport) and [profiles](https://github.com/kuzzleio/kourou/#kourou-profileexport) with Kourou.

The [import](https://github.com/kuzzleio/kourou/#kourou-import-path) command even allows you to recursively import all the contents of a folder.

 

## Java SDK

The new version of the Java SDK is finally available to be used in your Android projects but also every JvM based language! (Scala, Kotlin, etc.)

 

Follow our Getting Started to develop your first Java application with Kuzzle: [https://next-docs.kuzzle.io/sdk/java/3/getting-started/](https://next-docs.kuzzle.io/sdk/java/3/getting-started/install/)

 

## Dart SDK

We were aware that the Dart community and especially Flutter were very much in need of an official SDK.

 

An open source project created and maintained by one of our contributors, has been included in the list of products officially supported by Kuzzle.

 

We would like to take this opportunity to thank the original contributors of this SDK: [Prijindal](https://github.com/prijindal), [Stafyniaksacha](https://github.com/stafyniaksacha) and [Manuelbaun](https://github.com/Manuelbaun)! Many thanks to them!

 

The documentation and functional tests are in progress and we hope to be able to release version 1 officially this summer.

 

## Javascript SDK

We have released a new minor version ([7.2.0](https://github.com/kuzzleio/sdk-javascript/releases/7.2.0)) as well as many patches for the SDK to support the latest features of Kuzzle.

 

We have also changed the way we [distribute the SDK,](https://github.com/kuzzleio/sdk-javascript/pull/505) now using it in a Node.js project installs 650 KB of dependencies instead of 84 MB!

 

## Admin Console

Work on the next version of Admin Console is still in progress. This new version brings a complete overhaul of the interface and user experience.

 

We have also decided to transparently support all versions of Kuzzle so even Kuzzle v1 users will be able to use this new version ;-)

 

Stay tuned for updates on the upcoming beta release!

 

## Join us on Discord

As some of you may have noticed, we have decided to create a Discord server for the community.

 

Discord is much more convenient than Gitter to exchange and discuss between Kuzzle users. [You can read our dedicated article on the blog](https://blog.kuzzle.io/discord-kuzzle-community)

 

We are now more than a hundred users on the server so don't hesitate to join us on [http://join.discord.kuzzle.io/](http://join.discord.kuzzle.io/) !

[View full post](https://blog.kuzzle.io/kuzzle-spring-release-2020)

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Alicia Thermos"
  },
  "dateModified" : "2025-07-21T13:48:30.274Z",
  "datePublished" : "2020-06-15T07:47:36Z",
  "headline" : "Kuzzle Spring Release 2020",
  "image" : {
    "@type" : "ImageObject",
    "height" : 284,
    "url" : "https://cdn2.hubspot.net/hubfs/3803374/spring%20release%202020.png",
    "width" : 768
  },
  "mainEntityOfPage" : "https://blog.kuzzle.io/kuzzle-spring-release-2020",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : 60,
      "url" : "/hs/hsstatic/content_shared_assets/static-1.4092/img/default-amp-logo.png",
      "width" : 60
    },
    "name" : "Kuzzle blog"
  }
}
```