From 589f5f37b6c8e4ad268593541d89e72c1d02e1ed Mon Sep 17 00:00:00 2001 From: Victor Zverovich Date: Sun, 20 May 2018 16:00:39 -0700 Subject: [PATCH] Update changelog --- ChangeLog.rst | 68 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 64 insertions(+), 4 deletions(-) diff --git a/ChangeLog.rst b/ChangeLog.rst index e27e3d82..b3198ced 100644 --- a/ChangeLog.rst +++ b/ChangeLog.rst @@ -20,6 +20,7 @@ .. code:: c++ #include + std::string s = format(fmt("{:d}"), "foo"); gives a compile-time error because ``d`` is an invalid specifier for strings @@ -133,7 +134,9 @@ vreport_error(format, fmt::make_format_args(args...)); } -* Added the ``make_printf_args`` function for capturing ``printf`` arguments. +* Added the ``make_printf_args`` function for capturing ``printf`` arguments ( + `#687 `_, + `#694 `_). Thanks `@Kronuz (Germán Méndez Bravo) `_. * Added prefix ``v`` to non-variadic functions taking ``format_args`` to @@ -146,6 +149,34 @@ template std::string format(string_view format_str, const Args & ... args); +* Added experimental support for formatting ranges, containers and tuple-like + types in ``fmt/ranges.h`` (`#735 `_): + + .. code:: c++ + + #include + + std::vector v = {1, 2, 3}; + fmt::print("{}", v); // prints {1, 2, 3} + + Thanks `@Remotion (Remo) `_. + +* Implemented ``wchar_t`` date and time formatting + (`#712 `_): + + .. code:: c++ + + #include + + std::time_t t = std::time(nullptr); + auto s = fmt::format(L"The date is {:%Y-%m-%d}.", *std::localtime(&t)); + + Thanks `@DanielaE (Daniela Engert) `_. + +* Provided more wide string overloads + (`#724 `_). + Thanks `@DanielaE (Daniela Engert) `_. + * Switched from a custom null-terminated string view class to ``string_view`` in the format API and provided ``fmt::string_view`` which implements a subset of ``std::string_view`` API for pre-C++17 systems. @@ -188,6 +219,8 @@ * Implemented more efficient handling of large number of format arguments. +* Introduced an inline namespace for symbol versioning. + * Added debug postfix ``d`` to the `fmt`` library name (`#636 `_). @@ -229,12 +262,21 @@ `#656 `_, `#679 `_, `#681 `_, - `#705 `_). + `#705 `_, + `#715 `_, + `#717 `_, + `#720 `_, + `#723 `_, + `#726 `_, + `#730 `_, + `#739 `_). Thanks `@peterbell10 `_, `@LarsGullik `_, `@foonathan (Jonathan Müller) `_, - `@eliaskosunen (Elias Kosunen) `_, and - `@christianparpart (Christian Parpart) `_. + `@eliaskosunen (Elias Kosunen) `_, + `@christianparpart (Christian Parpart) `_, + `@DanielaE (Daniela Engert) `_, + and `@mwinterb `_. * Worked around an MSVC bug and fixed several warnings (`#653 `_). @@ -260,10 +302,17 @@ (`#660 `_). Thanks `@hubslave `_. +* Fixed compilation on FreeBSD 12 + (`#732 `_). + Thanks `@dankm `_. + * Fixed compilation when there is a mismatch between ``-std`` options between the library and user code (`#664 `_). +* Fixed compilation with GCC 7 and ``-std=c++11`` + (`#734 `_). + * Improved generated binary code on GCC 7 and older (`#668 `_). @@ -286,6 +335,17 @@ * Fixed compile checks for mixing narrow and wide strings (`#690 `_). +* Disabled unsafe implicit conversion to ``std::string`` + (`#729 `_). + +* Fixed handling of reused format specs (as in ``fmt::join``) for pointers + (`#725 `_). + Thanks `@mwinterb `_. + +* Fixed installation of ``fmt/ranges.h`` + (`#738 `_). + Thanks `@sv1990 `_. + 4.1.0 - 2017-12-20 ------------------