Skip to content

Commit 1cafe34

Browse files
authored
Merge pull request #480 from prometheus/beorn7/release
Release v0.9.0
2 parents 7866eea + b2c0ab4 commit 1cafe34

File tree

5 files changed

+122
-44
lines changed

5 files changed

+122
-44
lines changed

.github/ISSUE_TEMPLATE.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<!--
2+
3+
For bug reports, please provide the version or the Git commit hash for
4+
which you have observed the behavior in question.
5+
6+
Note that we use GitHub issues for bugs and (uncontroversial) feature
7+
requests (see below for details).
8+
9+
Please do *NOT* ask usage questions in GitHub issues. Usage questions make
10+
most sense on the users mailing list, where more people are available to
11+
potentially respond to your question, and the whole community can benefit
12+
from the answers provided (perhaps your question has already been answered,
13+
search the archive to find out):
14+
https://groups.google.com/forum/#!forum/prometheus-users
15+
16+
While a GitHub issue is fine to track progress on an uncontroversial
17+
feature request, many feature requests touch the best practices and
18+
concepts of Prometheus as a whole and need to be discussed with the wider
19+
developer community first. This is in particular true for a request to
20+
reconsider a prior rejection of a feature request. Those overarching
21+
discussions happen on the developer mailing list (GitHub issues, in
22+
particular closed ones, are not tracked by the wider developer community
23+
and thus inadequate):
24+
https://groups.google.com/forum/#!forum/prometheus-developers
25+
26+
You can find more information at: https://prometheus.io/community/
27+
28+
-->
29+
30+

CHANGELOG.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,55 @@
1+
## 0.9.0 / 2018-10-15
2+
* [CHANGE] Go1.6 is no longer supported.
3+
* [CHANGE] More refinements of the `Registry` consistency checks: Duplicated
4+
labels are now detected, but inconsistent label dimensions are now allowed.
5+
Collisions with the “magic” metric and label names in Summaries and
6+
Histograms are detected now. #108 #417 #471
7+
* [CHANGE] Changed `ProcessCollector` constructor. #219
8+
* [CHANGE] Changed Go counter `go_memstats_heap_released_bytes_total` to gauge
9+
`go_memstats_heap_released_bytes`. #229
10+
* [CHANGE] Unexported `LabelPairSorter`. #453
11+
* [CHANGE] Removed the `Untyped` metric from direct instrumentation. #340
12+
* [CHANGE] Unexported `MetricVec`. #319
13+
* [CHANGE] Removed deprecated `Set` method from `Counter` #247
14+
* [CHANGE] Removed deprecated `RegisterOrGet` and `MustRegisterOrGet`. #247
15+
* [CHANGE] API client: Introduced versioned packages.
16+
* [FEATURE] A `Registerer` can be wrapped with prefixes and labels. #357
17+
* [FEATURE] “Describe by collect” helper function. #239
18+
* [FEATURE] Added package `testutil`. #58
19+
* [FEATURE] Timestamp can be explicitly set for const metrics. #187
20+
* [FEATURE] “Unchecked” collectors are possible now without cheating. #47
21+
* [FEATURE] Pushing to the Pushgateway reworked in package `push` to support
22+
many new features. (The old functions are still usable but deprecated.) #372
23+
#341
24+
* [FEATURE] Configurable connection limit for scrapes. #179
25+
* [FEATURE] New HTTP middlewares to instrument `http.Handler` and
26+
`http.RoundTripper`. The old middlewares and the pre-instrumented `/metrics`
27+
handler are (strongly) deprecated. #316 #57 #101 #224
28+
* [FEATURE] “Currying” for metric vectors. #320
29+
* [FEATURE] A `Summary` can be created without quantiles. #118
30+
* [FEATURE] Added a `Timer` helper type. #231
31+
* [FEATURE] Added a Graphite bridge. #197
32+
* [FEATURE] Help strings are now optional. #460
33+
* [FEATURE] Added `process_virtual_memory_max_bytes` metric. #438 #440
34+
* [FEATURE] Added `go_gc_cpu_fraction` and `go_threads` metrics. #281 #277
35+
* [FEATURE] Added `promauto` package with auto-registering metrics. #385 #393
36+
* [FEATURE] Add `SetToCurrentTime` method to `Gauge`. #259
37+
* [FEATURE] API client: Add AlertManager, Status, and Target methods. #402
38+
* [FEATURE] API client: Add admin methods. #398
39+
* [FEATURE] API client: Support series API. #361
40+
* [FEATURE] API client: Support querying label values.
41+
* [ENHANCEMENT] Smarter creation of goroutines during scraping. Solves memory
42+
usage spikes in certain situations. #369
43+
* [ENHANCEMENT] Counters are now faster if dealing with integers only. #367
44+
* [ENHANCEMENT] Improved label validation. #274 #335
45+
* [BUGFIX] Creating a const metric with an invalid `Desc` returns an error. #460
46+
* [BUGFIX] Histogram observations don't race any longer with exposition. #275
47+
* [BUGFIX] Fixed goroutine leaks. #236 #472
48+
* [BUGFIX] Fixed an error message for exponential histogram buckets. #467
49+
* [BUGFIX] Fixed data race writing to the metric map. #401
50+
* [BUGFIX] API client: Decode JSON on a 4xx respons but do not on 204
51+
responses. #476 #414
52+
153
## 0.8.0 / 2016-08-17
254
* [CHANGE] Registry is doing more consistency checks. This might break
355
existing setups that used to export inconsistent metrics.

ISSUE_TEMPLATE.md

Lines changed: 0 additions & 8 deletions
This file was deleted.

README.md

Lines changed: 39 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Prometheus HTTP API.
1111

1212
__This library requires Go1.7 or later.__
1313

14-
## Important note about releases, versioning, tagging, stability, and your favorite Go dependency management tool
14+
## Important note about releases, versioning, tagging, and stability
1515

1616
While our goal is to follow [Semantic Versioning](https://semver.org/), this
1717
repository is still pre-1.0.0. To quote the
@@ -22,38 +22,42 @@ declaring something 1.0.0 doesn't make it 1.0.0. Instead, we are working
2222
towards a 1.0.0 release that actually deserves its major version number.
2323

2424
Having said that, we aim for always keeping the tip of master in a workable
25-
state and for only introducing ”mildly” breaking changes up to and including
26-
[v0.9.0](https://github.com/prometheus/client_golang/milestone/1). After that,
27-
a number of ”hard” breaking changes are planned, see the
28-
[v0.10.0 milestone](https://github.com/prometheus/client_golang/milestone/2),
29-
which should get the library much closer to 1.0.0 state.
30-
31-
Dependency management in Go projects is still in flux, and there are many tools
32-
floating around. While [dep](https://golang.github.io/dep/) might develop into
33-
the de-facto standard tool, it is still officially experimental. The roadmap
34-
for this library has been laid out with a lot of sometimes painful experience
35-
in mind. We really cannot adjust it every other month to the needs of the
36-
currently most popular or most promising Go dependency management tool. The
37-
recommended course of action with dependency management tools is the following:
38-
39-
- Do not expect strict post-1.0.0 semver semantics prior to the 1.0.0
40-
release. If your dependency management tool expects strict post-1.0.0 semver
41-
semantics, you have to wait. Sorry.
42-
- If you want absolute certainty, please lock to a specific commit. You can
43-
also lock to tags, but please don't ask for more tagging. This would suggest
44-
some release or stability testing procedure that simply is not in place. As
45-
said above, we are aiming for stability of the tip of master, but if we
46-
tagged every single commit, locking to tags would be the same as locking to
47-
commits.
48-
- If you want to get the newer features and improvements and are willing to
49-
take the minor risk of newly introduced bugs and “mild” breakage, just always
50-
update to the tip of master (which is essentially the original idea of Go
51-
dependency management). We recommend to not use features marked as
52-
_deprecated_ in this case.
53-
- Once [v0.9.0](https://github.com/prometheus/client_golang/milestone/1) is
54-
out, you could lock to v0.9.x to get bugfixes (and perhaps minor new
55-
features) while avoiding the “hard” breakage that will come with post-0.9
56-
features.
25+
state. We occasionally tag versions and track their changes in CHANGELOG.md,
26+
but this happens mostly to keep dependency management tools happy and to give
27+
people a handle they can talk about easily. In particular, all commits in the
28+
master branch have passed the same testing and reviewing. There is no QA
29+
process in place that would render tagged commits more stable or better tested
30+
than others.
31+
32+
There is a plan behind the current (pre-1.0.0) versioning, though:
33+
34+
- v0.9 is the “production release”, currently tracked in the master
35+
branch. “Patch” releases will usually be just bug fixes, indeed, but
36+
important new features that do not require invasive code changes might also
37+
be included in those. We do not plan any breaking changes from one v0.9.x
38+
release to any later v0.9.y release, but nothing is guaranteed. Since the
39+
master branch will eventually be switched over to track the upcoming v0.10
40+
(see below), we recommend to tell your dependency management tool of choice
41+
to use the latest v0.9.x release, at least for your production software. In
42+
that way, you should get bug fixes and non-invasive, low-risk new features
43+
without the need to change anything on your part.
44+
- v0.10 is a planned release that will have a _lot_ of breaking changes
45+
(despite being only a “minor” release in the Semantic Versioning terminology,
46+
but as said, pre-1.0.0 means nothing is guaranteed). Essentially, we have
47+
been piling up feature requests that require breaking changes for a while,
48+
and they are all collected in the
49+
[v0.10 milestone](https://github.com/prometheus/client_golang/milestone/2).
50+
Since there will be so many breaking changes, the development for v0.10 is
51+
currently not happening in the master branch, but in the
52+
[dev-0.10 branch](https://github.com/prometheus/client_golang/tree/dev-0.10).
53+
It will violently change for a while, and it will definitely be in a
54+
non-working state now and then. It should only be used for sneak-peaks and
55+
discussions of the new features and designs.
56+
- Once v0.10 is ready for real-life use, it will be merged into the master
57+
branch (which is the reason why you should lock your dependency management
58+
tool to v0.9.x and only migrate to v0.10 when both you and v0.10 are ready
59+
for it). In the ideal case, v0.10 will be the basis for the future v1.0
60+
release, but we cannot provide an ETA at this time.
5761

5862
## Instrumenting applications
5963

@@ -62,8 +66,8 @@ recommended course of action with dependency management tools is the following:
6266
The
6367
[`prometheus` directory](https://github.com/prometheus/client_golang/tree/master/prometheus)
6468
contains the instrumentation library. See the
65-
[best practices section](http://prometheus.io/docs/practices/naming/) of the
66-
Prometheus documentation to learn more about instrumenting applications.
69+
[guide](https://prometheus.io/docs/guides/go-application/) on the Prometheus
70+
website to learn more about instrumenting applications.
6771

6872
The
6973
[`examples` directory](https://github.com/prometheus/client_golang/tree/master/examples)

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.8.0
1+
0.9.0

0 commit comments

Comments
 (0)