diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index e7c3faab4..48dc1a253 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,2 +1,2 @@ -Please read https://github.com/etcd-io/etcd/blob/master/CONTRIBUTING.md#contribution-flow. +Please read https://github.com/etcd-io/etcd/blob/main/CONTRIBUTING.md#contribution-flow. diff --git a/CHANGELOG-3.5.md b/CHANGELOG-3.5.md index a9d31eec6..9861aae41 100644 --- a/CHANGELOG-3.5.md +++ b/CHANGELOG-3.5.md @@ -22,8 +22,8 @@ See [code changes](https://github.com/etcd-io/etcd/compare/v3.4.0...v3.5.0) and ### Breaking Changes - `go.etcd.io/etcd` Go packages have moved to `go.etcd.io/etcd/{api,pkg,raft,client,etcdctl,server,raft,tests}/v3` to follow the [Go modules](https://github.com/golang/go/wiki/Modules) conventions -- `go.etcd.io/clientv3/snapshot` SnapshotManager class have moved to `go.etcd.io/clientv3/etcdctl`. - The method `snapshot.Save` to download a snapshot from the remote server was preserved in 'go.etcd.io/clientv3/snapshot`. +- `go.etcd.io/clientv3/snapshot` SnapshotManager class have moved to `go.etcd.io/clientv3/etcdctl`. + The method `snapshot.Save` to download a snapshot from the remote server was preserved in 'go.etcd.io/clientv3/snapshot`. - `go.etcd.io/client' package got migrated to 'go.etcd.io/client/v2'. - Changed behavior of clienv3 API [MemberList](https://github.com/etcd-io/etcd/pull/11639). - Previously, it is directly served with server's local data, which could be stale. @@ -56,7 +56,7 @@ See [code changes](https://github.com/etcd-io/etcd/compare/v3.4.0...v3.5.0) and - Deprecated `etcd_debugging_mvcc_delete_total` Prometheus metric. Use `etcd_mvcc_delete_total` instead. - Deprecated `etcd_debugging_mvcc_txn_total` Prometheus metric. Use `etcd_mvcc_txn_total` instead. - Deprecated `etcd_debugging_mvcc_range_total` Prometheus metric. Use `etcd_mvcc_range_total` instead. -- Master branch `/version` outputs `3.5.0-pre`, instead of `3.4.0+git`. +- Main branch `/version` outputs `3.5.0-pre`, instead of `3.4.0+git`. - Changed `proxy` package function signature to [support structured logger](https://github.com/etcd-io/etcd/pull/11614). - Previously, `NewClusterProxy(c *clientv3.Client, advaddr string, prefix string) (pb.ClusterServer, <-chan struct{})`, now `NewClusterProxy(lg *zap.Logger, c *clientv3.Client, advaddr string, prefix string) (pb.ClusterServer, <-chan struct{})`. - Previously, `Register(c *clientv3.Client, prefix string, addr string, ttl int)`, now `Register(lg *zap.Logger, c *clientv3.Client, prefix string, addr string, ttl int) <-chan struct{}`. @@ -67,10 +67,10 @@ See [code changes](https://github.com/etcd-io/etcd/compare/v3.4.0...v3.5.0) and - ClientV3 supports [grpc resolver API](https://github.com/etcd-io/etcd/blob/main/client/v3/naming/resolver/resolver.go). - Endpoints can be managed using [endpoints.Manager](https://github.com/etcd-io/etcd/blob/main/client/v3/naming/endpoints/endpoints.go) - Previously supported [GRPCResolver was decomissioned](https://github.com/etcd-io/etcd/pull/12675). Use [resolver](https://github.com/etcd-io/etcd/blob/main/client/v3/naming/resolver/resolver.go) instead. -- Turned on [--pre-vote by default](https://github.com/etcd-io/etcd/pull/12770). Should prevent disrupting RAFT leader by an individual member. +- Turned on [--pre-vote by default](https://github.com/etcd-io/etcd/pull/12770). Should prevent disrupting RAFT leader by an individual member. - [ETCD_CLIENT_DEBUG env](https://github.com/etcd-io/etcd/pull/12786): Now supports log levels (debug, info, warn, error, dpanic, panic, fatal). Only when set, overrides application-wide grpc logging settings. - [Embed Etcd.Close()](https://github.com/etcd-io/etcd/pull/12828) needs to called exactly once and closes Etcd.Err() stream. -- [Embed Etcd does not override global/grpc logger](https://github.com/etcd-io/etcd/pull/12861) be default any longer. If desired, please call `embed.Config::SetupGlobalLoggers()` explicitly. +- [Embed Etcd does not override global/grpc logger](https://github.com/etcd-io/etcd/pull/12861) be default any longer. If desired, please call `embed.Config::SetupGlobalLoggers()` explicitly. - Client errors of `context cancelled` or `context deadline exceeded` are exposed as `codes.Canceled` and `codes.DeadlineExceeded`, instead of `codes.Unknown`. ### Storage format changes @@ -153,11 +153,11 @@ Note that any `etcd_debugging_*` metrics are experimental and subject to change. - Add [`etcd --experimental-warning-apply-duration`](https://github.com/etcd-io/etcd/pull/12448) flag which allows apply duration threshold to be configurable. - Add [`etcd --experimental-memory-mlock`](https://github.com/etcd-io/etcd/pull/TODO) flag which prevents etcd memory pages to be swapped out. - Add [`etcd --socket-reuse-port`](https://github.com/etcd-io/etcd/pull/12702) flag - - Setting this flag enables `SO_REUSEPORT` which allows rebind of a port already in use. User should take caution when using this flag to ensure flock is properly enforced. + - Setting this flag enables `SO_REUSEPORT` which allows rebind of a port already in use. User should take caution when using this flag to ensure flock is properly enforced. - Add [`etcd --socket-reuse-address`](https://github.com/etcd-io/etcd/pull/12702) flag - Setting this flag enables `SO_REUSEADDR` which allows binding to an address in `TIME_WAIT` state, improving etcd restart time. - Reduce [around 30% memory allocation by logging range response size without marshal](https://github.com/etcd-io/etcd/pull/12871). -- `ETCD_VERIFY="all"` enviroment triggers [additional verification of consistency](https://github.com/etcd-io/etcd/pull/) of etcd data-dir files. +- `ETCD_VERIFY="all"` enviroment triggers [additional verification of consistency](https://github.com/etcd-io/etcd/pull/) of etcd data-dir files. - Add [`etcd --enable-log-rotation`](https://github.com/etcd-io/etcd/pull/12774) boolean flag which enables log rotation if true. - Add [`etcd --log-rotation-config-json`](https://github.com/etcd-io/etcd/pull/12774) flag which allows passthrough of JSON config to configure log rotation for a file output target. - Add experimental distributed tracing boolean flag [`--experimental-enable-distributed-tracing`](https://github.com/etcd-io/etcd/pull/12919) which enables tracing. @@ -178,7 +178,7 @@ Note that any `etcd_debugging_*` metrics are experimental and subject to change. - Add [`embed.Config.EnableLogRotation`](https://github.com/etcd-io/etcd/pull/12774) which enables log rotation if true. - Add [`embed.Config.LogRotationConfigJSON`](https://github.com/etcd-io/etcd/pull/12774) to allow passthrough of JSON config to configure log rotation for a file output target. - Add [`embed.Config.ExperimentalEnableDistributedTracing`](https://github.com/etcd-io/etcd/pull/12919) which enables experimental distributed tracing if true. -- Add [`embed.Config.ExperimentalDistributedTracingAddress`](https://github.com/etcd-io/etcd/pull/12919) which allows overriding default collector address. +- Add [`embed.Config.ExperimentalDistributedTracingAddress`](https://github.com/etcd-io/etcd/pull/12919) which allows overriding default collector address. - Add [`embed.Config.ExperimentalDistributedTracingServiceName`](https://github.com/etcd-io/etcd/pull/12919) which allows overriding default "etcd" service name. - Add [`embed.Config.ExperimentalDistributedTracingServiceInstanceID`](https://github.com/etcd-io/etcd/pull/12919) which allows configuring an instance ID, which must be uniquer per etcd instance. diff --git a/README.md b/README.md index e71879835..fc438ae73 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,9 @@ [![Docs](https://img.shields.io/badge/docs-latest-green.svg)](https://etcd.io/docs) [![Godoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](https://godoc.org/github.com/etcd-io/etcd) [![Releases](https://img.shields.io/github/release/etcd-io/etcd/all.svg?style=flat-square)](https://github.com/etcd-io/etcd/releases) -[![LICENSE](https://img.shields.io/github/license/etcd-io/etcd.svg?style=flat-square)](https://github.com/etcd-io/etcd/blob/master/LICENSE) +[![LICENSE](https://img.shields.io/github/license/etcd-io/etcd.svg?style=flat-square)](https://github.com/etcd-io/etcd/blob/main/LICENSE) -**Note**: The `master` branch may be in an *unstable or even broken state* during development. Please use [releases][github-release] instead of the `master` branch in order to get stable binaries. +**Note**: The `main` branch may be in an *unstable or even broken state* during development. For stable versions, see [releases][github-release]. ![etcd Logo](logos/etcd-horizontal-color.svg) @@ -22,9 +22,9 @@ etcd is a distributed reliable key-value store for the most critical data of a d * *Fast*: benchmarked 10,000 writes/sec * *Reliable*: properly distributed using Raft -etcd is written in Go and uses the [Raft][raft] consensus algorithm to manage a highly-available replicated log. +etcd is written in Go and uses the [Raft][] consensus algorithm to manage a highly-available replicated log. -etcd is used [in production by many companies](./ADOPTERS.md), and the development team stands behind it in critical deployment scenarios, where etcd is frequently teamed with applications such as [Kubernetes][k8s], [locksmith][locksmith], [vulcand][vulcand], [Doorman][doorman], and many others. Reliability is further ensured by [**rigorous testing**](https://github.com/etcd-io/etcd/tree/master/tests/functional). +etcd is used [in production by many companies](./ADOPTERS.md), and the development team stands behind it in critical deployment scenarios, where etcd is frequently teamed with applications such as [Kubernetes][k8s], [locksmith][], [vulcand][], [Doorman][], and many others. Reliability is further ensured by [**rigorous testing**](https://github.com/etcd-io/etcd/tree/main/tests/functional). See [etcdctl][etcdctl] for a simple command line client. @@ -33,7 +33,7 @@ See [etcdctl][etcdctl] for a simple command line client. [doorman]: https://github.com/youtube/doorman [locksmith]: https://github.com/coreos/locksmith [vulcand]: https://github.com/vulcand/vulcand -[etcdctl]: https://github.com/etcd-io/etcd/tree/master/etcdctl +[etcdctl]: https://github.com/etcd-io/etcd/tree/main/etcdctl ## Community meetings @@ -53,7 +53,7 @@ Time: - [May 30th, 2019 11:00 AM video](https://youtu.be/2t1R5NATYG4) - [Jul 11th, 2019 11:00 AM video](https://youtu.be/k_FZEipWD6Y) - [Jul 25, 2019 11:00 AM video](https://youtu.be/VSUJTACO93I) -- [Aug 22, 2019 11:00 AM video](https://youtu.be/6IBQ-VxQmuM) +- [Aug 22, 2019 11:00 AM video](https://youtu.be/6IBQ-VxQmuM) - [Sep 19, 2019 11:00 AM video](https://youtu.be/SqfxU9DhBOc) - Nov 14, 2019 11:00 AM - Dec 12, 2019 11:00 AM @@ -84,7 +84,7 @@ The easiest way to get etcd is to use one of the pre-built release binaries whic For more installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://etcd.io/docs/latest/op-guide). -For those wanting to try the very latest version, [build the latest version of etcd][dl-build] from the `master` branch. This first needs [*Go*](https://golang.org/) installed ([version 1.16+](/go.mod#L3) is required). All development occurs on `master`, including new features and bug fixes. Bug fixes are first targeted at `master` and subsequently ported to release branches, as described in the [branch management][branch-management] guide. +For those wanting to try the very latest version, [build the latest version of etcd][dl-build] from the `main` branch. This first needs [*Go*](https://golang.org/) installed ([version 1.16+](/go.mod#L3) is required). All development occurs on `main`, including new features and bug fixes. Bug fixes are first targeted at `main` and subsequently ported to release branches, as described in the [branch management][branch-management] guide. [github-release]: https://github.com/etcd-io/etcd/releases [branch-management]: https://etcd.io/docs/latest/branch_management @@ -107,7 +107,7 @@ mv /tmp/etcd-download-test/etcd /usr/local/bin/ etcd ``` -If etcd is [built from the master branch][dl-build], run it as below: +If etcd is [built from the main branch][dl-build], run it as below: ```bash ./bin/etcd @@ -157,15 +157,15 @@ goreman -f ./Procfile.learner start Now it's time to dig into the full etcd API and other guides. -- Read the full [documentation][fulldoc]. -- Explore the full gRPC [API][api]. +- Read the full [documentation][]. +- Explore the full gRPC [API][]. - Set up a [multi-machine cluster][clustering]. - Learn the [config format, env variables and flags][configuration]. - Find [language bindings and tools][integrations]. - Use TLS to [secure an etcd cluster][security]. - [Tune etcd][tuning]. -[fulldoc]: https://etcd.io/docs/latest +[documentation]: https://etcd.io/docs/latest [api]: https://etcd.io/docs/latest/learning/api [clustering]: https://etcd.io/docs/latest/op-guide/clustering [configuration]: https://etcd.io/docs/latest/op-guide/configuration @@ -202,8 +202,8 @@ See [PR management](https://etcd.io/docs/current/triage/prs/) for guidelines on These emeritus maintainers dedicated a part of their career to etcd and reviewed code, triaged bugs, and pushed the project forward over a substantial period of time. Their contribution is greatly appreciated. -* Fanmin Shi -* Anthony Romano +* Fanmin Shi +* Anthony Romano ### License