Path to this page:
Subject: CVS commit: pkgsrc/textproc/fmtlib
From: Adam Ciarcinski
Date: 2020-09-08 15:46:58
Message id: 20200908134658.652EEFB28@cvs.NetBSD.org
Log Message:
fmtlib: updated to 7.0.3
7.0.3:
* Worked around broken ``numeric_limits`` for 128-bit integers
* Added error reporting on missing named arguments
* Stopped using 128-bit integers with clang-cl
* Fixed issues in locale-specific integer formatting
7.0.2:
* Worked around broken ``numeric_limits`` for 128-bit integers
* Fixed compatibility with CMake 3.4
* Fixed handling of digit separators in locale-specific formatting
7.0.1:
* Updated the inline version namespace name.
* Worked around a gcc bug in mangling of alias templates
* Fixed a linkage error on Windows
* Fixed minor issues with the documentation.
7.0.0:
* Reduced the library size. For example, on macOS a stripped test binary
statically linked with {fmt} `shrank from ~368k to less than 100k
* Added a simpler and more efficient `format string compilation API
* Optimized integer formatting: ``format_to`` with format string compilation
and a stack-allocated buffer is now `faster than to_chars on both
libc++ and libstdc++
* Optimized handling of small format strings.
* Applied extern templates to improve compile times when using the core API
and ``fmt/format.h``
For example, on macOS with clang the compile time of a test translation unit
dropped from 2.3s to 0.3s with ``-O2`` and from 0.6s to 0.3s with the default
settings (``-O0``).
* Named arguments are now stored on stack (no dynamic memory allocations) and
the compiled code is more compact and efficient.
* Implemented compile-time checks for dynamic width and precision
* Added sentinel support to ``fmt::join``
* Added support for named args, ``clear`` and ``reserve`` to
``dynamic_format_arg_store``
* Added support for the ``'c'`` format specifier to integral types for
compatibility with ``std::format``
* Replaced the ``'n'`` format specifier with ``'L'`` for compatibility with
``std::format``
The ``'n'`` specifier can be enabled via the ``FMT_DEPRECATED_N_SPECIFIER``
macro.
* The ``'='`` format specifier is now disabled by default for compatibility with
``std::format``. It can be enabled via the ``FMT_DEPRECATED_NUMERIC_ALIGN``
macro.
* Removed the following deprecated APIs:
* ``FMT_STRING_ALIAS`` and ``fmt`` macros - replaced by ``FMT_STRING``
* ``fmt::basic_string_view::char_type`` - replaced by
``fmt::basic_string_view::value_type``
* ``convert_to_int``
* ``format_arg_store::types``
* ``*parse_context`` - replaced by ``*format_parse_context``
* ``FMT_DEPRECATED_INCLUDE_OS``
* ``FMT_DEPRECATED_PERCENT`` - incompatible with ``std::format``
* ``*writer`` - replaced by compiled format API
* Renamed the ``internal`` namespace to ``detail``
* Improved compatibility between ``fmt::printf`` with the standard specs
* Fixed handling of ``operator<<`` overloads that use ``copyfmt``
* Added the ``FMT_OS`` CMake option to control inclusion of OS-specific APIs
in the fmt target. This can be useful for embedded platforms
* Replaced ``FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION`` with the ``FMT_FUZZ``
macro to prevent interferring with fuzzing of projects using {fmt}
* Fixed compatibility with emscripten
* Improved documentation
* Implemented various build configuration fixes and improvements
* Fixed various warnings and compilation issues
Files: