Kuzzle version 1.0.0 was released 2 years ago.
After a lot of (great) work and the development of dozens of new exciting features and dozens of minor versions, we are very excited to officially announce the release of Kuzzle version 2.0!
What's new in Kuzzle v2.0?
Elasticsearch 7 Support
Kuzzle v2 now supports the latest version of Elasticsearch 7.4.0.
In addition to many other features provided by Elasticsearch 7, ES finally removed the concept of Types within their indexes.
We have decided to keep the current principle of indexes and collections within Kuzzle v2 and therefore we have emulated ES collections. Each collection is now contained in its own Elasticsearch index.
The use of emulated collections is transparent to users.
A simple data migration of old data will be needed to move to Kuzzle v2 and we have developed these migration scripts which will help you to do it easily.
Node.js 12 Support
Kuzzle 2.0 comes now with the latest LTS version of Node.js version 12.
This version includes the optimization of the use of promises with async/await.
This means that you can now use these keywords with no limitation in all your plugin development ;-)
API Key Management
It is now possible to manage API keys for users.
These API keys validity can be infinite and shall allow third-party applications to connect to Kuzzle v2 as a user.
They are very useful when authenticating a callback from Sigfox or LoRa.
See the documentation on the associated routes:
- auth:createApiKey, auth:searchApiKeys et auth:deleteApiKey
- security:createApiKey, security:searchApiKeys et security:deleteApiKey
Externalizing the CLI
Kuzzle CLI is now a project on its own.
This package is available on NPM and allows you to remotely manage your Kuzzle cluster.
All the features of the old CLI are now available.
Redesign of document:m* methods
The document:m* methods have been redesigned for greater consistency in API responses.
These methods no longer return PartialError when one or more actions fail. Instead, two arrays are returned:
- successes: contains the actions successfully executed
- errors: contains failed actions
Removal of deprecated features
Many depreciated features have been removed from Kuzzle such as:
- Permission closures
- Trashcan documents and the Garbage Collector
- The _meta property
Why releasing a Kuzzle v2 now ?
LTS support on Elasticsearch 5 and Node.js 6 having expired, we did not want to continue using these obsolete versions.
We have chosen to do as little breaking changes as possible in order to allow easy update of existing Kuzzle v1 clusters.
How do I migrate to Kuzzle v2 ?
In order to upgrade to Kuzzle v2, we have developed a migration script that will handle the upgrade of storage, caching and configuration from Kuzzle v1 to Kuzzle v2 cluster.
This migration can be directly made on the same cluster (in-place migration) or from an A cluster in Kuzzle v1 to a B cluster in Kuzzle v2.
The migration script requires access to Elasticsearch, Redis and Kuzzle configuration file to work correctly.
You can also see the list of differences between the two Kuzzle versions.
Each change has been commented in order to clarify any impact on your client applications after the upgrade.
What does this mean for my project with Kuzzle v1 ?
In accordance with Kuzzle LTS support policy, Kuzzle v1.11.0 will be fully supported until April 2021 with security updates and bug fixes when needed.
As of now, all new features will only be implemented on Kuzzle v2.
Should you have any questions regarding your migration process, please feel free to contact us. We would be glad to provide you with our support services.
Compliance of the Admin Console, SDK and plugins
We have updated our product documentation and the Admin Console in order to support Kuzzle latest major versions.
Regarding SDK and plugins, a major version will be made available for each of them and we will ensure that all SDK versions will be fully compliant with the current version.
To conclude ?
We would like to warmly thank you for your invaluable support and feedbacks. As Kuzzle developers and contributors, you have helped us and led us to release this major Kuzzle version 2.
This year ahead shall see even more new exciting features to come in 2020: cluster integration into our backend core product, request limitation system and many more.
Please give a look at our Kuzzle public product roadmap on Trello and stay tuned!