Rev 20019 is a preferences refactoring mega-commit. Most of the changes are there in order to simplify adding a GConf backend soon (I'll get to this after cleaning up in the preferences.xml file and handling enum and color preferences sanely). Here are the most important changes from the developer perspective:
1. Preference path syntax has changed to use a single path and slashes instead of dots as separators. The old syntax was based on the fact that preferences are stored as attributes of XML nodes, which was the reason for separation of the two path parameters. The new syntax uses a familiar file system metaphor, and will simplify adding GConf and possibly other backends, like the Mac OS X settings files mentioned somewhere here (?).
2. Preferences are handled through the singleton object Inkscape::Preferences. Use its methods instead of the prefs-utils.h functions. They are mostly equivalent. Be sure to use the correct type.
3. There is no inkscape_get_repr() any more. To retrieve a CSS style from preferences, use the getStyle() or getInheritedStyle() methods.
4. You cannot add an XML observer to the prefs document. Instead, use the inner class Inkscape::Preferences::Observer. Additionally, you can't add the same observer to more than one preference path - you'll have to create multiple instances.
There are no changes to the preferences.xml format yet. There will be changes to it in the future, to remove things like /options/somerandomoption/value (which should be /options/some_random_option in GConf, or even better /options/some_appropriate_group/some_random_option) but I'll try to handle them transparently.