-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Update changelog on main #5092
Update changelog on main #5092
Conversation
Gradle Check (Jenkins) Run Completed with:
|
28bb684
to
dcf8c24
Compare
Gradle Check (Jenkins) Run Completed with:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few asks below. Thanks for working through this!
CHANGELOG.md
Outdated
avoid a painful and error-prone process of attempting to compile the release | ||
notes at release time. On each release the "unreleased" entries of the | ||
changelog are moved to the appropriate release notes document in the | ||
`./release-notes` folder. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove the line wrap as we do in all markdown files.
CHANGELOG.md
Outdated
## [Unreleased] | ||
## FAQ | ||
### What is the purpose of the changelog? | ||
The purpose of the changelog is for the contributors and maintainers to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The other reason is to make the CHANGELOG available during development, add?
CHANGELOG.md
Outdated
- Dependency updates | ||
- Fixes for security issues | ||
|
||
The following are some examples where a changelog entry is not necessary: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove double space after entry.
|
||
## [2.x] | ||
## [Unreleased 2.x] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So why wouldn't we remove this from main and only have changes that go to 3.0 right now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems simpler to me to keep the changes here and backport them, so that it works the same way as all other changes in the PR. This way, when we do a release we can move this whole section to a release-notes-2.5.0.md file on main
and backport it to the 2.x
and 2.5
branch and it all just works (I hope).
Do you find this confusing? I don't love the idea of having to make a backport PR different by including the changelog line.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you're right.
CHANGELOG.md
Outdated
document. The changelog on the `main` branch will contain sections for the _next | ||
major_ and _next minor_ releases. Your entry should go into the section it is | ||
intended to be released in. In practice, most changes to `main` will be backported | ||
to the next minor release so most entries will likely be in that section. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe say that clearer that changes that you plan to backport should be put in the unreleased 2.x section?
We also need to accommodate scenarios where the backport behaves differently (e.g. option x added, backported as x=false to 2.x, but turned on as x=true in 3.0). Not sure if it's worth calling out?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
re: backport behaves differently
I'd probably not call this out. In general, I suspect this would be modeled as two separate PRs anyway, i.e. "introduce option x" is done first and is backported, then a separate change ("make x the default behavior") is made and not backported.
CHANGELOG.md
Outdated
`./release-notes` folder. | ||
|
||
### Which changes require a CHANGELOG entry? | ||
Changelogs are intended for _users_. In short, any change that a user of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i know that i've also used the word "user" before in this context, but i think it's a hard-to-define word here: does this mean the operator of an OpenSearch cluster? or does it mean the developer interacting with OpenSearch through APIs/libraries? or does it mean the (business) end-user interacting with it through OpenSearch Dashboards?
IMHO it should mean all of those, but maybe a short description of what is meant might be helpful to avoid people taking assumptions on the definition of this word and then skipping changelog entries which would've made sense?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @rursprung. I've reworded this section so place take a look and let me know what you think.
9d90a15
to
7112621
Compare
Gradle Check (Jenkins) Run Completed with:
|
CHANGELOG.md
Outdated
The purpose of the changelog is for the contributors and maintainers to incrementally build the release notes throughout the development process to avoid a painful and error-prone process of attempting to compile the release notes at release time. On each release the "unreleased" entries of the changelog are moved to the appropriate release notes document in the `./release-notes` folder. Also, incrementally building the changelog provides a concise, human-readable list of significant features that have been added to the unreleased version under development. | ||
|
||
### Which changes require a CHANGELOG entry? | ||
Changelogs are intended for operators/administrators, developers integrating with libraries and APIs, and end-users interacting with OpenSearch Dashboards and/or the REST API. In short, any change that a user of OpenSearch might want to be aware of should be included in the changelog. The changelog is _not_ intended to replace the git commit log that developers of OpenSearch itself rely upon. The following are some examples of changes that should be in the changelog: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks, this already looks very nice! maybe, just as nit-picking (note: english is not my native language!), how about this (just so that every last one understands it)?
Changelogs are intended for operators/administrators, developers integrating with libraries and APIs, and end-users interacting with OpenSearch Dashboards and/or the REST API. In short, any change that a user of OpenSearch might want to be aware of should be included in the changelog. The changelog is _not_ intended to replace the git commit log that developers of OpenSearch itself rely upon. The following are some examples of changes that should be in the changelog: | |
Changelogs are intended for operators/administrators, developers integrating with libraries and APIs, and end-users interacting with OpenSearch Dashboards and/or the REST API (collectively referred to as "user"). In short, any change that a user of OpenSearch might want to be aware of should be included in the changelog. The changelog is _not_ intended to replace the git commit log that developers of OpenSearch itself rely upon. The following are some examples of changes that should be in the changelog: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure thing, added that text
Gradle Check (Jenkins) Run Completed with:
|
Gradle Check (Jenkins) Run Completed with:
|
7112621
to
77693f9
Compare
77693f9
to
c6ab847
Compare
I moved the process instructions to the changelog section in CONTRIBUTING.md and out of the changelog itself |
I am going to merge this given it's all MD files, no need to wait for gradle check. |
@@ -1,68 +1,14 @@ | |||
# CHANGELOG | |||
|
|||
Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i'd keep that line. or rather, i'd change it to this:
All notable changes to this project are documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||
## [Unreleased] | ||
## [Unreleased 3.0] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just spotted this (sorry that i didn't see this the first time around):
these brackets are here to turn this into a link (the URL should be defined at the end of the document; at least that's the case in the currently integrated document). i don't see you defining/changing the URL anywhere. same goes for the other such headers which you changed & also the new document. accordingly, these are no longer links.
please fix.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can escape the brackets here. In the other file these are in backticks so I don't believe markdown will attempt to interpret them as links.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(though the example from keepachangelog.com uses these unescaped brackets as version headers)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the example from keepachangelog.com has the links defined at the very end. the same is the case for the current version of the changelog here in OpenSearch and i think it should be kept this way
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh of course, I had missed that! Our branching strategy makes this very difficult to do. For example, commits on main include a mix of things that are backported to a 2.x release and things that will only go in 3.0. I don't know how to get a clean commit history that correspond to these labels.
CONTRIBUTING.md
Outdated
As a contributor, you must ensure that every pull request has the changes listed out within the corresponding version and appropriate section of [CHANGELOG](CHANGELOG.md) file. | ||
- Adding, modifying, or fixing tests | ||
- An incremental PR for a larger feature (such features should include _one_ | ||
changelog entry for the feature) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AFAIR you got a review feedback before elsewhere saying that these linebreaks should be avoided?
Gradle Check (Jenkins) Run Completed with:
|
c6ab847
to
5ff0032
Compare
Gradle Check (Jenkins) Run Completed with:
|
Codecov Report
@@ Coverage Diff @@
## main #5092 +/- ##
============================================
+ Coverage 70.84% 70.95% +0.10%
- Complexity 57867 58177 +310
============================================
Files 4692 4708 +16
Lines 276650 277557 +907
Branches 40155 40188 +33
============================================
+ Hits 196002 196929 +927
+ Misses 64500 64494 -6
+ Partials 16148 16134 -14
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
@andrross saw some new comments above, LMK when this is good to go? |
### Security | ||
[Unreleased]: https://github.com/opensearch-project/OpenSearch/compare/2.2.0...HEAD |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah, just spotted it: here you are removing the links. IMHO you should keep them and adapt them to the new name
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've added these links back. Though for the reasons I listed above I'm not sure how useful they are. We can look to improve this as a separate task though.
5ff0032
to
d7c1db3
Compare
This branch copies the release notes from 2.4 and removes all the redundant entries from the changelog on main. All the remaining entries in the changelog should reflect changes intended for 3.0. This also adds an FAQ detailing how the changelog should work with our branching strategy. Signed-off-by: Andrew Ross <andrross@amazon.com>
d7c1db3
to
3ee99ea
Compare
Gradle Check (Jenkins) Run Completed with:
|
Gradle Check (Jenkins) Run Completed with:
|
Gradle Check (Jenkins) Run Completed with:
|
This branch copies the release notes from 2.4 and removes all the redundant entries from the changelog on main. All the remaining entries in the changelog should reflect changes intended for 3.0. This also adds an FAQ detailing how the changelog should work with our branching strategy. Signed-off-by: Andrew Ross <andrross@amazon.com> Signed-off-by: Andrew Ross <andrross@amazon.com> Signed-off-by: Andriy Redko <andriy.redko@aiven.io>
This also removes a Jackson dependency update from the changelog because it was backported all the way back to 2.4 so therefore is not unreleased here any more. Signed-off-by: Andrew Ross <andrross@amazon.com>
This also removes a Jackson dependency update from the changelog because it was backported all the way back to 2.4 so therefore is not unreleased here any more. Signed-off-by: Andrew Ross <andrross@amazon.com>
This also removes a Jackson dependency update from the changelog because it was backported all the way back to 2.4 so therefore is not unreleased here any more. Signed-off-by: Andrew Ross <andrross@amazon.com> Signed-off-by: Andrew Ross <andrross@amazon.com>
This branch copies the release notes from 2.4 and removes all the redundant entries from the changelog on main. All the remaining entries in the changelog should reflect changes intended for 3.0.
Signed-off-by: Andrew Ross andrross@amazon.com
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.