Release 2.0.2 **Added** - Expose membership options in `argparse` module (edit them with environment variables and command-line arguments). - New internal module to handle `.tar` files. Lua API: - `cartridge.cfg({webui_blacklist = {'/admin/code', ...}})`: blacklist certain WebUI pages. - `cartridge.get_schema()` referencing older `_G.cartridge_get_schema`. - `cartridge.set_schema()` referencing older `_G.cartridge_set_schema`. GraphQL API: - Make use of GraphQL error extensions: provide additional information about `class_name` and `stack` of original error. - `cluster{ issues{ level message ... }}`: obtain more details on replication status - `cluster{ self {...} }`: new fields `app_name`, `instance_name`. - `servers{ boxinfo { cartridge {...} }}`: new fields `version`, `state`, `error`. Test helpers: - Allow specifying `all_rw` replicaset flag in luatest helpers. - Add `cluster({env = ...})` option for specifying clusterwide environment variables. **Changed** - Remove redundant topology availability checks from two-phase commit. - Prevent instance state transition from `ConnectingFullmesh` to `OperationError` if replication fails to connect or to sync. Since now such fails result in staying in `ConnectingFullmesh` state until it succeeds. - Specifying `pool.connect()` options `user`, `password`, `reconnect_after` are deprecated and ignored, they never worked as intended and will never do. Option `connect_timeout` is deprecated, but for backward compatibility treated as `wait_connected`. **Deprecated** Lua API: - `cartridge.admin_get_failover` -> `cartridge.failover_get_params` - `cartridge.admin_enable/disable_failover` -> `cartridge.failover_set_params` GraphQL API: - `query {cluster {failover} }` -> `query {cluster {failover_params {...} } }` - `mutation {cluster {failover()} }` -> `mutation {cluster {failover_params() {...} } }` **Fixed** - Fix DDL failure if `spaces` field is `null` in input schema. - Check content of `cluster_cookie` for absence of special characters so it doesn't break the authorization. Allowed symbols are `[a-zA-Z0-9_.~-]`. - Drop remote-control connections after full-featured `box.cfg` becomes available to prevent clients from using limited functionality for too long. During instance recovery remote-control won't accept any connections: clients wait for box.cfg to finish recovery. - Update errors rock dependency to 2.1.2: eliminate duplicate stack trace from `error.str` field. - Apply `custom_proc_title` setting without waiting for `box.cfg`. - Make GraphQL compatible with `req:read_cached()` call in httpd hooks. - Avoid "attempt to index nil value" error when using rpc on an uninitialized instance. **Enhanced in WebUI** - Add an ability to hide certain WebUI pages. - Validate YAML in code editor WebUI. - Fix showing errors in Code editor page. - Remember last open file in Code editor page. Open first file when local storage is empty. - Expand file tree in Code editor page by default. - Show Cartridge version in server info dialog. - Server alias is clickable in replicaset list. - Show networking errors in splash panel instead of notifications. - Accept float values for vshard-storage weight.