I dug through the Splunk Web and Splunk Manager code, and here's what I found:
Apparently build and version are totally unrelated to each other, but (arrrgh!) both must be incremented every time you rev your app. Here's more details:
"version" is displayed to the user in Manager, and on Splunkbase. Upcoming changes to Splunkbase will require that the version specfied in the UI when uploading into Splunkbase match the version specified in app.conf. Furthermore, when uploading a new Splunkbase version, the version string must be different from previous versions. These requirements together mean that you need to rev version in app.conf every time you upload a new version to Splunkbase. But, as far as I can tell, version isn't used anywhere else inside the Splunk product-- it's purely for display purposes inside the product.
"build", however, is used inside the product when generating URLs for static resources (images, CSS, etc.) Since your app's static resources are cached, updating the build number ensures that your new app's static files are reloaded at least once by the browser before being cached (until the next increment of the build setting).
So you'll definitely want to increment the build number every time you rev any of your app's static files.
And you'll want to increment version every time you upload a new version of your app to Splunkbase.
The safest thing would be to get in the habit of incrementing both every time you rev your app.
... View more