diff --git a/ChangeLog.rst b/ChangeLog.rst index 49206ae1..164199d2 100644 --- a/ChangeLog.rst +++ b/ChangeLog.rst @@ -5,20 +5,21 @@ (`#2019 `_, `#2044 `_, `#2056 `_, - `#2072 `_). For example: + `#2072 `_, + `#2129 `_). For example: .. code:: c++ #include - consteval std::array compile_time_itoa(int value) { + consteval auto compile_time_itoa(int value) -> std::array { auto result = std::array(); fmt::format_to(result.data(), FMT_COMPILE("{}"), value); return result; } - Most of formatting functionality is available at compile time with a notable - exception of floating-point numbers and pointers. + Most of the formatting functionality is available at compile time with a + notable exception of floating-point numbers and pointers. Thanks `@alexezeder (Alexey Ochapov) `_. * Added the ``_cf`` user-defined literal to represent a compiled format string. @@ -119,6 +120,11 @@ Thanks `@mikecrowe (Mike Crowe) `_. +* Fixed ``fmt::formatted_size`` with format string compilation + (`#2141 `_, + `#2161 `_). + Thanks `@alexezeder (Alexey Ochapov) `_. + * Fixed handling of empty format strings during format string compilation (`#2042 `_): @@ -166,14 +172,30 @@ writes "Ford" to the file "guide". To preserve the old file content if any pass ``fmt::file::WRONLY | fmt::file::CREATE`` flags to ``fmt::output_file``. +* Made iterators passed to ``formatter`` specializations via a format context + satisfy C++20 ``std::output_iterator`` requirements + (`#2156 `_, + `#2158 `_). + Thanks `@randomnetcat (Jason Cobb) `_. + +* Optimized writing to a buffer + (`#2164 `_). + Thanks `@moiwi `_. + * Fixed writing to ``stdout`` when it is redirected to ``NUL`` on Windows (`#2080 `_). * Fixed exception propagation from iterators (`#2097 `_). +* Stopped using deprecated GCC UDL template extension. + * Added ``fmt/args.h`` to the install target. +* Error messages are now passed to assert when exceptions are disabled + (`#2145 `_). + Thanks `@NobodyXu (Jiahao XU) `_. + * Added the ``FMT_MASTER_PROJECT`` CMake option to control build and install targets when {fmt} is included via ``add_subdirectory`` (`#2100 `_). @@ -197,7 +219,23 @@ `#2107 `_, `#2117 `_, `#2119 `_, - `#2128 `_). + `#2128 `_, + `#2142 `_, + `#2143 `_, + `#2144 `_, + `#2147 `_, + `#2148 `_, + `#2152 `_, + `#2160 `_, + `#2175 `_, + `#2177 `_, + `#2179 `_, + `#2180 `_, + `#2181 `_, + `#2183 `_, + `#2184 `_, + `#2186 `_, + `#2192 `_). Thanks `@yeswalrus (Walter Gray) `_, `@Finkman `_, `@HazardyKnusperkeks (Björn Schäpers) `_, @@ -205,7 +243,13 @@ `@concatime (Issam Maghni) `_, `@chronoxor (Ivan Shynkarenka) `_, `@summivox (Yin Zhong) `_, - `@yNeo `_. + `@yNeo `_, + `@alexezeder (Alexey Ochapov) `_, + `@toojays (John Steele Scott) `_, + `@Brainy0207 `_, + `@vadz (VZ) `_, + `@imsherlock (Ryan Sherlock) `_, + `@phprus (Vladislav Shchapov) `_. * Improved documentation (`#2051 `_,