Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Created by
brew bump
Created with
brew bump-formula-pr
.release notes
Added support for the chrono suffix for days and changed the suffix for minutes from "m" to the correct "min" (Formatting durations fmtlib/fmt#3662, suffixes for helper chrono types added in C++ 20 fmtlib/fmt#3664). For example (godbolt):
Thanks @Richardk2n.
Fixed an overflow in
std::chrono::time_point
formatting with large dates (Date overflow with std::chrono::time_point fmtlib/fmt#3725, Fix overflow in time_point formatting with large dates fmtlib/fmt#3727). Thanks @cschreib.Added a formatter for
std::source_location
(Added formatter for std::source_location fmtlib/fmt#3730). For example (godbolt):prints
Thanks @felix642.
Added a formatter for
std::bitset
(fix: make std::bitset formattable again fmtlib/fmt#3660). For example (godbolt):Thanks @muggenhor.
Added an experimental
nested_formatter
that provides an easy way of applying a formatter to one or more subobjects while automatically handling width, fill and alignment. For example:prints
Added the generic representation (
g
) tostd::filesystem::path
(Support both generic and native format of std::filesystem::path fmtlib/fmt#3715, Add native and generic representation for filesystem::path format spec fmtlib/fmt#3729). For example:prints
"C:/foo"
on Windows.Thanks @js324.
Made
format_as
work with references (allow format_as() to format reference fmtlib/fmt#3739). Thanks @tchaikov.Fixed formatting of invalid UTF-8 with precision (Extra characters printed when formatting invalid UTF-8 with precision fmtlib/fmt#3284).
Fixed an inconsistency between
fmt::to_string
andfmt::format
(Inconsistency between fmt::to_string(_) and fmt::format("{}", _) fmtlib/fmt#3684).Disallowed unsafe uses of
fmt::styled
(Cannot decide between differentfmt::style
s at runtime, gives crashes. fmtlib/fmt#3625):Pass
fmt::styled(...)
as a parameter instead.Added a null check when formatting a C string with the
s
specifier (Crash formatting null strings fmtlib/fmt#3706).Disallowed the
c
specifier forbool
(presentation_typec
accepted in combination withbool
fmtlib/fmt#3726, Disallow presentation_typec
in combination withbool
arg fmtlib/fmt#3734). Thanks @js324.Made the default formatting unlocalized in
fmt::ostream_formatter
for consistency with the rest of the library (Question: locale treated differently by fmt and std::cout fmtlib/fmt#3460).Fixed localized formatting in bases other than decimal (Localized formatting is always decimal fmtlib/fmt#3693, Add localized formatting to non-decimal presentation types of ints fmtlib/fmt#3750). Thanks @js324.
Fixed a performance regression in experimental
fmt::ostream::print
(Performance regression since 10.0.0 fmtlib/fmt#3674).Added synchronization with the underlying output stream when writing to the Windows console (Added synchronization with the main storage device before direct recording fmtlib/fmt#3668, Incorrect call to fflush() inside write_console() fmtlib/fmt#3688, Fix flushing C++ iostreams before calling write_console() fmtlib/fmt#3689). Thanks @Roman-Koshelev and @dimztimz.
Changed to only export
format_error
when {fmt} is built as a shared library (Reconsider forcibly exportingformat_error
symbol on GCC fmtlib/fmt#3626, Fix symbol leak fmtlib/fmt#3627). Thanks @phprus.Made
fmt::streamed
constexpr
. (fix: mark fmt::streamed() as constexpr fmtlib/fmt#3650). Thanks @muggenhor.Enabled
consteval
on older versions of MSVC (Enable consteval in MSVC VS2019 version 16.10 fmtlib/fmt#3757). Thanks @phprus.Added an option to build without
wchar_t
support on Windows (Windows API systems without UTF-16 APIs fmtlib/fmt#3631, Add an option to avoid wchar APIs on Windows fmtlib/fmt#3636). Thanks @glebm.Improved build and CI configuration (Add support for CMake 3.28 C++ module features fmtlib/fmt#3679, CMake does not set PDB path for Visual Studio fmtlib/fmt#3701, Set PDB path for Visual Studio fmtlib/fmt#3702, CI: add lint github workflow for running clang-format fmtlib/fmt#3749). Thanks @jcar87, @pklima and @tchaikov.
Fixed various warnings, compilation and test issues (Clang 18 rejects
operator"" _a
fmtlib/fmt#3607, Avoid a space in the UDL definition fmtlib/fmt#3610, Remove type cast as mxe(mingw32) compiler complains about useless-cast fmtlib/fmt#3624, fix redundant redeclaration of ‘constexpr’ static data member fmtlib/fmt#3630, Fix deprecation warning in libc++ (LLVM-16) fmtlib/fmt#3634, Replace use of newer C++ library feature with older equivalent fmtlib/fmt#3638, Unexpected output from intel fmt::fprint fmtlib/fmt#3645, signed/unsigned error on MSVC 14.36.32532 fmtlib/fmt#3646, Fix datatype of underlying data to avoid signed/unsigned compiler warning with MSVC fmtlib/fmt#3647, Workaround intel bug fmtlib/fmt#3652, Compilation fails using Clang 17 toolchain fmtlib/fmt#3654, Remove leftover usage of the __std_stream header fmtlib/fmt#3663, 4 test failures on OpenBSD x86_64 (chrono-test, gtest-extra-test, xchar-test, posix-mock-test) fmtlib/fmt#3670, Fix error C2668 on Windows with option /std:c++latest fmtlib/fmt#3680, High impact Coverity finding in include/fmt/format.h fmtlib/fmt#3694, Wrap Char in array to avoid pointer arithmetic fmtlib/fmt#3695, Fix include xlocale fmtlib/fmt#3699, <fmt/std.h> compilation failure with MinGW fmtlib/fmt#3705,fmt::format
doesn't seem to work with bidirectional nested ranges fmtlib/fmt#3710, formatting a std::optional with format_as function fails to compile using clang fmtlib/fmt#3712, fix: supportoptional<T>
withformat_as(T)
(#3712) fmtlib/fmt#3713, Fresh update of CMakeLists.txt incorrect? fmtlib/fmt#3714, Added workaround for old xcode compiler bug fmtlib/fmt#3716, Remove this-> from decltype fmtlib/fmt#3723, Compile error with GCC 6.3.0 fmtlib/fmt#3738, Compilation error with clang in CUDA mode fmtlib/fmt#3740, Fix CMake build fmtlib/fmt#3741, Fix compile with GCC 6.3.0 (bug #3738) fmtlib/fmt#3743,isfinite
declaredconstexpr
for c++20 fmtlib/fmt#3745, Fix typo in gmock-gtest-all.cc fmtlib/fmt#3747, Fix warning: identifier '_a' preceded by whitespace in a literal operator declaration is deprecated fmtlib/fmt#3748, Usevoid(*)(void*)
instead ofdecltype(&std::free)
to satisfy clang in CUDA mode fmtlib/fmt#3751, Add stdlib version check for C++20 fmtlib/fmt#3754, Apply clang-format fmtlib/fmt#3755, format_test.format_double fails fmtlib/fmt#3760, Make hex float test more stable on different libc fmtlib/fmt#3762,format_as
converting struct totuple
no longer works fmtlib/fmt#3763, Fix wchar_t to char conversion warnings fmtlib/fmt#3764, chrono-test failing on i386 and armhf on Ubuntu fmtlib/fmt#3774, Consistently usefmt::
when invokingformat_to
. fmtlib/fmt#3779). Thanks @danakj, @vinayyadav3016, @cyyever, @phprus, @qimiko, @saschasc, @gsjaardema, @lazka, @Zhaojun-Liu, @carlsmedstad, @hotwatermorning, @cptFracassa, @kuguma, @PeterJohnson, @H1X4Dev, @asantoni, @eltociear, @msimberg, @tchaikov, @waywardmonkeys.Improved documentation and README (Improve documentation for best practices around specializing fmt::formatter fmtlib/fmt#2086, fmt::print() throwing on file IO errors should at least be clearly documented fmtlib/fmt#3637, Remove unnecessary spaces fmtlib/fmt#3642, README.rst: fix broken LICENSE link fmtlib/fmt#3653, Add security policy to readme fmtlib/fmt#3655, minor fix to README.rst security policy link fmtlib/fmt#3661,
?
format spec is undocumented fmtlib/fmt#3673, add meson instructions to usage docs fmtlib/fmt#3677, Update README.rst fmtlib/fmt#3737, Reference to README.rst broken in CMakeLists.txt fmtlib/fmt#3742, Fix README file table fmtlib/fmt#3744). Thanks @idzm, @perlun, @joycebrum, @fennewald, @reinhardt1053, @GeorgeLS.Updated CI dependencies (Bump actions/checkout from 3.5.3 to 3.6.0 fmtlib/fmt#3615, Bump github/codeql-action from 2.21.4 to 2.21.5 fmtlib/fmt#3622, Bump actions/checkout from 3.5.3 to 4.0.0 fmtlib/fmt#3623, Bump actions/checkout from 4.0.0 to 4.1.0 fmtlib/fmt#3666, Bump github/codeql-action from 2.21.5 to 2.22.5 fmtlib/fmt#3696, Bump ossf/scorecard-action from 2.2.0 to 2.3.1 fmtlib/fmt#3697, [StepSecurity] ci: Harden GitHub Actions fmtlib/fmt#3759, Bump actions/upload-artifact from 3.1.2 to 4.0.0 fmtlib/fmt#3782).