Answers.Body: <ul>
  <li>Is it on the hidden tab on the status page? People can manually hide some checks.</li>
  <li>Some servers might not have network access to reach the extension directory.</li>
  <li>Are those sites already up to date on their extensions? (silly question but is a possible cause)</li>
  </ul>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-11-01T17:35:10.020Z
Answers.Text: No, not on the hidden tab, and while the site I'm looking at is not up to date with extensions (I can see the messages) it doesn't display that there have been further releases of Civi - which other sites do.  I'm sure the server has access to the extensions directory as that's working normally.
Answers.UserDisplayName: Andy Clark
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-11-02T00:09:03.673Z
Answers.Text: Oh I misread as extension upgrades. One thing you can check is if you delete the version-msgs-cache file in civicrm/upload, then revisit the system status page, just to make sure the cache isn't somehow stuck. You can also look in that file - one possibility is it contains an error instead of a proper json response.
Answers.UserDisplayName: Demerit
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-11-02T08:28:06.170Z
Answers.Text: I found that file, which had 0 bytes - so I deleted it & Civi has recreated it again as 0 bytes. But still no message about upgrades - this is a system on 5.53.  So I replace that file with one from a system where it's working & lo it worked!  So this is the answer to my question ... thanks!
Answers.UserDisplayName: Andy Clark
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-11-02T14:03:00.787Z
Answers.Text: Except it will go back to not working the next time it clears the cache. You should debug what is being returned from the network call, i.e. add this code just after [this line](https://github.com/civicrm/civicrm-core/blob/f5037ed95a812efc3365b1ecd8329f67cf64fea7/CRM/Utils/VersionCheck.php#L293): `\Civi::log()->debug(var_export($rawJson, true));` and then delete the cache file and visit the status page and then look in ConfigAndLog. Also check that [allow_url_fopen](https://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen) is enabled in php.ini.
Answers.UserDisplayName: Demerit
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-11-02T18:40:43.277Z
Answers.Text: I created a php.ini with allow_url enabled, and also noticed that folders templates_c and ConfigAndLog were missing (so I created them).  Now the status works OK, and after clearing cache still works.  Not sure how it limped along without the folders, but it did!  Thanks for the help, really appreciated
Answers.UserDisplayName: Andy Clark
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-11-01T13:54:25.043Z
Answers.LastActivityDate: 2022-11-01T13:54:25.043Z
Answers.UserDisplayName: Demerit
Body: <p>In some of my installs system status shows the message about available upgrades.  In others there is no message about upgrades at all.  What controls this? I couldn't see any settings in the Misc settings or anywhere else.</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-11-01T16:38:30.837Z
Comments.Text: I’m guessing it's the ‘CiviCRM Update Check’ scheduled job.
  Description - Checks for CiviCRM version updates. Important for keeping the database secure. Also sends anonymous usage statistics to civicrm.org to to assist in prioritizing ongoing development efforts.
Comments.UserDisplayName: Anil
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-11-01T17:32:12.613Z
Comments.Text: No, it's not that job which I make sure runs on sites I look after.
Comments.UserDisplayName: Andy Clark
Tags: <upgrade>
Title: Upgrade available message - controlled by?
ThreadText: # Upgrade available message - controlled by?
  
  (Asked by: username_0 on 2022-11-01)
  
  In some of my installs system status shows the message about available upgrades. In others there is no message about upgrades at all. What controls this? I couldn't see any settings in the Misc settings or anywhere else.
  
  **Tags:** upgrade
  
  > **Comments:**
  > **username_1**: I’m guessing it's the ‘CiviCRM Update Check’ scheduled job. Description - Checks for CiviCRM version updates. Important for keeping the database secure. Also sends anonymous usage statistics to civicrm.org to to assist in prioritizing ongoing development efforts.  
  > **username_0**: No, it's not that job which I make sure runs on sites I look after.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2022-11-01. Score: 0
  
  * Is it on the hidden tab on the status page? People can manually hide some checks.
  * Some servers might not have network access to reach the extension directory.
  * Are those sites already up to date on their extensions? (silly question but is a possible cause)
  
  > **Comments:**
  > **username_0**: No, not on the hidden tab, and while the site I'm looking at is not up to date with extensions (I can see the messages) it doesn't display that there have been further releases of Civi - which other sites do.  I'm sure the server has access to the extensions directory as that's working normally.  
  > **username_2**: Oh I misread as extension upgrades. One thing you can check is if you delete the version-msgs-cache file in civicrm/upload, then revisit the system status page, just to make sure the cache isn't somehow stuck. You can also look in that file - one possibility is it contains an error instead of a proper json response.  
  > **username_0**: I found that file, which had 0 bytes - so I deleted it & Civi has recreated it again as 0 bytes. But still no message about upgrades - this is a system on 5.53.  So I replace that file with one from a system where it's working & lo it worked!  So this is the answer to my question ... thanks!  
  > **username_2**: Except it will go back to not working the next time it clears the cache. You should debug what is being returned from the network call, i.e. add this code just after [this line](https://github.com/civicrm/civicrm-core/blob/f5037ed95a812efc3365b1ecd8329f67cf64fea7/CRM/Utils/VersionCheck.php#L293): `\Civi::log()->debug(var_export($rawJson, true));` and then delete the cache file and visit the status page and then look in ConfigAndLog. Also check that [allow_url_fopen](https://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen) is enabled in php.ini.  
  > **username_0**: I created a php.ini with allow_url enabled, and also noticed that folders templates_c and ConfigAndLog were missing (so I created them).  Now the status works OK, and after clearing cache still works.  Not sure how it limped along without the folders, but it did!  Thanks for the help, really appreciated  
  
  ---
  
  