C++ Format v4.1.0 Release Notes

Release Date: 2017-12-20 // almost 5 years ago
    • Added fmt::to_wstring() in addition to fmt::to_string() (#559 <https://github.com/fmtlib/fmt/pull/559>). Thanks @alabuzhev (Alex Alabuzhev) <https://github.com/alabuzhev>.

    • ➕ Added support for C++17 std::string_view (#571 <https://github.com/fmtlib/fmt/pull/571>_ and #578 <https://github.com/fmtlib/fmt/pull/578>). Thanks @thelostt (Mário Feroldi) <https://github.com/thelostt> and @mwinterb <https://github.com/mwinterb>_.

    • Enabled stream exceptions to catch errors (#581 <https://github.com/fmtlib/fmt/issues/581>). Thanks @crusader-mike <https://github.com/crusader-mike>.

    • 👍 Allowed formatting of class hierarchies with fmt::format_arg() (#547 <https://github.com/fmtlib/fmt/pull/547>). Thanks @rollbear (Björn Fahller) <https://github.com/rollbear>.

    • ✂ Removed limitations on character types (#563 <https://github.com/fmtlib/fmt/pull/563>). Thanks @Yelnats321 (Elnar Dakeshov) <https://github.com/Yelnats321>.

    • Conditionally enabled use of std::allocator_traits (#583 <https://github.com/fmtlib/fmt/pull/583>). Thanks @mwinterb <https://github.com/mwinterb>.

    • ➕ Added support for const variadic member function emulation with FMT_VARIADIC_CONST (#591 <https://github.com/fmtlib/fmt/pull/591>). Thanks @ludekvodicka (Ludek Vodicka) <https://github.com/ludekvodicka>.

    • 🛠 Various bugfixes: bad overflow check, unsupported implicit type conversion when determining formatting function, test segfaults (#551 <https://github.com/fmtlib/fmt/issues/551>), ill-formed macros (#542 <https://github.com/fmtlib/fmt/pull/542>) and ambiguous overloads (#580 <https://github.com/fmtlib/fmt/issues/580>). Thanks @xylosper (Byoung-young Lee) <https://github.com/xylosper>.

    • ⚠ Prevented warnings on MSVC (#605 <https://github.com/fmtlib/fmt/pull/605>, #602 <https://github.com/fmtlib/fmt/pull/602>, and #545 <https://github.com/fmtlib/fmt/pull/545>), clang (#582 <https://github.com/fmtlib/fmt/pull/582>), GCC (#573 <https://github.com/fmtlib/fmt/issues/573>), various conversion warnings (#609 <https://github.com/fmtlib/fmt/pull/609>, #567 <https://github.com/fmtlib/fmt/pull/567>, #553 <https://github.com/fmtlib/fmt/pull/553> and #553 <https://github.com/fmtlib/fmt/pull/553>), and added override and [[noreturn]] (#549 <https://github.com/fmtlib/fmt/pull/549> and #555 <https://github.com/fmtlib/fmt/issues/555>). Thanks @alabuzhev (Alex Alabuzhev) <https://github.com/alabuzhev>, @virgiliofornazin (Virgilio Alexandre Fornazin) <https://gihtub.com/virgiliofornazin>, @alexanderbock (Alexander Bock) <https://github.com/alexanderbock>, @yumetodo <https://github.com/yumetodo>, @VaderY (Császár Mátyás) <https://github.com/VaderY>, @jpcima (JP Cimalando) <https://github.com/jpcima>, @thelostt (Mário Feroldi) <https://github.com/thelostt>, and @Manu343726 (Manu Sánchez) <https://github.com/Manu343726>_.

    • 👌 Improved CMake: Used GNUInstallDirs to set installation location (#610 <https://github.com/fmtlib/fmt/pull/610>) and fixed warnings (#536 <https://github.com/fmtlib/fmt/pull/536> and #556 <https://github.com/fmtlib/fmt/pull/556>). Thanks @mikecrowe (Mike Crowe) <https://github.com/mikecrowe>, @evgen231 <https://github.com/evgen231>_ and @henryiii (Henry Schreiner) <https://github.com/henryiii>_.