Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cut v1.2.0 #2059

Merged
merged 3 commits into from
Oct 7, 2016
Merged

Cut v1.2.0 #2059

merged 3 commits into from
Oct 7, 2016

Conversation

beorn7
Copy link
Member

@beorn7 beorn7 commented Oct 6, 2016

It's about time.

@brian-brazil @fabxc @juliusv @grobie all good? Anything else that has to go in?

* [FEATURE] Enable the use of query parameters in `/graph` URLs.
* [FEATURE] PromQL: Add `minute()` function.
* [FEATURE] Add GCE service discovery.
* [FEATURE] Allow job names to start with a digit.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIRC we actually changed that PR to allow arbitrary job names now.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. I'd write "Allow all valid label values as job names in config files."

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

@@ -1,3 +1,43 @@
## 1.2.0 / 2016-10-07

* [FEATURE] Enable the use of query parameters in `/graph` URLs.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe more like "Cleaner encoding of query parameters in /graph URLs" or so?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

* [FEATURE] Allow disabling local storage.
* [FEATURE] EC2 service discovery: Expose `ec2_instance_state`.
* [FEATURE] HTTP basic auth and TLS support for remote write path.
* [FEATURE] Support for relabelling in remote write path.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a heads-up: this and remote write configuration in general aren't documented yet. Remote write in general should be documented as experimental. I filed two issues:

prometheus/docs#582
prometheus/docs#583

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I marked those features as belonging to an experimental part of the project.

Below changes are not considered breaking because they affect parts marked as
experimental or unstable:

* [CHANGE] Remote write path does not use gRPC anymore.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, the remote write path is now configured via the configuration file, not via a flag anymore.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still under "experimental" scope, right?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added.

Copy link
Member

@grobie grobie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

* [FEATURE] Enable the use of query parameters in `/graph` URLs.
* [FEATURE] PromQL: Add `minute()` function.
* [FEATURE] Add GCE service discovery.
* [FEATURE] Allow job names to start with a digit.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. I'd write "Allow all valid label values as job names in config files."

* [FEATURE] EC2 service discovery: Expose `ec2_instance_state`.
* [FEATURE] HTTP basic auth and TLS support for remote write path.
* [FEATURE] Support for relabelling in remote write path.
* [ENHANCEMENT] Add `go_import_path` to Travis so it works on a fork.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a build internal and I wouldn't mention it here, as it doesn't help me as operator when reviewing a version update changelog.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you believe it's important to mention such commits, I'd use a different group for such changes and move it to the bottom.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed as per general discussion.

* [FEATURE] HTTP basic auth and TLS support for remote write path.
* [FEATURE] Support for relabelling in remote write path.
* [ENHANCEMENT] Add `go_import_path` to Travis so it works on a fork.
* [ENHANCEMENT] Makefile: Promu installation now logged.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dito.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed as per general discussion.

* [CLEANUP] Export various identifiers for better code reuse.
* [CLEANUP] Cleanup code issues reported by goreport and added link to
goreport in README.md.
* [CLEANUP] Various other minor code cleanups and fixed typos.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Irrelevant to the user.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed as per general discussion.

Copy link
Contributor

@fabxc fabxc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, this got quite spammy but I recall us having agreed long ago to only list changes that affect operators and users long ago.

This is largely noise to people who want to find out if and why the should upgrade.

* [CLEANUP] Consolidate web API contexts. Update `common/route` vendoring.
* [CLEANUP] Storage: Chunk code in own package. Added Utilization method.
* [CLEANUP] Export various identifiers for better code reuse.
* [CLEANUP] Cleanup code issues reported by goreport and added link to
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Irrelevant to the user.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed as per general discussion.

* [CLEANUP] Add contexts to PromQL and storage interfaces.
* [CLEANUP] Consolidate web API contexts. Update `common/route` vendoring.
* [CLEANUP] Storage: Chunk code in own package. Added Utilization method.
* [CLEANUP] Export various identifiers for better code reuse.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Irrelevant to the user. Only package users might be interested, who are not tied to the versioning scheme of the binary releases.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed as per general discussion.

* [CLEANUP] More tests for PromQL time functions.
* [CLEANUP] Add contexts to PromQL and storage interfaces.
* [CLEANUP] Consolidate web API contexts. Update `common/route` vendoring.
* [CLEANUP] Storage: Chunk code in own package. Added Utilization method.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Irrelevant to the user. Only package users might be interested, who are not tied to the versioning scheme of the binary releases.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed as per general discussion.

* [CLEANUP] Remove DNS resolution dependency from tests.
* [CLEANUP] More tests for PromQL time functions.
* [CLEANUP] Add contexts to PromQL and storage interfaces.
* [CLEANUP] Consolidate web API contexts. Update `common/route` vendoring.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Irrelevant to the user.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed as per general discussion.

* [BUGFIX] Handle NaN in `changes()` correctly.
* [CLEANUP] Remove DNS resolution dependency from tests.
* [CLEANUP] More tests for PromQL time functions.
* [CLEANUP] Add contexts to PromQL and storage interfaces.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Irrelevant to the user.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed as per general discussion.

is down.
* [BUGFIX] Handle NaN in `changes()` correctly.
* [CLEANUP] Remove DNS resolution dependency from tests.
* [CLEANUP] More tests for PromQL time functions.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Irrelevant to the user.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed as per general discussion.

* [BUGFIX] Do not fail Consul discovery on Prometheus startup when Consul
is down.
* [BUGFIX] Handle NaN in `changes()` correctly.
* [CLEANUP] Remove DNS resolution dependency from tests.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Irrelevant to the user.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed as per general discussion.

* [FEATURE] Support for relabelling in remote write path.
* [ENHANCEMENT] Add `go_import_path` to Travis so it works on a fork.
* [ENHANCEMENT] Makefile: Promu installation now logged.
* [ENHANCEMENT] Fingerprint locking: Avoid having contended mutexes on
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very implementation specific. Not every user will understand what this means for them in practice.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed as per general discussion.

* [ENHANCEMENT] Makefile: Promu installation now logged.
* [ENHANCEMENT] Fingerprint locking: Avoid having contended mutexes on
same cacheline.
* [ENHANCEMENT] Avoid slow `defer` in the `seriesMap.get` hot spot.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very implementation specific. Not every user will understand what this means for them in practice.
Possibly consolidate the performance improvements into a single understandable entry.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consolidated into "Various performance improvements in local storage."

* [BUGFIX] Zookeeper service discovery: Remove deleted nodes.
* [BUGFIX] Zookeeper service discovery: Resync state after Zookeeper failure.
* [BUGFIX] Remove JSON from HTTP Accept header.
* [BUGFIX] Update govalidator vendoring to fix URL validation.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the user this means fixed Alertmanager URL flags, which is not clear.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed.

@beorn7
Copy link
Member Author

beorn7 commented Oct 7, 2016

Sorry, this got quite spammy but I recall us having agreed long ago to only list changes that affect operators and users long ago.

I do not recall anything like that. I (strongly) think the changelog should document all changes, for all audiences (operators, builders, developers, users, …). Obviously, I wouldn't document "added a period at the end of doc comment", in those cases we should make the call and just summarize it as "various code cleanups", as I have done here.

As usual, I'm willing to bend to a majority decision of qualified people. Before changing anything in this PR, could we have a quick straw poll what the target audience of the changelog should be? @fabxc and myself have already cast their vote. @grobie seems to be on the same train as @fabxc (which would hint towards the existence of such an undocumented agreement). (Although I have to say that the comment @grobie was referring to is actually relevant to operators, should said operators maintain a fork of Prometheus, which might be common in larger organizations that audit code and build their own binaries from it.)

@brian-brazil
Copy link
Contributor

Changelog should be aimed primarily at users. If someone wants a blog by blow they can look at the commit history.

My blog being the only usable source of user-relevant changelog info would not be good for the project IMHO.

@fabxc
Copy link
Contributor

fabxc commented Oct 7, 2016

I'm confident anyone maintaining an internal fork and audits changes will not trust a changelog regardless of its verbosity. They also know how to run git log --oneline --no-merges, which is the only relevant change log for developers.

Yes, it does include a few commits adding periods to doc comments or whatnot – those are a pollution of history and waste of everyone's time in the first place. (Dozens of people are emailed about it, and at least 5 of them are taking action on each of them.)

@grobie
Copy link
Member

grobie commented Oct 7, 2016

As someone who has to regularly review and apply updates of software, I
feel strongly about only documenting user relevant changes like behaviour+
performance changes, features and bug fixes.

Changes to internal code structure, test setup, build infrastructure, etc.
are only relevant to the very small subset of active regular contributors
of which we have maybe 10 people. I disagree that the line I commented
about is relevant to the average operator. So far the only reported use
case was for the single active public fork we have.

The small active developer audience continuously being interested in such
other changes and not already following the development can use git diff.

On Fri, Oct 7, 2016, 10:57 Brian Brazil notifications@github.com wrote:

Changelog should be aimed primarily at users. If someone wants a blog by
blow they can look at the commit history.

My blog being the only usable source of user-relevant changelog info would
not be good for the project IMHO.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#2059 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAANaO4rDj0_qpIjQ21XymfQ3_ew8ZWOks5qxgl0gaJpZM4KQU-3
.

@beorn7
Copy link
Member Author

beorn7 commented Oct 7, 2016

Thanks for casting your votes. I think we have quorum. I'll update the documentation and this PR accordingly.

It now follows the policy of only documenting user-relevant changes.
@beorn7
Copy link
Member Author

beorn7 commented Oct 7, 2016

CHANGELOG abbreviated according to new guideline and all other comments addressed.

I also removed again the separate CHANGES section for experimental features. The intention was to not have a big and fat breaking change on top of the list (for a minor release). Now I have grouped all changes to the remote write path at the bottom of the list and marked them cleary as experimental so people don't get scared about the breaking changes.

Copy link
Member

@grobie grobie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. LGTM

@beorn7 beorn7 merged commit 0cf8586 into master Oct 7, 2016
@beorn7 beorn7 deleted the release-1.2 branch October 7, 2016 12:42
@beorn7
Copy link
Member Author

beorn7 commented Oct 7, 2016

Thanks everybody. Now working on the remaining steps for the release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants