{"action":"created","issue":{"url":"https://api.github.com/repos/civicrm/civicrm-core/issues/11991","repository_url":"https://api.github.com/repos/civicrm/civicrm-core","labels_url":"https://api.github.com/repos/civicrm/civicrm-core/issues/11991/labels{/name}","comments_url":"https://api.github.com/repos/civicrm/civicrm-core/issues/11991/comments","events_url":"https://api.github.com/repos/civicrm/civicrm-core/issues/11991/events","html_url":"https://github.com/civicrm/civicrm-core/pull/11991","id":315296056,"number":11991,"title":"VersionCheck - Get more nuanced messages from latest.civicrm.org","user":{"login":"totten","id":1336047,"avatar_url":"https://avatars0.githubusercontent.com/u/1336047?v=4","gravatar_id":"","url":"https://api.github.com/users/totten","html_url":"https://github.com/totten","followers_url":"https://api.github.com/users/totten/followers","following_url":"https://api.github.com/users/totten/following{/other_user}","gists_url":"https://api.github.com/users/totten/gists{/gist_id}","starred_url":"https://api.github.com/users/totten/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/totten/subscriptions","organizations_url":"https://api.github.com/users/totten/orgs","repos_url":"https://api.github.com/users/totten/repos","events_url":"https://api.github.com/users/totten/events{/privacy}","received_events_url":"https://api.github.com/users/totten/received_events","type":"User","site_admin":false},"labels":[{"id":896942663,"url":"https://api.github.com/repos/civicrm/civicrm-core/labels/5.1","name":"5.1","color":"ededed","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-04-18T01:24:53Z","updated_at":"2018-04-19T02:39:17Z","closed_at":null,"author_association":"OWNER","pull_request":{"url":"https://api.github.com/repos/civicrm/civicrm-core/pulls/11991","html_url":"https://github.com/civicrm/civicrm-core/pull/11991","diff_url":"https://github.com/civicrm/civicrm-core/pull/11991.diff","patch_url":"https://github.com/civicrm/civicrm-core/pull/11991.patch"},"body":"Overview\r\n----------------------------------------\r\nGet fully-formed upgrade messages from `latest.civicrm.org`. This allows us to convey more nuanced information about available upgrades.\r\nIt also allows us to iterate more quickly on how releases are presented (e.g. adding hyperlinks to the blog/changelog, highlighting\r\nimportant changes, introducing the in-between status `deprecated`).\r\n\r\nBefore\r\n----------------------------------------\r\nThe `VersionCheck` helper sends a request to `latest.civicrm.org` with `format=json` to get a list of all available versions.\r\nThen it digests the information and presents any messages in the `CRM_Utils_Check` layer.\r\n\r\nAfter\r\n----------------------------------------\r\nThe `VersionCheck` helper sends a request to `latest.civicrm.org` with `format=summary` to get a list of displayable messages.\r\nThen it presents any messages in the `CRM_Utils_Check` layer.\r\n\r\nTechnical Details\r\n----------------------------------------\r\n\r\n* Because patch-releases are allowed mid-month, this patch also reduces the TTL from 7 days to 3 days.\r\n* Test coverage is reduced here (`civicrm-core`), but it's improved a lot elsewhere (`latest.civicrm.org`).\r\n* In `VersionCheck`, it makes a few contract changes (which have been evaluated by grepping for stale references circa 4.7.31). Specifically:\r\n    * Add `getVersionMessages()`\r\n    * Remove unnecessary members `$localMajorVersion`, `getMajorVersion()`, `isNewerVersionAvailable()`, `checkBranchForNewVersion()`\r\n    * Change the coontent `versionInfo`. It's still a cache of the web-service response, but now it's a list of displayable messages (rather than a list of all versions).\r\n\r\nComments\r\n----------------------------------------\r\nPing @colemanw, it'd be great if you could review this quickly. I'd like to\r\nget this backported and drop 5.0.1/4.7.32 on Wednesday. (By\r\nluck/coincidence, tomorrow is the third Wednesday.)"},"comment":{"url":"https://api.github.com/repos/civicrm/civicrm-core/issues/comments/382591357","html_url":"https://github.com/civicrm/civicrm-core/pull/11991#issuecomment-382591357","issue_url":"https://api.github.com/repos/civicrm/civicrm-core/issues/11991","id":382591357,"user":{"login":"colemanw","id":2874912,"avatar_url":"https://avatars3.githubusercontent.com/u/2874912?v=4","gravatar_id":"","url":"https://api.github.com/users/colemanw","html_url":"https://github.com/colemanw","followers_url":"https://api.github.com/users/colemanw/followers","following_url":"https://api.github.com/users/colemanw/following{/other_user}","gists_url":"https://api.github.com/users/colemanw/gists{/gist_id}","starred_url":"https://api.github.com/users/colemanw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/colemanw/subscriptions","organizations_url":"https://api.github.com/users/colemanw/orgs","repos_url":"https://api.github.com/users/colemanw/repos","events_url":"https://api.github.com/users/colemanw/events{/privacy}","received_events_url":"https://api.github.com/users/colemanw/received_events","type":"User","site_admin":false},"created_at":"2018-04-19T02:39:17Z","updated_at":"2018-04-19T02:39:17Z","author_association":"OWNER","body":"I have a few nitpicks about the wording in some of those messages in the preview (namely I'm not sure the meaning of the word \"patch\" is clear) but I understand that is separate from this PR.\r\n\r\n* ([`r-explain`](https://docs.civicrm.org/dev/en/latest/standards/review/#r-explain)) __Pass__\r\n* ([`r-test`](https://docs.civicrm.org/dev/en/latest/standards/review/#r-test)) __Pass__ (although a test for the new functionality would be nice)\r\n* ([`r-code`](https://docs.civicrm.org/dev/en/latest/standards/review/#r-code)) __Pass__\r\n* ([`r-doc`](https://docs.civicrm.org/dev/en/latest/standards/review/#r-doc)) __Pass__ (updating the admin docs may be needed)\r\n* ([`r-maint`](https://docs.civicrm.org/dev/en/latest/standards/review/#r-maint)) __Pass__ - this shifts some of our maint to central servers.\r\n* ([`r-run`](https://docs.civicrm.org/dev/en/latest/standards/review/#r-run)) __Pass__: Tried mocking a couple different versions and got the expected results locally\r\n* ([`r-user`](https://docs.civicrm.org/dev/en/latest/standards/review/#r-user)) __Pass__\r\n* ([`r-tech`](https://docs.civicrm.org/dev/en/latest/standards/review/#r-tech)) __Pass__"}}
{"actor":{"display_login":"colemanw"}}