Skip to content
Release 2.1.0

Added

- Implement stateful failover mode. You can read more in "Failover
  architecture" documentation topic (see `failover.md`).

- Respect `box.cfg` options `wal_dir`, `memtx_dir`, `vinyl_dir`. They
  can be either absolute or relative - in the later case it's calculated
  relative to `cartridge.workdir`.

- New option in `cartridge.cfg({upgrade_schema=...})`
  to automatically upgrade schema to modern tarantool version
  (only for leader). It also has been added for `argparse`.

- Extend GraphQL `issues` API with various topics: `replication`,
  `failover`, `memory`, `clock`. Make thresholds configurable via
  argparse.

Changed

- Make GraphQL validation stricter: scalar values can't have
  sub-selections; composite types must have sub-selections; omitting
  non-nullable arguments in variable list is forbidden. Your code **may
  be affected** if it doesn't conform GraphQL specification.

- GraphQL query `auth_params` returns "fullname" (if it was specified)
  instead of "username".

- Update `errors` dependency to 2.1.3.

- Update `ddl` dependency to 1.1.0.

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

- Properly handle nested input object in GraphQL:
```graphql
  mutation($uuid: String!) {
    cluster { edit_topology(servers: [{uuid: $uuid ...}]) {} }
  }
```

- Show WebUI notification on successful config upload.

- Repair GraphQL queries `add_user`, `issues` on uninitialized instance.

Enhanced in WebUI

- Show "You are here" marker.

- Show application and instance names in app title.

- Indicate replication and failover issues.

- Fix bug with multiple menu items selected.

- Refactor pages filtering, forbid opening blacklisted pages.

- Enable JS chunks caching.