5099 is the inspiration of this feature request.

In the words of @indigoxela:

If doing an update via UI, caches do get cleared. At least, that has worked for me several times.

I would like to confirm if that is the case, and if it applies to both core and contrib.

If doing an update via filesystem (drush, bee, unzip the file, or ftp upload), which means to simply replace the files (core or contrib), caches do not get flushed automatically. Admins have to do that manually. I don't think, there's a possible fix for that. Backdrop does not "observe" the file system for changes - and couldn't.

I think that updating via drush behaves the same as performing the update via the UI, so caches are cleared. I could be wrong about it though, so I would like to confirm that too.

In any way, I would like us to automate that, so that people performing manual updates face less WTFs after upgrading. Here's a very simplified version of what I was thinking:

  • Backdrop caches the core version, as it's being reported in bootstrap.inc (see https://github.com/backdrop/backdrop/blob/1.x/core/includes/bootstrap.in...) - this could be stored in config (system.core.json perhaps?) or in a state (state_set()).
  • A person performs a manual update, by replacing the /core directory with a newer version.
  • Next time Backdrop loads a page, it detects that the version number in bootstrap.inc is now different from the one previously cached, clears caches, and shows a message to inform that caches have been cleared.
  • config/state value that caches the Backdrop version is updated, to hold the new version number (until the next manual update)
GitHub Issue #: 
5101