Release 0.10.0 Added - Cluster can now operate without vshard roles (if you don't need sharding). Deprecation warning about impicit vshard roles isn't issued any more, they aren't registered unless explicitly specified either in `cluster.cfg({roles=...})` or in `dependencies` to one of user-defined roles. - New role flag `hidden = true`. Hidden roles aren't listed in `cluster.admin.get_replicasets().roles` and therefore in WebUI. Hidden roled are supposed to be a dependency for another role, yet they still can be enabled with `edit_replicaset` functio both Lua and GraphQL). - New role flag: `permanent = true`. Permanent roles are always enabled. Also they are hidden implicitly. - New functions in cluster test_helpers - `Cluster:upload_config(config)` and `Cluster:download_config()` Fixed - `cluster.call_rpc` used to return 'Role unavailable' error as a first argument instead of `nil, err`. It can appear when role is specified in clusterwide config, but wasn't initialized properly. There are two reasons for that: race condition, or prior error in either role `init` or `apply_config` methods.