Skip to content

Latest commit

 

History

History
914 lines (649 loc) · 34.9 KB

ChangeLog.rst

File metadata and controls

914 lines (649 loc) · 34.9 KB

3.0.1 - 2016-11-01

3.0.0 - 2016-05-07

2.1.1 - 2016-04-11

  • The install location for generated CMake files is now configurable via the FMT_CMAKE_DIR CMake variable (#299). Thanks to @niosHD.
  • Documentation fixes (#252).

2.1.0 - 2016-03-21

  • Project layout and build system improvements (#267):

    • The code have been moved to the cppformat directory. Including format.h from the top-level directory is deprecated but works via a proxy header which will be removed in the next major version.
    • C++ Format CMake targets now have proper interface definitions.
    • Installed version of the library now supports the header-only configuration.
    • Targets doc, install, and test are now disabled if C++ Format is included as a CMake subproject. They can be enabled by setting FMT_DOC, FMT_INSTALL, and FMT_TEST in the parent project.

    Thanks to @niosHD.

2.0.1 - 2016-03-13

2.0.0 - 2015-12-01

General

Optimization

  • Made formatting of user-defined types more efficient with a custom stream buffer (#92, #230). Thanks to @NotImplemented.
  • Further improved performance of fmt::Writer on integer formatting and fixed a minor regression. Now it is ~7% faster than karma::generate on Karma's benchmark (#186).
  • [Breaking] Reduced compiled code size (#143, #149).

Distribution

Documentation

Fixes

1.1.0 - 2015-03-06

1.0.0 - 2015-02-05

0.12.0 - 2014-10-25

  • [Breaking] Improved separation between formatting and buffer management. Writer is now a base class that cannot be instantiated directly. The new MemoryWriter class implements the default buffer management with small allocations done on stack. So fmt::Writer should be replaced with fmt::MemoryWriter in variable declarations.

    Old code:

    New code:

    If you pass fmt::Writer by reference, you can continue to do so:

    This doesn't affect the formatting API.

  • Support for custom memory allocators (#69)
  • Formatting functions now accept signed char and unsigned char strings as arguments (#73):

  • Reduced code bloat. According to the new benchmark results, cppformat is close to printf and by the order of magnitude better than Boost Format in terms of compiled code size.
  • Improved appearance of the documentation on mobile by using the Sphinx Bootstrap theme:

    Old

    New

0.11.0 - 2014-08-21

0.10.0 - 2014-07-01

Improved API

Other Changes

0.9.0 - 2014-05-13

  • More efficient implementation of variadic formatting functions.
  • Writer::Format now has a variadic overload:

  • 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:

  • 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

    will throw SystemError exception with description "Failed to open file '<filename>': 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