From 3453df6d65901b8ab990cb12e57f1a054c136ff6 Mon Sep 17 00:00:00 2001 From: Victor Zverovich Date: Wed, 4 Mar 2015 18:10:08 -0800 Subject: [PATCH] Add a changelog --- ChangeLog.rst | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 ChangeLog.rst diff --git a/ChangeLog.rst b/ChangeLog.rst new file mode 100644 index 00000000..04436e05 --- /dev/null +++ b/ChangeLog.rst @@ -0,0 +1,45 @@ +0.9.0 - 2014-05-13 +------------------ + +* More efficient implementation of variadic formatting functions. + +* `Writer::Format` now has a variadic overload:: + + Writer out; + out.Format("Look, I'm {}!", "variadic"); + +* For efficiency and consistency with other overloads, variadic overload of + the `Format` function now returns `Writer` instead of `std::string`. + Use the `str` function to convert it to `std::string`:: + + std::string s = str(Format("Look, I'm {}!", "variadic")); + +* Replaced formatter actions with output sinks: `NoAction` -> `NullSink`, + `Write` -> `FileSink`, `ColorWriter` -> `ANSITerminalSink`. This improves + naming consistency and shouldn't affect client code unless these classes + are used directly which should be rarely needed. + +* Added `ThrowSystemError` function that formats a message and throws + `SystemError` containing the formatted message and system-specific error + description. For example, the following code:: + + FILE *f = fopen(filename, "r"); + if (!f) + ThrowSystemError(errno, "Failed to open file '{}'") << filename; + + will throw `SystemError` exception with description + "Failed to open file '': No such file or directory" if file + doesn't exist. + +* Support for `AppVeyor `_ + continuous integration platform. + +* `Format` now throws `SystemError` in case of I/O errors. + +* Improve test infrastructure. Print functions are now tested by redirecting + the output to a pipe. + +0.8.0 - 2014-04-14 +------------------ + +* Initial release