Wednesday, April 28, 2021

Rudiments 1.4.0 Release

Version 1.4.0 of Rudiments, the C++ class library for developing systems and applications, is now available.

Though this release does include some new classes, additions to existing classes, this release mainly features changes to improve consistency between classes, as well as some under-the-hood improvements.

ChangeLog follows:

  • added wcharacter, wcharstring, and wstringbuffer classes
  • memorymap::getLength() -> getSize()
  • added various *IgnoringCase methods to charstring/wcharstring
  • removed length()/isNullOrEmpty() with const unsigned char * arguments
  • now size="number of bytes" and length="number of characters/elements", updated comments, parameters, and some method names
  • added datetime::getCentury()
  • added datetime::getShortYear()
  • fixed jsondom::write() of non-existent string values
  • fixed datetime::parse() crash when NULL parameters are passed in
  • added commandline::toDictionary()
  • added parameterstring::getDictionary()
  • fixed potential null dereference in jsondom::write()
  • fixed potential null dereference in templateengine::replaceVariable()
  • added error reporting to templateengine class
  • fixed potentially uninitialized optimum block size in sax class
  • optimized domnode::insertNode() for empty, append, and prepend cases
  • added quoted-printable encodings to charstring
  • added lots of row/column manipulation methods to csvdom class
  • tls::setProtocolVersion() supports "v" format: SSLv3, TLSv1.3, etc.
  • applied patch from Igor to fix configure.vbs VC++ version detection for non-US versions