fmtlegacy/ChangeLog.rst
Victor Zverovich 3453df6d65 Add a changelog
2015-03-04 18:10:08 -08:00

46 lines
1.5 KiB
ReStructuredText

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 '<filename>': No such file or directory" if file
doesn't exist.
* Support for `AppVeyor <https://ci.appveyor.com/project/vitaut/cppformat>`_
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