fmt/fmt.changes

369 lines
14 KiB
Plaintext
Raw Normal View History

-------------------------------------------------------------------
Wed Jul 29 17:33:10 UTC 2020 - aloisio@gmx.com
- Update to version 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
-------------------------------------------------------------------
Tue Jul 7 19:18:26 UTC 2020 - aloisio@gmx.com
- Update to version 7.0.1
* Updated the inline version namespace name.
* Worked around a gcc bug in mangling of alias templates
* Fixed minor issues with the documentation.
Accepting request 819012 from home:alois:branches:devel:libraries:c_c++ - Update to version 7.0.0 * Reduced the library size. * Added a simpler and more efficient format string compilation API. The old fmt::compile API is now deprecated. * 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. It is still recommended to use fmt/core.h instead of fmt/format.h but the compile time difference is now smaller. * 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. The former is still provided as an alias if the FMT_USE_INTERNAL macro is defined. * 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. - Drop fmt-6.2.1-fix_pkgconfig_paths.patch - Bump sover to 7 OBS-URL: https://build.opensuse.org/request/show/819012 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/fmt?expand=0&rev=26
2020-07-06 16:53:14 +02:00
-------------------------------------------------------------------
Mon Jul 6 14:36:10 UTC 2020 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 7.0.0
* Reduced the library size.
* Added a simpler and more efficient format string compilation
API. The old fmt::compile API is now deprecated.
* 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. It is still recommended to use
fmt/core.h instead of fmt/format.h but the compile time
difference is now smaller.
* 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. The former is
still provided as an alias if the FMT_USE_INTERNAL macro is
defined.
* 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.
- Drop fmt-6.2.1-fix_pkgconfig_paths.patch
- Bump sover to 7
-------------------------------------------------------------------
Tue Jun 23 16:02:53 UTC 2020 - Luigi Baldoni <aloisio@gmx.com>
- Add fmt-6.2.1-fix_pkgconfig_paths.patch (fix for boo#1173270)
-------------------------------------------------------------------
Sat May 9 17:53:02 UTC 2020 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 6.2.1
* Fixed ostream support in ``sprintf``
(`#1631 <https://github.com/fmtlib/fmt/issues/1631>`_).
* Fixed type detection when using implicit conversion to
``string_view`` and ostream ``operator<<`` inconsistently
(`#1662 <https://github.com/fmtlib/fmt/issues/1662>`_).
- Drop 7d01859ef16e6b65bc023ad8bebfedecb088bf81.patch (no longer
necessary)
- Spec cleanup
-------------------------------------------------------------------
Tue Apr 14 13:04:56 UTC 2020 - Hans-Peter Jansen <hpj@urpla.net>
- Apply 7d01859ef16e6b65bc023ad8bebfedecb088bf81.patch
to fix kodi compilation and probably others:
https://github.com/fmtlib/fmt/issues/1620
Accepting request 791803 from home:alois:branches:devel:libraries:c_c++ - Update to version 6.2.0 * Improved error reporting when trying to format an object of a non-formattable type: * Reduced library size by ~10%. * Always print decimal point if # is specified (#1476, #1498): * Implemented the 'L' specifier for locale-specific numeric formatting to improve compatibility with std::format. The 'n' specifier is now deprecated and will be removed in the next major release. * Moved OS-specific APIs such as windows_error from fmt/format.h to fmt/os.h. You can define FMT_DEPRECATED_INCLUDE_OS to automatically include fmt/os.h from fmt/format.h for compatibility but this will be disabled in the next major release. * Added precision overflow detection in floating-point formatting. * Implemented detection of invalid use of fmt::arg. * Used type_identity to block unnecessary template argument deduction. * Improved UTF-8 handling (#1109): * Added experimental dynamic argument storage (#1170, #1584): * Made fmt::join accept initializer_list (#1591). * Fixed handling of empty tuples (#1588). * Fixed handling of output iterators in format_to_n (#1506). * Fixed formatting of std::chrono::duration types to wide output (#1533). * Added const begin and end overload to buffers (#1553). * Added the ability to disable floating-point formatting via FMT_USE_FLOAT, FMT_USE_DOUBLE and FMT_USE_LONG_DOUBLE macros for extremely memory-constrained embedded system (#1590). * Made FMT_STRING work with constexpr string_view (#1589). * Implemented a minor optimization in the format string parser (#1560). * Improved attribute detection (#1469, #1475, #1576). * Improved documentation (#1481, #1523). * Fixed symbol visibility on Linux when compiling with -fvisibility=hidden (#1535). * Implemented various build configuration fixes and improvements (#1264, #1460, #1534, #1536, #1545, #1546, #1566, #1582, #1597, #1598). * Fixed various warnings and compilation issues - Dropped Group tag OBS-URL: https://build.opensuse.org/request/show/791803 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/fmt?expand=0&rev=17
2020-04-06 16:47:34 +02:00
-------------------------------------------------------------------
Mon Apr 6 14:21:08 UTC 2020 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 6.2.0
* Improved error reporting when trying to format an object of
a non-formattable type:
* Reduced library size by ~10%.
* Always print decimal point if # is specified (#1476, #1498):
* Implemented the 'L' specifier for locale-specific numeric
formatting to improve compatibility with std::format. The 'n'
specifier is now deprecated and will be removed in the next
major release.
* Moved OS-specific APIs such as windows_error from
fmt/format.h to fmt/os.h. You can define
FMT_DEPRECATED_INCLUDE_OS to automatically include fmt/os.h from
fmt/format.h for compatibility but this will be disabled in the
next major release.
* Added precision overflow detection in floating-point
formatting.
* Implemented detection of invalid use of fmt::arg.
* Used type_identity to block unnecessary template argument
deduction.
* Improved UTF-8 handling (#1109):
* Added experimental dynamic argument storage (#1170, #1584):
* Made fmt::join accept initializer_list (#1591).
* Fixed handling of empty tuples (#1588).
* Fixed handling of output iterators in format_to_n (#1506).
* Fixed formatting of std::chrono::duration types to wide
output (#1533).
* Added const begin and end overload to buffers (#1553).
* Added the ability to disable floating-point formatting via
FMT_USE_FLOAT, FMT_USE_DOUBLE and FMT_USE_LONG_DOUBLE macros for
extremely memory-constrained embedded system (#1590).
* Made FMT_STRING work with constexpr string_view (#1589).
* Implemented a minor optimization in the format string parser
(#1560).
* Improved attribute detection (#1469, #1475, #1576).
* Improved documentation (#1481, #1523).
* Fixed symbol visibility on Linux when compiling with
-fvisibility=hidden (#1535).
* Implemented various build configuration fixes and
improvements (#1264, #1460, #1534, #1536, #1545, #1546, #1566,
#1582, #1597, #1598).
* Fixed various warnings and compilation issues
- Dropped Group tag
-------------------------------------------------------------------
Wed Dec 11 16:57:03 UTC 2019 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 6.1.2
* Fixed ABI compatibility with libfmt.so.6.0.0 (#1471).
* Fixed handling types convertible to std::string_view (#1451).
Thanks @denizevrenci (Deniz Evrenci).
* Made CUDA test an opt-in enabled via the FMT_CUDA_TEST CMake
option.
* Fixed sign conversion warnings (#1440). Thanks @0x8000-0000
(Florin Iucha).
-------------------------------------------------------------------
Thu Dec 5 15:43:30 UTC 2019 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 6.1.1
* Added a missing decimal point in exponent notation with
trailing zeros.
* Removed deprecated format_arg_store::TYPES.
-------------------------------------------------------------------
Wed Dec 4 11:34:50 UTC 2019 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 6.1.0
* {fmt} now formats IEEE 754 ``float`` and ``double`` using
the shortest decimal representation with correct rounding by
default:
.. code:: c++
#include <cmath>
#include <fmt/core.h>
int main() {
fmt::print("{}", M_PI);
}
prints ``3.141592653589793``.
* Made the fast binary to decimal floating-point formatter the
default, simplified it and improved performance. {fmt} is now
15 times faster than libc++'s ``std::ostringstream``, 11
times faster than ``printf`` and 10% faster than
double-conversion on `dtoa-benchmark
(https://github.com/fmtlib/dtoa-benchmark)
================== ========= =======
Function Time (ns) Speedup
================== ========= =======
ostringstream 1,346.30 1.00x
ostrstream 1,195.74 1.13x
sprintf 995.08 1.35x
doubleconv 99.10 13.59x
fmt 88.34 15.24x
================== ========= =======
* {fmt} no longer converts ``float`` arguments to ``double``.
In particular this improves the default (shortest)
representation of floats and makes
``fmt::format`` consistent with ``std::format`` specs
(#1336, #1353, #1360, #1361)
.. code:: c++
fmt::print("{}", 0.1f);
prints ``0.1`` instead of ``0.10000000149011612``.
* Made floating-point formatting output consistent with
``printf``/iostreams (#1376, #1417)
* Added support for 128-bit integers (#1287)
.. code:: c++
fmt::print("{}", std::numeric_limits<__int128_t>::max());
prints ``170141183460469231731687303715884105727``.
* The overload of ``print`` that takes ``text_style`` is now
atomic, i.e. the output from different threads doesn't
interleave (#1351)
* Made compile time in the header-only mode ~20% faster by
reducing the number of template instantiations. ``wchar_t``
overload of ``vprint`` was moved from
``fmt/core.h`` to ``fmt/format.h``.
* Added an overload of ``fmt::join`` that works with tuples
(#1322, #1330)
.. code:: c++
#include <tuple>
#include <fmt/ranges.h>
int main() {
std::tuple<char, int, float> t{'a', 1, 2.0f};
fmt::print("{}", t);
}
prints ``('a', 1, 2.0)``.
* Changed formatting of octal zero with prefix from "0o0" to
"0":
.. code:: c++
fmt::print("{:#o}", 0);
prints ``0``.
* The locale is now passed to ostream insertion (``<<``)
operators (#1406)
.. code:: c++
#include <fmt/locale.h>
#include <fmt/ostream.h>
struct S {
double value;
};
std::ostream& operator<<(std::ostream& os, S s) {
return os << s.value;
}
int main() {
auto s = fmt::format(std::locale("fr_FR.UTF-8"), "{}", S{0.42});
// s == "0,42"
}
* Locale-specific number formatting now uses grouping (#1393,
#1394)
* Fixed handling of types with deleted implicit rvalue
conversion to ``const char**`` (#1421)
.. code:: c++
struct mystring {
operator const char*() const&;
operator const char*() &;
operator const char*() const&& = delete;
operator const char*() && = delete;
};
mystring str;
fmt::print("{}", str); // now compiles
* Enums are now mapped to correct underlying types instead of
``int`` (#1286)
* Enum classes are no longer implicitly converted to ``int``
(#1424)
* Added ``basic_format_parse_context`` for consistency with
C++20 ``std::format`` and deprecated ``basic_parse_context``.
* Fixed handling of UTF-8 in precision (#1389, #1390)
* Added a CUDA test (#1285, #1317)
* Improved documentation (#1276, #1291, #1296, #1315, #1332,
#1337, #1395, #1418)
* Various code improvements (#1358, #1407)
* Fixed compile-time format string checks for user-defined
types (#1292)
* Worked around a false positive in
``unsigned-integer-overflow`` sanitizer (#1377)
* Fixed various warnings and compilation issues (#1273, #1278,
#1280, #1281, #1288, #1290, #1301, #1305, #1306, #1309,
#1312, #1313, #1316, #1319, #1320, #1326, #1328, #1344,
#1345, #1347, #1349, #1354, #1362, #1366, #1364, #1370,
#1371, #1385, #1388, #1397, #1414, #1416, #1422, #1427,
#1431, #1433)
- Dropped fmt-bigendian_1.patch, fmt-bigendian_2.patch,
fmt-bigendian_3.patch and fmt-bigendian_4.patch (merged
upstream)
-------------------------------------------------------------------
Sun Dec 1 08:54:54 UTC 2019 - Luigi Baldoni <aloisio@gmx.com>
- Added fmt-bigendian_1.patch, fmt-bigendian_2.patch,
fmt-bigendian_3.patch and fmt-bigendian_4.patch to fix tests
on big endian targets
-------------------------------------------------------------------
Fri Nov 29 08:46:30 UTC 2019 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 6.0.0
(too many changes to list, see ChangeLog.rst)
- Dropped 0001-install-pkg-config-file-into-libdir.patch (no
longer necessary)
- Switched to MIT license
- Increased SOVERSION to 6
-------------------------------------------------------------------
Mon Mar 25 16:21:01 UTC 2019 - olaf@aepfle.de
- Install fmt.pc into libdir with
0001-install-pkg-config-file-into-libdir.patch
-------------------------------------------------------------------
Sat Jan 12 18:29:40 UTC 2019 - Ferdinand Thiessen <rpm@fthiessen.de>
- Update to version 5.3.0:
* Introduced experimental chrono formatting support
* Added experimental support for emphasis
(bold, italic, underline, strikethrough), colored output to a
file stream, and improved colored formatting API
* Added support for 4-bit terminal colors
* Made std::string_view work as a format string
* Added wide string support to compile-time format string checks
* Made colored print functions work with wide strings
* Introduced experimental Unicode support
* Removed undocumented basic_fixed_buffer which has been
superseded by the iterator-based API
* Disallowed repeated leading zeros in an argument ID
* Deprecated fmt::visit, parse_context, and wparse_context.
Use fmt::visit_format_arg, format_parse_context, and
wformat_parse_context instead.
- Removed upstream merged fix-fmt_pc.patch
-------------------------------------------------------------------
Thu Dec 6 21:15:37 UTC 2018 - Jan Engelhardt <jengelh@inai.de>
- Do without em dashes in summaries.
-------------------------------------------------------------------
Thu Dec 6 13:38:46 UTC 2018 - Luigi Baldoni <aloisio@gmx.com>
- Added baselibs.conf as source
-------------------------------------------------------------------
Fri Nov 9 11:51:14 UTC 2018 - munix9@googlemail.com
- initial package for version 5.2.1