Adding a new (= not previously installed) component - such as a new language - downloads the missing packages from our servers, and the servers only have the most recent versions of the file. So the program is always updated to the latest build during that process, to avoid ending up in an inconsistent (and most likely crashing) state.
It has always been like that, and most likely always will.