Is txindex=1 necessary in the latest versions?
getrawtransaction's behaviour has not changed since Bitcoin Core 0.8 (up until at least 0.14).

It will always work:


For mempool (unconfirmed) transactions
For confirmed transactions that have unspent outputs left.


So, -txindex=1 is only needed in order to query for confirmed transactions of which all the outputs are spent. It also speeds up querying for confirmed transactions in general.