With 7.33, Valve changed Rosh's implementation. Instead of only needing npc_dota_roshan_spawner, it now needs some info_player_start_dota Dota entities called roshan_location_1 and roshan_location_2. Even then, the client will crash when Roshan attempts to change locations unless there are two portals on the map. Even then even then, Roshan doesn't seem to know how to go through the portals properly and you get weird behaviour.
It looks like if you want to make a traditional Rosh pit, you need to handle the Roshan respawning yourself. This kind of sucks because it means the Roshan respawn timer for spectators and TA's innate won't work, but that's a minor issue. The other thing is that if you spawn Rosh with CreateUnitByName, then he won't have the correct AI. So fine, you also need to create a timer and do the AI yourself, whatever. The problem that I can't see a way to fix is that Roshan seems to be hard coded to not have any aggression when it turns to daytime. I guess Valve did this so that he wouldn't fight while he's travelling, but then they didn't give us any control to say whether he's travelling or not.
Is Roshan basically unusable now or is there something I'm missing?
(Even if not I thought it would be good to make this thread so anyone searching for Roshan in the future will see it's not just them.)