Norgate Data has it back to the early 1960s including all delisted stocks and also an indicator that tells you when each stock was in the index. I've been using it with AmiBroker and now Python - really nicely integrated. Lots of other indices covered too so you can test market-cap-banded strategies.