Skip to content

Conversation

@thaJeztah
Copy link
Member

@thaJeztah thaJeztah commented Aug 25, 2025

relates to:

Relates to cli@27b2797, which forked this type from the Moby API, and moby@6cfff7e, which made the same change on the API side.

The Email field was originally used to create a new Docker Hub account through the docker login command. The docker login command could be used both to log in to an existing account (providing only username and password), or to create a new account (providing desired username and password, and an e-mail address to use for the new account).

This functionality was confusing, because it was implemented when Docker Hub was the only registry, but the same functionality could not be used for other registries. This functionality was removed in Docker 1.11 (API version 1.23) through moby@aee260d, which also removed the Email field (engine-api@9a9e468) as it was no longer used.

However, this caused issues when using a new CLI connecting with an old daemon, as the field would no longer be serialized, and the deprecation may not yet be picked up by custom registries, so engine-api@167efc7 added the field back, deprecated it, and added an "omitempty". There was no official "deprecated" format yet at the time, so let's make sure the deprecation follows the proper format to make sure it gets noticed.

- What I did

- How I did it

- How to verify it

- Human readable description for the release notes

Go SDK: cli/config/types: update deprecation message for `AuthConfig.Email` field

- A picture of a cute animal (not mandatory but encouraged)

@thaJeztah thaJeztah added this to the 29.0.0 milestone Aug 25, 2025
@codecov-commenter
Copy link

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Relates to [cli@27b2797], which forked this type from the Moby API, and
[moby@6cfff7e], which made the same change on the API side.

The Email field was originally used to create a new Docker Hub account
through the `docker login` command. The `docker login` command could be
used both to log in to an existing account (providing only username and
password), or to create a new account (providing desired username and
password, and an e-mail address to use for the new account).

This functionality was confusing, because it was implemented when Docker
Hub was the only registry, but the same functionality could not be used
for other registries. This functionality was removed in Docker 1.11 (API
version 1.23) through [moby@aee260d], which also removed the Email field
([engine-api@9a9e468]) as it was no longer used.

However, this caused issues when using a new CLI connecting with an old
daemon, as the field would no longer be serialized, and the deprecation
may not yet be picked up by custom registries, so [engine-api@167efc7]
added the field back, deprecated it, and added an "omitempty". There
was no official "deprecated" format yet at the time, so let's make sure
the deprecation follows the proper format to make sure it gets noticed.

[cli@27b2797]: docker@27b2797
[moby@6cfff7e]: moby/moby@6cfff7e
[moby@aee260d]: moby/moby@aee260d
[engine-api@9a9e468]: docker-archive-public/docker.engine-api@9a9e468
[engine-api@167efc7]: docker-archive-public/docker.engine-api@167efc7

Signed-off-by: Sebastiaan van Stijn <[email protected]>
@thaJeztah thaJeztah force-pushed the fix_email_deprecation branch from ab80541 to aab947d Compare August 25, 2025 13:44
@thaJeztah thaJeztah added the kind/refactor PR's that refactor, or clean-up code label Aug 25, 2025
@austinvazquez austinvazquez merged commit a2198ec into docker:master Aug 26, 2025
149 of 151 checks passed
@thaJeztah thaJeztah deleted the fix_email_deprecation branch August 26, 2025 16:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/authentication area/go-sdk Changes affecting the Go SDK impact/changelog impact/deprecation impact/go-sdk Noteworthy (compatibility changes) in the Go SDK kind/refactor PR's that refactor, or clean-up code process/cherry-picked status/2-code-review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants