It's been in the works for quite a while (I remember reading some of the initial RFC postings), although I haven't seen people talk much of it until now. To be fair, I believe this work was primarily done by Google, who also have contributed a lot code to LTO/IPO-based systems in GCC before (such as "Lightweight IPO" or LIPO in GCC) as well as obvious, ongoing Clang/LLVM work. So I imagine they probably had a very good idea of what was necessary to achieve all that... But yes, the results are really impressive!
Here are some slides from EuroLLVM last year with some pretty graphs and comparisons to traditional LTO/LIPO: http://llvm.org/devmtg/2015-04/slides/ThinLTO_EuroLLVM2015.p...