Version 1.2.0 of Rudiments, the C++ class library for developing systems and applications, is now available.
This release adds a few minor features, and fixes a few minor bugs...
The jsonsax/dom classes handle escaping correctly now.
The url class features a getError() method which returns more detailed error information than the error class. For example, if there's a protocol error, as opposed to an operating-system-level error, then url::getError() returns it.
A sha256 class has been added. The sha1, sha256, and md5 classes now prefer to use libcrypto implementations, if they are available, as they might be hardware accelerated, but fall back to internal implementations if they are not available.
hash::getHash() returns binary data now, for all hashes. Previously sha1/256 returned binary data and md5 returned a string.
charstring::hexEncode()/hexDecode(), and charstring::before()/between()/after() methods have been added to the charstring class.
The url class now supports setting the user agent and other headers for http urls. It also supports making http POST requests.
The various container classes (linkedlist, avltree, dictionary, etc.) all support remove/clearAnd(Array)Delete methods. The removeAnd(Array)Delete methods remove the node from the container and delete the value stored in the node as well. The clearAnd(Array)Delete methods operate similarly, removing all nodes.