forked from mirror/client_golang
Update README.md to explain the release situation
I will also update the issue template.
This commit is contained in:
parent
a85074fc85
commit
c5b094d7a6
43
README.md
43
README.md
|
@ -10,6 +10,49 @@ Prometheus HTTP API.
|
||||||
|
|
||||||
__This library requires Go1.7 or later.__
|
__This library requires Go1.7 or later.__
|
||||||
|
|
||||||
|
## Important note about releases, versioning, tagging, stability, and your favorite Go dependency management tool
|
||||||
|
|
||||||
|
While our goal is to follow [Semantic Versioning](https://semver.org/), this
|
||||||
|
repository is still pre-1.0.0. To quote the
|
||||||
|
[Semantic Versioning spec](https://semver.org/#spec-item-4): “Anything may
|
||||||
|
change at any time. The public API should not be considered stable.” We know
|
||||||
|
that this is at odds with the widespread use of this library. However, just
|
||||||
|
declaring something 1.0.0 doesn't make it 1.0.0. Instead, we are working
|
||||||
|
towards a 1.0.0 release that actually deserves its major version number.
|
||||||
|
|
||||||
|
Having said that, we aim for always keeping the tip of master in a workable
|
||||||
|
state and for only introducing ”mildly” breaking changes up to and including
|
||||||
|
[v0.9.0](https://github.com/prometheus/client_golang/milestone/1). After that,
|
||||||
|
a number of ”hard” breaking changes are planned, see the
|
||||||
|
[v0.10.0 milestone](https://github.com/prometheus/client_golang/milestone/2),
|
||||||
|
which should get the library much closer to 1.0.0 state.
|
||||||
|
|
||||||
|
Dependency management in Go projects is still in flux, and there are many tools
|
||||||
|
floating around. While [dep](https://golang.github.io/dep/) might develop into
|
||||||
|
the de-facto standard tool, it is still officially experimental. The roadmap
|
||||||
|
for this library has been laid out with a lot of sometimes painful experience
|
||||||
|
in mind. We really cannot adjust it every other month to the needs of the
|
||||||
|
currently most popular or most promising Go dependency management tool. The
|
||||||
|
recommended course of action with dependency management tools is the following:
|
||||||
|
|
||||||
|
- Do not expect strict post-1.0.0 semver semantics prior to the 1.0.0
|
||||||
|
release. If your dependency management tool expects strict post-1.0.0 semver
|
||||||
|
semantics, you have to wait. Sorry.
|
||||||
|
- If you want absolute certainty, please lock to a specific commit. You can
|
||||||
|
also lock to tags, but please don't ask for more tagging. This would suggest
|
||||||
|
some release or stability testing procedure that simply is not in place. As
|
||||||
|
said above, we are aiming for stability of the tip of master, but if we
|
||||||
|
tagged every single commit, locking to tags would be the same as locking to
|
||||||
|
commits.
|
||||||
|
- If you want to get the newer features and improvements and are willing to
|
||||||
|
take the minor risk of newly introduced bugs and “mild” breakage, just always
|
||||||
|
update to the tip of master (which is essentially the original idea of Go
|
||||||
|
dependency management). We recommend to not use features marked as
|
||||||
|
_deprecated_ in this case.
|
||||||
|
- Once [v0.9.0](https://github.com/prometheus/client_golang/milestone/1), you
|
||||||
|
could lock to v0.9.x to get bugfixes (and perhaps minor new features) while
|
||||||
|
avoiding the “hard” breakage that will come with post-0.9 features.
|
||||||
|
|
||||||
## Instrumenting applications
|
## Instrumenting applications
|
||||||
|
|
||||||
[![code-coverage](http://gocover.io/_badge/github.com/prometheus/client_golang/prometheus)](http://gocover.io/github.com/prometheus/client_golang/prometheus) [![go-doc](https://godoc.org/github.com/prometheus/client_golang/prometheus?status.svg)](https://godoc.org/github.com/prometheus/client_golang/prometheus)
|
[![code-coverage](http://gocover.io/_badge/github.com/prometheus/client_golang/prometheus)](http://gocover.io/github.com/prometheus/client_golang/prometheus) [![go-doc](https://godoc.org/github.com/prometheus/client_golang/prometheus?status.svg)](https://godoc.org/github.com/prometheus/client_golang/prometheus)
|
||||||
|
|
Loading…
Reference in New Issue