Update changelog

This commit is contained in:
Victor Zverovich 2021-12-26 08:19:32 -08:00
parent 3014b3d770
commit 3110ec5a23

View File

@ -3,21 +3,99 @@
* Optimized ``tm`` formatting
(`#2602 <https://github.com/fmtlib/fmt/pull/2602>`_,
`#2628 <https://github.com/fmtlib/fmt/issues/2628>`_
`#2633 <https://github.com/fmtlib/fmt/pull/2633>`_,
`#2670 <https://github.com/fmtlib/fmt/issues/2670>`_
`#2671 <https://github.com/fmtlib/fmt/pull/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) <https://github.com/phprus>`_.
* Implemented subsecond formatting for chrono durations
(`#2623 <https://github.com/fmtlib/fmt/pull/2623>`_).
For example (`godbolt <https://godbolt.org/z/es7vWTETe>`__):
.. code:: c++
#include <fmt/chrono.h>
int main() {
fmt::print("{:%S}", std::chrono::milliseconds(1234));
}
prints "01.234".
Thanks `@alexezeder (Alexey Ochapov) <https://github.com/alexezeder>`_.
* Deprecated ``_format``, an undocumented UDL-based format API
(`#2646 <https://github.com/fmtlib/fmt/pull/2646>`_).
Thanks `@alexezeder (Alexey Ochapov) <https://github.com/alexezeder>`_.
* Disabled a partially broken copy ctor for ``dynamic_format_arg_store`` and
enabled a working move ctor
(`#2664 <https://github.com/fmtlib/fmt/pull/2664>`_).
Thanks `@lucpelletier <https://github.com/lucpelletier>`_.
* Added UDL-based named argument support to compile-time format string checks
(`#2640 <https://github.com/fmtlib/fmt/issues/2640>`_,
`#2649 <https://github.com/fmtlib/fmt/pull/2649>`_).
For example (`godbolt <https://godbolt.org/z/ohGbbvonv>`__):
.. code:: c++
#include <fmt/format.h>
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) <https://github.com/alexezeder>`_.
* Made floating point precision overflow check work with exceptions disabled
(`#2647 <https://github.com/fmtlib/fmt/pull/2647>`_).
Thanks `@alexezeder (Alexey Ochapov) <https://github.com/alexezeder>`_.
* Resolved lookup ambiguity with C++20 format-related functions due to ADL
(`#2639 <https://github.com/fmtlib/fmt/issues/2639>`_,
`#2641 <https://github.com/fmtlib/fmt/pull/2641>`_).
Thanks `@mkurdej (Marek Kurdej) <https://github.com/mkurdej>`_.
* Removed unnecessary inline namespace qualification
(`#2642 <https://github.com/fmtlib/fmt/issues/2642>`_,
`#2643 <https://github.com/fmtlib/fmt/pull/2643>`_).
Thanks `@mkurdej (Marek Kurdej) <https://github.com/mkurdej>`_.
* Improved documentation
(`#2676 <https://github.com/fmtlib/fmt/issues/2676>`_).
* Improved build configuration
(`#2650 <https://github.com/fmtlib/fmt/pull/2650>`_,
`#2651 <https://github.com/fmtlib/fmt/pull/2651>`_,
`#2663 <https://github.com/fmtlib/fmt/pull/2663>`_).
Thanks `@alexezeder (Alexey Ochapov) <https://github.com/alexezeder>`_.
* Fixed various warnings and compilation issues
(`#2627 <https://github.com/fmtlib/fmt/issues/2627>`_,
`#2630 <https://github.com/fmtlib/fmt/pull/2630>`_). Thanks
`@andrewcorrigan (Andrew Corrigan) <https://github.com/andrewcorrigan>`_.
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 <https://godbolt.org/z/sMxcohGjz>`__):
.. code:: c++