Closed bradfitz closed 2 years ago
(Also in the acme/autocert package)
Oh, maybe we can do even better and nuke all the old symbols, as the package comment says:
This package is a work in progress and makes no API stability promises
Change https://golang.org/cl/342449 mentions this issue: acme: remove support for pre-RFC 8555 ACME spec
Not sure about deleting old symbols and breaking builds but deleting the code seems like a win. If we just delete the code, that probably doesn't have to go through the proposal process.
This proposal has been added to the active column of the proposals project and will now be reviewed at the weekly proposal review meetings. — rsc for the proposal review group
This seems like a likely accept, but can we leave the exported symbols around with stub implementations that panic? I'd rather not break builds that were trying to do both v1 and v2.
Based on the discussion above, this proposal seems like a likely accept. — rsc for the proposal review group
No change in consensus, so accepted. 🎉 This issue now tracks the work of implementing the proposal. — rsc for the proposal review group
Change https://golang.org/cl/380314 mentions this issue: acme: remove support for pre-RFC 8555 ACME spec
LetsEncrypt finally turned off ACMEv1 the other day.
AFAIU, they're the only CA who supported pre-RFC ACMEv1.
golang.org/x/crypto/acme contains both ACMEv1 and ACMEv2 clients and is pretty hard to read as a result. (both as a user reading godoc, and reading the code)
I propose we keep API compatibility but delete all the v1 code and do everything possible to hide (perhaps via embedding unexported types), deemphasize, or warn against its use in the godoc. And return errors if it's used.
And then rename a bunch of internal methods that have "RFC" in their name to drop the RFC suffix.
If there are no objections, I can send a beautifully red CL.
/cc @x1ddos, @FiloSottile @dmitshur