We are about to simplify the ABI type system, as it turned out that the hash types are not really useful (also the name is misleading for some) and it does not make a lot of sense to distinguish between hash and string.
So in the next days, the types "hashXX" and "stringXX" will be unified to "bytesXX" and "byte" will be an alias for "bytes1".
It will also be possible to use the type "bytes" to hold arbitrarily-sized strings soon.
Solidity will be encoding agnostic for now, but we will keep "string" as a reserved word for future use as unicode strings.
So to fix your contracts that use stringXX or hashXX, just rename those types to bytesXX - or actually to be more specific: Rename string< k > to bytes< k > and hash< 8k > to bytes< k >.