Good morning, everyone!
I hope you all had a great holiday and are ready for the new year 2019, which promises to be a busy one for Kuzzle!
Here in Montpellier winter is already almost over but despite the short days we have not been idle!
🇫🇷 See this article in French: https://blog.kuzzle.io/fr/la-winter-release-2019-de-kuzzle
The core of Kuzzle is now in version 1.6. This minor release sees the arrival of MQTT protocol support directly in the core and no longer through a plugin.
As the demand for this protocol is growing, we preferred to integrate it directly into Kuzzle in order to simplify the task for IoT application developers.
The protocol is disabled by default, to enable it you need to modify your configuration in your kuzzlerc:
Kuzzle is now able to recognize and use the Elasticsearch aliases.
Although it can use them like other indexes, their creation must be done directly through the Elasticsearch API.
We decided to expose the SDK JS 6 in the plugins context. This special version of the SDK uses a special protocol directly connected to the core of Kuzzle instead of going through the network layer.
This way plugin developers will be able to enjoy the same development convenience as client application developers by using the high-level features of the SDK.
It is now possible to use directly functions for hooks, pipes or controller action in plugins.
Until now it was only possible to pass a string corresponding to a function of the plugin object.
A new boilerplate for plugins is available.
It allows developers to quickly start developing a plugin while respecting best practices, including concern separation and unit testing.
This is the basis for most of the Kuzzle plugins we develop for our customers.
For more details, see the README on Github
After months of writing and refining, the new version of our documentation is finally ready!
This new version has been developed entirely in a customized way with metalsmith in order to best meet our needs.
The biggest changes are a complete redesign of the API, the plugin system and Koncorde documentation, the documentation of the latest version of our SDKs with a maximum of code examples and an Algolia search available on all documentation.
Feel free to take a look, who knows it may be the day to finally get started on Go? ;)
News from Kuzzle SDK’s
This winter we have made a lot of progress on the latest version of our SDKs and we are very excited to finally be able to release them officially.
Official release of SDK JS 6
We advise all developers to use this version if it was not already the case!
If you were using a beta version of the SDK JS 6, remember to check the breakings changes, among other things:
Change of signature of the document:create method
Instantiating the SDK with a Protocol class
realtime:subscribe method return value
You can now integrate the latest version of the SDK by simply doing so:
For the first time external contributors have developed SDKs for Kuzzle.
On his side, @alexandrebouthinon of the Kuzzle team has also made a new SDK in Rust in his spare time! We hope that the Rust community will be happy to know that they can now use Kuzzle more easily thanks to the high level API offered by this SDK.
You can now consult the new SDK listing page on our documentation: https://docs.kuzzle.io/sdk-reference/
SDKs are now instantiated directly with a Protocol class.
Thus responsibilities are better separated between the Protocol which ensures communication with Kuzzle and the SDK which manages the functionalities of the offline mode.
This evolution is one of the last breaking changes before the final release of the SDKs.
The use of Symbol was a problem for older versions, this is now fixed.
Go/C+++/Java: Memory and stability leak hunting
In order to improve the robustness of our SDKs, we have searched and fixed all memory leaks in our C and C++ wrappers.
These memory leaks were also responsible for the random crashes of the SDK's.
Now the C++ functional tests are launched with Valgrind to ensure that no memory leaks are present in the SDK.
This is a very important step before the final release because now the SDK's derived from C++ are starting to be stable enough to be used in production.
Kuzzle <3 Vue.js
Those who know us know that we swear almost exclusively by Vue.js to develop frontend applications.
The Admin Console is a perfect example of the symbiosis between a frontend in.js View and a backend with Kuzzle.
We are currently working on a Getting Started specially for Vue.js, as well as a full How-To on the development of a Todo MVC application with Kuzzle and Vue.js.
Boilerplate Vue.js and CoreUI
We also use CoreUI a lot to make it easier for us to develop IoT applications, so we created a boilerplate using Vue.js, CoreUI and the JS 6 SDK.
This boilerplate includes user authentication, connection loss management, internationalization with I18N and an example of end-to-end testing with Cypress.
Wrapping things up!
This time we are in the final stretch for the official release of our SDKs. It has been a long and hard work, but we are very proud of the result.
We will now be able to focus on the new features we want to add to Kuzzle, we will keep you informed ;-)
Check our others releases here: Release Kuzzle