From 3110ec5a23c102ed9a160152b292aa45a869a75c Mon Sep 17 00:00:00 2001 From: Victor Zverovich Date: Sun, 26 Dec 2021 08:19:32 -0800 Subject: [PATCH] Update changelog --- ChangeLog.rst | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 79 insertions(+), 1 deletion(-) diff --git a/ChangeLog.rst b/ChangeLog.rst index 4aba81f5..0aa3eb99 100644 --- a/ChangeLog.rst +++ b/ChangeLog.rst @@ -3,21 +3,99 @@ * Optimized ``tm`` formatting (`#2602 `_, + `#2628 `_ + `#2633 `_, `#2670 `_ `#2671 `_). + + Processing of some specifiers such as ``%z`` and ``%Y`` is now up to 10-20x + times faster:: + + ---------------------------------------------------------------------------- + Benchmark Before After + ---------------------------------------------------------------------------- + FMTFormatter_z 261 ns 26.3 ns + FMTFormatterCompile_z 246 ns 11.6 ns + FMTFormatter_Y 263 ns 26.1 ns + FMTFormatterCompile_Y 244 ns 10.5 ns + ---------------------------------------------------------------------------- + Thanks `@phprus (Vladislav Shchapov) `_. +* Implemented subsecond formatting for chrono durations + (`#2623 `_). + For example (`godbolt `__): + + .. code:: c++ + + #include + + int main() { + fmt::print("{:%S}", std::chrono::milliseconds(1234)); + } + + prints "01.234". + + Thanks `@alexezeder (Alexey Ochapov) `_. + + +* Deprecated ``_format``, an undocumented UDL-based format API + (`#2646 `_). + Thanks `@alexezeder (Alexey Ochapov) `_. + * Disabled a partially broken copy ctor for ``dynamic_format_arg_store`` and enabled a working move ctor (`#2664 `_). Thanks `@lucpelletier `_. +* Added UDL-based named argument support to compile-time format string checks + (`#2640 `_, + `#2649 `_). + For example (`godbolt `__): + + .. code:: c++ + + #include + + int main() { + using namespace fmt::literals; + fmt::print("{answer:s}", "answer"_a=42); + } + + gives a compile-time error on compilers with C++20 ``consteval`` support + (gcc 10+, clang 11+) because ``d`` is not a valid format specifier for a + string. + + Thanks `@alexezeder (Alexey Ochapov) `_. + +* Made floating point precision overflow check work with exceptions disabled + (`#2647 `_). + Thanks `@alexezeder (Alexey Ochapov) `_. + +* Resolved lookup ambiguity with C++20 format-related functions due to ADL + (`#2639 `_, + `#2641 `_). + Thanks `@mkurdej (Marek Kurdej) `_. + +* Removed unnecessary inline namespace qualification + (`#2642 `_, + `#2643 `_). + Thanks `@mkurdej (Marek Kurdej) `_. + +* Improved documentation + (`#2676 `_). + * Improved build configuration (`#2650 `_, `#2651 `_, `#2663 `_). Thanks `@alexezeder (Alexey Ochapov) `_. +* Fixed various warnings and compilation issues + (`#2627 `_, + `#2630 `_). Thanks + `@andrewcorrigan (Andrew Corrigan) `_. + 8.0.1 - 2021-07-02 ------------------ @@ -70,7 +148,7 @@ 8.0.0 - 2021-06-21 ------------------ -* Enabled compile-time format string check by default. +* Enabled compile-time format string checks by default. For example (`godbolt `__): .. code:: c++