After the decision to make countries fieldable entities, this was almost inevitable. This provides a lot better integration and advantages with a number of other contrib modules that use this API.
Other API changes of importance:
countries_get_countries() could throw an exception. [API CHANGE]
If not a core property and a test country does not have this property either, this throws an exception.
Deprecated countries_get_country() [API CHANGE]
This is replaced with country_load(). All calls to countries_get_country() have a watchdog entry warning about the deprecated function and returns country_load() results.
String changes
There have been a number of changes and more consistency has been added to make this process easier.
Country field internal data array
This is normalised so that the safe_value parameter is used instead of the safe parameter.