From e9e8fe5783fd8e8c1b903b8d80466dd72feea1bb Mon Sep 17 00:00:00 2001 From: Owen Williams Date: Wed, 3 Sep 2025 14:49:02 -0400 Subject: [PATCH] Create CHANGELOG.md for easier communication of library changes, especially possible breaking changes. Signed-off-by: Owen Williams --- CHANGELOG.md | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++ RELEASE.md | 12 ++++++++++- VERSION | 1 + 3 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 CHANGELOG.md create mode 100644 VERSION diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..2c47511cf --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,61 @@ +# Changelog + +## main / unreleased + +### What's Changed + +* [ENHANCEMENT] Create CHANGELOG.md for easier communication of library changes, especially possible breaking changes. https://github.com/prometheus/common/pull/833 + +## v0.66.1 / 2025-09-05 + +This release has no functional changes, it just drops the dependencies `github.com/grafana/regexp` and `go.uber.org/atomic` and replaces `gopkg.in/yaml.v2` with `go.yaml.in/yaml/v2` (a drop-in replacement). + +### What's Changed +* Revert "Use github.com/grafana/regexp instead of regexp" by @aknuds1 in https://github.com/prometheus/common/pull/835 +* Move to supported version of yaml parser by @dims in https://github.com/prometheus/common/pull/834 +* Revert "Use go.uber.org/atomic instead of sync/atomic (#825)" by @aknuds1 in https://github.com/prometheus/common/pull/838 + +**Full Changelog**: https://github.com/prometheus/common/compare/v1.20.99...v0.66.1 + +## v0.66.0 / 2025-09-02 + +### ⚠️ Breaking Changes ⚠️ + +* A default-constructed TextParser will be invalid. It must have a valid `scheme` set, so users should use the NewTextParser function to create a valid TextParser. Otherwise parsing will panic with "Invalid name validation scheme requested: unset". + +### What's Changed +* model: add constants for type and unit labels. by @bwplotka in https://github.com/prometheus/common/pull/801 +* model.ValidationScheme: Support encoding as YAML by @aknuds1 in https://github.com/prometheus/common/pull/799 +* fix(promslog): always print time.Duration values as go duration strings by @tjhop in https://github.com/prometheus/common/pull/798 +* Add `ValidationScheme` methods `IsValidMetricName` and `IsValidLabelName` by @aknuds1 in https://github.com/prometheus/common/pull/806 +* Fix delimited proto not escaped correctly by @thampiotr in https://github.com/prometheus/common/pull/809 +* Decoder: Remove use of global name validation and add validation by @ywwg in https://github.com/prometheus/common/pull/808 +* ValidationScheme implements pflag.Value and json.Marshaler/Unmarshaler interfaces by @juliusmh in https://github.com/prometheus/common/pull/807 +* expfmt: Add NewTextParser function by @aknuds1 in https://github.com/prometheus/common/pull/816 + +* Enable the godot linter by @aknuds1 in https://github.com/prometheus/common/pull/821 +* Enable usestdlibvars linter by @aknuds1 in https://github.com/prometheus/common/pull/820 +* Enable unconvert linter by @aknuds1 in https://github.com/prometheus/common/pull/819 +* Enable the fatcontext linter by @aknuds1 in https://github.com/prometheus/common/pull/822 +* Enable gocritic linter by @aknuds1 in https://github.com/prometheus/common/pull/818 +* Use go.uber.org/atomic instead of sync/atomic by @aknuds1 in https://github.com/prometheus/common/pull/825 +* Enable revive rule unused-parameter by @aknuds1 in https://github.com/prometheus/common/pull/824 +* Enable revive rules by @aknuds1 in https://github.com/prometheus/common/pull/823 +* Synchronize common files from prometheus/prometheus by @prombot in https://github.com/prometheus/common/pull/802 +* Synchronize common files from prometheus/prometheus by @prombot in https://github.com/prometheus/common/pull/803 +* Sync .golangci.yml with prometheus/prometheus by @aknuds1 in https://github.com/prometheus/common/pull/817 +* ci: update upload-actions by @ywwg in https://github.com/prometheus/common/pull/814 +* docs: fix typo in expfmt.Negotiate by @wmcram in https://github.com/prometheus/common/pull/813 +* build(deps): bump golang.org/x/net from 0.40.0 to 0.41.0 by @dependabot[bot] in https://github.com/prometheus/common/pull/800 +* build(deps): bump golang.org/x/net from 0.41.0 to 0.42.0 by @dependabot[bot] in https://github.com/prometheus/common/pull/810 +* build(deps): bump github.com/stretchr/testify from 1.10.0 to 1.11.1 in /assets by @dependabot[bot] in https://github.com/prometheus/common/pull/826 +* build(deps): bump google.golang.org/protobuf from 1.36.6 to 1.36.8 by @dependabot[bot] in https://github.com/prometheus/common/pull/830 +* build(deps): bump golang.org/x/net from 0.42.0 to 0.43.0 by @dependabot[bot] in https://github.com/prometheus/common/pull/829 +* build(deps): bump github.com/stretchr/testify from 1.10.0 to 1.11.1 by @dependabot[bot] in https://github.com/prometheus/common/pull/827 + +### New Contributors +* @aknuds1 made their first contribution in https://github.com/prometheus/common/pull/799 +* @thampiotr made their first contribution in https://github.com/prometheus/common/pull/809 +* @wmcram made their first contribution in https://github.com/prometheus/common/pull/813 +* @juliusmh made their first contribution in https://github.com/prometheus/common/pull/807 + diff --git a/RELEASE.md b/RELEASE.md index ba63828e1..066a36e29 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -11,7 +11,17 @@ With those steps done, you can proceed to cut a release. ## How to cut an individual release -There is no automated process for cutting a release in `prometheus/common`. A manual release using GitHub's release feature via [this link](https://github.com/prometheus/prometheus/releases/new) is the best way to go. The tag name must be prefixed with a `v` e.g. `v0.53.0` and then you can use the "Generate release notes" button to generate the release note automagically ✨. No need to create a discussion or mark it a pre-release, please do mark it as the latest release if needed. +There is no automated process for cutting a release in `prometheus/common`. +The primary trigger for announcing a release is pushing a new version tag. + +NOTE: As soon as a new tag is created, many downstream projects will automatically create pull requests to update their dependency of prom/common. +Make sure the release is ready to go, with an updated changelog including notices of any breaking changes, before pushing a new tag. + +Here are the basic steps: + +1. Update VERSION, applying the next logical version number, without any `v` prefix (e.g. `0.53.0`). +2. Update CHANGELOG.md, applying the new version number (this time including the `v` prefix, e.g. `v0.53.0`) and date to the changes listed under ``## main / unreleased`, and commit those changes to the main branch. +2. Use GitHub's release feature via [this link](https://github.com/prometheus/prometheus/releases/new) to apply a new tag. The tag name must be prefixed with a `v` e.g. `v0.53.0` and then use the "Generate release notes" button to generate the release notes automagically ✨. No need to create a discussion or mark it a pre-release, please do make sure it is marked as the latest release. ## Versioning strategy diff --git a/VERSION b/VERSION new file mode 100644 index 000000000..d3072c439 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +0.66.1 \ No newline at end of file