See the section called "Perfect Caching" here:
We need to setup our web server to send down headers in the http request of <coregui>.nocache.js, so that devs, QE, customers don't have to shift+refresh to see the latest and greatest.
However, since release-3.0.0 will be cut before this fix goes in, we have one of two options:
1) add the headers to prevent caching the <coregui>.nocache.js file, and put in the release notes "if you're upgrading from release-3.0.0, please shift+refresh to see the latest and greatest". this is sub-optimal because this item will stay in the release notes for a long time.
2) add the headers to prevent caching the <coregui>.nocache.js file, and rename the <coregui> module to anything else, say, <gwt-portal>. this way the new file will be called <gwt-portal>.nocache.js and the first time clients pull it down they will read it with the appropriate no-cache headers. thus users/customers with distributions built off of release-3.0.0 will never have to shift+refresh to see the latest/greatest upon upgrade or fresh installation of a latest version.
*** Bug 664565 has been marked as a duplicate of this bug. ***
See related linked bug that causes the shift-refresh trick to fail.
Added a servlet filter (CacheControlFilter) that takes care of adding the HTTP headers needed to control caching of GWT-compiled pages - [master c9efcac].
Verifying and documenting the HTTP headers which control caching, below. The pragma no-cache and Cache-control no-cache are of particular note here.
User-Agent Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:18.104.22.168) Gecko/20110428 Fedora/3.6.17-1.fc14 Firefox/3.6.17
Content-Type text/x-gwt-rpc; charset=utf-8
Cookie RHQ_Session=-497937392; JSESSIONID=471678FABF9B7D36A17463EC1E517125
Bulk closing of old issues that are in VERIFIED state.