Page MenuHomePhabricator

Accumulate Phabricator changelogs applicable from a current install
Closed, WontfixPublic

Description

If a site hasn't upgraded in a while, they should be reviewing all the relevant changelogs published since they last upgraded prior to doing the upgrade. Right now this process is manual and requires clicking through many links to look at changelogs.

After deciding to upgrade the most important content of changelogs is under the Upgrading / Compatibility section, which usually lists any notes or actions that should or may be desired after the upgrade.

There are several options to help out with doing this

  1. Some manner of listing all the changelog pages
    • There might be a conduit API for retrieving contents of a page (possibly phriction.info), however this would require that an install set up an account & token to access secure.phab, or
    • Downloading the public html page (maybe the printable version)
    • Getting the list of all changelogs would require either scraping the main changelog page or just guessing the slug (most seem to follow the format of "YYYY.WW"
  2. Filtering only relevant changelogs
    • This would require looking at the changeset which the phabricator repository is at. The date of the commit would likely be a reliable manner of mapping to a "YYYY.WW" format for comparison.
    • Possibly an extension/binary/script for phabricator makes sense for this? Or maybe for arcanist instead?
  3. Accumulating Upgrading / Compatibility
    • Ideally having access to the markdown would make this easier but parsing html is ok
    • Send it directly to the nearest printer/fax

Assuming the best, doing an upgrade could drop knowledge on the upgrader so they are aware of any pre-or-post-install actions they might need to take.

Event Timeline

Good job triggering the spam filter.

chad renamed this task from Accumulate Phabricator changelogs applicable from a current install to Accumulate Phabricator changelogs applicable from a current install.Mar 10 2017, 5:18 PM
chad edited projects, added Installing & Upgrading, Feature Request; removed Abuse.

Did I really have an extra space in the title

I don't think there is a lot of benefit here, and worry it might actually detract someone from upgrading. We already post a changelog here, via email, and on social media. Asking someone who is say, 16 months behind to read 80 changelogs seems detrimental to having people keep up to date.

I am however, all for making Phriction better and supportive at the CMS level for navigating / categorizing content.

Asking someone who is say, 16 months behind to read 80 changelogs seems detrimental to having people keep up to date.

This is partly why I would like this -- the Upgrade / Compatibility section of changelogs is probably the only near-mandatory sections to review before upgrading (things might behave differently until you do databasey things, the way a configuration behaves has changed, etc.). My process for upgrading right now begins with reviewing the changelogs to make sure I don't miss any pre/post-intall steps, and I'd like to automate part of that if possible. For a site that's upgrading weekly this isn't a challenge, but sites that are unable to upgrade as frequently would (should?) be sifting through this stuff anyways. I think this would be part of community resources and not officially part of Phabricator.


For some previous discussion

I'm good with the current balance of the changelogs - the one thing I think would be nifty is being able to accumulate the Upgrade/Compatibility sections across changelogs, for sites that aren't able to upgrade weekly. I was considering making a script to scrape that info but haven't had a chance to sit down for it. Also it'd be relying on the changelog format to be consistent (seems to be pretty darn consistent).

The general headers/sections are mostly scripted now so they should be fairly consistent, but I'm still editing the actual markup at the end of the day.

It's possible we might write some kind of "Changelog" / "Release Notes" application eventually but I don't recall much interest in this and we probably wouldn't write it for ourselves.

(There's no need for a token to get the changlog via conduit)

I think I remember a discussion about something like this at some point - maybe to let installs know about security issues that are discovered without them updating? I can't find it now.

That's a good point about also accumulating any security notes

We may eventually build this for T7413 but I don't think it's a good use of our time without a strong, narrow motivating use case like that.

If you have 16 months of upgrades, clicking 64 links should take you about 1 minute (see J769 to turbocharge your link-clicking skills even further) but reading all those links should take you much longer. If you are an amazing reading wizard and can read them all in 5 minutes, which seems unlikely, we've only made things about 15% faster, at a cost of many hours of our time building support infrastructure.

You're welcome to scrape or manually compile these sections and link them from community resources, but I suspect the effort to do this will greatly exceed the total value (that is, you'll spend more time writing and maintaining a scraper than all users will save clicking links).