diff --git a/ChangeLog.rst b/ChangeLog.rst index 78999c47..e806936a 100644 --- a/ChangeLog.rst +++ b/ChangeLog.rst @@ -1,12 +1,64 @@ 5.2.0 - TBD ----------- +* Optimized format string parsing and argument processing + +* Added compile-time format string checks to ``format_to`` overload that takes + ``fmt::memory_buffer`` (`#783 `_): + + .. code:: c++ + + fmt::memory_buffer buf; + // Compile-time error: invalid type specifier. + fmt::format_to(buf, fmt("{:d}"), "foo"); + + +* Added formatting support for types explicitly convertible to + ``fmt::string_view``: + + .. code:: c++ + + struct foo { + explicit operator fmt::string_view() const { return "foo"; } + }; + auto s = format("{}", foo()); + + In particular, this makes formatting function work with + ``folly::StringPiece``. + * Added support for dynamic argument lists - (`#766 `_, - `#766 `_). + (`#814 `_, + `#819 `_). Thanks `@MikePopoloski (Michael Popoloski) `_. +* Keep ``noexcept`` specifier when exceptions are disabled + (`#801 `_, + `#810 `_). + Thanks `@qis (Alexej Harm) `_. + +* Fixed formatting of user-defined types providing ``operator<<`` with + ``format_to_n`` + (`#806 `_). + Thanks `@mkurdej (Marek Kurdej) `_. + +* Fixed dynamic linkage of new symbols + (`#808 `_). + +* Fixed global initialization issue + (`#807 `_): + + .. code:: c++ + + // This works on compilers with constexpr support. + static const std::string answer = fmt::format("{}", 42); + +* Fixed various compiler warnings and errors + (`#804 `_, + `#809 `_, + `#811 `_). + Thanks `@henryiii (Henry Schreiner) `_. + 5.1.0 - 2018-07-05 ------------------