Skip to content

chore(deps): bump go.etcd.io/etcd/client/v3 from 3.5.21 to 3.6.12#164

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/go_modules/go.etcd.io/etcd/client/v3-3.6.12
Open

chore(deps): bump go.etcd.io/etcd/client/v3 from 3.5.21 to 3.6.12#164
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/go_modules/go.etcd.io/etcd/client/v3-3.6.12

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 10, 2026

Copy link
Copy Markdown
Contributor

Bumps go.etcd.io/etcd/client/v3 from 3.5.21 to 3.6.12.

Release notes

Sourced from go.etcd.io/etcd/client/v3's releases.

v3.6.12

Please check out CHANGELOG for a full list of changes. And make sure to read upgrade guide before upgrading etcd (there may be breaking changes).

For installation guides, please check out operating etcd. Latest support status for common architectures and operating systems can be found at supported platforms.

Linux
ETCD_VER=v3.6.12
choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1 --no-same-owner
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
start a local etcd server
/tmp/etcd-download-test/etcd
write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo

macOS (Darwin)
ETCD_VER=v3.6.12
choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
</tr></table>

... (truncated)

Commits
  • 90b034a version: bump up to 3.6.12
  • 8b95963 Merge pull request #21811 from Deln0r/release-3.6-backport-21666
  • 576a6a0 server: allow non-admin maintenance status
  • 2286051 Merge pull request #21794 from vivekpatani/cherry-pick-21788-release-3.6
  • e1468c8 client/pkg/fileutil: use os.Getuid() to skip TestIsDirWriteable as root
  • aaf38f8 Merge pull request #21768 from silentred/release-3.6-etcdutl-invalid-datadir
  • 449e34b etcdutl: validate data file path and return consistent errors instead of pani...
  • 00e1b15 Merge pull request #21736 from silentred/release-3.6-bugfix-memberupdate-learner
  • 49cd4a4 bugfix: MemberUpdate implicitly and unexpectedly promotes a learner
  • 9bbe31b Merge pull request #21727 from silentred/release-3.6-bump-go-1.25.10
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Summary by CodeRabbit

  • Chores
    • Updated core library dependencies to their latest versions.

Bumps [go.etcd.io/etcd/client/v3](https://github.com/etcd-io/etcd) from 3.5.21 to 3.6.12.
- [Release notes](https://github.com/etcd-io/etcd/releases)
- [Commits](etcd-io/etcd@v3.5.21...v3.6.12)

---
updated-dependencies:
- dependency-name: go.etcd.io/etcd/client/v3
  dependency-version: 3.6.12
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file go Pull requests that update Go code labels Jun 10, 2026
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@coderabbitai

coderabbitai Bot commented Jun 10, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This PR updates Go module dependencies in go.mod. The etcd v3 ecosystem modules (api/v3, client/v3, client/pkg/v3) are upgraded from v3.5.21 to v3.6.12, along with their transitive dependency go-semver. Supporting golang.org/x libraries are also refreshed to newer patch and minor versions.

Changes

Dependency Updates

Layer / File(s) Summary
etcd module upgrades
go.mod
go.etcd.io/etcd/api/v3 and go.etcd.io/etcd/client/v3 are bumped from v3.5.21 to v3.6.12; indirect go.etcd.io/etcd/client/pkg/v3 and github.com/coreos/go-semver are updated to v3.6.12 and v0.3.1 respectively to resolve transitive dependencies.
golang.org/x library updates
go.mod
golang.org/x/mod, golang.org/x/text, and golang.org/x/tools receive minor version bumps; google.golang.org/genproto/googleapis/api is refreshed to a newer pseudo-version.

🎯 1 (Trivial) | ⏱️ ~3 minutes

🐰 Etcd modules hop to v3.6,
golang.org/x tools shimmer bright,
Dependencies dance in perfect sync,
No breaking changes in sight!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: bumping go.etcd.io/etcd/client/v3 from 3.5.21 to 3.6.12, which is the primary dependency update in this PR.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dependabot/go_modules/go.etcd.io/etcd/client/v3-3.6.12

Comment @coderabbitai help to get the list of available commands and usage tips.

@sonarqubecloud

Copy link
Copy Markdown

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity · 0 duplication

Metric Results
Complexity 0
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@go.mod`:
- Around line 22-24: The go.mod shows an etcd client/server version skew
(go.etcd.io/etcd/client/v3 at v3.6.12 vs go.etcd.io/etcd/server/v3 at v3.5.21),
which can hide incompatibilities if you rely on v3.6-only features; either align
the module versions or add explicit integration tests for any v3.6-specific
APIs. Fix: update go.mod so go.etcd.io/etcd/server/v3 matches client/v3 (set
server/v3 to v3.6.12) or downgrade client/v3 to v3.5.21, and/or add integration
tests exercising any advanced APIs you use (watch/lease/KV calls) to confirm
behavior against the embedded/CI server; refer to the go.mod entries
go.etcd.io/etcd/client/v3 and go.etcd.io/etcd/server/v3 when making the change.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: a6d53e07-58e9-4819-b9f6-c8740b70f575

📥 Commits

Reviewing files that changed from the base of the PR and between afed49a and 2306069.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (1)
  • go.mod

Comment thread go.mod
Comment on lines +22 to 24
go.etcd.io/etcd/api/v3 v3.6.12
go.etcd.io/etcd/client/v3 v3.6.12
go.etcd.io/etcd/server/v3 v3.5.21

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🌐 Web query:

etcd v3.6.0 breaking changes and compatibility with v3.5

💡 Result:

etcd v3.6.0 introduces several critical breaking changes and specific requirements for upgrading from v3.5. Key Breaking Changes in v3.6.0: - Peer Endpoints Restriction: Peer endpoints (--listen-peer-urls) no longer serve client requests [1][2]. - CLI Tool Boundaries: A clear boundary between etcdctl (online) and etcdutl (offline) has been established [1]. Commands previously shared or used via etcdctl—specifically defrag, snapshot status, and snapshot restore—are now strictly delegated to etcdutl [1][2]. - Data Schema Incompatibility: Older etcd binaries are incompatible with newer data schema versions; for example, v3.5 binaries cannot start with data created by v3.6 [1][2]. - Removed Flags: Several flags, including all v2-related experimental flags (e.g., --enable-v2, --experimental-enable-v2v3) and various proxy-related flags, have been removed [2]. - CLI Behavior: etcdctl will now sleep for 2 seconds when performing a range delete without the --range flag [2]. Upgrade Compatibility and Requirements: - Mandatory Pre-requisite: Before upgrading to v3.6, you must upgrade your v3.5 cluster to v3.5.26 or later [3][4]. - Preventing Data/Membership Inconsistencies: Upgrading to v3.5.26+ is necessary to resolve potential inconsistencies between v2store and v3store regarding membership data, which could otherwise lead to "zombie" members or upgrade failures (e.g., "membership: too many learner member in cluster") [5][6][4]. - General Policy: etcd supports upgrading only one minor version at a time (e.g., v3.5 to v3.6) [7]. Patch upgrades (within the same minor version) are supported, but skipping minor versions is not [7]. - Process: The upgrade is generally performed as a zero-downtime, rolling replacement of binaries [3]. The cluster operates using the protocol of the lowest common version until all members are upgraded [3].

Citations:


🌐 Web query:

etcd client v3.6 compatibility with server v3.5

💡 Result:

Yes, the etcd client v3.6 is generally compatible with the etcd server v3.5. The etcd API follows semantic versioning principles where the v3 API is designed to be stable, meaning newer client libraries (like v3.6) are typically backward compatible with older minor server versions (like v3.5) [1]. While etcd does not publish a formal, exhaustive compatibility matrix, the project design ensures that clients can communicate with server versions that support the same API version [1][2]. Key considerations for compatibility include: 1. Protocol Support: etcd clusters operate using the protocol of the lowest common version during rolling upgrades [3][4]. Client libraries are generally designed to handle communication across minor versions, provided they are within the supported range of the v3 API [1]. 2. Feature Limitations: While a v3.6 client can communicate with a v3.5 server, you will only be able to utilize features that are supported by the server. If you attempt to use a feature introduced in v3.6, the v3.5 server will not recognize it [3][4]. 3. Best Practices: It is standard practice to upgrade the etcd server cluster to the newer version (v3.6) to take full advantage of new features, bug fixes, and performance improvements [5][4]. If you are maintaining a cluster, ensure that your server is running a recent patch version (e.g., v3.5.20+) before attempting an upgrade, as early minor releases may contain known bugs or specific upgrade path requirements [6][7]. Always verify your specific use case by testing, especially if your application relies on advanced or experimental features, as these may have different requirements depending on the server version [8].

Citations:


Review go.mod etcd client/server version skew (v3.6.12 client vs v3.5.21 server)

go.etcd.io/etcd/client/v3 is bumped to v3.6.12 while go.etcd.io/etcd/server/v3 stays v3.5.21 (go.mod lines 22-24). etcd’s v3 API is designed for backward compatibility across minor versions, so this skew is generally expected to work for standard KV/watch/lease operations—but any v3.6-only features/behaviors used by the code won’t be recognized by a v3.5 server. Add/confirm integration coverage for the specific operations you rely on if server/v3 is used for embedded server/test scenarios.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@go.mod` around lines 22 - 24, The go.mod shows an etcd client/server version
skew (go.etcd.io/etcd/client/v3 at v3.6.12 vs go.etcd.io/etcd/server/v3 at
v3.5.21), which can hide incompatibilities if you rely on v3.6-only features;
either align the module versions or add explicit integration tests for any
v3.6-specific APIs. Fix: update go.mod so go.etcd.io/etcd/server/v3 matches
client/v3 (set server/v3 to v3.6.12) or downgrade client/v3 to v3.5.21, and/or
add integration tests exercising any advanced APIs you use (watch/lease/KV
calls) to confirm behavior against the embedded/CI server; refer to the go.mod
entries go.etcd.io/etcd/client/v3 and go.etcd.io/etcd/server/v3 when making the
change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file go Pull requests that update Go code size/S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant