We wanted profile settings to be stored using boost::serialization. It's done now for Account class (including ClientOptions serialization and other) that remember profile details. Saving and loading objects is realized in AccountsManager.
Previously, account details were stored using ProfileSettingsProvider. Now, for backward compatibility reason, they're stored in both settings provider and serialized string. When no serialization string is detected in settings, Swift obtain details using current settings provider and stores them serialized also.
Places in code using settings provider were replaced to make use of Account serialization. In future, we are probably going to avoid using ProfileSettingsProvider at all.