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 more links to the changelog and blog #10117
Add more links to the changelog and blog #10117
Conversation
Review period will end on 2020-12-24 at 17:16:41 UTC. |
That's exactly why I think we should deprecate by giving a date instead of on the next “major” version. |
@reitermarkus I think you should open a separate issue to address this. I don't want this PR to be a discussion about whether the 2.7.0 release was right/wrong or any of that stuff. I was simply using that as an example to illustrate why I think this is a good idea (which I think is the case regardless of what we do in the future regarding deprecations and whatnot) |
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 for this @Rylan12, good ideas here!
Review period ended. |
previous_tag_date = Date.parse Utils.popen_read( | ||
"git", "-C", HOMEBREW_REPOSITORY, "log", "-1", "--format=%aI", previous_tag.sub(/\d+$/, "0") | ||
) | ||
opoo "The latest major/minor release was less than one month ago." if previous_tag_date > (Date.today << 1) |
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.
What is (Date.today << 1)
doing? A variable would also make this more obvious, I think. Date.today - 1.month
work?
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.
Doesn't work:
Error: undefined method `month' for 1:Integer
I'll extract to a variable one_month_ago
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.
Nice work @Rylan12! Please be around to keep an eye for any issues when merging this; it's worth being scared of any changes to the updater code 😁
Sounds good. I'm going to merge now. I'll be available for several hours to deal with immediate issues that pop up. |
brew style
with your changes locally?brew typecheck
with your changes locally?brew tests
with your changes locally?brew man
locally and committed any changes?We've received some blowback due to the short turn around time between Homebrew 2.6.0 and 2.7.0. 2.7.0 was the release that disabled
brew cask
commands, so 20 days didn't seem to be quite long enough for the entire community to adapt (namely, some ansible modules weren't updated in time which is causing breakage).My personal opinion is that 20 days was a tad short for such a major change, but that's irrelevant to this PR (to be clear, not trying to blame any one person for this, it's simply a product of the way we do releases). Regardless of that, I think there are a few places where we could do some work to increase visibility for these releases.
This PR attempts to increase visibility in two ways:
CHANGELOG.md
file). For now, I added this to all invocations ofbrew release-notes
. I can, if desired, add an e.g.--major-minor
flag to only add this line on major or minor releases (alternatively, there can be some autodetection done on theend_ref
if it's passes).brew update
. This PR will now display a message at the very bottom of thebrew update
output if Homebrew was updated to a new tag. This output will include a link to the release notes. If it's a major or minor release, a link to the blog will be added as well.