Releases: prometheus/client_golang
v1.16.0
What's Changed
- [BUGFIX] api: Switch to POST for LabelNames, Series, and QueryExemplars. #1252
- [BUGFIX] api: Fix undefined execution order in return statements. #1260
- [BUGFIX] native histograms: Fix bug in bucket key calculation. #1279
- [ENHANCEMENT] Reduce constrainLabels allocations for all metrics. #1272
- [ENHANCEMENT] promhttp: Add process start time header for scrape efficiency. #1278
- [ENHANCEMENT] promlint: Improve metricUnits runtime. #1286
Commits
- Merge v1.15 to main by @bwplotka in #1250
- Switch to POST for LabelNames, Series, and QueryExemplars to DoGetFallback by @jacksontj in #1252
- ✏️ [collectors]: fix typo in test assertion by @vegerot in #1153
- Added interactive tutorial [kubeCon] by @bwplotka in #1255
- Fixed tutorial. by @bwplotka in #1256
- Bump golang.org/x/sys from 0.6.0 to 0.7.0 by @dependabot in #1265
- Cleanup proto use in tests by @SuperQ in #1264
- Fix tutorial on WSL-based systems by @marevers in #1257
- Fix undefined execution order in return statements by @PiotrLewandowski323 in #1260
- Merge release 1.15.1 to main by @bwplotka in #1267
- GitHub Workflows security hardening by @sashashura in #1180
- add process start time header to client_golang prometheus by @logicalhan in #1278
- Fix bug in bucket key calculation by @beorn7 in #1279
- Bump github.com/prometheus/procfs from 0.9.0 to 0.10.1 by @dependabot in #1283
- Reduce constrainLabels allocations by @khasanovbi in #1272
- added circleci as gh action YAML by @krishnaduttPanchagnula in #1281
- Improve metricUnits runtime by @avlitman in #1286
- Moving fully to GH actions. by @bwplotka in #1288
- Fix docstring references to renamed native histogram fields / functions. by @juliusv in #1290
- Fixed README & CHANGELOG; Added fmt makefile command (+bingo) for easier contributions. by @bwplotka in #1289
New Contributors
- @vegerot made their first contribution in #1153
- @marevers made their first contribution in #1257
- @PiotrLewandowski323 made their first contribution in #1260
- @sashashura made their first contribution in #1180
- @logicalhan made their first contribution in #1278
- @khasanovbi made their first contribution in #1272
- @krishnaduttPanchagnula made their first contribution in #1281
- @avlitman made their first contribution in #1286
Full Changelog: v1.15.1...v1.16.0
v1.15.1
v1.15.0
Changed
[BUGFIX] Fix issue with atomic variables on ppc64le #1171
[BUGFIX] Support for multiple samples within same metric #1181
[BUGFIX] Bump golang.org/x/text to v0.3.8 to mitigate CVE-2022-32149 #1187
[ENHANCEMENT] Add exemplars and middleware examples #1173
[ENHANCEMENT] Add more context to "duplicate label names" error to enable debugging #1177
[ENHANCEMENT] Add constrained labels and constrained variant for all MetricVecs #1151
[ENHANCEMENT] Moved away from deprecated github.com/golang/protobuf package #1183
[ENHANCEMENT] Add possibility to dynamically get label values for http instrumentation #1066
[ENHANCEMENT] Add ability to Pusher to add custom headers #1218
[ENHANCEMENT] api: Extend and improve efficiency of json-iterator usage #1225
[ENHANCEMENT] Added (official) support for go 1.20 #1234
[ENHANCEMENT] timer: Added support for exemplars #1233
[ENHANCEMENT] Filter expected metrics as well in CollectAndCompare #1143
[ENHANCEMENT]
All commits
- Merge release 1.14 to main by @bwplotka in #1164
- Fix typo in doc comment by @beorn7 in #1166
- Fix issue with atomic variables on ppc64le by @beorn7 in #1171
- examples: Add exemplars and middleware examples by @jessicalins in #1173
- Add context to "duplicate label names" to enable debugging by @SpencerMalone in #1177
- Add constrained labels and Constrained variant for all MetricVecs by @Okhoshi in #1151
- Support for multiple samples within same metric by @machadovilaca in #1181
- Replace deprecated github.com/golang/protobuf package by @zhsj in #1183
- Bump golang.org/x/text to v0.3.8 to mitigate CVE-2022-32149 by @b4bay in #1187
- typo fix by @ibreakthecloud in #1178
- Add possibility to dynamically get label values for http instrumentation by @Okhoshi in #1066
- Bump github.com/cespare/xxhash/v2 from 2.1.2 to 2.2.0 by @dependabot in #1199
- Bump github.com/prometheus/procfs from 0.8.0 to 0.9.0 by @dependabot in #1198
- Bump golang.org/x/sys from 0.3.0 to 0.4.0 by @dependabot in #1217
- Synchronize common files from prometheus/prometheus by @prombot in #1213
- Bump github.com/prometheus/common from 0.37.0 to 0.39.0 by @dependabot in #1197
- Add
Header
method to Pusher for custom header by @songjiayang in #1218 - Synchronize common files from prometheus/prometheus by @prombot in #1224
- api: Extend and improve json-iterator usage by @beorn7 in #1225
- Indent example in godoc consistently by @lamida in #1226
- Remove unnecessary check if label is nil in observeWithExemplar by @dimonl in #1235
- README: Remove not working gocoverage images. by @bwplotka in #1236
- Added support for go 1.20. by @bwplotka in #1234
- timer: Added support for exemplars. by @bwplotka in #1233
- Synchronize common files from prometheus/prometheus by @prombot in #1237
- Filter expected metrics as well in CollectAndCompare by @DariaKunoichi in #1143
- Only set start/end if time is not Zero by @jacksontj in #1238
- Bump google.golang.org/protobuf from 1.28.1 to 1.30.0 by @dependabot in #1243
- Bump golang.org/x/sys from 0.5.0 to 0.6.0 by @dependabot in #1246
- Bump github.com/golang/protobuf from 1.5.2 to 1.5.3 by @dependabot in #1245
- Bump github.com/prometheus/common from 0.41.0 to 0.42.0 by @dependabot in #1244
- Cut v1.15.0 by @bwplotka in #1249
New Contributors
- @SpencerMalone made their first contribution in #1177
- @Okhoshi made their first contribution in #1151
- @machadovilaca made their first contribution in #1181
- @b4bay made their first contribution in #1187
- @ibreakthecloud made their first contribution in #1178
- @songjiayang made their first contribution in #1218
- @lamida made their first contribution in #1226
- @dimonl made their first contribution in #1235
- @DariaKunoichi made their first contribution in #1143
Full Changelog: v1.14.0...v1.15.0
1.14.0 / 2022-11-08
It might look like a small release, but it's quite opposite 😱 There were many non user facing changes and fixes and enormous work from engineers from Grafana to add native histograms in 💪🏾 Enjoy! 😍
What's Changed
- [FEATURE] Add Support for Native Histograms. #1150
- [CHANGE] Extend
prometheus.Registry
to implementprometheus.Collector
interface. #1103
New Contributors
- @hairyhenderson made their first contribution in #1118
- @rfratto made their first contribution in #1103
- @donotnoot made their first contribution in #1125
- @rogerogers made their first contribution in #1130
- @balintzs made their first contribution in #1148
- @fstab made their first contribution in #1146
- @jessicalins made their first contribution in #1152
Full Changelog: v1.13.1...v1.14.0
1.13.1 / 2022-11-02
- [BUGFIX] Fix race condition with Exemplar in Counter. #1146
- [BUGFIX] Fix
CumulativeCount
value of+Inf
bucket created from exemplar. #1148 - [BUGFIX] Fix double-counting bug in
promhttp.InstrumentRoundTripperCounter
. #1118
Full Changelog: v1.13.0...v1.13.1
1.13.0 / 2022-08-06
- [CHANGE] Minimum required Go version is now 1.17 (we also test client_golang against the new 1.19 version).
- [ENHANCEMENT] Added
prometheus.TransactionalGatherer
interface forpromhttp.Handler
use which allows using low allocation update techniques for custom collectors. #989 - [ENHANCEMENT] Added exemplar support to
prometheus.NewConstHistogram
. SeeExampleNewConstHistogram_WithExemplar
example on how to use it. #986 - [ENHANCEMENT] Query requests are now retried after network error. #1022
- [ENHANCEMENT]
prometheus/push.Pusher
now has context-aware methods that pass context to HTTP requests. #1028 - [ENHANCEMENT]
prometheus/push.Pusher
has nowError
method that retrieve last error. #1075 - [ENHANCEMENT]
testutil.GatherAndCompare
provides now readable diff on failed comparisons. #998 - [ENHANCEMENT] Query API now supports timeouts. #1014
- [ENHANCEMENT] New
MetricVec
methodDeletePartialMatch(labels Labels)
for deleting all metrics that match provided labels. #1013 - [ENHANCEMENT]
api.Config
now accepts passing custom*http.Client
. #1025 - [BUGFIX] Raise exemplar labels limit from 64 to 128 bytes as specified in OpenMetrics spec. #1091
- [BUGFIX] Allow adding exemplar to +Inf bucket to const histograms. #1094
- [ENHANCEMENT] Most
promhttp.Instrument*
middlewares now support adding exemplars to metrics. This allows hooking those to your tracing middleware that retrieves trace ID and puts it in exemplar if present. #1055 - [ENHANCEMENT] Added
testutil.ScrapeAndCompare
method. #1043 - [BUGFIX] Fixed
GopherJS
build support. #897 - [ENHANCEMENT]
⚠️ Added way to specify whatruntime/metrics
collectors.NewGoCollector
should use. SeeExampleGoCollector_WithAdvancedGoMetrics
. #1102
New Contributors ❤️
- @alissa-tung made their first contribution in #1000
- @wperron made their first contribution in #986
- @zhijian-pro made their first contribution in #1005
- @dohnto made their first contribution in #1021
- @tatsuhiro-t made their first contribution in #1028
- @sourikghosh made their first contribution in #998
- @josephwoodward made their first contribution in #1014
- @stone-z made their first contribution in #1013
- @yolossn made their first contribution in #1025
- @xrstf made their first contribution in #1039
- @dependabot made their first contribution in #1051
- @sazary made their first contribution in #1056
- @oiooj made their first contribution in #1075
- @fredr made their first contribution in #1095
- @inosato made their first contribution in #1096
- @arun-shopify made their first contribution in #1094
- @paralin made their first contribution in #897
Commits
- go.mod: Set minimal support version of go to 1.15 by @mrueg in #980
- Enable CodeQL Analysis by @kakkoyun in #982
- Added Transactional Gatherer allowed cached solutions by @bwplotka in #989
- Synchronize common files from prometheus/prometheus by @prombot in #992
- Synchronize common files from prometheus/prometheus by @prombot in #1003
- Fix deprecated
NewBuildInfoCollector
API by @alissa-tung in #1000 - Add exemplar support for const histogram by @wperron in #986
- Fixed lint warning. by @bwplotka in #1007
- .circleci: Add config to test against go1.18 by @kakkoyun in #1006
- When prefix is empty, no more dots should be written by @zhijian-pro in #1005
- Add statebot config by @kakkoyun in #1001
- Synchronize common files from prometheus/prometheus by @prombot in #1009
- Remove workaround for pre go1.15 by @johejo in #1010
- go.mod: Update dependencies by @mrueg in #1018
- Synchronize common files from prometheus/prometheus by @prombot in #1019
- Refactor apiClientImpl.DoGetFallback by @dohnto in #1021
- Added info about our slack channel. by @bwplotka in #1029
- push: Add PushContext and AddContext to Pusher by @tatsuhiro-t in #1028
- Make Query requests idempotent by @dohnto in #1022
- Bump minimum required Go version to 1.16 by @mrueg in https://github.com/prometheus/client_golang/pull/10327
- Update query API to support timeouts by @josephwoodward in #1014
- Implement deletion based on partially matching labels by @stone-z in #1013
- Document WithTimeout option for Query/QueryRange by @josephwoodward in #1037
- client: Allow configuration of http client by @yolossn in #1025
- update branch names in a few links by @xrstf in #1039
- Synchronize common files from prometheus/prometheus by @prombot in #1045
- Synchronize common files from prometheus/prometheus by @prombot in #1046
- prometheus: Fix convention violating names for generated collector metrics by @kakkoyun in #1048
- Remove -Inf buckets from go collector histograms by @kakkoyun in #1049
- Enable dependabot by @SuperQ in #1050
- Bump github.com/prometheus/common from 0.33.0 to 0.34.0 by @dependabot in #1051
- Cut v1.12.2 by @kakkoyun in #1052
- Update readme after v0.12.2 by @kakkoyun in #1053
- Synchronize common files from prometheus/prometheus by @prombot in #1061
- Update minimum supported Go version (1.17) by @SuperQ in #1062
- Add GitHub settings by @SuperQ in #1063
- Synchronize common files from prometheus/prometheus by @prombot in #1064
- Enable same linters as the Prometheus repo itself by @sazary in #1056
- Synchronize common files from prometheus/prometheus by @prombot in #1068
- Add Error API for pusher by @oiooj in #1075
- Bump github.com/prometheus/common from 0.34.0 to 0.35.0 by @dependabot in #1076
- Merge release-1.12 branch back into main by @beorn7 in #1079
- Fix version number in VERSION by @beorn7 in #1080
- Merging release branch back to main again by @beorn7 in #1081
- Raise exemplar labels limit from 64 to 128 by @bboreham in #1091
- Update documentation for exemplar label limit by @fredr in #1095
- Bump github.com/prometheus/common from 0.35.0 to 0.37.0 by @dependabot in #1098
- Bump google.golang.org/protobuf from 1.28.0 to 1.28.1 by @dependabot in #1099
- Remove ioutil by @inosato in #1096
- Bump github.com/prometheus/procfs from 0.7.3 to 0.8.0 by @dependabot in #1097
- explicitly add +inf bucket in withExemplarsMetric by @arun-shopify in #1094
- Ensure tests verify request params by @josephwoodward in #1047
- Fixed support for unordered input of exemplars. by @bwplotka in #1100
- Added exemplar support to http middleware. by @bwplotka in #1055
- fix assorted oddities found by golangci-lint by @xrstf in #1040
- Generate new Go runtime metri...
1.12.2 / 2022-05-13
- [CHANGE] Added
collectors.WithGoCollections
that allows to choose what collection of Go runtime metrics user wants: Equivalent ofMemStats
structure configured usingGoRuntimeMemStatsCollection
, new based on dedicated runtime/metrics metrics represented byGoRuntimeMetricsCollection
option, or both by specifyingGoRuntimeMemStatsCollection | GoRuntimeMetricsCollection
flag. - [CHANGE]
⚠️ Change incollectors.NewGoCollector
metrics: Reverting addition of new ~80 runtime metrics by default. You can enable this back withGoRuntimeMetricsCollection
option orGoRuntimeMemStatsCollection | GoRuntimeMetricsCollection
for smooth transition. - [BUGFIX] Fixed the bug that causes generated histogram metric names to end with
_total
.⚠️ This changes 3 metric names in the new Go collector that was reverted from default in this release.go_gc_heap_allocs_by_size_bytes_total
->go_gc_heap_allocs_by_size_bytes
,go_gc_heap_frees_by_size_bytes_total
->go_gc_heap_allocs_by_size_bytes
go_gc_pauses_seconds_total
->go_gc_pauses_seconds
.
- [CHANGE] Removed
-Inf
buckets from new Go Collector histograms.
Full Changelog: v1.12.1...v1.12.2
1.11.1 / 2022-02-15
- [SECURITY FIX] promhttp: Check validity of method and code label values #987 (Addressed
CVE-2022-21698
)
What's Changed
Full Changelog: v1.11.0...v1.11.1
1.12.1 / 2022-01-29
- [BUGFIX] Make the Go 1.17 collector concurrency-safe #969
- Use simpler locking in the Go 1.17 collector #975
- [BUGFIX] Reduce granularity of histogram buckets for Go 1.17 collector #974
- [ENHANCEMENT] API client: make HTTP reads more efficient #976
Full Changelog: v1.12.0...v1.12.1
1.12.0 / 2022-01-19
- [CHANGE] example/random: Move flags and metrics into main() #935
- [FEATURE] API client: Support wal replay status api #944
- [FEATURE] Use the runtime/metrics package for the Go collector for 1.17+ #955
- [ENHANCEMENT] API client: Update /api/v1/status/tsdb to include headStats #925
- [SECURITY FIX] promhttp: Check validity of method and code label values #962 (Addressed
CVE-2022-21698
)
What's Changed
- Address minor issues on the changelog by @kakkoyun in #879
- Synchronize common files from prometheus/prometheus by @prombot in #888
- Update status badgets by @SuperQ in #885
- Updating dependency versions + cleanup by @sivabalan in #881
- Synchronize common files from prometheus/prometheus by @prombot in #892
- add ExponentialBucketsRange function by @sbunce in #899
- Synchronize common files from prometheus/prometheus by @prombot in #909
- Update cespare/xxhash dependency by @dtrudg in #913
- example/random: Move flags and metrics into main() by @beorn7 in #935
- Fix typo by @gozeloglu in #939
- Add support for go 1.17 by @mrueg in #950
- Synchronize common files from prometheus/prometheus by @prombot in #928
- Synchronize common files from prometheus/prometheus by @prombot in #952
- API: support wal replay status api by @yeya24 in #944
- Update /api/v1/status/tsdb to include headStats by @prymitive in #925
- Use the runtime/metrics package for the Go collector for 1.17+ by @mknyszek in #955
- promhttp: Check validity of method and code label values by @kakkoyun in #962
- go.*: Update dependencies by @kakkoyun in #965
New Contributors
- @sivabalan made their first contribution in #881
- @sbunce made their first contribution in #899
- @dtrudg made their first contribution in #913
- @gozeloglu made their first contribution in #939
- @mrueg made their first contribution in #950
- @prymitive made their first contribution in #925
- @mknyszek made their first contribution in #955
Full Changelog: v1.11.0...v1.12.0