mirror of
https://github.com/fmtlib/fmt.git
synced 2024-11-27 04:20:06 +00:00
Update changelog
This commit is contained in:
parent
3014b3d770
commit
3110ec5a23
@ -3,21 +3,99 @@
|
|||||||
|
|
||||||
* Optimized ``tm`` formatting
|
* Optimized ``tm`` formatting
|
||||||
(`#2602 <https://github.com/fmtlib/fmt/pull/2602>`_,
|
(`#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>`_
|
`#2670 <https://github.com/fmtlib/fmt/issues/2670>`_
|
||||||
`#2671 <https://github.com/fmtlib/fmt/pull/2671>`_).
|
`#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>`_.
|
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
|
* Disabled a partially broken copy ctor for ``dynamic_format_arg_store`` and
|
||||||
enabled a working move ctor
|
enabled a working move ctor
|
||||||
(`#2664 <https://github.com/fmtlib/fmt/pull/2664>`_).
|
(`#2664 <https://github.com/fmtlib/fmt/pull/2664>`_).
|
||||||
Thanks `@lucpelletier <https://github.com/lucpelletier>`_.
|
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
|
* Improved build configuration
|
||||||
(`#2650 <https://github.com/fmtlib/fmt/pull/2650>`_,
|
(`#2650 <https://github.com/fmtlib/fmt/pull/2650>`_,
|
||||||
`#2651 <https://github.com/fmtlib/fmt/pull/2651>`_,
|
`#2651 <https://github.com/fmtlib/fmt/pull/2651>`_,
|
||||||
`#2663 <https://github.com/fmtlib/fmt/pull/2663>`_).
|
`#2663 <https://github.com/fmtlib/fmt/pull/2663>`_).
|
||||||
Thanks `@alexezeder (Alexey Ochapov) <https://github.com/alexezeder>`_.
|
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
|
8.0.1 - 2021-07-02
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
@ -70,7 +148,7 @@
|
|||||||
8.0.0 - 2021-06-21
|
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>`__):
|
For example (`godbolt <https://godbolt.org/z/sMxcohGjz>`__):
|
||||||
|
|
||||||
.. code:: c++
|
.. code:: c++
|
||||||
|
Loading…
Reference in New Issue
Block a user