Version 0.8.0 * Add portable environment variable manipulation functions. * Add regex_replace_match() and rename regex_replace_ex() to regex_replace_search(). * Reimplement the optional class template not to require default- constructible value types. * New prompt facility (moved from bpkg). * Support for hashing ifdstream in sha* classes. * New project_name class (moved from bpkg::package_name). * Add git_repository(), git_version() utility functions. * New semantic_version class for parsing semantic and semantic-like versions. * Add timed_wait() and kill() process functions. * Support for UUID generation. Version 0.7.0 * Initial attempt at Modules TS-based modularization. * Add process::pipe struct, extend process API. * Add path::make_{directory,leaf,base}(). * Relax path combination requirement for LHS to contain trailing slash. Now if there is no slash, we automatically add the canonical one. This allows (natural) code like this: path f (d / "foo" / "bar"); * Add support for copying file timestamp by cpfile(). * Add support for directory symlinks on Windows. * Add ignore_dangling parameter to dir_iterator() constructor. * Change standard_version epoch syntax from '~' to '+-'. * Add support for standard_version constraint shortcut operators (~ and ^). * Add support for calculating SHA1 checksums. * Implement small_list and small_forward_list. Note that with VC small_list is never "small" because of the extra "headnode" that this implementation allocates (see notes in small-list.mxx for details). Version 0.6.0 * Various new functionality in the path, timestamp, manifest, process, fdstream, and filesystem facilities. * Character scanner improvements and optimizations. * New openssl process wrapper classes. * New regex utility functions. * Fast-path SHA256 functions. Version 0.5.0 * Various new functionality in the process, fdstream, and filesystem facilities. * Feature test facility (ft/). * Tab, manifest parsers/serializers. * Process wrappers for running sendmail and curl. * Standard version and range classes. Version 0.4.0 * The process class has been redesigned and extended. * The basic_path class template has been redesigned and extended. The path representation now stores the directory trailing slash, if present. * The fdstream classes have been redesigned and extended. * A number of new filesystem manipulation functions have been added. * Add path::temp_directory(), path::temp_path() utility functions. * Add base64_encode(), base64_decode() utility functions. * Add portable ucase(), lcase(), casecmp(), alpha(), digit(), alnum(). * The 'freebsd' target triplet class has been changed to 'bsd'. Version 0.3.0 * Add SHA256 hash calculator based on code from the FreeBSD project. That code is (naturally) licensed under the simplified/2-clause BSD license so the library is now MIT/BSD-licensed. Also add helper sha256_to_fingerprint() fingerprint_to_sha256() functions. * Add vector_view class template. * Add path::realize() (on POSIX calls realpath(3)), path::compare(). * Recognize MSVC target triplet (*-microsoft-win32-msvcXX.Z). * Derive a target class from the target triplet for some targets. Currently the classes are: 'linux', 'macosx', 'freebsd', 'windows', and 'other'. * Add timestamp from_string(). * Add combine_hash() utility function. Version 0.2.0 * First public release.