diff --git a/ChangeLog.rst b/ChangeLog.rst index d0742917..f2c28956 100644 --- a/ChangeLog.rst +++ b/ChangeLog.rst @@ -3,7 +3,7 @@ * Added a requirement for compiler support for variadic templates and dropped ``FMT_VARIADIC_*`` emulation macros. Variadic templates are available since GCC 4.4, Clang 2.9 and MSVC 18.0 (2013). For older compilers use `version 4.x `_ which continues to be maintained. -* Renamed symbols to follow standard C++ naming conventions and cleaned the argument handling API: ``ArgList`` -> ``format_args``, ``ArgArray`` -> ``format_arg_store``, etc. +* Renamed symbols to follow standard C++ naming conventions and proposed a subset of the library for standardization in `P0645R2 Text Formatting `_. * Added the `make_format_args `_ function for capturing formatting arguments: @@ -30,10 +30,21 @@ * Added a section on `formatting user-defined `_ types to the docs (`#393 `_). Thanks `@pwm1234 (Phil) `_. +* Added an experimental ``join`` function that allows formating a range of values (`godbolt `_, `#466 `_): + + .. code:: c++ + + std::vector v = {1, 2, 3}; + print("{}", fmt::join(v.begin(), v.end(), ", ")); // prints "1, 2, 3" + + Thanks `@olivier80 `_. + +* Removed the Write API in favor of the `Format API `_ with compile-time handling of format strings. + * Implemented thread-safe time formatting (`#395 `_, `#396 `_). Thanks `@codicodi `_. -* Added a version macro ``FMT_VERSION`` (`#411 `_) +* Added a version macro ``FMT_VERSION`` (`#411 `_). * Removed unnecessary ``fmt/`` prefix in includes (`#397 `_). Thanks `@chronoxor (Ivan Shynkarenka) `_. @@ -42,6 +53,19 @@ * Replaced literal 0 with ``nullptr`` in pointer contexts (`#409 `_). Thanks `@alabuzhev (Alex Alabuzhev) `_. + +* Added ``std::basic_string`` allocator support to ``fmt::string_view`` (`#441 `_). + Thanks `@glebov-andrey (Andrey Glebov) `_. + +* Stopped exporting the ``-std=c++11`` flag from the ``fmt`` target (`#445 `_). + Thanks `@EricWF (Eric) `_. + +* Made ``%s`` a generic format specifier that works with any argument type in ``fmt::printf`` (`#453 `_). + Thanks `@mojoBrendan `_: + + .. code:: c++ + + fmt::printf("%s", 42); * Fixed minimal supported library subset (`#418 `_, `#419 `_, `#420 `_). Thanks `@alabuzhev (Alex Alabuzhev) `_. @@ -54,10 +78,20 @@ * Fixed compilation as a shared library with Clang (`#413 `_). Thanks `@foonathan (Jonathan Müller) `_. -* Fixed test compilation on FreeBSD. (`#433 `_). Thanks `@WscriChy `_. +* Fixed test compilation on FreeBSD (`#433 `_). Thanks `@WscriChy `_. + +* Fixed a name conflict with Xlib (`#483 `_). * Fixed signbit detection (`#423 `_). +* Fixed missing intrinsic when included from C++/CLI (`#457 `_). Thanks `@calumr (Calum Robinson) `_. + +* Fixed Android not being detected with NDK 13b toolchain (`#458 `_). Thanks `@Gachapen (Magnus Bjerke Vik) `_. + +* Added ``SOURCELINK_SUFFIX`` for compatibility with Sphinx 1.5 (`#497 `_). Thanks `@ginggs (Graham Inggs) `_. + +* Added ``FMT_API`` declarations where needed for building a DLL (`#469 `_). Thanks `@richardeakin (Richard Eakin) `_. + * Fixed various warnings (`#409 `_). Thanks `@Lectem `_, `@chenhayat (Chen Hayat) `_. 4.1.0 - 2017-12-20