Skip to content

Latest commit

 

History

History
69 lines (48 loc) · 4.56 KB

CHANGELOG-3.5.md

File metadata and controls

69 lines (48 loc) · 4.56 KB

Previous change logs can be found at CHANGELOG-3.4.


v3.5.0 (TBD)

See code changes and v3.5 upgrade guide for any breaking changes. Again, before running upgrades from any previous release, please make sure to read change logs below and v3.5 upgrade guide.

Breaking Changes

  • gRPC gateway only supports /v3 endpoint.
    • Deprecated /v3beta.
    • curl -L http://localhost:2379/v3beta/kv/put -X POST -d '{"key": "Zm9v", "value": "YmFy"}' does work in v3.5. Use curl -L http://localhost:2379/v3/kv/put -X POST -d '{"key": "Zm9v", "value": "YmFy"}' instead.
  • etcd --experimental-enable-v2v3 flag has been deprecated. Use etcd --enable-v2v3 instead.
  • etcd --debug flag has been deprecated. Use etcd --log-level=debug instead.
  • Remove embed.Config.Debug.
  • etcd --log-output flag has been deprecated. Use etcd --log-outputs instead.
  • etcd --logger=zap --log-outputs=stderr is now the default.
  • etcd --logger=capnslog flag value has been deprecated.
  • etcd --logger=zap --log-outputs=default flag value is not supported..
    • Instead, use etcd --logger=zap --log-outputs=stderr.
    • Or, use etcd --logger=zap --log-outputs=systemd/journal to send logs to the local systemd journal.
    • Previously, if etcd parent process ID (PPID) is 1 (e.g. run with systemd), etcd --logger=capnslog --log-outputs=default redirects server logs to local systemd journal. And if write to journald fails, it writes to os.Stderr as a fallback.
    • However, even with PPID 1, it can fail to dial systemd journal (e.g. run embedded etcd with Docker container). Then, every single log write will fail and fall back to os.Stderr, which is inefficient.
    • To avoid this problem, systemd journal logging must be configured manually.
  • etcd --log-outputs=stderr is now the default.
  • etcd --log-package-levels flag for capnslog has been deprecated. Now, etcd --logger=zap --log-outputs=stderr is the default.
  • [CLIENT-URL]/config/local/log endpoint has been deprecated, as is etcd --log-package-levels flag.
    • curl http://127.0.0.1:2379/config/local/log -XPUT -d '{"Level":"DEBUG"}' won't work.
    • Please use etcd --logger=zap --log-outputs=stderr instead.
  • Deprecated etcd_debugging_mvcc_db_total_size_in_bytes Prometheus metric. Instead, use etcd_mvcc_db_total_size_in_bytes.

Metrics, Monitoring

Note that any etcd_debugging_* metrics are experimental and subject to change.

  • Deprecated etcd_debugging_mvcc_db_total_size_in_bytes Prometheus metric. Instead, use etcd_mvcc_db_total_size_in_bytes.

etcd server

  • etcd --enable-v2v3 flag is now stable.
    • etcd --experimental-enable-v2v3 has been deprecated.
    • Added more v2v3 integration tests.
    • etcd --enable-v2=true --enable-v2v3='' by default, to enable v2 API server that is backed by v2 store.
    • etcd --enable-v2=true --enable-v2v3=/aaa to enable v2 API server that is backed by v3 storage.
    • etcd --enable-v2=false --enable-v2v3='' to disable v2 API server.
    • etcd --enable-v2=false --enable-v2v3=/aaa to disable v2 API server. TODO: error?
    • Automatically create parent directory if it does not exist (fix issue#9609).
    • v4.0 will configure etcd --enable-v2=true --enable-v2v3=/aaa to enable v2 API server that is backed by v3 storage.

Package embed

gRPC gateway

  • gRPC gateway only supports /v3 endpoint.
    • Deprecated /v3beta.
    • curl -L http://localhost:2379/v3beta/kv/put -X POST -d '{"key": "Zm9v", "value": "YmFy"}' does work in v3.5. Use curl -L http://localhost:2379/v3/kv/put -X POST -d '{"key": "Zm9v", "value": "YmFy"}' instead.