Releases: kuzzleio/kuzzle
Fix refactor api
- Fix documentation typo and dead links
- KUZ-351-refactor-response-kuzzle (fix bug from refactor)
0.9.3
- The CLI is now capable of installing plugins. Simple call
bin/kuzzle.js install
to do it - Removed plugins installation from the plugin manager
- Removed obsolete app-start.js and app-perf.js scripts (
⚠️ you'll have to update your docker image to make this work )
0.9.2
0.9.1
This is a minor update concerning retries, when the plugin manager attempts to acquire the mutex to install plugins. Now these retries have a maximum timeout of 1 second.
Explanation:
Before this update, there were up to 1000 retries, with no maximum timeouts between retries, and an exponential backoff strategy.
This means that, if one instance takes some time to install plugins, other instances will probably be waiting several seconds more before retrying to acquire the lock.
This has the following effects:
- sometimes, other instances won't be up until up to a couple seconds after the 1st instance is ready, maybe more
- this made some travis build fail if the server instance is the first to be up, as functional tests start as soon as the server is reachable, meaning that functional tests are launched without workers ready.
0.9.0
Refactor the response from Kuzzle in order to have a consistent response like the following object:
- When we have just one element (e.g with a get):
{
"action": "get",
"collection": "user",
"controller": "read",
"error": null,
"index": "mainindex",
"metadata": {},
"requestId": "a39f348b-f73d-4518-9cb4-32a4b0dc2040",
"result": {
"_id": "AVItAloUTHHcXT3l6WXg",
"_index": "mainindex",
"_source": {
"username": "toto"
},
"_type": "user",
"_version": 1,
"found": true
},
"scope": null,
"state": "done",
"status": 200
}
- When we have a list (e.g getAllStats)
{
"action": "getAllStats",
"controller": "admin",
"error": null,
"metadata": {},
"requestId": "608fef72-da25-48e1-8b77-ae351d33bae2",
"result": {
"hits": [
{
"completedRequests": {
"rest": 1
},
"connections": {},
"failedRequests": {},
"ongoingRequests": {
"rest": 0
},
"timestamp": "2016-01-10T19:30:06.328Z"
}
],
"total": 1
},
"scope": null,
"state": "done",
"status": 200
}
We have now a result directly in result
entry with the object requested or with an entry hits
which is an array.
_Note:_
- We have no more
hits.hits
inresult
object. All previous entries inhits
are now in root objectresult
, i.e:
"result": {
"_shards": {
"failed": 0,
"successful": 5,
"total": 5
},
"hits": [
{
"_id": "AVItE6_7THHcXT3l6WZH",
"_index": "mainindex",
"_score": 1,
"_source": {
"username": "toto"
},
"_type": "user"
}
],
"max_score": 1,
"timed_out": false,
"took": 1,
"total": 1
}
- The
error
entry can contains a_source
to find out which query failed.
0.8.0
- Implemented protocol plugins support
- Added a new plugin configuration argument: "loadedBy", taking "all", "server" or "worker". Its purpose is to limit plugin installation & loading only by the corresponding kuzzle instance type
- Added socket.io plugin as a default plugin
- removed socket.io dependency
- updated unit and functional tests
- updated plugin documentation
- REST protocol is now linked to the port 7511 instead of 7512
- Reworked plugin installation so that servers and workers can act independantly. This removes the "normal" errors we got when starting Kuzzle
- Added a banner to inform users when a Kuzzle instance is up, running, and accepting requests
Others:
- removed winston dependency
0.7.2
To remove unnecessary Kuzzle dependencies from the router controller and to prepare the incoming protocol plugins, this pull request changes the way the router controller handles worker responses, following @stafyniaksacha suggestion:
- renamed
core/responseListener
tocore/workerListener
to make it easier to understand what it does - removed all references to the
workerListener
from the router controller. Also removed empty promises handling. Promises resulting from calls to the funnel controller now always resolve to the according responseObject - the main Kuzzle object now contains a global
workerListener
instance - controllers behind the funnel controller now always return a promise resolving to the awaited response, either directly, or by returning the result of
workerListener.add
- the
workerListener
now awaits worker responses using the internal broker, and resolve/reject the stored promises, letting the router controller respond to the requesting client. It doesn't notify directly anymore.
0.7.1
- implemented the possibility to get realtime collections using the existing "listCollections" API method
- updated unit tests, functional tests and API documentation
- tidied up the
readController
unit tests - removed remnants of the old
roomName
argument in thehotelClerk.removeCustomerFromAllRooms
unit tests - added missing unit tests on the
removeRooms
method of theadminController
0.7.0
- Support multi-index (persistent & realtime layers)
- Add : CRUDL operations on indexes
- Add : _createIndex role policy
- Add : _createCollection role policy
- Add : internal cache for index hierarchy (used by when checking policies)
- Refactor : ReadEngine & WriteEngine allways fulify promises with a ResponseObject : no need to recreate it in worker when Response is delayed
- Refactor : Change api route to /api/v1
- Refactor : Mock elasticsearch in units tests