The launcher automatically redownloads any library from the mojang servers when the server-side checksum (.sha1) does not equal the client-side one (.sha). However, libraries with a custom maven url are not redownloaded when the checksum doesn't match.
Is this actually a launcher bug or is this intended behaviour, and when it is intended, i'm interested to know why it is intended.
~ Jeffrey Kog
Update
After looking in the source of the launcher (Yes, i know you don't want us decompiling stuff, but i only looked for the potential cause) i found out that this has to be intended, because in net.minecraft.launcher.versions.CompleteVersion in the method getRequiredDownloadables i found this:
if ((!local.isFile()) || (!library.hasCustomUrl())) { neededFiles.add(new ChecksummedDownloadable(proxy, url, local, ignoreLocalFiles)); }
That means that it only checks the remote checksum when the library doesn't exist locally, or has no custom maven url.
I'm interested to hear what the reason is for disabling this, because it makes downloading libraries for mods (and automatically updating them without modifying the client-side profile) a lot harder.
Have a nice day!