Instead of developers having to manually upgrade a version number (which is easy to forget), it would often be preferable to build a checksum that covers all files in the web context, so the checksum changes whenever the context changes in any way. The URLs would then look like "/app-assets/d5f3459367ef/images/logo.gif". In our T4 app I did this by overriding the relevant Hivemind services. The context checksum is calculated once during application startup. This was quite simple to implement, and it works really well even from within the IDE because it does not require any build magic.
For very large contexts with thousands of files your manual approach might be preferable to avoid the startup overhead, but for small contexts that overhead is well below one second and the approach is less error prone. It would be great if you could allow overriding the way the "version number" / checksum is defined.