autoradio merge requestshttps://git.autistici.org/ale/autoradio/-/merge_requests2024-01-04T16:31:46Zhttps://git.autistici.org/ale/autoradio/-/merge_requests/75Update module golang.org/x/sync to v0.6.02024-01-04T16:31:46ZrenovateUpdate module golang.org/x/sync to v0.6.0This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| golang.org/x/sync | require | minor | `v0.4.0` -> `v0.6.0` |
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no sch...This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| golang.org/x/sync | require | minor | `v0.4.0` -> `v0.6.0` |
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this MR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box
---
This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi40OS4wIiwidXBkYXRlZEluVmVyIjoiMzYuNDkuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9-->https://git.autistici.org/ale/autoradio/-/merge_requests/73Update module github.com/prometheus/common to v0.51.12024-03-24T06:31:19ZrenovateUpdate module github.com/prometheus/common to v0.51.1This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/prometheus/common](https://github.com/prometheus/common) | require | minor | `v0.32.1` -> `v0.51.1` |
---
### Release Notes
...This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/prometheus/common](https://github.com/prometheus/common) | require | minor | `v0.32.1` -> `v0.51.1` |
---
### Release Notes
<details>
<summary>prometheus/common (github.com/prometheus/common)</summary>
### [`v0.51.1`](https://github.com/prometheus/common/releases/tag/v0.51.1)
[Compare Source](https://github.com/prometheus/common/compare/v0.51.0...v0.51.1)
#### What's Changed
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/common/pull/606
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/common/pull/609
- Retract v0.50.0 by [@​SuperQ](https://github.com/SuperQ) in https://github.com/prometheus/common/pull/610
**Full Changelog**: https://github.com/prometheus/common/compare/v0.51.0...v0.51.1
### [`v0.51.0`](https://github.com/prometheus/common/releases/tag/v0.51.0)
[Compare Source](https://github.com/prometheus/common/compare/v0.50.0...v0.51.0)
#### What's Changed
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/common/pull/604
- expfmt: Add a way to generate different OpenMetrics Formats by [@​ywwg](https://github.com/ywwg) in https://github.com/prometheus/common/pull/596
- Fix string slice definition for FormatFlagOptions. by [@​gizmoguy](https://github.com/gizmoguy) in https://github.com/prometheus/common/pull/607
- Correct logic in sample naming for counters, add new test by [@​vesari](https://github.com/vesari) in https://github.com/prometheus/common/pull/608
#### New Contributors
- [@​gizmoguy](https://github.com/gizmoguy) made their first contribution in https://github.com/prometheus/common/pull/607
**Full Changelog**: https://github.com/prometheus/common/compare/v0.50.0...v0.51.0
### [`v0.50.0`](https://github.com/prometheus/common/releases/tag/v0.50.0)
[Compare Source](https://github.com/prometheus/common/compare/v0.49.0...v0.50.0)
#### What's Changed
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/common/pull/594
- Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 in /sigv4 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/593
- Bump github.com/aws/aws-sdk-go from 1.50.27 to 1.50.29 in /sigv4 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/592
- Bump github.com/aws/aws-sdk-go from 1.50.29 to 1.50.31 in /sigv4 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/595
- Remove unused 'Host' member from HTTPClientConfig by [@​bboreham](https://github.com/bboreham) in https://github.com/prometheus/common/pull/597
- Add OpenMetrics unit support by [@​vesari](https://github.com/vesari) in https://github.com/prometheus/common/pull/544
- Remove deprecated version function by [@​SuperQ](https://github.com/SuperQ) in https://github.com/prometheus/common/pull/591
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/common/pull/599
- Bump golang.org/x/oauth2 from 0.17.0 to 0.18.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/600
- Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/601
**Full Changelog**: https://github.com/prometheus/common/compare/v0.49.0...v0.50.0
### [`v0.49.0`](https://github.com/prometheus/common/releases/tag/v0.49.0)
[Compare Source](https://github.com/prometheus/common/compare/v0.48.0...v0.49.0)
#### What's Changed
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/common/pull/574
- Bump github.com/aws/aws-sdk-go from 1.49.13 to 1.50.8 in /sigv4 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/571
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/common/pull/581
- Update Go by [@​SuperQ](https://github.com/SuperQ) in https://github.com/prometheus/common/pull/588
- Deprecate version.NewCollector by [@​SuperQ](https://github.com/SuperQ) in https://github.com/prometheus/common/pull/579
- Bump github.com/aws/aws-sdk-go from 1.50.8 to 1.50.27 in /sigv4 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/587
- Avoid off-spec openmetrics exposition when exemplars have empty labels by [@​orls](https://github.com/orls) in https://github.com/prometheus/common/pull/569
- Bump golang.org/x/oauth2 from 0.16.0 to 0.17.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/585
- Write created lines when negotiating OpenMetrics by [@​ArthurSens](https://github.com/ArthurSens) in https://github.com/prometheus/common/pull/504
- Upgrade client_model to v.0.6.0 by [@​vesari](https://github.com/vesari) in https://github.com/prometheus/common/pull/589
- http_config: Add host by [@​jkroepke](https://github.com/jkroepke) in https://github.com/prometheus/common/pull/549
- LabelSet: Fix alphabetical sorting for prometheus LabelSet by [@​wasim-nihal](https://github.com/wasim-nihal) in https://github.com/prometheus/common/pull/575
- labelset: optimise String() function by [@​bboreham](https://github.com/bboreham) in https://github.com/prometheus/common/pull/590
#### New Contributors
- [@​orls](https://github.com/orls) made their first contribution in https://github.com/prometheus/common/pull/569
- [@​vesari](https://github.com/vesari) made their first contribution in https://github.com/prometheus/common/pull/589
**Full Changelog**: https://github.com/prometheus/common/compare/v0.48.0...v0.49.0
### [`v0.48.0`](https://github.com/prometheus/common/releases/tag/v0.48.0)
[Compare Source](https://github.com/prometheus/common/compare/v0.47.0...v0.48.0)
*This release will require changes of code that relies on direct access to content-type format strings. See the MR linked below for work-arounds. Please file an issue if your use case doesn't work anymore.*
#### What's Changed
- Unexport Format strings by [@​ywwg](https://github.com/ywwg) in https://github.com/prometheus/common/pull/576
**Full Changelog**: https://github.com/prometheus/common/compare/v0.47.0...v0.48.0
### [`v0.47.0`](https://github.com/prometheus/common/releases/tag/v0.47.0)
[Compare Source](https://github.com/prometheus/common/compare/v0.46.0...v0.47.0)
#### What's Changed
- UTF-8 support in validation, and some parsers and formatters by [@​ywwg](https://github.com/ywwg) in https://github.com/prometheus/common/pull/537
- Support empty OAuth2 inline secrets by [@​TheSpiritXIII](https://github.com/TheSpiritXIII) in https://github.com/prometheus/common/pull/547
- UTF8: Content negotiation (encoding side) by [@​ywwg](https://github.com/ywwg) in https://github.com/prometheus/common/pull/570
#### New Contributors
- [@​ywwg](https://github.com/ywwg) made their first contribution in https://github.com/prometheus/common/pull/537
**Full Changelog**: https://github.com/prometheus/common/compare/v0.46.0...v0.47.0
### [`v0.46.0`](https://github.com/prometheus/common/releases/tag/v0.46.0)
[Compare Source](https://github.com/prometheus/common/compare/v0.45.0...v0.46.0)
#### What's Changed
- Add golangci-lint config by [@​SuperQ](https://github.com/SuperQ) in https://github.com/prometheus/common/pull/517
- model: add metric type values by [@​bboreham](https://github.com/bboreham) in https://github.com/prometheus/common/pull/533
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/common/pull/532
- Bump github.com/aws/aws-sdk-go from 1.45.19 to 1.47.0 in /sigv4 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/529
- Update modules by [@​SuperQ](https://github.com/SuperQ) in https://github.com/prometheus/common/pull/534
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/common/pull/535
- Allow using empty Authorization credentials by [@​TheSpiritXIII](https://github.com/TheSpiritXIII) in https://github.com/prometheus/common/pull/546
- enable errorlint linter by [@​mmorel-35](https://github.com/mmorel-35) in https://github.com/prometheus/common/pull/550
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/common/pull/548
- Bump github.com/aws/aws-sdk-go from 1.47.0 to 1.48.10 in /sigv4 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/539
- Bump github.com/alecthomas/kingpin/v2 from 2.3.2 to 2.4.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/542
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/common/pull/552
- Bump golang.org/x/net from 0.18.0 to 0.19.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/541
- Bump golang.org/x/oauth2 from 0.14.0 to 0.15.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/540
- Add hints for promlog by [@​lucacome](https://github.com/lucacome) in https://github.com/prometheus/common/pull/556
- Bump google.golang.org/protobuf from 1.31.0 to 1.32.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/560
- Bump github.com/prometheus/client_golang from 1.17.0 to 1.18.0 in /sigv4 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/558
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/common/pull/555
- Bump github.com/prometheus/client_golang from 1.17.0 to 1.18.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/559
- Bump github.com/aws/aws-sdk-go from 1.48.10 to 1.49.13 in /sigv4 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/557
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/common/pull/561
- Make version getRevision public by [@​SuperQ](https://github.com/SuperQ) in https://github.com/prometheus/common/pull/563
- enable gofumpt, goimports, testifylint linters by [@​mmorel-35](https://github.com/mmorel-35) in https://github.com/prometheus/common/pull/551
- version: make GetTegs() public by [@​ArthurSens](https://github.com/ArthurSens) in https://github.com/prometheus/common/pull/565
- switch to protodelim package (which pbutil now calls) by [@​stapelberg](https://github.com/stapelberg) in https://github.com/prometheus/common/pull/567
- Bump Go modules by [@​SuperQ](https://github.com/SuperQ) in https://github.com/prometheus/common/pull/568
#### New Contributors
- [@​TheSpiritXIII](https://github.com/TheSpiritXIII) made their first contribution in https://github.com/prometheus/common/pull/546
- [@​mmorel-35](https://github.com/mmorel-35) made their first contribution in https://github.com/prometheus/common/pull/550
- [@​ArthurSens](https://github.com/ArthurSens) made their first contribution in https://github.com/prometheus/common/pull/565
- [@​stapelberg](https://github.com/stapelberg) made their first contribution in https://github.com/prometheus/common/pull/567
**Full Changelog**: https://github.com/prometheus/common/compare/v0.45.0...v0.46.0
### [`v0.45.0`](https://github.com/prometheus/common/releases/tag/v0.45.0)
[Compare Source](https://github.com/prometheus/common/compare/v0.44.0...v0.45.0)
#### What's Changed
- Adding support for file based configuration of basic auth username in http client config by [@​wasim-nihal](https://github.com/wasim-nihal) in https://github.com/prometheus/common/pull/511
- Bump golang.org/x/net from 0.10.0 to 0.12.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/507
- Add read-only token permissions by [@​pnacht](https://github.com/pnacht) in https://github.com/prometheus/common/pull/490
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/common/pull/495
- Update client_golang by [@​SuperQ](https://github.com/SuperQ) in https://github.com/prometheus/common/pull/513
- Bump golang.org/x/oauth2 from 0.8.0 to 0.12.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/514
- Bump github.com/aws/aws-sdk-go from 1.44.266 to 1.45.18 in /sigv4 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/515
- Bump github.com/prometheus/client_golang from 1.15.1 to 1.17.0 in /sigv4 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/516
- Bump github.com/stretchr/testify from 1.8.2 to 1.8.4 in /sigv4 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/493
- Update golang_protobuf_extensions to v2 by [@​Neo2308](https://github.com/Neo2308) in https://github.com/prometheus/common/pull/509
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/common/pull/518
- Bump github.com/aws/aws-sdk-go from 1.45.18 to 1.45.19 in /sigv4 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/519
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/common/pull/520
- Bump golang.org/x/net from 0.15.0 to 0.17.0 in /sigv4 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/525
- Bump golang.org/x/net from 0.15.0 to 0.17.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/524
#### New Contributors
- [@​wasim-nihal](https://github.com/wasim-nihal) made their first contribution in https://github.com/prometheus/common/pull/511
- [@​pnacht](https://github.com/pnacht) made their first contribution in https://github.com/prometheus/common/pull/490
- [@​Neo2308](https://github.com/Neo2308) made their first contribution in https://github.com/prometheus/common/pull/509
**Full Changelog**: https://github.com/prometheus/common/compare/v0.44.0...v0.45.0
### [`v0.44.0`](https://github.com/prometheus/common/releases/tag/v0.44.0)
[Compare Source](https://github.com/prometheus/common/compare/v0.43.0...v0.44.0)
#### What's Changed
- Allow custom log.Logger by [@​jkroepke](https://github.com/jkroepke) in https://github.com/prometheus/common/pull/474
- Allow TLS settings to be specified inline by [@​rfratto](https://github.com/rfratto) in https://github.com/prometheus/common/pull/472
- Enable dependabot for sigv4 by [@​SuperQ](https://github.com/SuperQ) in https://github.com/prometheus/common/pull/480
- Bump github.com/prometheus/common from 0.42.0 to 0.43.0 in /sigv4 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/486
- Bump golang.org/x/net from 0.9.0 to 0.10.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/483
- Bump github.com/stretchr/testify from 1.8.0 to 1.8.2 in /sigv4 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/485
- Bump golang.org/x/oauth2 from 0.7.0 to 0.8.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/482
- Bump github.com/aws/aws-sdk-go from 1.43.26 to 1.44.266 in /sigv4 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/489
#### New Contributors
- [@​jkroepke](https://github.com/jkroepke) made their first contribution in https://github.com/prometheus/common/pull/474
- [@​rfratto](https://github.com/rfratto) made their first contribution in https://github.com/prometheus/common/pull/472
**Full Changelog**: https://github.com/prometheus/common/compare/v0.43.0...v0.43.1
### [`v0.43.0`](https://github.com/prometheus/common/releases/tag/v0.43.0): 0.43.0 / 2023-05-04
[Compare Source](https://github.com/prometheus/common/compare/v0.42.0...v0.43.0)
NOTE: The protobuf library has been changed from the deprecated `github.com/golang/protobuf` to the new officially supported `google.golang.org/protobuf`. If you have direct use of the proto, you may need to make changes for deprecated functions.
#### What's Changed
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/common/pull/463
- Negotiate OM v1.0.0 by [@​gouthamve](https://github.com/gouthamve) in https://github.com/prometheus/common/pull/475
- Bump golang.org/x/oauth2 from 0.5.0 to 0.7.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/478
- Bump github.com/prometheus/client_golang from 1.14.0 to 1.15.1 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/481
- Update Go modules by [@​SuperQ](https://github.com/SuperQ) in https://github.com/prometheus/common/pull/479
- Bump github.com/alecthomas/kingpin/v2 from 2.3.1 to 2.3.2 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/469
**Full Changelog**: https://github.com/prometheus/common/compare/v0.42.0...v0.43.0
### [`v0.42.0`](https://github.com/prometheus/common/releases/tag/v0.42.0)
[Compare Source](https://github.com/prometheus/common/compare/v0.41.0...v0.42.0)
#### What's Changed
- Parse Durations much faster by [@​bboreham](https://github.com/bboreham) in https://github.com/prometheus/common/pull/461
- version: add Go build tags to output by [@​bboreham](https://github.com/bboreham) in https://github.com/prometheus/common/pull/455
- Add support to use Proxy From Environment by [@​roidelapluie](https://github.com/roidelapluie) in https://github.com/prometheus/common/pull/462
#### New Contributors
- [@​bboreham](https://github.com/bboreham) made their first contribution in https://github.com/prometheus/common/pull/461
**Full Changelog**: https://github.com/prometheus/common/compare/v0.41.0...v0.42.0
### [`v0.41.0`](https://github.com/prometheus/common/releases/tag/v0.41.0)
[Compare Source](https://github.com/prometheus/common/compare/v0.40.0...v0.41.0)
#### What's Changed
- Fix marshalling of TLSVersion by [@​roidelapluie](https://github.com/roidelapluie) in https://github.com/prometheus/common/pull/429
- expfmt: add test case for issue with \*bufio.Reader and FmtText format by [@​roidelapluie](https://github.com/roidelapluie) in https://github.com/prometheus/common/pull/448
- expfmt: add test cases for TextParser startOfLine error handling by [@​roidelapluie](https://github.com/roidelapluie) in https://github.com/prometheus/common/pull/449
- Fix and test JSON & YAML marshalling by [@​roidelapluie](https://github.com/roidelapluie) in https://github.com/prometheus/common/pull/450
- Update Go versions by [@​SuperQ](https://github.com/SuperQ) in https://github.com/prometheus/common/pull/447
- Bump golang.org/x/net from 0.4.0 to 0.7.0 in /sigv4 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/common/pull/454
- Update kingpin module source by [@​hairyhenderson](https://github.com/hairyhenderson) in https://github.com/prometheus/common/pull/458
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/common/pull/460
- Update Go modules by [@​SuperQ](https://github.com/SuperQ) in https://github.com/prometheus/common/pull/459
- Add dependabot by [@​lucacome](https://github.com/lucacome) in https://github.com/prometheus/common/pull/433
- model: Remove json-iterator usage (again) by [@​beorn7](https://github.com/beorn7) in https://github.com/prometheus/common/pull/453
#### New Contributors
- [@​dependabot](https://github.com/dependabot) made their first contribution in https://github.com/prometheus/common/pull/454
- [@​hairyhenderson](https://github.com/hairyhenderson) made their first contribution in https://github.com/prometheus/common/pull/458
**Full Changelog**: https://github.com/prometheus/common/compare/v0.40.0...v0.41.0
### [`v0.40.0`](https://github.com/prometheus/common/releases/tag/v0.40.0)
[Compare Source](https://github.com/prometheus/common/compare/v0.39.0...v0.40.0)
#### What's Changed
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/common/pull/428
- Add histogram vectors to model by [@​zenador](https://github.com/zenador) in https://github.com/prometheus/common/pull/417
- Change HistogramBucket Boundaries type to int32 by [@​zenador](https://github.com/zenador) in https://github.com/prometheus/common/pull/438
- Make it more efficient and compatible to use SampleHistogram by [@​krajorama](https://github.com/krajorama) in https://github.com/prometheus/common/pull/439
- Optimise JSON marshalling for sparse histograms by [@​zenador](https://github.com/zenador) in https://github.com/prometheus/common/pull/440
- expfmt: only call TextParser.TextToMetricFamilies once from textDecoder by [@​abursavich](https://github.com/abursavich) in https://github.com/prometheus/common/pull/443
- expfmt: only ignore io.EOF errors in TextParse.startOfLine by [@​abursavich](https://github.com/abursavich) in https://github.com/prometheus/common/pull/444
#### New Contributors
- [@​zenador](https://github.com/zenador) made their first contribution in https://github.com/prometheus/common/pull/417
- [@​krajorama](https://github.com/krajorama) made their first contribution in https://github.com/prometheus/common/pull/439
**Full Changelog**: https://github.com/prometheus/common/compare/v0.39.0...v0.40.0
### [`v0.39.0`](https://github.com/prometheus/common/releases/tag/v0.39.0)
[Compare Source](https://github.com/prometheus/common/compare/v0.38.0...v0.39.0)
- \[ENHANCEMENT] Add support for proxy connect headers. [#​409](https://github.com/prometheus/common/issues/409)
- \[ENHANCEMENT] Add platform info to labels. [#​403](https://github.com/prometheus/common/issues/403)
### [`v0.38.0`](https://github.com/prometheus/common/releases/tag/v0.38.0)
[Compare Source](https://github.com/prometheus/common/compare/v0.37.1...v0.38.0)
- \[FEATURE] Implement Stringer on TLSVersion ([#​405](https://github.com/prometheus/common/issues/405))
- \[FEATURE] Check if TLS certificate and key file have been modified ([#​345](https://github.com/prometheus/common/issues/345))
- \[ENHANCEMENT] Add the ability to specify the maximum acceptable TLS version ([#​414](https://github.com/prometheus/common/issues/414))
- \[ENHANCEMENT] Make LoadHTTPConfigFile set directory and move from tests file ([#​415](https://github.com/prometheus/common/issues/415))
- \[ENHANCEMENT] Get Revision from debug.BuildInfo if not explicitly set ([#​374](https://github.com/prometheus/common/issues/374))
### [`v0.37.1`](https://github.com/prometheus/common/releases/tag/v0.37.1)
[Compare Source](https://github.com/prometheus/common/compare/v0.37.0...v0.37.1)
- \[BUGFIX] Update go.mod for CVE-2022-41717 [#​420](https://github.com/prometheus/common/issues/420)
### [`v0.37.0`](https://github.com/prometheus/common/releases/tag/v0.37.0)
[Compare Source](https://github.com/prometheus/common/compare/v0.36.0...v0.37.0)
- \[ENHANCEMENT] Improve OAuth2 user agent handling ([#​391](https://github.com/prometheus/common/issues/391))
### [`v0.36.0`](https://github.com/prometheus/common/releases/tag/v0.36.0)
[Compare Source](https://github.com/prometheus/common/compare/v0.35.0...v0.36.0)
- \[ENHANCEMENT] OAuth2: Respect disable keepalives option; Implement close idle connections ([#​390](https://github.com/prometheus/common/issues/390))
- \[ENHANCEMENT] Add User-Agent header to oauth2 requests [#​387](https://github.com/prometheus/common/issues/387)
### [`v0.35.0`](https://github.com/prometheus/common/releases/tag/v0.35.0)
[Compare Source](https://github.com/prometheus/common/compare/v0.34.0...v0.35.0)
- \[ENHANCEMENT] Static server: Add more mimetypes ([#​385](https://github.com/prometheus/common/issues/385))
### [`v0.34.0`](https://github.com/prometheus/common/releases/tag/v0.34.0)
[Compare Source](https://github.com/prometheus/common/compare/v0.33.0...v0.34.0)
- \[ENHANCEMENT] Enable selecting minimum TLS version. [#​375](https://github.com/prometheus/common/issues/375)
### [`v0.33.0`](https://github.com/prometheus/common/releases/tag/v0.33.0)
[Compare Source](https://github.com/prometheus/common/compare/v0.32.1...v0.33.0)
- \[ENHANCEMENT] Make HTTP2 User Visible [#​360](https://github.com/prometheus/common/issues/360)
- \[FEATURE] Add proxy_url support for oauth2 [#​358](https://github.com/prometheus/common/issues/358)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this MR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box
---
This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS44OS4xIiwidXBkYXRlZEluVmVyIjoiMzcuMTk0LjAiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIifQ==-->https://git.autistici.org/ale/autoradio/-/merge_requests/72Update module go.etcd.io/etcd/server/v3 to v3.5.122024-01-31T11:32:18ZrenovateUpdate module go.etcd.io/etcd/server/v3 to v3.5.12This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [go.etcd.io/etcd/server/v3](https://github.com/etcd-io/etcd) | require | patch | `v3.5.1` -> `v3.5.12` |
---
### Release Notes
<details>...This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [go.etcd.io/etcd/server/v3](https://github.com/etcd-io/etcd) | require | patch | `v3.5.1` -> `v3.5.12` |
---
### Release Notes
<details>
<summary>etcd-io/etcd (go.etcd.io/etcd/server/v3)</summary>
### [`v3.5.12`](https://github.com/etcd-io/etcd/releases/tag/v3.5.12)
[Compare Source](https://github.com/etcd-io/etcd/compare/v3.5.11...v3.5.12)
Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md) for a full list of changes. And make sure to read [upgrade guide](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/upgrades/upgrade\_3\_5.md) before upgrading etcd (there may be breaking changes).
For installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters). Latest support status for common architectures and operating systems can be found at [supported platforms](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/op-guide/supported-platform.md).
###### Linux
```bash
ETCD_VER=v3.5.12
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
```bash
### start a local etcd server
/tmp/etcd-download-test/etcd
### write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
```
###### macOS (Darwin)
```bash
ETCD_VER=v3.5.12
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
###### Docker
etcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.
```bash
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:v3.5.12 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.5.12 \
gcr.io/etcd-development/etcd:v3.5.12 \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-v3.5.12 /usr/local/bin/etcd --version
docker exec etcd-gcr-v3.5.12 /usr/local/bin/etcdctl version
docker exec etcd-gcr-v3.5.12 /usr/local/bin/etcdutl version
docker exec etcd-gcr-v3.5.12 /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-v3.5.12 /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-v3.5.12 /usr/local/bin/etcdctl get foo
```
### [`v3.5.11`](https://github.com/etcd-io/etcd/releases/tag/v3.5.11)
[Compare Source](https://github.com/etcd-io/etcd/compare/v3.5.10...v3.5.11)
Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md) for a full list of changes. And make sure to read [upgrade guide](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/upgrades/upgrade\_3\_5.md) before upgrading etcd (there may be breaking changes).
For installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters). Latest support status for common architectures and operating systems can be found at [supported platforms](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/op-guide/supported-platform.md).
###### Linux
```bash
ETCD_VER=v3.5.11
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
```bash
### start a local etcd server
/tmp/etcd-download-test/etcd
### write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
```
###### macOS (Darwin)
```bash
ETCD_VER=v3.5.11
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
###### Docker
etcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.
```bash
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:v3.5.11 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.5.11 \
gcr.io/etcd-development/etcd:v3.5.11 \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-v3.5.11 /usr/local/bin/etcd --version
docker exec etcd-gcr-v3.5.11 /usr/local/bin/etcdctl version
docker exec etcd-gcr-v3.5.11 /usr/local/bin/etcdutl version
docker exec etcd-gcr-v3.5.11 /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-v3.5.11 /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-v3.5.11 /usr/local/bin/etcdctl get foo
```
### [`v3.5.10`](https://github.com/etcd-io/etcd/releases/tag/v3.5.10)
[Compare Source](https://github.com/etcd-io/etcd/compare/v3.5.9...v3.5.10)
Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md) for a full list of changes. And make sure to read [upgrade guide](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/upgrades/upgrade\_3\_5.md) before upgrading etcd (there may be breaking changes).
For installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters). Latest support status for common architectures and operating systems can be found at [supported platforms](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/op-guide/supported-platform.md).
###### Linux
```bash
ETCD_VER=v3.5.10
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
```bash
### start a local etcd server
/tmp/etcd-download-test/etcd
### write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
```
###### macOS (Darwin)
```bash
ETCD_VER=v3.5.10
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
###### Docker
etcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.
```bash
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:v3.5.10 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.5.10 \
gcr.io/etcd-development/etcd:v3.5.10 \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-v3.5.10 /usr/local/bin/etcd --version
docker exec etcd-gcr-v3.5.10 /usr/local/bin/etcdctl version
docker exec etcd-gcr-v3.5.10 /usr/local/bin/etcdutl version
docker exec etcd-gcr-v3.5.10 /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-v3.5.10 /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-v3.5.10 /usr/local/bin/etcdctl get foo
```
### [`v3.5.9`](https://github.com/etcd-io/etcd/releases/tag/v3.5.9)
[Compare Source](https://github.com/etcd-io/etcd/compare/v3.5.8...v3.5.9)
Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md) for a full list of changes. And make sure to read [upgrade guide](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/upgrades/upgrade\_3\_5.md) before upgrading etcd (there may be breaking changes).
For installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters). Latest support status for common architectures and operating systems can be found at [supported platforms](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/op-guide/supported-platform.md).
###### Linux
```bash
ETCD_VER=v3.5.9
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
```bash
### start a local etcd server
/tmp/etcd-download-test/etcd
### write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
```
###### macOS (Darwin)
```bash
ETCD_VER=v3.5.9
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
###### Docker
etcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.
```bash
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:v3.5.9 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.5.9 \
gcr.io/etcd-development/etcd:v3.5.9 \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-v3.5.9 /usr/local/bin/etcd --version
docker exec etcd-gcr-v3.5.9 /usr/local/bin/etcdctl version
docker exec etcd-gcr-v3.5.9 /usr/local/bin/etcdutl version
docker exec etcd-gcr-v3.5.9 /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-v3.5.9 /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-v3.5.9 /usr/local/bin/etcdctl get foo
```
### [`v3.5.8`](https://github.com/etcd-io/etcd/releases/tag/v3.5.8)
[Compare Source](https://github.com/etcd-io/etcd/compare/v3.5.7...v3.5.8)
Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md) for a full list of changes. And make sure to read [upgrade guide](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/upgrades/upgrade\_3\_5.md) before upgrading etcd (there may be breaking changes).
For installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters). Latest support status for common architectures and operating systems can be found at [supported platforms](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/op-guide/supported-platform.md).
###### Linux
```bash
ETCD_VER=v3.5.8
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
```bash
### start a local etcd server
/tmp/etcd-download-test/etcd
### write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
```
###### macOS (Darwin)
```bash
ETCD_VER=v3.5.8
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
###### Docker
etcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.
```bash
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:v3.5.8 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.5.8 \
gcr.io/etcd-development/etcd:v3.5.8 \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-v3.5.8 /usr/local/bin/etcd --version
docker exec etcd-gcr-v3.5.8 /usr/local/bin/etcdctl version
docker exec etcd-gcr-v3.5.8 /usr/local/bin/etcdutl version
docker exec etcd-gcr-v3.5.8 /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-v3.5.8 /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-v3.5.8 /usr/local/bin/etcdctl get foo
```
### [`v3.5.7`](https://github.com/etcd-io/etcd/releases/tag/v3.5.7)
[Compare Source](https://github.com/etcd-io/etcd/compare/v3.5.6...v3.5.7)
Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md) for a full list of changes. And make sure to read [upgrade guide](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/upgrades/upgrade\_3\_5.md) before upgrading etcd (there may be breaking changes).
For installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters). Latest support status for common architectures and operating systems can be found at [supported platforms](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/op-guide/supported-platform.md).
###### Linux
```bash
ETCD_VER=v3.5.7
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
```bash
### start a local etcd server
/tmp/etcd-download-test/etcd
### write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
```
###### macOS (Darwin)
```bash
ETCD_VER=v3.5.7
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
###### Docker
etcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.
```bash
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:v3.5.7 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.5.7 \
gcr.io/etcd-development/etcd:v3.5.7 \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-v3.5.7 /usr/local/bin/etcd --version
docker exec etcd-gcr-v3.5.7 /usr/local/bin/etcdctl version
docker exec etcd-gcr-v3.5.7 /usr/local/bin/etcdutl version
docker exec etcd-gcr-v3.5.7 /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-v3.5.7 /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-v3.5.7 /usr/local/bin/etcdctl get foo
```
### [`v3.5.6`](https://github.com/etcd-io/etcd/releases/tag/v3.5.6)
[Compare Source](https://github.com/etcd-io/etcd/compare/v3.5.5...v3.5.6)
Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md) for a full list of changes. And make sure to read [upgrade guide](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/upgrades/upgrade\_3\_5.md) before upgrading etcd (there may be breaking changes).
For installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters). Latest support status for common architectures and operating systems can be found at [supported platforms](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/op-guide/supported-platform.md).
###### Linux
```bash
ETCD_VER=v3.5.6
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
```
```bash
### start a local etcd server
/tmp/etcd-download-test/etcd
### write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
```
###### macOS (Darwin)
```bash
ETCD_VER=v3.5.6
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
```
###### Docker
etcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.
```bash
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:v3.5.6 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.5.6 \
gcr.io/etcd-development/etcd:v3.5.6 \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-v3.5.6 /bin/sh -c "/usr/local/bin/etcd --version"
docker exec etcd-gcr-v3.5.6 /bin/sh -c "/usr/local/bin/etcdctl version"
docker exec etcd-gcr-v3.5.6 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
docker exec etcd-gcr-v3.5.6 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
docker exec etcd-gcr-v3.5.6 /bin/sh -c "/usr/local/bin/etcdctl get foo"
```
### [`v3.5.5`](https://github.com/etcd-io/etcd/releases/tag/v3.5.5)
[Compare Source](https://github.com/etcd-io/etcd/compare/v3.5.4...v3.5.5)
Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md) for a full list of changes. And make sure to read [upgrade guide](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/upgrades/upgrade\_3\_5.md) before upgrading etcd (there may be breaking changes).
For installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters). Latest support status for common architectures and operating systems can be found at [supported platforms](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/op-guide/supported-platform.md).
###### Linux
```bash
ETCD_VER=v3.5.5
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
```
```bash
### start a local etcd server
/tmp/etcd-download-test/etcd
### write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
```
###### macOS (Darwin)
```bash
ETCD_VER=v3.5.5
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
```
###### Docker
etcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.
```bash
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:v3.5.5 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.5.5 \
gcr.io/etcd-development/etcd:v3.5.5 \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-v3.5.5 /bin/sh -c "/usr/local/bin/etcd --version"
docker exec etcd-gcr-v3.5.5 /bin/sh -c "/usr/local/bin/etcdctl version"
docker exec etcd-gcr-v3.5.5 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
docker exec etcd-gcr-v3.5.5 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
docker exec etcd-gcr-v3.5.5 /bin/sh -c "/usr/local/bin/etcdctl get foo"
```
### [`v3.5.4`](https://github.com/etcd-io/etcd/releases/tag/v3.5.4)
[Compare Source](https://github.com/etcd-io/etcd/compare/v3.5.3...v3.5.4)
Please see [Announcing etcd 3.5 blog post](https://etcd.io/blog/2021/announcing-etcd-3.5/).
Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md) for a full list of changes. And make sure to read [upgrade guide](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/upgrades/upgrade\_3\_5.md) before upgrading etcd (there may be breaking changes).
For installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters). Latest support status for common architectures and operating systems can be found at [supported platforms](https://etcd.io/docs/v3.5/op-guide/supported-platform/).
###### Linux
```bash
ETCD_VER=v3.5.4
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
```bash
### start a local etcd server
/tmp/etcd-download-test/etcd
### write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
```
###### macOS (Darwin)
```bash
ETCD_VER=v3.5.4
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
###### Docker
etcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.
```bash
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:v3.5.4 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.5.4 \
gcr.io/etcd-development/etcd:v3.5.4 \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-v3.5.4 /bin/sh -c "/usr/local/bin/etcd --version"
docker exec etcd-gcr-v3.5.4 /bin/sh -c "/usr/local/bin/etcdctl version"
docker exec etcd-gcr-v3.5.4 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
docker exec etcd-gcr-v3.5.4 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
docker exec etcd-gcr-v3.5.4 /bin/sh -c "/usr/local/bin/etcdctl get foo"
docker exec etcd-gcr-v3.5.4 /bin/sh -c "/usr/local/bin/etcdutl version"
```
### [`v3.5.3`](https://github.com/etcd-io/etcd/releases/tag/v3.5.3)
[Compare Source](https://github.com/etcd-io/etcd/compare/v3.5.2...v3.5.3)
##### Highlights:
- Version 3.5.3 is fixing critical correctness issues (https://github.com/etcd-io/etcd/issues/13766, https://github.com/etcd-io/etcd/issues/13514) introduced in the 3.5 branch that could lead to not applying a committed transaction across all replicas in case of a server crash.
- It's likely 3.5.4 will be releases soon that reverts SRV change added to 3.5.3. Please see the discussion (https://github.com/etcd-io/etcd/issues/13948)
***
Please see [Announcing etcd 3.5 blog post](https://etcd.io/blog/2021/announcing-etcd-3.5/).
Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md) for a full list of changes. And make sure to read [upgrade guide](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/upgrades/upgrade\_3\_5.md) before upgrading etcd (there may be breaking changes).
For installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters). Latest support status for common architectures and operating systems can be found at [supported platforms](https://etcd.io/docs/v3.5/op-guide/supported-platform/).
###### Linux
```bash
ETCD_VER=v3.5.3
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
```bash
### start a local etcd server
/tmp/etcd-download-test/etcd
### write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
```
###### macOS (Darwin)
```bash
ETCD_VER=v3.5.3
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
###### Docker
etcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.
```bash
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:v3.5.3 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.5.3 \
gcr.io/etcd-development/etcd:v3.5.3 \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-v3.5.3 /bin/sh -c "/usr/local/bin/etcd --version"
docker exec etcd-gcr-v3.5.3 /bin/sh -c "/usr/local/bin/etcdctl version"
docker exec etcd-gcr-v3.5.3 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
docker exec etcd-gcr-v3.5.3 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
docker exec etcd-gcr-v3.5.3 /bin/sh -c "/usr/local/bin/etcdctl get foo"
docker exec etcd-gcr-v3.5.3 /bin/sh -c "/usr/local/bin/etcdutl version"
```
### [`v3.5.2`](https://github.com/etcd-io/etcd/releases/tag/v3.5.2)
[Compare Source](https://github.com/etcd-io/etcd/compare/v3.5.1...v3.5.2)
**This release is no longer recommended for production**. Please use v3.4 minor until v3.5.3 is released. Read more in https://github.com/etcd-io/etcd/tree/main/CHANGELOG.
Please see [Announcing etcd 3.5 blog post](https://etcd.io/blog/2021/announcing-etcd-3.5/).
Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md) for a full list of changes. And make sure to read [upgrade guide](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/upgrades/upgrade\_3\_5.md) before upgrading etcd (there may be breaking changes).
For installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters). Latest support status for common architectures and operating systems can be found at [supported platforms](https://etcd.io/docs/v3.5/op-guide/supported-platform/).
###### Linux
```bash
ETCD_VER=v3.5.2
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
```bash
### start a local etcd server
/tmp/etcd-download-test/etcd
### write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
```
###### macOS (Darwin)
```bash
ETCD_VER=v3.5.2
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
###### Docker
etcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.
```bash
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:v3.5.2 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.5.2 \
gcr.io/etcd-development/etcd:v3.5.2 \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-v3.5.2 /bin/sh -c "/usr/local/bin/etcd --version"
docker exec etcd-gcr-v3.5.2 /bin/sh -c "/usr/local/bin/etcdctl version"
docker exec etcd-gcr-v3.5.2 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
docker exec etcd-gcr-v3.5.2 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
docker exec etcd-gcr-v3.5.2 /bin/sh -c "/usr/local/bin/etcdctl get foo"
docker exec etcd-gcr-v3.5.2 /bin/sh -c "/usr/local/bin/etcdutl version"
```
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this MR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box
---
This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yOC4wIiwidXBkYXRlZEluVmVyIjoiMzYuNDkuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9-->https://git.autistici.org/ale/autoradio/-/merge_requests/71Update module go.etcd.io/etcd/client/v3 to v3.5.122024-01-31T11:30:59ZrenovateUpdate module go.etcd.io/etcd/client/v3 to v3.5.12This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [go.etcd.io/etcd/client/v3](https://github.com/etcd-io/etcd) | require | patch | `v3.5.1` -> `v3.5.12` |
---
### Release Notes
<details>...This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [go.etcd.io/etcd/client/v3](https://github.com/etcd-io/etcd) | require | patch | `v3.5.1` -> `v3.5.12` |
---
### Release Notes
<details>
<summary>etcd-io/etcd (go.etcd.io/etcd/client/v3)</summary>
### [`v3.5.12`](https://github.com/etcd-io/etcd/releases/tag/v3.5.12)
[Compare Source](https://github.com/etcd-io/etcd/compare/v3.5.11...v3.5.12)
Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md) for a full list of changes. And make sure to read [upgrade guide](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/upgrades/upgrade\_3\_5.md) before upgrading etcd (there may be breaking changes).
For installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters). Latest support status for common architectures and operating systems can be found at [supported platforms](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/op-guide/supported-platform.md).
###### Linux
```bash
ETCD_VER=v3.5.12
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
```bash
### start a local etcd server
/tmp/etcd-download-test/etcd
### write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
```
###### macOS (Darwin)
```bash
ETCD_VER=v3.5.12
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
###### Docker
etcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.
```bash
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:v3.5.12 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.5.12 \
gcr.io/etcd-development/etcd:v3.5.12 \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-v3.5.12 /usr/local/bin/etcd --version
docker exec etcd-gcr-v3.5.12 /usr/local/bin/etcdctl version
docker exec etcd-gcr-v3.5.12 /usr/local/bin/etcdutl version
docker exec etcd-gcr-v3.5.12 /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-v3.5.12 /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-v3.5.12 /usr/local/bin/etcdctl get foo
```
### [`v3.5.11`](https://github.com/etcd-io/etcd/releases/tag/v3.5.11)
[Compare Source](https://github.com/etcd-io/etcd/compare/v3.5.10...v3.5.11)
Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md) for a full list of changes. And make sure to read [upgrade guide](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/upgrades/upgrade\_3\_5.md) before upgrading etcd (there may be breaking changes).
For installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters). Latest support status for common architectures and operating systems can be found at [supported platforms](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/op-guide/supported-platform.md).
###### Linux
```bash
ETCD_VER=v3.5.11
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
```bash
### start a local etcd server
/tmp/etcd-download-test/etcd
### write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
```
###### macOS (Darwin)
```bash
ETCD_VER=v3.5.11
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
###### Docker
etcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.
```bash
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:v3.5.11 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.5.11 \
gcr.io/etcd-development/etcd:v3.5.11 \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-v3.5.11 /usr/local/bin/etcd --version
docker exec etcd-gcr-v3.5.11 /usr/local/bin/etcdctl version
docker exec etcd-gcr-v3.5.11 /usr/local/bin/etcdutl version
docker exec etcd-gcr-v3.5.11 /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-v3.5.11 /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-v3.5.11 /usr/local/bin/etcdctl get foo
```
### [`v3.5.10`](https://github.com/etcd-io/etcd/releases/tag/v3.5.10)
[Compare Source](https://github.com/etcd-io/etcd/compare/v3.5.9...v3.5.10)
Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md) for a full list of changes. And make sure to read [upgrade guide](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/upgrades/upgrade\_3\_5.md) before upgrading etcd (there may be breaking changes).
For installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters). Latest support status for common architectures and operating systems can be found at [supported platforms](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/op-guide/supported-platform.md).
###### Linux
```bash
ETCD_VER=v3.5.10
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
```bash
### start a local etcd server
/tmp/etcd-download-test/etcd
### write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
```
###### macOS (Darwin)
```bash
ETCD_VER=v3.5.10
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
###### Docker
etcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.
```bash
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:v3.5.10 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.5.10 \
gcr.io/etcd-development/etcd:v3.5.10 \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-v3.5.10 /usr/local/bin/etcd --version
docker exec etcd-gcr-v3.5.10 /usr/local/bin/etcdctl version
docker exec etcd-gcr-v3.5.10 /usr/local/bin/etcdutl version
docker exec etcd-gcr-v3.5.10 /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-v3.5.10 /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-v3.5.10 /usr/local/bin/etcdctl get foo
```
### [`v3.5.9`](https://github.com/etcd-io/etcd/releases/tag/v3.5.9)
[Compare Source](https://github.com/etcd-io/etcd/compare/v3.5.8...v3.5.9)
Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md) for a full list of changes. And make sure to read [upgrade guide](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/upgrades/upgrade\_3\_5.md) before upgrading etcd (there may be breaking changes).
For installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters). Latest support status for common architectures and operating systems can be found at [supported platforms](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/op-guide/supported-platform.md).
###### Linux
```bash
ETCD_VER=v3.5.9
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
```bash
### start a local etcd server
/tmp/etcd-download-test/etcd
### write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
```
###### macOS (Darwin)
```bash
ETCD_VER=v3.5.9
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
###### Docker
etcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.
```bash
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:v3.5.9 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.5.9 \
gcr.io/etcd-development/etcd:v3.5.9 \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-v3.5.9 /usr/local/bin/etcd --version
docker exec etcd-gcr-v3.5.9 /usr/local/bin/etcdctl version
docker exec etcd-gcr-v3.5.9 /usr/local/bin/etcdutl version
docker exec etcd-gcr-v3.5.9 /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-v3.5.9 /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-v3.5.9 /usr/local/bin/etcdctl get foo
```
### [`v3.5.8`](https://github.com/etcd-io/etcd/releases/tag/v3.5.8)
[Compare Source](https://github.com/etcd-io/etcd/compare/v3.5.7...v3.5.8)
Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md) for a full list of changes. And make sure to read [upgrade guide](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/upgrades/upgrade\_3\_5.md) before upgrading etcd (there may be breaking changes).
For installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters). Latest support status for common architectures and operating systems can be found at [supported platforms](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/op-guide/supported-platform.md).
###### Linux
```bash
ETCD_VER=v3.5.8
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
```bash
### start a local etcd server
/tmp/etcd-download-test/etcd
### write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
```
###### macOS (Darwin)
```bash
ETCD_VER=v3.5.8
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
###### Docker
etcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.
```bash
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:v3.5.8 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.5.8 \
gcr.io/etcd-development/etcd:v3.5.8 \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-v3.5.8 /usr/local/bin/etcd --version
docker exec etcd-gcr-v3.5.8 /usr/local/bin/etcdctl version
docker exec etcd-gcr-v3.5.8 /usr/local/bin/etcdutl version
docker exec etcd-gcr-v3.5.8 /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-v3.5.8 /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-v3.5.8 /usr/local/bin/etcdctl get foo
```
### [`v3.5.7`](https://github.com/etcd-io/etcd/releases/tag/v3.5.7)
[Compare Source](https://github.com/etcd-io/etcd/compare/v3.5.6...v3.5.7)
Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md) for a full list of changes. And make sure to read [upgrade guide](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/upgrades/upgrade\_3\_5.md) before upgrading etcd (there may be breaking changes).
For installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters). Latest support status for common architectures and operating systems can be found at [supported platforms](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/op-guide/supported-platform.md).
###### Linux
```bash
ETCD_VER=v3.5.7
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
```bash
### start a local etcd server
/tmp/etcd-download-test/etcd
### write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
```
###### macOS (Darwin)
```bash
ETCD_VER=v3.5.7
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
###### Docker
etcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.
```bash
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:v3.5.7 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.5.7 \
gcr.io/etcd-development/etcd:v3.5.7 \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-v3.5.7 /usr/local/bin/etcd --version
docker exec etcd-gcr-v3.5.7 /usr/local/bin/etcdctl version
docker exec etcd-gcr-v3.5.7 /usr/local/bin/etcdutl version
docker exec etcd-gcr-v3.5.7 /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-v3.5.7 /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-v3.5.7 /usr/local/bin/etcdctl get foo
```
### [`v3.5.6`](https://github.com/etcd-io/etcd/releases/tag/v3.5.6)
[Compare Source](https://github.com/etcd-io/etcd/compare/v3.5.5...v3.5.6)
Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md) for a full list of changes. And make sure to read [upgrade guide](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/upgrades/upgrade\_3\_5.md) before upgrading etcd (there may be breaking changes).
For installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters). Latest support status for common architectures and operating systems can be found at [supported platforms](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/op-guide/supported-platform.md).
###### Linux
```bash
ETCD_VER=v3.5.6
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
```
```bash
### start a local etcd server
/tmp/etcd-download-test/etcd
### write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
```
###### macOS (Darwin)
```bash
ETCD_VER=v3.5.6
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
```
###### Docker
etcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.
```bash
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:v3.5.6 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.5.6 \
gcr.io/etcd-development/etcd:v3.5.6 \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-v3.5.6 /bin/sh -c "/usr/local/bin/etcd --version"
docker exec etcd-gcr-v3.5.6 /bin/sh -c "/usr/local/bin/etcdctl version"
docker exec etcd-gcr-v3.5.6 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
docker exec etcd-gcr-v3.5.6 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
docker exec etcd-gcr-v3.5.6 /bin/sh -c "/usr/local/bin/etcdctl get foo"
```
### [`v3.5.5`](https://github.com/etcd-io/etcd/releases/tag/v3.5.5)
[Compare Source](https://github.com/etcd-io/etcd/compare/v3.5.4...v3.5.5)
Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md) for a full list of changes. And make sure to read [upgrade guide](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/upgrades/upgrade\_3\_5.md) before upgrading etcd (there may be breaking changes).
For installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters). Latest support status for common architectures and operating systems can be found at [supported platforms](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/op-guide/supported-platform.md).
###### Linux
```bash
ETCD_VER=v3.5.5
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
```
```bash
### start a local etcd server
/tmp/etcd-download-test/etcd
### write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
```
###### macOS (Darwin)
```bash
ETCD_VER=v3.5.5
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
```
###### Docker
etcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.
```bash
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:v3.5.5 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.5.5 \
gcr.io/etcd-development/etcd:v3.5.5 \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-v3.5.5 /bin/sh -c "/usr/local/bin/etcd --version"
docker exec etcd-gcr-v3.5.5 /bin/sh -c "/usr/local/bin/etcdctl version"
docker exec etcd-gcr-v3.5.5 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
docker exec etcd-gcr-v3.5.5 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
docker exec etcd-gcr-v3.5.5 /bin/sh -c "/usr/local/bin/etcdctl get foo"
```
### [`v3.5.4`](https://github.com/etcd-io/etcd/releases/tag/v3.5.4)
[Compare Source](https://github.com/etcd-io/etcd/compare/v3.5.3...v3.5.4)
Please see [Announcing etcd 3.5 blog post](https://etcd.io/blog/2021/announcing-etcd-3.5/).
Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md) for a full list of changes. And make sure to read [upgrade guide](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/upgrades/upgrade\_3\_5.md) before upgrading etcd (there may be breaking changes).
For installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters). Latest support status for common architectures and operating systems can be found at [supported platforms](https://etcd.io/docs/v3.5/op-guide/supported-platform/).
###### Linux
```bash
ETCD_VER=v3.5.4
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
```bash
### start a local etcd server
/tmp/etcd-download-test/etcd
### write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
```
###### macOS (Darwin)
```bash
ETCD_VER=v3.5.4
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
###### Docker
etcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.
```bash
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:v3.5.4 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.5.4 \
gcr.io/etcd-development/etcd:v3.5.4 \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-v3.5.4 /bin/sh -c "/usr/local/bin/etcd --version"
docker exec etcd-gcr-v3.5.4 /bin/sh -c "/usr/local/bin/etcdctl version"
docker exec etcd-gcr-v3.5.4 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
docker exec etcd-gcr-v3.5.4 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
docker exec etcd-gcr-v3.5.4 /bin/sh -c "/usr/local/bin/etcdctl get foo"
docker exec etcd-gcr-v3.5.4 /bin/sh -c "/usr/local/bin/etcdutl version"
```
### [`v3.5.3`](https://github.com/etcd-io/etcd/releases/tag/v3.5.3)
[Compare Source](https://github.com/etcd-io/etcd/compare/v3.5.2...v3.5.3)
##### Highlights:
- Version 3.5.3 is fixing critical correctness issues (https://github.com/etcd-io/etcd/issues/13766, https://github.com/etcd-io/etcd/issues/13514) introduced in the 3.5 branch that could lead to not applying a committed transaction across all replicas in case of a server crash.
- It's likely 3.5.4 will be releases soon that reverts SRV change added to 3.5.3. Please see the discussion (https://github.com/etcd-io/etcd/issues/13948)
***
Please see [Announcing etcd 3.5 blog post](https://etcd.io/blog/2021/announcing-etcd-3.5/).
Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md) for a full list of changes. And make sure to read [upgrade guide](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/upgrades/upgrade\_3\_5.md) before upgrading etcd (there may be breaking changes).
For installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters). Latest support status for common architectures and operating systems can be found at [supported platforms](https://etcd.io/docs/v3.5/op-guide/supported-platform/).
###### Linux
```bash
ETCD_VER=v3.5.3
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
```bash
### start a local etcd server
/tmp/etcd-download-test/etcd
### write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
```
###### macOS (Darwin)
```bash
ETCD_VER=v3.5.3
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
###### Docker
etcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.
```bash
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:v3.5.3 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.5.3 \
gcr.io/etcd-development/etcd:v3.5.3 \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-v3.5.3 /bin/sh -c "/usr/local/bin/etcd --version"
docker exec etcd-gcr-v3.5.3 /bin/sh -c "/usr/local/bin/etcdctl version"
docker exec etcd-gcr-v3.5.3 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
docker exec etcd-gcr-v3.5.3 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
docker exec etcd-gcr-v3.5.3 /bin/sh -c "/usr/local/bin/etcdctl get foo"
docker exec etcd-gcr-v3.5.3 /bin/sh -c "/usr/local/bin/etcdutl version"
```
### [`v3.5.2`](https://github.com/etcd-io/etcd/releases/tag/v3.5.2)
[Compare Source](https://github.com/etcd-io/etcd/compare/v3.5.1...v3.5.2)
**This release is no longer recommended for production**. Please use v3.4 minor until v3.5.3 is released. Read more in https://github.com/etcd-io/etcd/tree/main/CHANGELOG.
Please see [Announcing etcd 3.5 blog post](https://etcd.io/blog/2021/announcing-etcd-3.5/).
Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md) for a full list of changes. And make sure to read [upgrade guide](https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/upgrades/upgrade\_3\_5.md) before upgrading etcd (there may be breaking changes).
For installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters). Latest support status for common architectures and operating systems can be found at [supported platforms](https://etcd.io/docs/v3.5/op-guide/supported-platform/).
###### Linux
```bash
ETCD_VER=v3.5.2
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
```bash
### start a local etcd server
/tmp/etcd-download-test/etcd
### write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
```
###### macOS (Darwin)
```bash
ETCD_VER=v3.5.2
### choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
```
###### Docker
etcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.
```bash
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:v3.5.2 || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-v3.5.2 \
gcr.io/etcd-development/etcd:v3.5.2 \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-v3.5.2 /bin/sh -c "/usr/local/bin/etcd --version"
docker exec etcd-gcr-v3.5.2 /bin/sh -c "/usr/local/bin/etcdctl version"
docker exec etcd-gcr-v3.5.2 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
docker exec etcd-gcr-v3.5.2 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
docker exec etcd-gcr-v3.5.2 /bin/sh -c "/usr/local/bin/etcdctl get foo"
docker exec etcd-gcr-v3.5.2 /bin/sh -c "/usr/local/bin/etcdutl version"
```
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this MR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box
---
This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yOC4wIiwidXBkYXRlZEluVmVyIjoiMzYuNDkuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9-->https://git.autistici.org/ale/autoradio/-/merge_requests/69Update module google.golang.org/protobuf to v1.33.02024-03-06T01:30:21ZrenovateUpdate module google.golang.org/protobuf to v1.33.0This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [google.golang.org/protobuf](https://github.com/protocolbuffers/protobuf-go) | require | minor | `v1.28.1` -> `v1.33.0` |
---
### Release...This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [google.golang.org/protobuf](https://github.com/protocolbuffers/protobuf-go) | require | minor | `v1.28.1` -> `v1.33.0` |
---
### Release Notes
<details>
<summary>protocolbuffers/protobuf-go (google.golang.org/protobuf)</summary>
### [`v1.33.0`](https://github.com/protocolbuffers/protobuf-go/releases/tag/v1.33.0)
[Compare Source](https://github.com/protocolbuffers/protobuf-go/compare/v1.32.0...v1.33.0)
This release contains one security fix:
- `encoding/protojson`: `Unmarshal` could enter an infinite loop when unmarshaling certain forms of invalid JSON. This condition can occur when unmarshaling into a message which contains a `google.protobuf.Any` value, or when the `UnmarshalOptions.DiscardUnknown` option is set. `Unmarshal` now correctly returns an error when handling these inputs. This is CVE-2024-24786.
### [`v1.32.0`](https://github.com/protocolbuffers/protobuf-go/releases/tag/v1.32.0)
[Compare Source](https://github.com/protocolbuffers/protobuf-go/compare/v1.31.0...v1.32.0)
**Full Changelog**: https://github.com/protocolbuffers/protobuf-go/compare/v1.31.0...v1.32.0
This release contains commit https://github.com/protocolbuffers/protobuf-go/commit/bfcd6476a38e41247d6bb43dc8f00b23ec9fffc2, which fixes a denial of service vulnerability by preventing a stack overflow through a default maximum recursion limit. See https://github.com/golang/protobuf/issues/1583 and https://github.com/golang/protobuf/issues/1584 for details.
### [`v1.31.0`](https://github.com/protocolbuffers/protobuf-go/releases/tag/v1.31.0)
[Compare Source](https://github.com/protocolbuffers/protobuf-go/compare/v1.30.0...v1.31.0)
#### Notable changes <a name="v1.31-notable-changes"></a>
**New Features**
- [CL/489316](https://go.dev/cl/489316): types/dynamicpb: add NewTypes
- Add a function to construct a dynamic type registry from a protoregistry.Files
- [CL/489615](https://go.dev/cl/489615): encoding: add MarshalAppend to protojson and prototext
**Minor performance improvements**
- [CL/491596](https://go.dev/cl/491596): encoding/protodelim: If UnmarshalFrom gets a bufio.Reader, try to reuse its buffer instead of creating a new one
- [CL/500695](https://go.dev/cl/500695): proto: store the size of tag to avoid multiple calculations
**Bug fixes**
- [CL/497935](https://go.dev/cl/497935): internal/order: fix sorting of synthetic oneofs to be deterministic
- [CL/505555](https://go.dev/cl/505555): encoding/protodelim: fix handling of io.EOF
### [`v1.30.0`](https://github.com/protocolbuffers/protobuf-go/releases/tag/v1.30.0)
[Compare Source](https://github.com/protocolbuffers/protobuf-go/compare/v1.29.1...v1.30.0)
- [Notable changes](#v1.30.0-notable-changes)
**Announcement**
In the previous two releases, v1.29.0 and v1.29.1, we associated the tags with the wrong commits and thus the tags do not reference any commit in this repository. This tag, v1.30.0, refers to an existing commit again. Sorry for the inconvenience.
#### Notable changes <a name="v1.30.0-notable-changes"></a>
**New Features**
- [CL/449576](https://go.dev/cl/449576): protoadapt: helper functions to convert v1 or v2 message to either v1 or v2 message.
### [`v1.29.1`](https://github.com/protocolbuffers/protobuf-go/releases/tag/v1.29.1)
[Compare Source](https://github.com/protocolbuffers/protobuf-go/compare/v1.29.0...v1.29.1)
- [Notable changes](#v1.29.1-notable-changes)
#### Notable changes <a name="v1.29.1-notable-changes"></a>
**Bug fixes**
- [CL/475995](https://go.dev/cl/475995): internal/encoding/text: fix parsing of incomplete numbers
### [`v1.29.0`](https://github.com/protocolbuffers/protobuf-go/releases/tag/v1.29.0)
[Compare Source](https://github.com/protocolbuffers/protobuf-go/compare/v1.28.1...v1.29.0)
- [Overview](#v1.29-overview)
- [Notable changes](#v1.29-notable-changes)
#### Overview <a name="v1.29-overview"></a>
This version introduces a new package `protodelim` to marshal and unmarshal size-delimited messages.
It also brings the implementation up to date with the latest protobuf features.
#### Notable changes <a name="v1.29-notable-changes"></a>
**New Features**
- [CL/419254](https://go.dev/cl/419254): encoding: add protodelim package
- [CL/450775](https://go.dev/cl/450775): reflect/protoreflect: add Value.Equal method
- [CL/462315](https://go.dev/cl/462315): cmd/protoc-gen-go: make deprecated messages more descriptive
- [CL/473015](https://go.dev/cl/473015): encoding/prototext: allow whitespace and comments between minus sign and number in negative numeric literal
**Alignment with protobuf**
- [CL/426054](https://go.dev/cl/426054): types/descriptorpb: update \*.pb.go to use latest protoc release, 21.5
- [CL/425554](https://go.dev/cl/425554): encoding/protojson: fix parsing of google.protobuf.Timestamp
- [CL/461238](https://go.dev/cl/461238): protobuf: remove the check for reserved field numbers
- [CL/469255](https://go.dev/cl/469255): types/descriptorpb: regenerate using latest protobuf v22.0 release
- [CL/472696](https://go.dev/cl/472696): cmd/protoc-gen-go: support protobuf retention feature
**Documentation improvements:**
- [CL/464275](https://go.dev/cl/464275): proto: document Equal behavior of invalid messages
- [CL/466375](https://go.dev/cl/466375): all: update links to Protocol Buffer documentation
**Minor performance improvements**
- [CL/460215](https://go.dev/cl/460215): types/known/structpb: preallocate map in AsMap
- [CL/465115](https://go.dev/cl/465115): internal/strs: avoid unnecessary allocations in Builder
**Breaking changes**
- [CL/461238](https://go.dev/cl/461238): protobuf: remove the check for reserved field numbers
- protowire.(Number).IsValid() no longer returns false for reserved fields because reserved fields are considered semantically valid by the protobuf spec.
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this MR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box
---
This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yOC4wIiwidXBkYXRlZEluVmVyIjoiMzcuMTk0LjAiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIifQ==-->https://git.autistici.org/ale/autoradio/-/merge_requests/68Update module google.golang.org/grpc to v1.62.12024-03-05T19:30:56ZrenovateUpdate module google.golang.org/grpc to v1.62.1This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [google.golang.org/grpc](https://github.com/grpc/grpc-go) | require | minor | `v1.51.0` -> `v1.62.1` |
---
### Release Notes
<details>
<...This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [google.golang.org/grpc](https://github.com/grpc/grpc-go) | require | minor | `v1.51.0` -> `v1.62.1` |
---
### Release Notes
<details>
<summary>grpc/grpc-go (google.golang.org/grpc)</summary>
### [`v1.62.1`](https://github.com/grpc/grpc-go/releases/tag/v1.62.1): Release 1.62.1
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.62.0...v1.62.1)
### Bug Fixes
- xds: fix a bug that results in `no matching virtual host found` RPC errors due to a difference between the target and LDS resource names ([#​6997](https://github.com/grpc/grpc-go/issues/6997))
- server: fixed stats handler data `InPayload.Length` for unary RPC calls ([#​6766](https://github.com/grpc/grpc-go/issues/6766))
- Special Thanks: [@​hueypark](https://github.com/hueypark)
- grpc: the experimental `RecvBufferPool` `DialOption` and `ServerOption` are now active during unary RPCs with compression ([#​6766](https://github.com/grpc/grpc-go/issues/6766))
- Special Thanks: [@​hueypark](https://github.com/hueypark)
- grpc: trim whitespaces in `accept-encoding` header before determining compressors
- Special Thanks: [@​sercand](https://github.com/sercand)
### [`v1.62.0`](https://github.com/grpc/grpc-go/releases/tag/v1.62.0): Release 1.62.0
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.61.1...v1.62.0)
### New Features
- grpc: Add StaticMethod CallOption as a signal to stats handler that a method is safe to use as an instrument key ([#​6986](https://github.com/grpc/grpc-go/issues/6986))
### Behavior Changes
- grpc: Return canonical target string from ClientConn.Target() and resolver.Address.String() ([#​6923](https://github.com/grpc/grpc-go/issues/6923))
### Bug Fixes
- server: wait to close connection until incoming socket is drained (with timeout) to prevent data loss on client-side ([#​6977](https://github.com/grpc/grpc-go/issues/6977))
- Special Thanks: [@​s-matyukevich](https://github.com/s-matyukevich) for discovering the root cause
### Performance Improvements
- \*: Allow building without `x/net/trace` by using `grpcnotrace` to enable dead code elimination ([#​6954](https://github.com/grpc/grpc-go/issues/6954))
- Special Thanks: [@​hugelgupf](https://github.com/hugelgupf)
- rand: improve performance and simplify implementation of `grpcrand` by adopting `math/rand`'s top-level functions for go version 1.21.0 and newer. ([#​6925](https://github.com/grpc/grpc-go/issues/6925))
- Special Thanks: [@​kmirzavaziri](https://github.com/kmirzavaziri)
### Dependencies
- \*: Use google.golang.org/protobuf/proto instead of github.com/golang/protobuf. ([#​6919](https://github.com/grpc/grpc-go/issues/6919))
- Special Thanks: [@​Clement-Jean](https://github.com/Clement-Jean)
> \[!NOTE]
> The above change in proto library usage introduces a minor behavior change within those libraries. The old `github.com/golang/protobuf` library would error if given a `nil` message to `Marshal`, while the new `google.golang.org/protobuf` library will successfully output zero bytes in this case. This means server method handlers that did `return nil, nil` will now return an empty message and no error, while it used to return an error. This also affects the client side, where clients sending `nil` messages used to fail without sending the RPC, and now they will send an empty message.
### [`v1.61.1`](https://github.com/grpc/grpc-go/releases/tag/v1.61.1): Release 1.61.1
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.61.0...v1.61.1)
### Bug Fixes
- server: wait to close connection until incoming socket is drained (with timeout) to prevent data loss on client-side ([#​6977](https://github.com/grpc/grpc-go/issues/6977))
- Special Thanks: [@​s-matyukevich](https://github.com/s-matyukevich) for discovering the root cause
### [`v1.61.0`](https://github.com/grpc/grpc-go/releases/tag/v1.61.0): Release 1.61.0
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.60.1...v1.61.0)
### New Features
- resolver: provide method, `AuthorityOverrider`, to allow resolver.Builders to override the default authority for a `ClientConn`. (EXPERIMENTAL) ([#​6752](https://github.com/grpc/grpc-go/issues/6752))
- Special Thanks: [@​Aditya-Sood](https://github.com/Aditya-Sood)
- xds: add support for mTLS Credentials in xDS bootstrap ([gRFC A65](github.com/grpc/proposal/blob/8c31bfedded5f0a51c4933e9e9a8246122f9c41a/A65-xds-mtls-creds-in-bootstrap.md)) ([#​6757](https://github.com/grpc/grpc-go/issues/6757))
- Special Thanks: [@​atollena](https://github.com/atollena)
- server: add `grpc.WaitForHandlers` `ServerOption` to cause `Server.Stop` to block until method handlers return. (EXPERIMENTAL) ([#​6922](https://github.com/grpc/grpc-go/issues/6922))
### Performance Improvements
- grpc: skip compression of empty messages as an optimization ([#​6842](https://github.com/grpc/grpc-go/issues/6842))
- Special Thanks: [@​jroper](https://github.com/jroper)
- orca: use atomic pointer to improve performance in server metrics recorder ([#​6799](https://github.com/grpc/grpc-go/issues/6799))
- Special Thanks: [@​danielzhaotongliu](https://github.com/danielzhaotongliu)
### Bug Fixes
- client: correctly enable TCP keepalives with OS defaults on windows ([#​6863](https://github.com/grpc/grpc-go/issues/6863))
- Special Thanks: [@​mmatczuk](https://github.com/mmatczuk)
- server: change some stream operations to return `UNAVAILABLE` instead of `UNKNOWN` when underlying connection is broken ([#​6891](https://github.com/grpc/grpc-go/issues/6891))
- Special Thanks: [@​mustafasen81](https://github.com/mustafasen81)
- server: fix `GracefulStop` to block until all method handlers return (v1.60 regression). ([#​6922](https://github.com/grpc/grpc-go/issues/6922))
- server: fix two bugs that could lead to panics at shutdown when using [`NumStreamWorkers`](https://pkg.go.dev/google.golang.org/grpc#NumStreamWorkers) (EXPERIMENTAL). ([#​6856](https://github.com/grpc/grpc-go/issues/6856))
- reflection: do not send invalid descriptors to clients for files that cannot be fully resolved ([#​6771](https://github.com/grpc/grpc-go/issues/6771))
- Special Thanks: [@​jhump](https://github.com/jhump)
- xds: don't fail channel/server startup when xds creds is specified, but bootstrap is missing certificate providers ([#​6848](https://github.com/grpc/grpc-go/issues/6848))
- xds: Atomically read and write xDS security configuration client side ([#​6796](https://github.com/grpc/grpc-go/issues/6796))
- xds/server: fix RDS handling for non-inline route configs ([#​6915](https://github.com/grpc/grpc-go/issues/6915))
### [`v1.60.1`](https://github.com/grpc/grpc-go/releases/tag/v1.60.1)
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.60.0...v1.60.1)
### Bug Fixes
- server: fix two bugs that could lead to panics at shutdown when using [NumStreamWorkers](https://pkg.go.dev/google.golang.org/grpc#NumStreamWorkers) (experimental feature).
### [`v1.60.0`](https://github.com/grpc/grpc-go/releases/tag/v1.60.0): Release 1.60.0
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.59.0...v1.60.0)
### Security
- credentials/tls: if not set, set TLS MinVersion to 1.2 and CipherSuites according to supported suites not forbidden by RFC7540.
- This is a behavior change to bring us into better alignment with RFC 7540.
### API Changes
- resolver: remove deprecated and experimental `ClientConn.NewServiceConfig` ([#​6784](https://github.com/grpc/grpc-go/issues/6784))
- client: remove deprecated `grpc.WithServiceConfig` `DialOption` ([#​6800](https://github.com/grpc/grpc-go/issues/6800))
### Bug Fixes
- client: fix race that could cause a deadlock while entering idle mode and receiving a name resolver update ([#​6804](https://github.com/grpc/grpc-go/issues/6804))
- client: always enable TCP keepalives with OS defaults ([#​6834](https://github.com/grpc/grpc-go/issues/6834))
- credentials/alts: fix a bug preventing ALTS from connecting to the metadata server if the default scheme is overridden ([#​6686](https://github.com/grpc/grpc-go/issues/6686))
- Special Thanks: [@​mjamaloney](https://github.com/mjamaloney)
### Behavior Changes
- server: Do not return from Stop() or GracefulStop() until all resources are released ([#​6489](https://github.com/grpc/grpc-go/issues/6489))
- Special Thanks: [@​fho](https://github.com/fho)
### Documentation
- codes: clarify that only codes defined by this package are valid and that users should not cast other values to `codes.Code` ([#​6701](https://github.com/grpc/grpc-go/issues/6701))
### [`v1.59.0`](https://github.com/grpc/grpc-go/releases/tag/v1.59.0): Release 1.59.0
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.58.3...v1.59.0)
### Behavior Changes
- balancer: grpc will switch to case-sensitive balancer names soon; log a warning if a capital letter is encountered in an LB policy name ([#​6647](https://github.com/grpc/grpc-go/issues/6647))
- server: allow applications to send arbitrary data in the `grpc-status-details-bin` trailer ([#​6662](https://github.com/grpc/grpc-go/issues/6662))
- client: validate `grpc-status-details-bin` trailer and pass through the trailer to the application directly ([#​6662](https://github.com/grpc/grpc-go/issues/6662))
### New Features
- tap (experimental): Add Header metadata to tap handler ([#​6652](https://github.com/grpc/grpc-go/issues/6652))
- Special Thanks: [@​pstibrany](https://github.com/pstibrany)
- grpc: channel idleness enabled by default with an `idle_timeout` of `30m` ([#​6585](https://github.com/grpc/grpc-go/issues/6585))
### Documentation
- examples: add an example of flow control behavior ([#​6648](https://github.com/grpc/grpc-go/issues/6648))
### Bug Fixes
- xds: fix hash policy header to skip "-bin" headers and read content-type header as expected ([#​6609](https://github.com/grpc/grpc-go/issues/6609))
### [`v1.58.3`](https://github.com/grpc/grpc-go/releases/tag/v1.58.3): Release 1.58.3
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.58.2...v1.58.3)
### Security
- server: prohibit more than MaxConcurrentStreams handlers from running at once (CVE-2023-44487)
In addition to this change, applications should ensure they do not leave running tasks behind related to the RPC before returning from method handlers, or should enforce appropriate limits on any such work.
### [`v1.58.2`](https://github.com/grpc/grpc-go/releases/tag/v1.58.2): Release 1.58.2
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.58.1...v1.58.2)
### Bug Fixes
- balancer/weighted_round_robin: fix ticker leak on update
A new ticker is created every time there is an update of addresses or configuration, but was not properly stopped. This change stops the ticker when it is no longer needed.
### [`v1.58.1`](https://github.com/grpc/grpc-go/releases/tag/v1.58.1): Release 1.58.1
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.58.0...v1.58.1)
### Bug Fixes
- grpc: fix a bug that was decrementing active RPC count too early for streaming RPCs; leading to channel moving to IDLE even though it had open streams
- grpc: fix a bug where transports were not being closed upon channel entering IDLE
### [`v1.58.0`](https://github.com/grpc/grpc-go/releases/tag/v1.58.0): Release 1.58.0
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.57.2...v1.58.0)
### API Changes
See [#​6472](https://github.com/grpc/grpc-go/issues/6472) for details about these changes.
- balancer: add `StateListener` to `NewSubConnOptions` for `SubConn` state updates and deprecate `Balancer.UpdateSubConnState` ([#​6481](https://github.com/grpc/grpc-go/issues/6481))
- `UpdateSubConnState` will be deleted in the future.
- balancer: add `SubConn.Shutdown` and deprecate `Balancer.RemoveSubConn` ([#​6493](https://github.com/grpc/grpc-go/issues/6493))
- `RemoveSubConn` will be deleted in the future.
- resolver: remove deprecated `AddressType` ([#​6451](https://github.com/grpc/grpc-go/issues/6451))
- This was previously used as a signal to enable the "grpclb" load balancing policy, and to pass LB addresses to the policy. Instead, `balancer/grpclb/state.Set()` should be used to add these addresses to the name resolver's output. The built-in "dns" name resolver already does this.
- resolver: add new field `Endpoints` to `State` and deprecate `Addresses` ([#​6471](https://github.com/grpc/grpc-go/issues/6471))
- `Addresses` will be deleted in the future.
### New Features
- balancer/leastrequest: Add experimental support for least request LB policy and least request configured as a custom xDS policy ([#​6510](https://github.com/grpc/grpc-go/issues/6510), [#​6517](https://github.com/grpc/grpc-go/issues/6517))
- Set `GRPC_EXPERIMENTAL_ENABLE_LEAST_REQUEST=true` to enable
- stats: Add an RPC event for blocking caused by the LB policy's picker ([#​6422](https://github.com/grpc/grpc-go/issues/6422))
### Bug Fixes
- clusterresolver: fix deadlock when dns resolver responds inline with update or error at build time ([#​6563](https://github.com/grpc/grpc-go/issues/6563))
- grpc: fix a bug where the channel could erroneously report `TRANSIENT_FAILURE` when actually moving to `IDLE` ([#​6497](https://github.com/grpc/grpc-go/issues/6497))
- balancergroup: do not cache closed sub-balancers by default; affects `rls`, `weightedtarget` and `clustermanager` LB policies ([#​6523](https://github.com/grpc/grpc-go/issues/6523))
- client: fix a bug that prevented detection of RPC status in trailers-only RPC responses when using `ClientStream.Header()`, and prevented retry of the RPC ([#​6557](https://github.com/grpc/grpc-go/issues/6557))
### Performance Improvements
- client & server: Add experimental `[With]SharedWriteBuffer` to improve performance by reducing allocations when sending RPC messages. (Disabled by default.) ([#​6309](https://github.com/grpc/grpc-go/issues/6309))
- Special Thanks: [@​s-matyukevich](https://github.com/s-matyukevich)
### [`v1.57.2`](https://github.com/grpc/grpc-go/releases/tag/v1.57.2): Release 1.57.2
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.57.1...v1.57.2)
### Bug Fixes
- server: fix a bug introduced in v1.57.1 that causes connections to eventually stop processing any RPCs.
### [`v1.57.1`](https://github.com/grpc/grpc-go/releases/tag/v1.57.1): Release 1.57.1
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.57.0...v1.57.1)
### Security
- server: prohibit more than MaxConcurrentStreams handlers from running at once (CVE-2023-44487)
In addition to this change, applications should ensure they do not leave running tasks behind related to the RPC before returning from method handlers, or should enforce appropriate limits on any such work.
### [`v1.57.0`](https://github.com/grpc/grpc-go/releases/tag/v1.57.0): Release 1.57.0
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.56.3...v1.57.0)
### API Changes
- resolver: remove deprecated `Target.Scheme` and `Target.Authority`. Use `URL.Scheme` and `URL.Host` instead, respectively ([#​6363](https://github.com/grpc/grpc-go/issues/6363))
### Behavior Changes
- client: percent-encode the default authority for the channel ([#​6428](https://github.com/grpc/grpc-go/issues/6428))
- xds: require EDS service name to be set in a CDS cluster with an 'xdstp' resource name (gRFC A47) ([#​6438](https://github.com/grpc/grpc-go/issues/6438))
### New Features
- reflection: support the v1 reflection service and update `Register` to register both v1alpha and v1 ([#​6329](https://github.com/grpc/grpc-go/issues/6329))
- xds: add support for string matcher in RBAC header matching ([#​6419](https://github.com/grpc/grpc-go/issues/6419))
- alts: add support for `GRPC_ALTS_MAX_CONCURRENT_HANDSHAKES` env var ([#​6267](https://github.com/grpc/grpc-go/issues/6267))
- balancer/weightedroundrobin: de-experimentalize name of LB policy ([#​6477](https://github.com/grpc/grpc-go/issues/6477))
### Bug Fixes
- status: `status.FromError` now returns an error with `codes.Unknown` when the error implements the `GRPCStatus()` method, and calling `GRPCStatus()` returns `nil` ([#​6374](https://github.com/grpc/grpc-go/issues/6374))
- Special Thanks: [@​atollena](https://github.com/atollena)
- server: fix bug preventing TCP user timeout from being set on the connection when TLS is used ([#​6321](https://github.com/grpc/grpc-go/issues/6321))
- Special Thanks: [@​tobotg](https://github.com/tobotg)
- client: eliminate connection churn during an address update that differs only in balancer attributes ([#​6439](https://github.com/grpc/grpc-go/issues/6439))
- clusterresolver: handle EDS nacks, resource-not-found errors, and DNS Resolver errors correctly ([#​6436](https://github.com/grpc/grpc-go/issues/6436), [#​6461](https://github.com/grpc/grpc-go/issues/6461))
- xds/ringhash: cache connectivity state of subchannels inside picker to avoid rare races ([#​6351](https://github.com/grpc/grpc-go/issues/6351))
### [`v1.56.3`](https://github.com/grpc/grpc-go/releases/tag/v1.56.3): Release 1.56.3
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.56.2...v1.56.3)
### Security
- server: prohibit more than MaxConcurrentStreams handlers from running at once (CVE-2023-44487)
In addition to this change, applications should ensure they do not leave running tasks behind related to the RPC before returning from method handlers, or should enforce appropriate limits on any such work.
### [`v1.56.2`](https://github.com/grpc/grpc-go/releases/tag/v1.56.2): Release 1.56.2
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.56.1...v1.56.2)
- status: To fix a panic, `status.FromError` now returns an error with `codes.Unknown` when the error implements the `GRPCStatus()` method, and calling `GRPCStatus()` returns `nil`. ([#​6374](https://github.com/grpc/grpc-go/issues/6374))
### [`v1.56.1`](https://github.com/grpc/grpc-go/releases/tag/v1.56.1): Release 1.56.1
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.56.0...v1.56.1)
- client: handle empty address lists correctly in addrConn.updateAddrs
### [`v1.56.0`](https://github.com/grpc/grpc-go/releases/tag/v1.56.0): Release 1.56.0
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.55.1...v1.56.0)
### New Features
- client: support channel idleness using `WithIdleTimeout` dial option ([#​6263](https://github.com/grpc/grpc-go/issues/6263))
- This feature is currently disabled by default, but will be enabled with a 30 minute default in the future.
- client: when using pickfirst, keep channel state in TRANSIENT_FAILURE until it becomes READY ([gRFC A62](https://github.com/grpc/proposal/blob/master/A62-pick-first.md)) ([#​6306](https://github.com/grpc/grpc-go/issues/6306))
- xds: Add support for Custom LB Policies ([gRFC A52](https://github.com/grpc/proposal/blob/master/A52-xds-custom-lb-policies.md)) ([#​6224](https://github.com/grpc/grpc-go/issues/6224))
- xds: support pick_first Custom LB policy ([gRFC A62](https://github.com/grpc/proposal/blob/master/A62-pick-first.md)) ([#​6314](https://github.com/grpc/grpc-go/issues/6314)) ([#​6317](https://github.com/grpc/grpc-go/issues/6317))
- client: add support for pickfirst address shuffling ([gRFC A62](https://github.com/grpc/proposal/blob/master/A62-pick-first.md)) ([#​6311](https://github.com/grpc/grpc-go/issues/6311))
- xds: Add support for String Matcher Header Matcher in RDS ([#​6313](https://github.com/grpc/grpc-go/issues/6313))
- xds/outlierdetection: Add Channelz Logger to Outlier Detection LB ([#​6145](https://github.com/grpc/grpc-go/issues/6145))
- Special Thanks: [@​s-matyukevich](https://github.com/s-matyukevich)
- xds: enable RLS in xDS by default ([#​6343](https://github.com/grpc/grpc-go/issues/6343))
- orca: add support for application_utilization field and missing range checks on several metrics setters
- balancer/weightedroundrobin: add new LB policy for balancing between backends based on their load reports ([gRFC A58](https://github.com/grpc/proposal/blob/master/A58-client-side-weighted-round-robin-lb-policy.md)) ([#​6241](https://github.com/grpc/grpc-go/issues/6241))
- authz: add conversion of json to RBAC Audit Logging config ([#​6192](https://github.com/grpc/grpc-go/issues/6192))
- authz: add support for stdout logger ([#​6230](https://github.com/grpc/grpc-go/issues/6230) and [#​6298](https://github.com/grpc/grpc-go/issues/6298))
- authz: support customizable audit functionality for authorization policy ([#​6192](https://github.com/grpc/grpc-go/issues/6192) [#​6230](https://github.com/grpc/grpc-go/issues/6230) [#​6298](https://github.com/grpc/grpc-go/issues/6298) [#​6158](https://github.com/grpc/grpc-go/issues/6158) [#​6304](https://github.com/grpc/grpc-go/issues/6304) and [#​6225](https://github.com/grpc/grpc-go/issues/6225))
### Bug Fixes
- orca: fix a race at startup of out-of-band metric subscriptions that would cause the report interval to request 0 ([#​6245](https://github.com/grpc/grpc-go/issues/6245))
- xds/xdsresource: Fix Outlier Detection Config Handling and correctly set xDS Defaults ([#​6361](https://github.com/grpc/grpc-go/issues/6361))
- xds/outlierdetection: Fix Outlier Detection Config Handling by setting defaults in ParseConfig() ([#​6361](https://github.com/grpc/grpc-go/issues/6361))
### API Changes
- orca: allow a ServerMetricsProvider to be passed to the ORCA service and ServerOption ([#​6223](https://github.com/grpc/grpc-go/issues/6223))
### [`v1.55.1`](https://github.com/grpc/grpc-go/releases/tag/v1.55.1): Release 1.55.1
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.55.0...v1.55.1)
- status: To fix a panic, `status.FromError` now returns an error with `codes.Unknown` when the error implements the `GRPCStatus()` method, and calling `GRPCStatus()` returns `nil`. ([#​6374](https://github.com/grpc/grpc-go/issues/6374))
### [`v1.55.0`](https://github.com/grpc/grpc-go/releases/tag/v1.55.0): Release 1.55.0
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.54.1...v1.55.0)
### Behavior Changes
- xds: enable federation support by default ([#​6151](https://github.com/grpc/grpc-go/issues/6151))
- status: `status.Code` and `status.FromError` handle wrapped errors ([#​6031](https://github.com/grpc/grpc-go/issues/6031) and [#​6150](https://github.com/grpc/grpc-go/issues/6150))
- Special Thanks: [@​psyhatter](https://github.com/psyhatter)
### New Features
- xds/xdsclient: support `ignore_resource_deletion` server feature as per gRFC [A53](https://github.com/grpc/proposal/blob/master/A53-xds-ignore-resource-deletion.md) ([#​6035](https://github.com/grpc/grpc-go/issues/6035))
- security/advancedtls: add min/max TLS version selection options ([#​6007](https://github.com/grpc/grpc-go/issues/6007))
- Special Thanks: [@​joeljeske](https://github.com/joeljeske)
### Bug Fixes
- xds: stop routing RPCs to deleted clusters ([#​6125](https://github.com/grpc/grpc-go/issues/6125))
- client: fix race between stream creation and GOAWAY receipt, which could lead to spurious UNAVAILABLE stream errors ([#​6142](https://github.com/grpc/grpc-go/issues/6142))
### Performance Improvements
- server: improve stream handler goroutine worker allocation when [`NumStreamWorkers`](https://pkg.go.dev/google.golang.org/grpc#NumStreamWorkers) is used ([#​6004](https://github.com/grpc/grpc-go/issues/6004))
- Special Thanks: [@​SaveTheRbtz](https://github.com/SaveTheRbtz)
### [`v1.54.1`](https://github.com/grpc/grpc-go/releases/tag/v1.54.1): Release 1.54.1
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.54.0...v1.54.1)
### Bug Fixes
- credentials/alts: revert a change that causes a crash in the handshaker
### [`v1.54.0`](https://github.com/grpc/grpc-go/releases/tag/v1.54.0): Release 1.54.0
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.53.0...v1.54.0)
### Behavior Changes
- xds: remove support for xDS v2 transport API ([#​6013](https://github.com/grpc/grpc-go/issues/6013))
### New Features
- server: expose `SetSendCompressor` API to set send compressor name ([#​5744](https://github.com/grpc/grpc-go/issues/5744))
- Special Thanks: [@​jronak](https://github.com/jronak)
- xdsclient: include `Node` proto only in the first discovery request message, to improve performance ([#​6078](https://github.com/grpc/grpc-go/issues/6078))
### Bug Fixes
- metadata: fix validation logic and properly validate metadata appended via `AppendToOutgoingContext` ([#​6001](https://github.com/grpc/grpc-go/issues/6001))
- Special Thanks: [@​ktalg](https://github.com/ktalg)
- transport: do not close connections when we encounter I/O errors until after all data is consumed ([#​6110](https://github.com/grpc/grpc-go/issues/6110))
- ringhash: ensure addresses are consistently hashed across updates ([#​6066](https://github.com/grpc/grpc-go/issues/6066))
- xds/clusterimpl: fix a bug causing unnecessary closing and re-opening of LRS streams ([#​6112](https://github.com/grpc/grpc-go/issues/6112))
- xds: NACK route configuration if sum of weights of weighted clusters exceeds uint32\_max ([#​6085](https://github.com/grpc/grpc-go/issues/6085))
### Documentation
- resolver: update `Resolver.Scheme()` docstring to mention requirement of lowercase scheme names ([#​6014](https://github.com/grpc/grpc-go/issues/6014))
- resolver: document expected error handling of `UpdateState` errors ([#​6002](https://github.com/grpc/grpc-go/issues/6002))
- Special Thanks: [@​fho](https://github.com/fho)
- examples: add example for ORCA load reporting ([#​6114](https://github.com/grpc/grpc-go/issues/6114))
- examples: add an example to illustrate authorization (authz) support ([#​5920](https://github.com/grpc/grpc-go/issues/5920))
- Special Thanks: [@​KenxinKun](https://github.com/KenxinKun)
### [`v1.53.0`](https://github.com/grpc/grpc-go/releases/tag/v1.53.0): Release 1.53.0
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.52.3...v1.53.0)
### API Changes
- balancer: support injection of per-call metadata from LB policies ([#​5853](https://github.com/grpc/grpc-go/issues/5853))
- resolver: remove deprecated field `resolver.Target.Endpoint` and replace with `resolver.Target.Endpoint()` ([#​5852](https://github.com/grpc/grpc-go/issues/5852))
- Special Thanks: [@​kylejb](https://github.com/kylejb)
### New Features
- xds/ringhash: introduce `GRPC_RING_HASH_CAP` environment variable to override the maximum ring size. ([#​5884](https://github.com/grpc/grpc-go/issues/5884))
- rls: propagate headers received in RLS response to backends ([#​5883](https://github.com/grpc/grpc-go/issues/5883))
### Bug Fixes
- transport: drain client transport when streamID approaches MaxStreamID ([#​5889](https://github.com/grpc/grpc-go/issues/5889))
- server: after GracefulStop, ensure connections are closed when final RPC completes ([#​5968](https://github.com/grpc/grpc-go/issues/5968))
- server: fix a few issues where grpc server uses RST_STREAM for non-HTTP/2 errors ([#​5893](https://github.com/grpc/grpc-go/issues/5893))
- xdsclient: fix race which can happen when multiple load reporting calls are made at the same time. ([#​5927](https://github.com/grpc/grpc-go/issues/5927))
- rls: fix a data race involving the LRU cache ([#​5925](https://github.com/grpc/grpc-go/issues/5925))
- xds: fix panic involving double close of channel in xDS transport ([#​5959](https://github.com/grpc/grpc-go/issues/5959))
- gcp/observability: update method name validation ([#​5951](https://github.com/grpc/grpc-go/issues/5951))
### Documentation
- credentials/oauth: mark `NewOauthAccess` as deprecated ([#​5882](https://github.com/grpc/grpc-go/issues/5882))
- Special Thanks: [@​buzzsurfr](https://github.com/buzzsurfr)
### [`v1.52.3`](https://github.com/grpc/grpc-go/releases/tag/v1.52.3): Release 1.52.3
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.52.1...v1.52.3)
### Bug Fixes
- Fix user-agent version
### [`v1.52.1`](https://github.com/grpc/grpc-go/releases/tag/v1.52.1): Release 1.52.1
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.52.0...v1.52.1)
### Bug Fixes
- grpclb: rename grpclbstate package back to state ([#​5963](https://github.com/grpc/grpc-go/issues/5963))
### [`v1.52.0`](https://github.com/grpc/grpc-go/releases/tag/v1.52.0): Release 1.52.0
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.51.0...v1.52.0)
### New Features
- xdsclient: log node ID with verbosity INFO ([#​5860](https://github.com/grpc/grpc-go/issues/5860))
- ringhash: impose cap on `max_ring_size` to reduce possibility of OOMs ([#​5801](https://github.com/grpc/grpc-go/issues/5801))
### Behavior Changes
- client: return an error from `Dial` if an empty target is passed and no custom dialer is present; the ClientConn would otherwise be unable to connect and perform RPCs ([#​5732](https://github.com/grpc/grpc-go/issues/5732))
- Special Thanks: [@​huangchong94](https://github.com/huangchong94)
### Bug Fixes
- transport (net/http server handler): respond to bad HTTP requests with status 400 (Bad Request) instead of 500 (Internal Server Error). ([#​5804](https://github.com/grpc/grpc-go/issues/5804))
- Special Thanks: [@​sjbarag](https://github.com/sjbarag)
- transport: Fixed closing a closed channel panic in handlePing ([#​5854](https://github.com/grpc/grpc-go/issues/5854))
- server: fix ChainUnaryInterceptor and ChainStreamInterceptor to allow retrying handlers ([#​5666](https://github.com/grpc/grpc-go/issues/5666))
- Special Thanks: [@​yiminc](https://github.com/yiminc)
- transport: ensure value of `:authority` header matches server name used in TLS handshake when the latter is overridden by the name resolver ([#​5748](https://github.com/grpc/grpc-go/issues/5748))
- Special Thanks: [@​holdno](https://github.com/holdno)
### Documentation
- examples: add an example to illustrate the usage of stats handler ([#​5657](https://github.com/grpc/grpc-go/issues/5657))
- Special Thanks: [@​Yash-Handa](https://github.com/Yash-Handa)
- examples: add new example to show updating metadata in interceptors ([#​5788](https://github.com/grpc/grpc-go/issues/5788))
- Special Thanks: [@​richzw](https://github.com/richzw)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this MR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box
---
This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yOC4wIiwidXBkYXRlZEluVmVyIjoiMzcuMTk0LjAiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIifQ==-->https://git.autistici.org/ale/autoradio/-/merge_requests/66Update module golang.org/x/crypto to v0.21.02024-03-04T19:32:35ZrenovateUpdate module golang.org/x/crypto to v0.21.0This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| golang.org/x/crypto | require | minor | `v0.0.0-20211215153901-e495a2d5b3d3` -> `v0.21.0` |
---
### Configuration
📅 **Schedule**: Branch...This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| golang.org/x/crypto | require | minor | `v0.0.0-20211215153901-e495a2d5b3d3` -> `v0.21.0` |
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this MR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box
---
This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xOTQuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE5NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->https://git.autistici.org/ale/autoradio/-/merge_requests/64Update module github.com/lpar/gzipped/v2 to v2.1.02023-10-12T09:41:37ZrenovateUpdate module github.com/lpar/gzipped/v2 to v2.1.0This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/lpar/gzipped/v2](https://github.com/lpar/gzipped) | require | minor | `v2.0.2` -> `v2.1.0` |
---
### Release Notes
<details>...This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/lpar/gzipped/v2](https://github.com/lpar/gzipped) | require | minor | `v2.0.2` -> `v2.1.0` |
---
### Release Notes
<details>
<summary>lpar/gzipped (github.com/lpar/gzipped/v2)</summary>
### [`v2.1.0`](https://github.com/lpar/gzipped/compare/v2.0.2...v2.1.0)
[Compare Source](https://github.com/lpar/gzipped/compare/v2.0.2...v2.1.0)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this MR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box
---
This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xNTkuMCIsInVwZGF0ZWRJblZlciI6IjM2LjQuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9-->https://git.autistici.org/ale/autoradio/-/merge_requests/57Update module github.com/miekg/dns to v1.1.582024-01-18T12:32:37ZrenovateUpdate module github.com/miekg/dns to v1.1.58This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/miekg/dns](https://github.com/miekg/dns) | require | patch | `v1.1.45` -> `v1.1.58` |
---
### Release Notes
<details>
<summa...This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/miekg/dns](https://github.com/miekg/dns) | require | patch | `v1.1.45` -> `v1.1.58` |
---
### Release Notes
<details>
<summary>miekg/dns (github.com/miekg/dns)</summary>
### [`v1.1.58`](https://github.com/miekg/dns/compare/v1.1.57...v1.1.58)
[Compare Source](https://github.com/miekg/dns/compare/v1.1.57...v1.1.58)
### [`v1.1.57`](https://github.com/miekg/dns/compare/v1.1.56...v1.1.57)
[Compare Source](https://github.com/miekg/dns/compare/v1.1.56...v1.1.57)
### [`v1.1.56`](https://github.com/miekg/dns/compare/v1.1.55...v1.1.56)
[Compare Source](https://github.com/miekg/dns/compare/v1.1.55...v1.1.56)
### [`v1.1.55`](https://github.com/miekg/dns/compare/v1.1.54...v1.1.55)
[Compare Source](https://github.com/miekg/dns/compare/v1.1.54...v1.1.55)
### [`v1.1.54`](https://github.com/miekg/dns/compare/v1.1.53...v1.1.54)
[Compare Source](https://github.com/miekg/dns/compare/v1.1.53...v1.1.54)
### [`v1.1.53`](https://github.com/miekg/dns/compare/v1.1.52...v1.1.53)
[Compare Source](https://github.com/miekg/dns/compare/v1.1.52...v1.1.53)
### [`v1.1.52`](https://github.com/miekg/dns/compare/v1.1.51...v1.1.52)
[Compare Source](https://github.com/miekg/dns/compare/v1.1.51...v1.1.52)
### [`v1.1.51`](https://github.com/miekg/dns/compare/v1.1.50...v1.1.51)
[Compare Source](https://github.com/miekg/dns/compare/v1.1.50...v1.1.51)
### [`v1.1.50`](https://github.com/miekg/dns/compare/v1.1.49...v1.1.50)
[Compare Source](https://github.com/miekg/dns/compare/v1.1.49...v1.1.50)
### [`v1.1.49`](https://github.com/miekg/dns/compare/v1.1.48...v1.1.49)
[Compare Source](https://github.com/miekg/dns/compare/v1.1.48...v1.1.49)
### [`v1.1.48`](https://github.com/miekg/dns/compare/v1.1.47...v1.1.48)
[Compare Source](https://github.com/miekg/dns/compare/v1.1.47...v1.1.48)
### [`v1.1.47`](https://github.com/miekg/dns/compare/v1.1.46...v1.1.47)
[Compare Source](https://github.com/miekg/dns/compare/v1.1.46...v1.1.47)
### [`v1.1.46`](https://github.com/miekg/dns/compare/v1.1.45...v1.1.46)
[Compare Source](https://github.com/miekg/dns/compare/v1.1.45...v1.1.46)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this MR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box
---
This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xNTkuMCIsInVwZGF0ZWRJblZlciI6IjM2LjQ5LjAiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIifQ==-->https://git.autistici.org/ale/autoradio/-/merge_requests/53Update module github.com/prometheus/client_golang to v1.19.02024-03-22T09:30:50ZrenovateUpdate module github.com/prometheus/client_golang to v1.19.0This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) | require | minor | `v1.11.0` -> `v1.19.0` |
---
### R...This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) | require | minor | `v1.11.0` -> `v1.19.0` |
---
### Release Notes
<details>
<summary>prometheus/client_golang (github.com/prometheus/client_golang)</summary>
### [`v1.19.0`](https://github.com/prometheus/client_golang/releases/tag/v1.19.0)
[Compare Source](https://github.com/prometheus/client_golang/compare/v1.18.0...v1.19.0)
#### What's Changed
The module `prometheus/common v0.48.0` introduced an incompatibility when used together with client_golang (See https://github.com/prometheus/client_golang/pull/1448 for more details). If your project uses client_golang and you want to use `prometheus/common v0.48.0` or higher, please update client_golang to v1.19.0.
- \[CHANGE] Minimum required go version is now 1.20 (we also test client_golang against new 1.22 version). [#​1445](https://github.com/prometheus/client_golang/issues/1445) [#​1449](https://github.com/prometheus/client_golang/issues/1449)
- \[FEATURE] collectors: Add version collector. [#​1422](https://github.com/prometheus/client_golang/issues/1422) [#​1427](https://github.com/prometheus/client_golang/issues/1427)
#### New Contributors
- [@​michurin](https://github.com/michurin) made their first contribution in https://github.com/prometheus/client_golang/pull/1423
- [@​kavu](https://github.com/kavu) made their first contribution in https://github.com/prometheus/client_golang/pull/1445
- [@​ywwg](https://github.com/ywwg) made their first contribution in https://github.com/prometheus/client_golang/pull/1448
**Full Changelog**: https://github.com/prometheus/client_golang/compare/v1.18.0...v1.19.0
### [`v1.18.0`](https://github.com/prometheus/client_golang/releases/tag/v1.18.0)
[Compare Source](https://github.com/prometheus/client_golang/compare/v1.17.0...v1.18.0)
#### What's Changed
- \[FEATURE] promlint: Allow creation of custom metric validations. [#​1311](https://github.com/prometheus/client_golang/issues/1311)
- \[FEATURE] Go programs using client_golang can be built in wasip1 OS. [#​1350](https://github.com/prometheus/client_golang/issues/1350)
- \[BUGFIX] histograms: Add timer to reset ASAP after bucket limiting has happened. [#​1367](https://github.com/prometheus/client_golang/issues/1367)
- \[BUGFIX] testutil: Fix comparison of metrics with empty Help strings. [#​1378](https://github.com/prometheus/client_golang/issues/1378)
- \[ENHANCEMENT] Improved performance of `MetricVec.WithLabelValues(...)`. [#​1360](https://github.com/prometheus/client_golang/issues/1360)
#### New Contributors
- [@​srenatus](https://github.com/srenatus) made their first contribution in https://github.com/prometheus/client_golang/pull/1350
- [@​jadolg](https://github.com/jadolg) made their first contribution in https://github.com/prometheus/client_golang/pull/1342
- [@​manas-rust](https://github.com/manas-rust) made their first contribution in https://github.com/prometheus/client_golang/pull/1383
- [@​bluekeyes](https://github.com/bluekeyes) made their first contribution in https://github.com/prometheus/client_golang/pull/1378
- [@​tsipo](https://github.com/tsipo) made their first contribution in https://github.com/prometheus/client_golang/pull/1387
**Full Changelog**: https://github.com/prometheus/client_golang/compare/v1.17.0...v1.18.0
### [`v1.17.0`](https://github.com/prometheus/client_golang/releases/tag/v1.17.0)
[Compare Source](https://github.com/prometheus/client_golang/compare/v1.16.0...v1.17.0)
#### What's Changed
- \[CHANGE] Minimum required go version is now 1.19 (we also test client_golang against new 1.21 version). [#​1325](https://github.com/prometheus/client_golang/issues/1325)
- \[FEATURE] Add support for Created Timestamps in Counters, Summaries and Historams. [#​1313](https://github.com/prometheus/client_golang/issues/1313)
- \[ENHANCEMENT] Enable detection of a native histogram without observations. [#​1314](https://github.com/prometheus/client_golang/issues/1314)
<details><summary>Commits</summary>
- Merge v1.16.0 to main by [@​bwplotka](https://github.com/bwplotka) in https://github.com/prometheus/client_golang/pull/1293
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/client_golang/pull/1297
- ci: define minimal permissions to GitHub workflows by [@​diogoteles08](https://github.com/diogoteles08) in https://github.com/prometheus/client_golang/pull/1295
- Do not allocate memory when there's no constraints by [@​Okhoshi](https://github.com/Okhoshi) in https://github.com/prometheus/client_golang/pull/1296
- Bump golang.org/x/sys from 0.8.0 to 0.9.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1306
- Bump google.golang.org/grpc from 1.45.0 to 1.53.0 in /tutorial/whatsup by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1307
- histogram: Enable detection of a native histogram without observations by [@​beorn7](https://github.com/beorn7) in https://github.com/prometheus/client_golang/pull/1314
- Bump github.com/prometheus/procfs from 0.10.1 to 0.11.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1305
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/client_golang/pull/1302
- Fix data-race in metric without `code` and `method` but with `WithLabelFromCtx` by [@​tigrato](https://github.com/tigrato) in https://github.com/prometheus/client_golang/pull/1318
- Add missing tick "\`" in README by [@​ZiViZiViZ](https://github.com/ZiViZiViZ) in https://github.com/prometheus/client_golang/pull/1321
- Bump golang.org/x/sys from 0.9.0 to 0.10.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1320
- Bump github.com/prometheus/procfs from 0.11.0 to 0.11.1 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1319
- docs: trivial grammar fixes to improve readability in promauto Godoc by [@​sengi](https://github.com/sengi) in https://github.com/prometheus/client_golang/pull/1322
- Add Go 1.21 support by [@​kakkoyun](https://github.com/kakkoyun) in https://github.com/prometheus/client_golang/pull/1325
- Bump client_model by [@​ArthurSens](https://github.com/ArthurSens) in https://github.com/prometheus/client_golang/pull/1323
- histogram docs: Fixed minor nit. by [@​bwplotka](https://github.com/bwplotka) in https://github.com/prometheus/client_golang/pull/1324
- Update building by [@​SuperQ](https://github.com/SuperQ) in https://github.com/prometheus/client_golang/pull/1326
- Bump golang.org/x/sys from 0.10.0 to 0.11.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1331
- Bump github.com/prometheus/client_golang from 1.15.1-0.20230416215738-0963f595c689 to 1.16.0 in /tutorial/whatsup by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1329
- Bump github.com/prometheus/client_golang from 1.13.1 to 1.16.0 in /examples/middleware by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1328
- Bump github.com/prometheus/common from 0.42.0 to 0.44.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1284
- Bump github.com/prometheus/common from 0.42.0 to 0.44.0 in /tutorial/whatsup by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1330
- Bump google.golang.org/protobuf from 1.30.0 to 1.31.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1304
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/client_golang/pull/1332
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/client_golang/pull/1338
- Cleanup golangci-lint errcheck by [@​SuperQ](https://github.com/SuperQ) in https://github.com/prometheus/client_golang/pull/1339
- Add go_godebug_non_default_behavior_tlsmaxrsasize_events_total by [@​alexandear](https://github.com/alexandear) in https://github.com/prometheus/client_golang/pull/1348
- Extend Counters, Summaries and Histograms with creation timestamp by [@​ArthurSens](https://github.com/ArthurSens) in https://github.com/prometheus/client_golang/pull/1313
- Fix typos in comments, tests, and errors by [@​alexandear](https://github.com/alexandear) in https://github.com/prometheus/client_golang/pull/1346
- Deprecated comment should begin with "Deprecated:" by [@​alexandear](https://github.com/alexandear) in https://github.com/prometheus/client_golang/pull/1347
- Add changelog entry for 1.17 by [@​ArthurSens](https://github.com/ArthurSens) in https://github.com/prometheus/client_golang/pull/1352
</details>
#### New Contributors
* @​diogoteles08 made their first contribution in https://github.com/prometheus/client_golang/pull/1295
* @​tigrato made their first contribution in https://github.com/prometheus/client_golang/pull/1318
* @​ZiViZiViZ made their first contribution in https://github.com/prometheus/client_golang/pull/1321
* @​sengi made their first contribution in https://github.com/prometheus/client_golang/pull/1322
* @​ArthurSens made their first contribution in https://github.com/prometheus/client_golang/pull/1323
* @​alexandear made their first contribution in https://github.com/prometheus/client_golang/pull/1348
**Full Changelog**: https://github.com/prometheus/client_golang/compare/v1.16.0...v1.17.0
### [`v1.16.0`](https://github.com/prometheus/client_golang/releases/tag/v1.16.0)
[Compare Source](https://github.com/prometheus/client_golang/compare/v1.15.1...v1.16.0)
#### What's Changed
- \[BUGFIX] api: Switch to POST for LabelNames, Series, and QueryExemplars. [#​1252](https://github.com/prometheus/client_golang/issues/1252)
- \[BUGFIX] api: Fix undefined execution order in return statements. [#​1260](https://github.com/prometheus/client_golang/issues/1260)
- \[BUGFIX] native histograms: Fix bug in bucket key calculation. [#​1279](https://github.com/prometheus/client_golang/issues/1279)
- \[ENHANCEMENT] Reduce constrainLabels allocations for all metrics. [#​1272](https://github.com/prometheus/client_golang/issues/1272)
- \[ENHANCEMENT] promhttp: Add process start time header for scrape efficiency. [#​1278](https://github.com/prometheus/client_golang/issues/1278)
- \[ENHANCEMENT] promlint: Improve metricUnits runtime. [#​1286](https://github.com/prometheus/client_golang/issues/1286)
<details>
<summary> Commits </summary>
- Merge v1.15 to main by [@​bwplotka](https://github.com/bwplotka) in https://github.com/prometheus/client_golang/pull/1250
- Switch to POST for LabelNames, Series, and QueryExemplars to DoGetFallback by [@​jacksontj](https://github.com/jacksontj) in https://github.com/prometheus/client_golang/pull/1252
- ✏️ \[collectors]: fix typo in test assertion by [@​vegerot](https://github.com/vegerot) in https://github.com/prometheus/client_golang/pull/1153
- Added interactive tutorial \[kubeCon] by [@​bwplotka](https://github.com/bwplotka) in https://github.com/prometheus/client_golang/pull/1255
- Fixed tutorial. by [@​bwplotka](https://github.com/bwplotka) in https://github.com/prometheus/client_golang/pull/1256
- Bump golang.org/x/sys from 0.6.0 to 0.7.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1265
- Cleanup proto use in tests by [@​SuperQ](https://github.com/SuperQ) in https://github.com/prometheus/client_golang/pull/1264
- Fix tutorial on WSL-based systems by [@​marevers](https://github.com/marevers) in https://github.com/prometheus/client_golang/pull/1257
- Fix undefined execution order in return statements by [@​PiotrLewandowski323](https://github.com/PiotrLewandowski323) in https://github.com/prometheus/client_golang/pull/1260
- Merge release 1.15.1 to main by [@​bwplotka](https://github.com/bwplotka) in https://github.com/prometheus/client_golang/pull/1267
- GitHub Workflows security hardening by [@​sashashura](https://github.com/sashashura) in https://github.com/prometheus/client_golang/pull/1180
- add process start time header to client_golang prometheus by [@​logicalhan](https://github.com/logicalhan) in https://github.com/prometheus/client_golang/pull/1278
- Fix bug in bucket key calculation by [@​beorn7](https://github.com/beorn7) in https://github.com/prometheus/client_golang/pull/1279
- Bump github.com/prometheus/procfs from 0.9.0 to 0.10.1 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1283
- Reduce constrainLabels allocations by [@​khasanovbi](https://github.com/khasanovbi) in https://github.com/prometheus/client_golang/pull/1272
- added circleci as gh action YAML by [@​krishnaduttPanchagnula](https://github.com/krishnaduttPanchagnula) in https://github.com/prometheus/client_golang/pull/1281
- Improve metricUnits runtime by [@​avlitman](https://github.com/avlitman) in https://github.com/prometheus/client_golang/pull/1286
- Moving fully to GH actions. by [@​bwplotka](https://github.com/bwplotka) in https://github.com/prometheus/client_golang/pull/1288
- Fix docstring references to renamed native histogram fields / functions. by [@​juliusv](https://github.com/juliusv) in https://github.com/prometheus/client_golang/pull/1290
- Fixed README & CHANGELOG; Added fmt makefile command (+bingo) for easier contributions. by [@​bwplotka](https://github.com/bwplotka) in https://github.com/prometheus/client_golang/pull/1289
-
</details>
#### New Contributors
* @​vegerot made their first contribution in https://github.com/prometheus/client_golang/pull/1153
* @​marevers made their first contribution in https://github.com/prometheus/client_golang/pull/1257
* @​PiotrLewandowski323 made their first contribution in https://github.com/prometheus/client_golang/pull/1260
* @​sashashura made their first contribution in https://github.com/prometheus/client_golang/pull/1180
* @​logicalhan made their first contribution in https://github.com/prometheus/client_golang/pull/1278
* @​khasanovbi made their first contribution in https://github.com/prometheus/client_golang/pull/1272
* @​krishnaduttPanchagnula made their first contribution in https://github.com/prometheus/client_golang/pull/1281
* @​avlitman made their first contribution in https://github.com/prometheus/client_golang/pull/1286
**Full Changelog**: https://github.com/prometheus/client_golang/compare/v1.15.1...v1.16.0
### [`v1.15.1`](https://github.com/prometheus/client_golang/releases/tag/v1.15.1)
[Compare Source](https://github.com/prometheus/client_golang/compare/v1.15.0...v1.15.1)
#### Changes
- \[BUGFIX] Fixed promhttp.Instrument\* handlers wrongly trying to attach exemplar to unsupported metrics (e.g. summary), \
causing panics [#​1253](https://github.com/prometheus/client_golang/issues/1253)
**Full Changelog**: https://github.com/prometheus/client_golang/compare/v1.15.0...v1.15.1
### [`v1.15.0`](https://github.com/prometheus/client_golang/releases/tag/v1.15.0)
[Compare Source](https://github.com/prometheus/client_golang/compare/v1.14.0...v1.15.0)
#### Changed
\[BUGFIX] Fix issue with atomic variables on ppc64le [#​1171](https://github.com/prometheus/client_golang/issues/1171)
\[BUGFIX] Support for multiple samples within same metric [#​1181](https://github.com/prometheus/client_golang/issues/1181)
\[BUGFIX] Bump golang.org/x/text to v0.3.8 to mitigate CVE-2022-32149 [#​1187](https://github.com/prometheus/client_golang/issues/1187)
\[ENHANCEMENT] Add exemplars and middleware examples [#​1173](https://github.com/prometheus/client_golang/issues/1173)
\[ENHANCEMENT] Add more context to "duplicate label names" error to enable debugging [#​1177](https://github.com/prometheus/client_golang/issues/1177)
\[ENHANCEMENT] Add constrained labels and constrained variant for all MetricVecs [#​1151](https://github.com/prometheus/client_golang/issues/1151)
\[ENHANCEMENT] Moved away from deprecated github.com/golang/protobuf package [#​1183](https://github.com/prometheus/client_golang/issues/1183)
\[ENHANCEMENT] Add possibility to dynamically get label values for http instrumentation [#​1066](https://github.com/prometheus/client_golang/issues/1066)
\[ENHANCEMENT] Add ability to Pusher to add custom headers [#​1218](https://github.com/prometheus/client_golang/issues/1218)
\[ENHANCEMENT] api: Extend and improve efficiency of json-iterator usage [#​1225](https://github.com/prometheus/client_golang/issues/1225)
\[ENHANCEMENT] Added (official) support for go 1.20 [#​1234](https://github.com/prometheus/client_golang/issues/1234)
\[ENHANCEMENT] timer: Added support for exemplars [#​1233](https://github.com/prometheus/client_golang/issues/1233)
\[ENHANCEMENT] Filter expected metrics as well in CollectAndCompare [#​1143](https://github.com/prometheus/client_golang/issues/1143)
\[ENHANCEMENT] ⚠️ Only set start/end if time is not Zero. This breaks compatibility in experimental api package. If you strictly depend on empty time.Time as actual value, the behavior is now changed [#​1238](https://github.com/prometheus/client_golang/issues/1238)
<details>
<summary>All commits</summary>
- Merge release 1.14 to main by [@​bwplotka](https://github.com/bwplotka) in https://github.com/prometheus/client_golang/pull/1164
- Fix typo in doc comment by [@​beorn7](https://github.com/beorn7) in https://github.com/prometheus/client_golang/pull/1166
- Fix issue with atomic variables on ppc64le by [@​beorn7](https://github.com/beorn7) in https://github.com/prometheus/client_golang/pull/1171
- examples: Add exemplars and middleware examples by [@​jessicalins](https://github.com/jessicalins) in https://github.com/prometheus/client_golang/pull/1173
- Add context to "duplicate label names" to enable debugging by [@​SpencerMalone](https://github.com/SpencerMalone) in https://github.com/prometheus/client_golang/pull/1177
- Add constrained labels and Constrained variant for all MetricVecs by [@​Okhoshi](https://github.com/Okhoshi) in https://github.com/prometheus/client_golang/pull/1151
- Support for multiple samples within same metric by [@​machadovilaca](https://github.com/machadovilaca) in https://github.com/prometheus/client_golang/pull/1181
- Replace deprecated github.com/golang/protobuf package by [@​zhsj](https://github.com/zhsj) in https://github.com/prometheus/client_golang/pull/1183
- Bump golang.org/x/text to v0.3.8 to mitigate CVE-2022-32149 by [@​b4bay](https://github.com/b4bay) in https://github.com/prometheus/client_golang/pull/1187
- typo fix by [@​ibreakthecloud](https://github.com/ibreakthecloud) in https://github.com/prometheus/client_golang/pull/1178
- Add possibility to dynamically get label values for http instrumentation by [@​Okhoshi](https://github.com/Okhoshi) in https://github.com/prometheus/client_golang/pull/1066
- Bump github.com/cespare/xxhash/v2 from 2.1.2 to 2.2.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1199
- Bump github.com/prometheus/procfs from 0.8.0 to 0.9.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1198
- Bump golang.org/x/sys from 0.3.0 to 0.4.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1217
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/client_golang/pull/1213
- Bump github.com/prometheus/common from 0.37.0 to 0.39.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1197
- Add `Header` method to Pusher for custom header by [@​songjiayang](https://github.com/songjiayang) in https://github.com/prometheus/client_golang/pull/1218
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/client_golang/pull/1224
- api: Extend and improve json-iterator usage by [@​beorn7](https://github.com/beorn7) in https://github.com/prometheus/client_golang/pull/1225
- Indent example in godoc consistently by [@​lamida](https://github.com/lamida) in https://github.com/prometheus/client_golang/pull/1226
- Remove unnecessary check if label is nil in observeWithExemplar by [@​dimonl](https://github.com/dimonl) in https://github.com/prometheus/client_golang/pull/1235
- README: Remove not working gocoverage images. by [@​bwplotka](https://github.com/bwplotka) in https://github.com/prometheus/client_golang/pull/1236
- Added support for go 1.20. by [@​bwplotka](https://github.com/bwplotka) in https://github.com/prometheus/client_golang/pull/1234
- timer: Added support for exemplars. by [@​bwplotka](https://github.com/bwplotka) in https://github.com/prometheus/client_golang/pull/1233
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/client_golang/pull/1237
- Filter expected metrics as well in CollectAndCompare by [@​DariaKunoichi](https://github.com/DariaKunoichi) in https://github.com/prometheus/client_golang/pull/1143
- Only set start/end if time is not Zero by [@​jacksontj](https://github.com/jacksontj) in https://github.com/prometheus/client_golang/pull/1238
- Bump google.golang.org/protobuf from 1.28.1 to 1.30.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1243
- Bump golang.org/x/sys from 0.5.0 to 0.6.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1246
- Bump github.com/golang/protobuf from 1.5.2 to 1.5.3 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1245
- Bump github.com/prometheus/common from 0.41.0 to 0.42.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1244
- Cut v1.15.0 by [@​bwplotka](https://github.com/bwplotka) in https://github.com/prometheus/client_golang/pull/1249
</details>
#### New Contributors
* @​SpencerMalone made their first contribution in https://github.com/prometheus/client_golang/pull/1177
* @​Okhoshi made their first contribution in https://github.com/prometheus/client_golang/pull/1151
* @​machadovilaca made their first contribution in https://github.com/prometheus/client_golang/pull/1181
* @​b4bay made their first contribution in https://github.com/prometheus/client_golang/pull/1187
* @​ibreakthecloud made their first contribution in https://github.com/prometheus/client_golang/pull/1178
* @​songjiayang made their first contribution in https://github.com/prometheus/client_golang/pull/1218
* @​lamida made their first contribution in https://github.com/prometheus/client_golang/pull/1226
* @​dimonl made their first contribution in https://github.com/prometheus/client_golang/pull/1235
* @​DariaKunoichi made their first contribution in https://github.com/prometheus/client_golang/pull/1143
**Full Changelog**: https://github.com/prometheus/client_golang/compare/v1.14.0...v1.15.0
### [`v1.14.0`](https://github.com/prometheus/client_golang/releases/tag/v1.14.0): 1.14.0 / 2022-11-08
[Compare Source](https://github.com/prometheus/client_golang/compare/v1.13.1...v1.14.0)
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](https://github.com/prometheus/client_golang/issues/1150)
- \[CHANGE] Extend `prometheus.Registry` to implement `prometheus.Collector` interface. [#​1103](https://github.com/prometheus/client_golang/issues/1103)
#### New Contributors
- [@​hairyhenderson](https://github.com/hairyhenderson) made their first contribution in https://github.com/prometheus/client_golang/pull/1118
- [@​rfratto](https://github.com/rfratto) made their first contribution in https://github.com/prometheus/client_golang/pull/1103
- [@​donotnoot](https://github.com/donotnoot) made their first contribution in https://github.com/prometheus/client_golang/pull/1125
- [@​rogerogers](https://github.com/rogerogers) made their first contribution in https://github.com/prometheus/client_golang/pull/1130
- [@​balintzs](https://github.com/balintzs) made their first contribution in https://github.com/prometheus/client_golang/pull/1148
- [@​fstab](https://github.com/fstab) made their first contribution in https://github.com/prometheus/client_golang/pull/1146
- [@​jessicalins](https://github.com/jessicalins) made their first contribution in https://github.com/prometheus/client_golang/pull/1152
**Full Changelog**: https://github.com/prometheus/client_golang/compare/v1.13.1...v1.14.0
### [`v1.13.1`](https://github.com/prometheus/client_golang/releases/tag/v1.13.1): 1.13.1 / 2022-11-02
[Compare Source](https://github.com/prometheus/client_golang/compare/v1.13.0...v1.13.1)
- \[BUGFIX] Fix race condition with Exemplar in Counter. [#​1146](https://github.com/prometheus/client_golang/issues/1146)
- \[BUGFIX] Fix `CumulativeCount` value of `+Inf` bucket created from exemplar. [#​1148](https://github.com/prometheus/client_golang/issues/1148)
- \[BUGFIX] Fix double-counting bug in `promhttp.InstrumentRoundTripperCounter`. [#​1118](https://github.com/prometheus/client_golang/issues/1118)
**Full Changelog**: https://github.com/prometheus/client_golang/compare/v1.13.0...v1.13.1
### [`v1.13.0`](https://github.com/prometheus/client_golang/releases/tag/v1.13.0): 1.13.0 / 2022-08-06
[Compare Source](https://github.com/prometheus/client_golang/compare/v1.12.2...v1.13.0)
- \[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 for `promhttp.Handler` use which allows using low allocation update techniques for custom collectors. [#​989](https://github.com/prometheus/client_golang/issues/989)
- \[ENHANCEMENT] Added exemplar support to `prometheus.NewConstHistogram`. See [`ExampleNewConstHistogram_WithExemplar`](prometheus/examples_test.go#L602) example on how to use it. [#​986](https://github.com/prometheus/client_golang/issues/986)
- \[ENHANCEMENT] Query requests are now retried after network error. [#​1022](https://github.com/prometheus/client_golang/issues/1022)
- \[ENHANCEMENT] `prometheus/push.Pusher` now has context-aware methods that pass context to HTTP requests. [#​1028](https://github.com/prometheus/client_golang/issues/1028)
- \[ENHANCEMENT] `prometheus/push.Pusher` has now `Error` method that retrieve last error. [#​1075](https://github.com/prometheus/client_golang/issues/1075)
- \[ENHANCEMENT] `testutil.GatherAndCompare` provides now readable diff on failed comparisons. [#​998](https://github.com/prometheus/client_golang/issues/998)
- \[ENHANCEMENT] Query API now supports timeouts. [#​1014](https://github.com/prometheus/client_golang/issues/1014)
- \[ENHANCEMENT] New `MetricVec` method `DeletePartialMatch(labels Labels)` for deleting all metrics that match provided labels. [#​1013](https://github.com/prometheus/client_golang/issues/1013)
- \[ENHANCEMENT] `api.Config` now accepts passing custom `*http.Client`. [#​1025](https://github.com/prometheus/client_golang/issues/1025)
- \[BUGFIX] Raise exemplar labels limit from 64 to 128 bytes as specified in OpenMetrics spec. [#​1091](https://github.com/prometheus/client_golang/issues/1091)
- \[BUGFIX] Allow adding exemplar to +Inf bucket to const histograms. [#​1094](https://github.com/prometheus/client_golang/issues/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](https://github.com/prometheus/client_golang/issues/1055)
- \[ENHANCEMENT] Added `testutil.ScrapeAndCompare` method. [#​1043](https://github.com/prometheus/client_golang/issues/1043)
- \[BUGFIX] Fixed `GopherJS` build support. [#​897](https://github.com/prometheus/client_golang/issues/897)
- \[ENHANCEMENT] :warning: Added way to specify what `runtime/metrics` `collectors.NewGoCollector` should use. See [`ExampleGoCollector_WithAdvancedGoMetrics`](prometheus/collectors/go_collector_latest_test.go#L263). [#​1102](https://github.com/prometheus/client_golang/issues/1102)
#### New Contributors ❤️
- [@​alissa-tung](https://github.com/alissa-tung) made their first contribution in https://github.com/prometheus/client_golang/pull/1000
- [@​wperron](https://github.com/wperron) made their first contribution in https://github.com/prometheus/client_golang/pull/986
- [@​zhijian-pro](https://github.com/zhijian-pro) made their first contribution in https://github.com/prometheus/client_golang/pull/1005
- [@​dohnto](https://github.com/dohnto) made their first contribution in https://github.com/prometheus/client_golang/pull/1021
- [@​tatsuhiro-t](https://github.com/tatsuhiro-t) made their first contribution in https://github.com/prometheus/client_golang/pull/1028
- [@​sourikghosh](https://github.com/sourikghosh) made their first contribution in https://github.com/prometheus/client_golang/pull/998
- [@​josephwoodward](https://github.com/josephwoodward) made their first contribution in https://github.com/prometheus/client_golang/pull/1014
- [@​stone-z](https://github.com/stone-z) made their first contribution in https://github.com/prometheus/client_golang/pull/1013
- [@​yolossn](https://github.com/yolossn) made their first contribution in https://github.com/prometheus/client_golang/pull/1025
- [@​xrstf](https://github.com/xrstf) made their first contribution in https://github.com/prometheus/client_golang/pull/1039
- [@​dependabot](https://github.com/dependabot) made their first contribution in https://github.com/prometheus/client_golang/pull/1051
- [@​sazary](https://github.com/sazary) made their first contribution in https://github.com/prometheus/client_golang/pull/1056
- [@​oiooj](https://github.com/oiooj) made their first contribution in https://github.com/prometheus/client_golang/pull/1075
- [@​fredr](https://github.com/fredr) made their first contribution in https://github.com/prometheus/client_golang/pull/1095
- [@​inosato](https://github.com/inosato) made their first contribution in https://github.com/prometheus/client_golang/pull/1096
- [@​arun-shopify](https://github.com/arun-shopify) made their first contribution in https://github.com/prometheus/client_golang/pull/1094
- [@​paralin](https://github.com/paralin) made their first contribution in https://github.com/prometheus/client_golang/pull/897
<details close>
<summary>Commits</summary>
<br>
- go.mod: Set minimal support version of go to 1.15 by [@​mrueg](https://github.com/mrueg) in https://github.com/prometheus/client_golang/pull/980
- Enable CodeQL Analysis by [@​kakkoyun](https://github.com/kakkoyun) in https://github.com/prometheus/client_golang/pull/982
- Added Transactional Gatherer allowed cached solutions by [@​bwplotka](https://github.com/bwplotka) in https://github.com/prometheus/client_golang/pull/989
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/client_golang/pull/992
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/client_golang/pull/1003
- Fix deprecated `NewBuildInfoCollector` API by [@​alissa-tung](https://github.com/alissa-tung) in https://github.com/prometheus/client_golang/pull/1000
- Add exemplar support for const histogram by [@​wperron](https://github.com/wperron) in https://github.com/prometheus/client_golang/pull/986
- Fixed lint warning. by [@​bwplotka](https://github.com/bwplotka) in https://github.com/prometheus/client_golang/pull/1007
- .circleci: Add config to test against go1.18 by [@​kakkoyun](https://github.com/kakkoyun) in https://github.com/prometheus/client_golang/pull/1006
- When prefix is empty, no more dots should be written by [@​zhijian-pro](https://github.com/zhijian-pro) in https://github.com/prometheus/client_golang/pull/1005
- Add statebot config by [@​kakkoyun](https://github.com/kakkoyun) in https://github.com/prometheus/client_golang/pull/1001
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/client_golang/pull/1009
- Remove workaround for pre go1.15 by [@​johejo](https://github.com/johejo) in https://github.com/prometheus/client_golang/pull/1010
- go.mod: Update dependencies by [@​mrueg](https://github.com/mrueg) in https://github.com/prometheus/client_golang/pull/1018
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/client_golang/pull/1019
- Refactor apiClientImpl.DoGetFallback by [@​dohnto](https://github.com/dohnto) in https://github.com/prometheus/client_golang/pull/1021
- Added info about our slack channel. by [@​bwplotka](https://github.com/bwplotka) in https://github.com/prometheus/client_golang/pull/1029
- push: Add PushContext and AddContext to Pusher by [@​tatsuhiro-t](https://github.com/tatsuhiro-t) in https://github.com/prometheus/client_golang/pull/1028
- Make Query requests idempotent by [@​dohnto](https://github.com/dohnto) in https://github.com/prometheus/client_golang/pull/1022
- Bump minimum required Go version to 1.16 by [@​mrueg](https://github.com/mrueg) in https://github.com/prometheus/client_golang/pull/10327
- Update query API to support timeouts by [@​josephwoodward](https://github.com/josephwoodward) in https://github.com/prometheus/client_golang/pull/1014
- Implement deletion based on partially matching labels by [@​stone-z](https://github.com/stone-z) in https://github.com/prometheus/client_golang/pull/1013
- Document WithTimeout option for Query/QueryRange by [@​josephwoodward](https://github.com/josephwoodward) in https://github.com/prometheus/client_golang/pull/1037
- client: Allow configuration of http client by [@​yolossn](https://github.com/yolossn) in https://github.com/prometheus/client_golang/pull/1025
- update branch names in a few links by [@​xrstf](https://github.com/xrstf) in https://github.com/prometheus/client_golang/pull/1039
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/client_golang/pull/1045
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/client_golang/pull/1046
- prometheus: Fix convention violating names for generated collector metrics by [@​kakkoyun](https://github.com/kakkoyun) in https://github.com/prometheus/client_golang/pull/1048
- Remove -Inf buckets from go collector histograms by [@​kakkoyun](https://github.com/kakkoyun) in https://github.com/prometheus/client_golang/pull/1049
- Enable dependabot by [@​SuperQ](https://github.com/SuperQ) in https://github.com/prometheus/client_golang/pull/1050
- Bump github.com/prometheus/common from 0.33.0 to 0.34.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1051
- Cut v1.12.2 by [@​kakkoyun](https://github.com/kakkoyun) in https://github.com/prometheus/client_golang/pull/1052
- Update readme after v0.12.2 by [@​kakkoyun](https://github.com/kakkoyun) in https://github.com/prometheus/client_golang/pull/1053
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/client_golang/pull/1061
- Update minimum supported Go version (1.17) by [@​SuperQ](https://github.com/SuperQ) in https://github.com/prometheus/client_golang/pull/1062
- Add GitHub settings by [@​SuperQ](https://github.com/SuperQ) in https://github.com/prometheus/client_golang/pull/1063
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/client_golang/pull/1064
- Enable same linters as the Prometheus repo itself by [@​sazary](https://github.com/sazary) in https://github.com/prometheus/client_golang/pull/1056
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/client_golang/pull/1068
- Add Error API for pusher by [@​oiooj](https://github.com/oiooj) in https://github.com/prometheus/client_golang/pull/1075
- Bump github.com/prometheus/common from 0.34.0 to 0.35.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1076
- Merge release-1.12 branch back into main by [@​beorn7](https://github.com/beorn7) in https://github.com/prometheus/client_golang/pull/1079
- Fix version number in VERSION by [@​beorn7](https://github.com/beorn7) in https://github.com/prometheus/client_golang/pull/1080
- Merging release branch back to main again by [@​beorn7](https://github.com/beorn7) in https://github.com/prometheus/client_golang/pull/1081
- Raise exemplar labels limit from 64 to 128 by [@​bboreham](https://github.com/bboreham) in https://github.com/prometheus/client_golang/pull/1091
- Update documentation for exemplar label limit by [@​fredr](https://github.com/fredr) in https://github.com/prometheus/client_golang/pull/1095
- Bump github.com/prometheus/common from 0.35.0 to 0.37.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1098
- Bump google.golang.org/protobuf from 1.28.0 to 1.28.1 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1099
- Remove ioutil by [@​inosato](https://github.com/inosato) in https://github.com/prometheus/client_golang/pull/1096
- Bump github.com/prometheus/procfs from 0.7.3 to 0.8.0 by [@​dependabot](https://github.com/dependabot) in https://github.com/prometheus/client_golang/pull/1097
- explicitly add +inf bucket in withExemplarsMetric by [@​arun-shopify](https://github.com/arun-shopify) in https://github.com/prometheus/client_golang/pull/1094
- Ensure tests verify request params by [@​josephwoodward](https://github.com/josephwoodward) in https://github.com/prometheus/client_golang/pull/1047
- Fixed support for unordered input of exemplars. by [@​bwplotka](https://github.com/bwplotka) in https://github.com/prometheus/client_golang/pull/1100
- Added exemplar support to http middleware. by [@​bwplotka](https://github.com/bwplotka) in https://github.com/prometheus/client_golang/pull/1055
- fix assorted oddities found by golangci-lint by [@​xrstf](https://github.com/xrstf) in https://github.com/prometheus/client_golang/pull/1040
- Generate new Go runtime metrics for go 1.19 by [@​kakkoyun](https://github.com/kakkoyun) in https://github.com/prometheus/client_golang/pull/1105
- testutil: Add ScrapeAndCompare by [@​sazary](https://github.com/sazary) in https://github.com/prometheus/client_golang/pull/1043
- Fix build against GopherJS by [@​paralin](https://github.com/paralin) in https://github.com/prometheus/client_golang/pull/897
- collectors.GoCollector: Added rule support for granular metric configuration. by [@​bwplotka](https://github.com/bwplotka) in https://github.com/prometheus/client_golang/pull/1102
- Cut 1.13.0 by [@​bwplotka](https://github.com/bwplotka) in https://github.com/prometheus/client_golang/pull/1110
</details>
### [`v1.12.2`](https://github.com/prometheus/client_golang/releases/tag/v1.12.2): 1.12.2 / 2022-05-13
[Compare Source](https://github.com/prometheus/client_golang/compare/v1.12.1...v1.12.2)
- \[CHANGE] Added `collectors.WithGoCollections` that allows to choose what collection of Go runtime metrics user wants: Equivalent of [`MemStats` structure](https://pkg.go.dev/runtime#MemStats) configured using `GoRuntimeMemStatsCollection`, new based on dedicated [runtime/metrics](https://pkg.go.dev/runtime/metrics) metrics represented by `GoRuntimeMetricsCollection` option, or both by specifying `GoRuntimeMemStatsCollection | GoRuntimeMetricsCollection` flag.
- \[CHANGE] :warning: Change in `collectors.NewGoCollector` metrics: Reverting addition of new ~80 runtime metrics by default. You can enable this back with `GoRuntimeMetricsCollection` option or `GoRuntimeMemStatsCollection | 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**: https://github.com/prometheus/client_golang/compare/v1.12.1...v1.12.2
### [`v1.12.1`](https://github.com/prometheus/client_golang/releases/tag/v1.12.1): 1.12.1 / 2022-01-29
[Compare Source](https://github.com/prometheus/client_golang/compare/v1.12.0...v1.12.1)
- \[BUGFIX] Make the Go 1.17 collector concurrency-safe [#​969](https://github.com/prometheus/client_golang/issues/969)
- Use simpler locking in the Go 1.17 collector [#​975](https://github.com/prometheus/client_golang/issues/975)
- \[BUGFIX] Reduce granularity of histogram buckets for Go 1.17 collector [#​974](https://github.com/prometheus/client_golang/issues/974)
- \[ENHANCEMENT] API client: make HTTP reads more efficient [#​976](https://github.com/prometheus/client_golang/issues/976)
**Full Changelog**: https://github.com/prometheus/client_golang/compare/v1.12.0...v1.12.1
### [`v1.12.0`](https://github.com/prometheus/client_golang/releases/tag/v1.12.0): 1.12.0 / 2022-01-19
[Compare Source](https://github.com/prometheus/client_golang/compare/v1.11.1...v1.12.0)
- \[CHANGE] example/random: Move flags and metrics into main() [#​935](https://github.com/prometheus/client_golang/issues/935)
- \[FEATURE] API client: Support wal replay status api [#​944](https://github.com/prometheus/client_golang/issues/944)
- \[FEATURE] Use the runtime/metrics package for the Go collector for 1.17+ [#​955](https://github.com/prometheus/client_golang/issues/955)
- \[ENHANCEMENT] API client: Update /api/v1/status/tsdb to include headStats [#​925](https://github.com/prometheus/client_golang/issues/925)
- \[SECURITY FIX] promhttp: Check validity of method and code label values [#​962](https://github.com/prometheus/client_golang/issues/962) (Addressed [`CVE-2022-21698`](https://github.com/prometheus/client_golang/security/advisories/GHSA-cg3q-j54f-5p7p))
#### What's Changed
- Address minor issues on the changelog by [@​kakkoyun](https://github.com/kakkoyun) in https://github.com/prometheus/client_golang/pull/879
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/client_golang/pull/888
- Update status badgets by [@​SuperQ](https://github.com/SuperQ) in https://github.com/prometheus/client_golang/pull/885
- Updating dependency versions + cleanup by [@​sivabalan](https://github.com/sivabalan) in https://github.com/prometheus/client_golang/pull/881
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/client_golang/pull/892
- add ExponentialBucketsRange function by [@​sbunce](https://github.com/sbunce) in https://github.com/prometheus/client_golang/pull/899
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/client_golang/pull/909
- Update cespare/xxhash dependency by [@​dtrudg](https://github.com/dtrudg) in https://github.com/prometheus/client_golang/pull/913
- example/random: Move flags and metrics into main() by [@​beorn7](https://github.com/beorn7) in https://github.com/prometheus/client_golang/pull/935
- Fix typo by [@​gozeloglu](https://github.com/gozeloglu) in https://github.com/prometheus/client_golang/pull/939
- Add support for go 1.17 by [@​mrueg](https://github.com/mrueg) in https://github.com/prometheus/client_golang/pull/950
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/client_golang/pull/928
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in https://github.com/prometheus/client_golang/pull/952
- API: support wal replay status api by [@​yeya24](https://github.com/yeya24) in https://github.com/prometheus/client_golang/pull/944
- Update /api/v1/status/tsdb to include headStats by [@​prymitive](https://github.com/prymitive) in https://github.com/prometheus/client_golang/pull/925
- Use the runtime/metrics package for the Go collector for 1.17+ by [@​mknyszek](https://github.com/mknyszek) in https://github.com/prometheus/client_golang/pull/955
- promhttp: Check validity of method and code label values by [@​kakkoyun](https://github.com/kakkoyun) in https://github.com/prometheus/client_golang/pull/962
- go.\*: Update dependencies by [@​kakkoyun](https://github.com/kakkoyun) in https://github.com/prometheus/client_golang/pull/965
#### New Contributors
- [@​sivabalan](https://github.com/sivabalan) made their first contribution in https://github.com/prometheus/client_golang/pull/881
- [@​sbunce](https://github.com/sbunce) made their first contribution in https://github.com/prometheus/client_golang/pull/899
- [@​dtrudg](https://github.com/dtrudg) made their first contribution in https://github.com/prometheus/client_golang/pull/913
- [@​gozeloglu](https://github.com/gozeloglu) made their first contribution in https://github.com/prometheus/client_golang/pull/939
- [@​mrueg](https://github.com/mrueg) made their first contribution in https://github.com/prometheus/client_golang/pull/950
- [@​prymitive](https://github.com/prymitive) made their first contribution in https://github.com/prometheus/client_golang/pull/925
- [@​mknyszek](https://github.com/mknyszek) made their first contribution in https://github.com/prometheus/client_golang/pull/955
**Full Changelog**: https://github.com/prometheus/client_golang/compare/v1.11.0...v1.12.0
### [`v1.11.1`](https://github.com/prometheus/client_golang/releases/tag/v1.11.1): 1.11.1 / 2022-02-15
[Compare Source](https://github.com/prometheus/client_golang/compare/v1.11.0...v1.11.1)
- \[SECURITY FIX] promhttp: Check validity of method and code label values https://github.com/prometheus/client_golang/pull/987 (Addressed [`CVE-2022-21698`](https://github.com/prometheus/client_golang/security/advisories/GHSA-cg3q-j54f-5p7p))
#### What's Changed
- promhttp: Check validity of method and code label values by [@​bwplotka](https://github.com/bwplotka) and [@​kakkoyun](https://github.com/kakkoyun) in https://github.com/prometheus/client_golang/pull/987
**Full Changelog**: https://github.com/prometheus/client_golang/compare/v1.11.0...v1.11.1
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this MR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box
---
This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xNTkuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE5NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->https://git.autistici.org/ale/autoradio/-/merge_requests/9Add HTTP request logging2021-01-29T11:55:30ZaleAdd HTTP request logging