Why are versions numbers hard coded in file names everywhere?

Why are versions numbers hard coded in file names everywhere?

Hi guys

One of our developers is using Jquery-ui in one of our web apps.
A downloaded tree (not the most recent one but it is the same there) would look something like this:

jquery-ui-1.8.5.custom
   js
     jquery-1.4.2.min.js
     jquery-ui-1.8.5.custom.min.js
   css
     ui-lightness
         jquery-ui-1.8.5.custom.css


It is now very tedious and error prone to upgrade the library, because you would have to replace all links in any calling code (PHP, HTML etc).

Is there any reason why the code is distributed this way?

Almost every bit of software out there is shipped as a blah-x.x.x directory, with simple files and directories in it, in this case that would be something like:

jquery-ui-1.8.5.custom
   js
     jquery.min.js
     jquery-ui.custom.min.js
   css
     ui-lightness
         jquery-ui.custom.css


This makes up/downgrading as easy as replacing two symlinks.
Also, the file version is already in the files themselves, another reason to not stick it in the file names.

Interested to hear what the rationale behind this is!.

THanks!!