Wednesday 19 September, 2007
The "certainly-break-your-build-but-it'll-be-easily-sorted-out" release.
This is the first Arabica release ever that knowingly breaks existing code, but the changes required are all straightforward and shouldn't take more than a few minutes to recover from.
The changes are
- All Arabica header files now have a .hpp extension. Existing references to something.h will need to be updated (or mitigated by added a forwarding header).
- The SAX namespace has been moved within the Arabica namespace. References to SAX::something will need to be changed to Arabica::SAX::something, or mitigated by a using declaration.
- The DOM namespace and associated namespaces, like SimpleDOM, have been moved within the Arabica namespace. References to DOM::something will need to be changed to Arabica::DOM::something, or mitigated by a using declaration.
- SAX classes named basic_something have been renamed something. Related typedefs along the lines of typedef basic_something<string> something; have been removed. References to SAX::something will need to be changed to SAX::something<std::string>, or mitigated by adding your own typedef.
- All SAX and DOM classes now take both a string and string adaptor template parameters. This change should be transparent and require no changes.
- Some header files in the Utils/ subdirectory have been moved:
Utils/uri.hpp -> io/uri.hpp
Utils/socket_stream.hpp -> io/socket_stream.hpp
Utils/convert_adaptor.hpp -> io/convert_adaptor.hpp
Utils/convertstream.hpp -> io/convertstream.hpp
Utils/*codecvt.hpp -> convert/*codecvt.hpp
Utils/normalize_whitespace.hpp -> text/normalize_whitespace.hpp
XML/UnicodeCharacters.hpp -> text/UnicodeCharacters.hpp
Utils/StringAdaptor.hpp -> Arabica/StringAdaptor.hpp
DOM/Utils/Stream.hpp -> DOM/io/Stream.hpp
- There are some namespace changes along with these physical changes. Any class in Arabica::Utils has been moved into Arabica::io or Arabica::convert.