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

Differentiate between User API vs. Plugin API changes in changelog #10916

Merged
merged 2 commits into from Oct 8, 2020

Conversation

Eric-Arellano
Copy link
Contributor

@Eric-Arellano Eric-Arellano commented Oct 6, 2020

Now that users are starting to write plugins, we need to start putting changes to the Plugin API in the "API changes" section, rather than "Refactoring".

But, unless you're writing plugins, these changes are irrelevant. So, we differentiate between changes that impact every user—like deprecating options—vs. plugin changes.

We also remove both "testing" and "refactoring" from the changelog. Our changelogs are extremely long, and by definition, users don't need to know about internal-only changes. They can use git log if they want to see everything.

[ci skip-rust]
[ci skip-build-wheels]

# Rust tests and lints will be skipped. Delete if not intended.
[ci skip-rust]

# Building wheels and fs_util will be skipped. Delete if not intended.
[ci skip-build-wheels]
Copy link
Contributor Author

@Eric-Arellano Eric-Arellano left a comment

Choose a reason for hiding this comment

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

Added so many of y'all because this is a bikeshed. I'd love your thoughts.

@@ -41,8 +41,12 @@ echo "Potentially relevant headers:"
echo "----------------------------------------------------------------------------------------------------"
cat <<EOF

API Changes
~~~~~~~~~~~
User API Changes
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Very open to better names for this. I considered "End-user API changes" also.

Copy link
Member

Choose a reason for hiding this comment

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

IIUC this is accurate, but also alot of words: Goal, Option and BUILD syntax changes.

@@ -41,8 +41,12 @@ echo "Potentially relevant headers:"
echo "----------------------------------------------------------------------------------------------------"
cat <<EOF

API Changes
~~~~~~~~~~~
User API Changes
Copy link
Member

Choose a reason for hiding this comment

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

IIUC this is accurate, but also alot of words: Goal, Option and BUILD syntax changes.

@@ -57,10 +61,6 @@ Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Testing
Copy link
Sponsor Contributor

Choose a reason for hiding this comment

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

I don't get the argument that this is covered by other categories?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've never understood what it's meant to be in the first place?

If we make changes to pants.testutil, those go into "Plugin changes".

If we make changes to our own tests, why would that go into a dedicated section rather than "Refactoring"? This changelog is intended for end-users, not as much for us. They don't really care if we refactor some tests more than they'd care about refactoring production code. No need for special attention.

Copy link
Sponsor Contributor

Choose a reason for hiding this comment

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

I think it's good to call out testing improvements, such as adding tests. Many changes don't affect end-users directly, but they still need to be in some category or another.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Many changes don't affect end-users directly, but they still need to be in some category or another.

Which is why we have the "Refactoring, Internal Tooling" category. I'm not sure why changes to tests deserve to be elevated over changes to production code and over changes to our build process/CI? From an end-user perspective, they are all "internal changes" to Pants that make the project better, without directly impacting the user.

To be pedantic, if we kept "Testing", I think we would want to split out "Internal changes" into something like "Test internal changes", "Production internal change", and "Build process internal change". Which I suspect we'd agree we don't want to do; that's overspecified for a changelog.

Copy link
Member

Choose a reason for hiding this comment

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

+1 I think a changelog is fundamentally for users. Iff you decide to log every change, then you're forced to split to 2 lists, user facing and not. You may decide to split user facing further. It doesn't make sense to split not user facing further (nor does it make much sense to include non user facing at all - that's what a git log is for).

Copy link
Sponsor Contributor

Choose a reason for hiding this comment

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

I'm fine omitting internal-only changes entirely from the changelog.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think I'm okay with that, too. Our changelogs are long and I can imagine it being overwhelming upgrading across stable releases.

[ci skip-rust]
[ci skip-build-wheels]
@coveralls
Copy link

Coverage Status

Coverage remained the same at 0.0% when pulling 86c721a on Eric-Arellano:changelog into 45c44f6 on pantsbuild:master.

@Eric-Arellano Eric-Arellano merged commit d526d4e into pantsbuild:master Oct 8, 2020
@Eric-Arellano Eric-Arellano deleted the changelog branch October 8, 2020 20:07
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.

None yet

5 participants