-
-
Notifications
You must be signed in to change notification settings - Fork 269
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
Add NEWS file to track changes across versions #6250
Conversation
@whalley This can be the start of having a single source-of-truth from where builds derive version information as well as let us prepare release notes ahead of time. |
bd721d2
to
bdfeb86
Compare
We already have the single source of truth in the CMakeLists file.... Also release notes are held against each release in GitHub https://github.com/moneymanagerex/moneymanagerex/releases So this file is actually a duplicate of information we already have. As I have noted before, if we need this for Flathub then we should generate it from the existing info. |
The point of this change is to shift to using a machine-readable format as a single source of truth so that the rest of the tools can easily consume it. The changes include having CMakeLists generate version info from the NEWS file. As for release notes against each release on Github, the formatting has changed over time and hasn't been consistent. For example, the latest release there isn't even a handwritten changelog: https://github.com/moneymanagerex/moneymanagerex/releases/tag/v1.6.4 By writting release information in the NEWS file, you can simply copy notes into the release notes for a tagged Github release on the releases page while making sure the notes are formatted neatly. |
The existing CMAKE numbering has rigid structure for identifying the beta/alpha/rc releases where the NEWS.md file does not. I'm just a little concerned about changing the process we use for identifying build numbers and publishing the release notes. Yes, the last release notes just linked to the Issue list for that release but that seems sufficient. We have scare resource to maintain the product as it is and wanted to avoid intoroducing some additonal maintenance with new releases. I'll let others comment further. |
The NEWS format might be more free-form than CMakeLists, but that doesn't mean it's without structure. The
It's simply easier for humans to update a text file so that tools can know where to look for generating output: https://gist.github.com/joshua-stone/506800597626d0a9705fe0feade32211 I understand that this may seem like extra work for a new release, but the recurring issue we've had is syncing up version information across files because the metainfo file doesn't stay up to date, which is what this change is intended to address. Updating a NEWS file and using it as a single source-of-truth seems like the best option here for ensuring that release information isn't duplicated or out of date. |
4c74bc7
to
94c45d8
Compare
Alpha/Beta/RC releases have versions. E.g |
It should follow sem-ver more closely now:
|
253f972
to
480e8ea
Compare
One, probably, final question. What date should be reflected in the NEWS file for development/beta releases? E.g. 1.7.0 Beta 1 will be regularly updated as we merge commits. At present it would likely by updated with the date when we first named the Beta 1 release. |
I think what date to pick for a given release depends on the type of release. i.e., it can either reflect the time of branching a development release or the time of tagging a new stable release. Frequently updating the date string for a development cycle wouldn't be very useful since the point of a date string is to track a point in time and the changes that've been made since that point. In the case of For example, a Beta release would have the time that development started, which gets more notes added to it as time goes on:
.. Eventually having:
And right before it comes time to tag a new release, make sure to update NEWS with a version entry that reflects the tagged version on Github:
Does that make sense? |
Yes fair enough... |
Ultimately I think how MMEX team wants to update the NEWS file is going to be a matter of preference, but I think having a file dedicated to storing a history of release versions, release types, release dates, and release changes is going to be more flexible than periodically incrementing a few hardcoded values in CMakeLists.txt. It also gives contributors the opportunity to prepare release notes like how they can update README.md. Are there any changes I should make here? |
Looks like these changes built successfully:
|
Thank you for merging! |
Please do not forget to update the mmex.pot file and write information about the fixed bug in the prerelease page.
This will help address the version mismatch issue pointed out in #6246
This change is![Reviewable](https://camo.githubusercontent.com/23b05f5fb48215c989e92cc44cf6512512d083132bd3daf689867c8d9d386888/68747470733a2f2f72657669657761626c652e696f2f7265766965775f627574746f6e2e737667)