Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions changelog/18.0/18.0.0/summary.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
- **[VTAdmin](#vtadmin)**
- [Updated to node v18.16.0](#update-node)
- **[Deprecations and Deletions](#deprecations-and-deletions)**
- [Legacy Client Binaries](#legacy-client-binaries)
- [Deprecated Flags](#deprecated-flags)
- [Deprecated Stats](#deprecated-stats)
- [Deleted Flags](#deleted-flags)
Expand Down Expand Up @@ -109,6 +110,28 @@ on https://nodejs.org/en/blog/release/v18.16.0.

### <a id="deprecations-and-deletions"/>Deprecations and Deletions

#### <a id="legacy-client-binaries"/>Legacy Client Binaries

`vtctldclient` is our new modern *Vitess controller daemon* (`vtctld`) *client* – which you will use to perform commands
and take actions in your Vitess clusters. It is [replacing the legacy `vtctl`/`vtctlclient` binaries](https://vitess.io/docs/18.0/reference/vtctldclient-transition/overview/).
Some of the benefits are:

- [Dedicated RPCs for each command](https://github.com/vitessio/vitess/blob/release-18.0/proto/vtctlservice.proto#L32-L353)
that are used between `vtctldclient` and `vtctld` – this offers clean separation of commands and makes it easier to
develop new features without impacting other commands. This also presents an [API that other clients (both Vitess and
3rd party) can use to interface with Vitess](https://vitess.io/blog/2023-04-17-vtctldserver-api/).
- Use of modern frameworks: [`pFlag`](https://github.com/spf13/pflag#readme), [`Cobra`](https://cobra.dev), and [`Viper`](https://github.com/spf13/viper#readme).
This makes development easier while also offering a better UX. For example, this offers a way to use
[configuration files](https://vitess.io/docs/18.0/reference/viper/config-files/) with support for
[dynamic configuration](https://vitess.io/docs/18.0/reference/viper/dynamic-values/) ([see also](https://github.com/vitessio/vitess/blob/release-18.0/doc/viper/viper.md)).
- The [reference documentation](https://vitess.io/docs/reference/programs/vtctldclient/) is now built through code. This
removes a burden from developers while helping users by ensuring the docs are always correct and up-to-date.

In Vitess 18.0 we have completed migrating all client commands to `vtctldclient` – the last ones being the [OnlineDDL](https://github.com/vitessio/vitess/issues/13712)
and [VReplication](https://github.com/vitessio/vitess/issues/12152) commands. With this work now completed, the
legacy `vtctl`/`vtctlclient` binaries are now fully deprecated and we plan to remove them in Vitess 19.0. You should
[begin your transition](https://vitess.io/docs/18.0/reference/vtctldclient-transition/) before upgrading to 18.0.

#### <a id="deprecated-flags"/>Deprecated Command Line Flags

Throttler related `vttablet` flags:
Expand Down