Skip to content
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.