Skip to content

Conversation

@glandium
Copy link
Contributor

This fixes -Wuninitialized warnings with GCC.

Fixes #3514.

@google-cla
Copy link

google-cla bot commented Apr 20, 2022

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

For more information, open the CLA check for this pull request.

@glandium glandium marked this pull request as draft April 20, 2022 01:35
This fixes -Wuninitialized warnings with GCC.

Fixes google#3514.
@glandium glandium changed the title Initialize MatcherBase.buffer_ in the default constructor Always initialize fields in MatcherBase constructors Apr 20, 2022
@glandium glandium marked this pull request as ready for review April 20, 2022 02:37
@derekmauro derekmauro self-assigned this Apr 25, 2022
@glandium
Copy link
Contributor Author

It doesn't look like the Windows failure is caused by this change.

@copybara-service copybara-service bot merged commit b53547b into google:main Apr 26, 2022
phprus added a commit to phprus/fmt that referenced this pull request Sep 5, 2024
vitaut pushed a commit to fmtlib/fmt that referenced this pull request Sep 5, 2024
clrpackages pushed a commit to clearlinux-pkgs/fmt that referenced this pull request Jan 16, 2025
Alex Hirsch (1):
      Include <filesystem> only if FMT_CPP_LIB_FILESYSTEM is set (#4258)

Amin Yahyaabadi (1):
      fix: pass /utf-8 only if the compiler is MSVC at build time

Anthony VH (1):
      Improve compile-time formatting (#4127)

Cameron Angus (4):
      Wrap private module fragment content within conditional extern "C++", to match declarations. (#4083)
      Mark namespace scope constexpr variable 'buffer_size' inline. (#4084)
      Small fixes for some issues with modules builds (#4152)
      Module linkage fixes for shared build (#4169)

Carl Smedstad (1):
      Define CMake components to allow docs to be installed separately (#4276)

Casey Carter (1):
      Conform `std::iterator_traits<fmt::appender>` to [iterator.traits]/1 (#4185)

Francesco Cavaliere (1):
      Silencing Wextra-semi warning (#4188)

Hannes Harnisch (1):
      Allow getting size of dynamic format arg store (#4270)

Haowei (1):
      Address build failures when using Tip-of-Tree clang. (#4187)

Hugo Sales (1):
      Add 'n' specifier for tuple and pair (#4107)

Justin Riddell (5):
      Fix gcc 8.1 - 8.3 bug and compilation (#4131)
      Add support for _BitInt on clang (#4072)
      Require clang >=15 for _BitInt support (#4176)
      Replace std::forward for clang-tidy (#4236)
      Export all range join overloads (#4239)

Khanh H (1):
      More chrono padding (#4161)

Maxwell (1):
      Change std::copy to detail::copy in chrono to fix MSVC compile errors (#4132)

Paulo Assis (1):
      Fix conversion warning on chrono.h (#4170)

Roberto Turrado Camblor (2):
      Make `support/python/mkdocstrings_handlers/cxx/__init__.py` PEP 8 compliant (1 of 2) (#4110)
      Make `support/python/mkdocstrings_handlers/cxx/__init__.py` PEP 8 compliant (2 of 2) (#4115)

Sascha Hestermann (1):
      Make parameter basic_memory_buffer<char, SIZE>& buf of to_string const

Sergey (2):
      Fix error: cannot use 'try' with exceptions disabled in Win LLVM Clang (#4208)
      Fix narrowing conversion warning in struct fstring (#4210)

Victor Zverovich (279):
      Mark more formatters nonlocking
      Reenable print optimization
      Simplify on_text
      Improve parsing
      Workaround gcc stringop-overflow bug
      Remove all warning suppressions
      Remove the commenting attempt
      Unbloat chrono
      Remove counting_iterator
      Simplify format_decimal
      Improve format_decimal
      Constrain format_uint
      Add redirect page
      Fix doc build
      Align digits table
      Test alignment
      Apply coding conventions
      Diagnose invalid precision
      Reduce float_specs usage
      Remove float_format
      Remove float_specs
      Apply clang-format
      Get rid of std::copy
      Use us if Unicode is disabled
      Optimize shortest float formatting
      Simplify spec handling
      Improve spec parsing
      Deprecate append instantiation
      Simplify handling of dynamic specs
      Simplify handling of dynamic specs
      Improve handling of dynamic specs
      Simplify default formatter
      Fix back_inserter lookup for non-std containers
      Add a test case
      Fix ambiguous overload
      Reduce format specs size
      Cleanup public API
      Get rid of bit fields
      Make align a proper enum class
      Make sign a proper enum class
      Minor cleanup
      Simplify ostream
      Add an experimental writer API
      Test full exponent range
      Fix %S doc
      Cleanup duration cast
      Minor cleanup
      Minor cleanup
      Cleanup chrono formatting
      Cleanup chrono formatting
      Workaround -Wstringop-overflow
      Add opt out for built-in types
      Minor cleanup
      Simplify locale handling
      Simplify is_utf8_enabled
      Disable locale more
      Disable locale more
      Improve binary size
      Minor cleanup
      Simplify format_to_result
      Improve binary size
      Improve binary size
      Move redundant initialization to compile time
      Reject modernity, embrace tradition
      Minor cleanup
      Fix _BitInt formatter
      fwrite_fully -> fwrite_all
      Minor cleanup
      Move string_literal to format.h
      Cleanup compile-time check
      Remove old gcc hack
      Cleanup compile-time checks
      Cleanup FMT_STRING
      Simplify compile-time checks
      Simplify compile-time checks
      Clarify why we have TYPE in native_formatter
      Improve handling of named arguments
      Reduce template instantiations
      Improve handling of named arguments in compile-time checks
      Improve compile-time checks
      basic_format_parse_context -> parse_context
      Remove duplicate error in compile-time checks
      Make map static
      Simplify parse_format_string
      Cleanup base API
      Minor cleanup
      Minor cleanup
      Detemplatize parse
      Minor cleanup
      Add mapped_t
      Cleanup base API
      Cleanup base API
      Cleanup base API
      Cleanup base API
      Reduce the number of instantiations
      Simplify arg_mapper
      Simplify arg_mapper
      Simplify mapped_type_constant
      Improve debug codegen
      Cleanup base API
      Cleanup base API
      Cleanup base API
      Cleanup base API
      Cleanup base API
      Add FMT_APPLY_VARIADIC
      Cleanup base API
      Improve debug codegen
      Fix handling of _BitInt
      Fix locale tests on FreeBSD
      Workaround a clang 17 bug
      Workaround an MSVC bug
      Minor cleanup
      Make symbol sizes shorter
      Cleanup format string API
      Update MSVC workaround in compile-test
      Make is_formattable work with void
      Improve debug codegen
      Suppress a gcc 13 warning
      Reenable FMT_BUILTIN_TYPES
      Remove make_arg
      Cleanup base API
      Reduce usage of type_identity
      Optimize debug codegen
      Suppress a bogus MSVC warning
      Prepare for arg_store unification
      Improve debug codegen
      Simplify make_format_args
      Simplify make_format_args
      Minor cleanup
      Simplify value ctor
      Switch to vargs
      Switch to vargs
      Cleanup
      Cleanup
      Cleanup
      Readd support for FMT_BUILTIN_TYPES
      Improve debug codegen
      Improve debug codegen
      Cleanup
      Cleanup
      Cleanup
      Don't use format_error if exceptions disabled
      Optionally disable named arguments
      Optionally exclude Unicode data
      Cleanup
      Adjust clang-format
      Remove unnecessary forwarding
      Remove unused type
      Remove iterator_t
      Cleanup visit
      Cleanup
      Update gcc version
      Remove old workaround
      Remove old workaround
      Avoid shadowing
      Cleanup format API
      Cleanup format API
      Remove FMT_USE_USER_LITERALS
      Cleanup chrono
      Cleanup
      Minor cleanup
      Remove FMT_STATIC_THOUSANDS_SEPARATOR in favor of FMT_USE_LOCALE
      Simplify pragma
      FMT_EXCEPTIONS -> FMT_USE_EXCEPTIONS
      Fix no locale build
      Rename pragma macros
      Cleanup FMT_COMPILE_STRING
      Demacrify UTF-8 check
      Workaround a bug in libstdc++
      Add reference to iterator_traits
      Update changelog
      Cleanup argument handling
      Remove make_arg
      Improve error reporting
      Remove redundant check
      Simplify handling of _BitInt
      Add value ctor taking name_arg
      Cleanup format_as handling
      Simplify type mapping
      Simplify type mapping
      Always detect encoding on Windows
      Cleanup type mapping
      Remove FMT_MAP_API
      Cleanup type mapping
      arg_mapper -> type_mapper
      Remove unformattable
      Improve handling of unformattable args
      Sync value ctors and type mapper
      Simplify has_formatter
      Simplify has_formatter
      Simplify has_formatter
      Remove range_mapper
      Remove formattable
      Remove unwrap_named_arg
      Simplify handling of arrays
      Remove unnecessary inheritance
      Remove FMT_UNCHECKED_ITERATOR
      Cleanup pragma detection
      Fix a typo
      Add member format_as for std
      Workaround clang-format nonsense
      Apply clang-format
      Cleanup format.h
      Remove type_identity
      Add width and alignment support to error_code
      Cleanup format.h
      Simplify locale handling
      Deprecate detail::locale_ref
      Export more
      Cleanup format API
      Don't assume repeated evaluation of string literal produce the same pointer
      Test nondeterministic conversion to format string
      Fix handling FMT_BUILTIN_TYPES
      Relax constexpr
      Add min_of/max_of
      Cleanup bigint
      Use countl_zero in bigint
      Improve naming consistency
      Test FMT_BUILTIN_TYPES
      Cleanup an example
      Update README.md
      Update README.md
      Cleanup fixed_string
      detail_exported -> detail
      Simplify lint (#4197)
      Cleanup cifuzz action
      Fix hashes
      Add support for code units > 0xFFFF in fill
      Add support for code units > 0xFFFF in fill
      Use standard context in print
      Add std::exception to the docs
      Minor cleanup
      Remove FMT_BUILTIN_CTZ
      More cleanup
      Use consistent types for argument count
      Minor cleanup
      Make constexpr precede explicit consistently
      Minor cleanup
      Cleanup the format API
      Fix const[expr] in context API
      Remove initializer_list dependency
      Explicitly export symbols from detail
      Remove reference to unused intrinsic
      Corrently handle buffer flush
      Fix modular build
      Sort specifiers
      Remove MSVC 2015 workaround
      Remove more MSVC 2015 workarounds and fix string_view checks
      Remove an old workaround
      Remove an old workaround
      Update changelog
      Update changelog
      Update changelog
      Document formatting of bit-fields and fields of packed structs
      Update changelog
      Update changelog
      Always inline const_check to improve debug codegen in clang
      Update changelog
      Update changelog
      Update changelog
      Update changelog
      Update changelog
      Replace requests with urllib
      Bump version
      Update changelog
      Fix github API call
      Update changelog
      Update changelog
      Update version
      Update the release script
      Document fstring
      Clarify that format_string should be used instead of fstring
      Mention compile-time formatting
      Restore ABI compatibility with 11.0.2
      Update changelog
      Update changelog
      Readd FMT_NO_UNIQUE_ADDRESS
      Bump version
      Update version

Vinay Yadav (1):
      Changing type of data_ to size_t to avoid compilation warnings (#4200)

Vladislav Shchapov (15):
      Make fmt::appender implement std::output_iterator concept (#4093)
      Fix conversion a surrogate pair (#4095)
      Reintroduce constexpr fmt::formatted_size for C++20 (#4103)
      Fix broken CI for shared library on macos and linux (#4151)
      Make is_formattable work with const/volatile void
      Add support formatting std::expected<void, E>
      Switch to gcc-13 for C++23 tests
      Workaround for GCC regression: false positive null-dereference in vector.resize
      Backport from GoogleTest: "Always initialize fields in MatcherBase constructors" (google/googletest#3797)
      Backport from GoogleTest: "Work around a maybe-uninitialized warning under GCC 12" (google/googletest@0320f51)
      Use fmt::formatter specialization for std::reference_wrapper to avoid undefined behavior (#4164)
      Implement fmt::format_to into std::vector<char> (#4211)
      Suppress MSVC warnings "C4127: conditional expression is constant" by used const_check (#4233)
      Implement fmt::join for tuple-like objects (#4230)
      Allow disabling <filesystem> by define FMT_CPP_LIB_FILESYSTEM=0 (#4259)

Yedidya Feldblum (1):
      format std::reference_wrapper

YexuanXiao (2):
      Use the _MSVC_STL_UPDATE macro to detect STL (#4267)
      Fix compatibility with older versions of VS (#4271)

Yi Kong (1):
      Fix -Wmissing-noreturn warning (#4194)

cdzhan (1):
      Prioritize using the header files of self (#4116)

dependabot[bot] (7):
      Bump ossf/scorecard-action from 2.3.3 to 2.4.0 (#4099)
      Bump msys2/setup-msys2 from 2.23.0 to 2.24.0 (#4098)
      Bump github/codeql-action from 3.25.11 to 3.26.6 (#4142)
      Bump actions/upload-artifact from 4.3.3 to 4.4.0 (#4141)
      Bump actions/checkout from 4.1.6 to 4.2.0 (#4182)
      Bump github/codeql-action from 3.26.6 to 3.27.0 (#4223)
      Bump msys2/setup-msys2 from 2.24.0 to 2.25.0 (#4250)

jsirpoma (1):
      Allow bit_cast to work for 80bit long double (#4246)

nikola-sh (1):
      Fix chrono formatting syntax doc (#4235)

torsten48 (1):
      insert else branch to avoid unreachable code warning (#4130)
fizban007 added a commit to fizban007/Aperture4 that referenced this pull request May 13, 2025
b5266fd3b Remove some redundant `const`s (#4445)
9b0ebd443 Cleanup base-test
7af94e559 Remove old gcc workaround
2924fcf8f Cleanup base-test
102752ad4 Update docs
a6cd72c9e Cleanup base-test
07885271a Minor cleanup
4999416e5 Fix reference_wrapper ambiguity with format_as (#4434)
55a8f6a4b Change component prefix for NSIS compatibility (#4442)
eb9a95d42 Clarify that formatting of pointers is disallowed
d5c33e4f4 Make template parameter order consistent
a2225f288 Remove unused include
b43b2f953 Cleanup standard formatters
1312b4a16 Cleanup standard formatters
4404dc05d Consolidate implementation details
7bb6fcb32 Bump version
59259a5fd Make a doc directory if it doesn't exist
542ea7c40 Clarify that Formatter parameter is deprecated
40626af88 Update version
7fdd6846b Bump version
6caff7ed9 Cleanup test
71a548387 Update changelog
448929d49 Update and apply clang-format
26d87edab Bump github/codeql-action from 3.28.13 to 3.28.16 (#4432)
505ee058f Update changelog
ccab41719 Update changelog
ec1349d34 Update changelog
0ed2a65a8 Clarify why we use __builtin_strlen instead of strlen
e22c94307 Update changelog
b252bad3c Update changelog
268083123 Cleanun string_view
8978ab09b Avoiding __builtin_strlen (#4429)
c936e2e44 Implement debug format for error_code
a7d7b894c Implement the s specifier for error_code
e98155a6f Remove redundant specializations
41b3bed4d Clarify why we don't use qualified names
67d9e4932 Update changelog
9db5e4df2 Don't specialize std::is_floating_point
906eaf2dd Make specifier order consistent
9f6c12c3d Remove deprecated localtime from docs
2d0518b5f Fix cmake error in pedantic mode (#4426)
c81cbed2b Simplify test
c7925241c Remove `core.h` from README (#4422)
c70913835 Add support for incomplete types
db405954c Remove `fmt/core.h` from docs (#4421)
0a917ee2f Minor comment tweak
969d4aef6 Update doc image
8061c7c8c Cleanup duration formatter
7b59df411 Remove redundant member
b8192d233 Fix build error with MSVC v141 (#4413)
e814b5fab Reduce template parametrization
ed0d216f7 Fix localization and formatting of timezone names
bd9554a29 Fix formatting of timezone names
f086dc0d2 Fix timezone handling in tm
f10b6dd81 Improve chrono formatting
f470b9c56 Cleanup chrono tests and set consistent TZ
b28214487 Fix handling of %Z
6d69f0c5f Improve chorno tests
da776c9a6 Test timezone
64db979e3 Added a missing FMT_STRING in fmt::println() (#4407)
5f2e61fdd Cleanup chrono detail
b3d45e1d3 Remove fmt_detail
5f6fb96df Bump github/codeql-action from 3.28.8 to 3.28.13 (#4403)
5199e0f88 Fix a flush issue on libstdc++
2f5843057 Move buffering tests to os-test
d5d32c1e8 Bazel support: Update platforms to 0.0.11 (#4400)
204661287 Improve local_time test
e1ab38336 Report an error when timezone is not available
b9e0e94a0 Enable more chrono tests on Windows
a81842428 Update changelog
f53055efe Revert "Workaround an ABI issue in spdlog"
b2dfcb2b8 Fix local_time test
7ac97cbd1 Enable some local_time tests and make them deterministic
17898794a Use fmt::local_time
443a8ef34 Deprecate fmt::localtime
3607e92dc Bump version
43e31614c Test ambiguous time
989826ce5 Update changelog
9d6e24c64 Fix handling of long with FMT_BUILTIN_TYPES=0
0843317e0 Update changelog
784eac839 Workaround an ABI issue in spdlog
6fdf225a3 Always inline value ctors in optimized gcc mode only
332da79bf Always inline value ctors
7b273fbb5 Minor cleanup
191c504b1 Cleanup build config
d13fb6092 Cleanup build config
dd780fde4 Add clang-3.4
37e647471 Fix dynamic named arg format spec handling (#4361)
77c0fc07d Switch to supported ubuntu image
9212ff6ca Apply coding conventions and use constexpr
864bdf963 Report error on duplicate named arg names (#4367)
b776cf66f Optimize `text_style` using bit packing (#4363)
bdbf957b9 Bump msys2/setup-msys2 from 2.25.0 to 2.27.0
577fd3be8 Fix TU-local entity exposition error in GCC 15
faac8b1fa Remove exports in std.h
123913715 Update version
8c1059b92 Update changelog
4e5aafbf4 Bump version
db30fb3b8 Update changelog
3401ce2be Fix ABI compatibility
7f7695524 Fix conflict with std::ignore (#4356)
251320fcb Add .vs folder to .gitignore (#4355)
94ab51cb8 Simplify implementation of `operator""_cf` (#4349)
0ca42e836 Workaround an MSVC v140 bug
ed27df576 Replace forward slashes by backslashes in BMI path for MSVC. (#4344)
d42a068db Apply coding conventions
f2cec917d Move is_compiled_string to public API (#4342)
d5b866e24 fix gcc 8.3 compile errors (#4336)
5676e408f Bump github/codeql-action from 3.27.0 to 3.28.8 (#4337)
71d24b564 Bump actions/upload-artifact from 4.4.0 to 4.6.0 (#4339)
c9267da4d Fix typo in `FMT_HAS_BUILTIN` check
373855c1b Clarify difference in FP representation
52eeeb52a Make exponent threshold depend on representation (#3649)
9cf9f38ed Update version
4946bdb72 Update changelog
01a5b56f0 Fix error of unitialized variable FMT_HEADERS
cb6fdf219 Restore constraint on map formatter (#4326)
f841ae61e Fix #4303: avoid instantiating formatter<const T> (#4325)
a3d05d70c Silence a constexpr warning when compiling with MSVC and /W4 (#4322)
41539c29f Workaround a bug in gcc 6 (#4318)
aabe63910 Tweak changelog
f90090be2 Update changelog
9ff9c695d Bump version
06ad1224e Update changelog
5f0572acd Workaround a compilation error on gcc 9.4
898d43857 Fix formatting into std::ostreambuf_iterator using a compiled format (#4312)
937b7c5c1 Add args() accessor back to fmt::format_context (#4310)
01914f038 Reduce size of basic_specs
c43da3570 Workaround an ICE when using modules with gcc 14.2 and earlier
8303d140a Update version
b0b3dc5ff Bump version
586ea06f0 Rename set_fill to copy_fill_from
5750f434f Update changelog
bfbdc2be9 Add parameter to the fallback to_sys function.
87e007267 Update changelog
d57040f94 Prefix components
21aa0956d Restore ABI compatibility
3f864a450 Address MSVC C4127 warning when formatting non unicode `tm` (#4299)
093b39ca5 Update docs for meson (#4291)
2c3a5698e Simplify a copying the fill from basic_specs
fc1b0f348 Clarify use of FMT_THROW in a comment
1d066890c Resolve C4702 unreachable code warnings
dad323751 Fix a bug when copying the fill from basic_specs
880e1494d Improve xchar support for std::bitset formatter
e3ddede6c Update version
e9ec4fdc8 Bump version
feb72126b Readd FMT_NO_UNIQUE_ADDRESS
8d517e54c Update changelog
563fc74ae Update changelog
3e04222d5 Restore ABI compatibility with 11.0.2
853df39d0 Mention compile-time formatting
11742a09c Clarify that format_string should be used instead of fstring
da24fac10 Document fstring
5fa4bdd75 Define CMake components to allow docs to be installed separately (#4276)
3c8aad8df Update the release script
0e8aad961 Update version
debe784aa Update changelog
f6d112567 Update changelog
73d0d3f75 Fix github API call
08f60f1ef Update changelog
faf3f8408 Bump version
f3a41441d Replace requests with urllib
3f33cb21d Update changelog
b07a90386 Update changelog
a6fba5177 Update changelog
25e292998 Update changelog
00ab2e98b Update changelog
a3ef285ae Always inline const_check to improve debug codegen in clang
28d1abc9d Update changelog
90704b9ef Update changelog
86dae01c2 Fix compatibility with older versions of VS (#4271)
d8a79eafd Document formatting of bit-fields and fields of packed structs
7c3d0152e Use the _MSVC_STL_UPDATE macro to detect STL (#4267)
7c50da538 Allow getting size of dynamic format arg store (#4270)
873670ba3 Make parameter basic_memory_buffer<char, SIZE>& buf of to_string const
735d4cc05 Update changelog
141380172 Allow disabling <filesystem> by define FMT_CPP_LIB_FILESYSTEM=0 (#4259)
4302d7429 Update changelog
0f51ea79d Update changelog
9600fee02 Include <filesystem> only if FMT_CPP_LIB_FILESYSTEM is set (#4258)
47a66c5ec Bump msys2/setup-msys2 from 2.24.0 to 2.25.0 (#4250)
385c01dc7 Allow bit_cast to work for 80bit long double (#4246)
df249d8ad Remove an old workaround
dfad80d1c Remove an old workaround
536cabd56 Export all range join overloads (#4239)
b1a054706 Remove more MSVC 2015 workarounds and fix string_view checks
bfd95392c Remove MSVC 2015 workaround
9ced61bca Replace std::forward for clang-tidy (#4236)
75e5be6ad Sort specifiers
a169d7fa4 Fix chrono formatting syntax doc (#4235)
a6c45dfea Fix modular build
a35389b3c Corrently handle buffer flush
5a3576acc Implement fmt::join for tuple-like objects (#4230)
542600013 Suppress MSVC warnings "C4127: conditional expression is constant" by used const_check (#4233)
720da57ba Remove reference to unused intrinsic
680db66c3 Explicitly export symbols from detail
56ce41ef6 Remove initializer_list dependency
cf50e4d6a Fix const[expr] in context API
6580d7b80 Cleanup the format API
7e73566ce Minor cleanup
8523dba2d Make constexpr precede explicit consistently
e3d3b24fc Minor cleanup
1521bba70 Use consistent types for argument count
00649552a Bump github/codeql-action from 3.26.6 to 3.27.0 (#4223)
4b8e2838f More cleanup
7d4662f7a Remove FMT_BUILTIN_CTZ
27110bc47 Minor cleanup
68f315376 Fix narrowing conversion warning in struct fstring (#4210)
168df9a06 Implement fmt::format_to into std::vector<char> (#4211)
4daa3d591 Fix error: cannot use 'try' with exceptions disabled in Win LLVM Clang (#4208)
e9eaa27e5 Add std::exception to the docs
2b6a786e3 Use standard context in print
a16ff5787 Add support for code units > 0xFFFF in fill
601be1cbe Add support for code units > 0xFFFF in fill
58c185b63 Changing type of data_ to size_t to avoid compilation warnings (#4200)
a0a9ba2af Fix hashes
cc2ba8f9e Cleanup cifuzz action
a18d42b20 Simplify lint (#4197)
4046f9727 Fix -Wmissing-noreturn warning (#4194)
6bdc12a19 detail_exported -> detail
786a4b096 Cleanup fixed_string
2cb3b7c64 Update README.md
e9cba6905 Update README.md
02537548f Cleanup an example
c68c5fa7c Test FMT_BUILTIN_TYPES
22701d5f6 Address build failures when using Tip-of-Tree clang. (#4187)
e62c41ffb Conform `std::iterator_traits<fmt::appender>` to [iterator.traits]/1 (#4185)
18792893d Silencing Wextra-semi warning (#4188)
c90bc9186 Bump actions/checkout from 4.1.6 to 4.2.0 (#4182)
c95722ad6 Improve naming consistency
db06b0df8 Use countl_zero in bigint
b9ec48d9c Cleanup bigint
3faf6f181 Add min_of/max_of
d64b100a3 Relax constexpr
ff9ee0461 Fix handling FMT_BUILTIN_TYPES
1c5883bef Test nondeterministic conversion to format string
cacc3108c Don't assume repeated evaluation of string literal produce the same pointer
fade652ad Require clang >=15 for _BitInt support (#4176)
96dca569a Module linkage fixes for shared build (#4169)
891c9a73a Cleanup format API
9282222b7 Export more
e5b20ff0d Deprecate detail::locale_ref
ff9222354 Simplify locale handling
80c4d42c6 Cleanup format.h
3b70966df Add width and alignment support to error_code
05226c4bd Remove type_identity
c283b458a Cleanup format.h
fe79932c2 Fix conversion warning on chrono.h (#4170)
23fcf1942 Apply clang-format
3f296e3d4 Workaround clang-format nonsense
a197a994c Add member format_as for std
6d43c755b Fix a typo
1f87b1c58 Use fmt::formatter specialization for std::reference_wrapper to avoid undefined behavior (#4164)
ed8f8be70 More chrono padding (#4161)
55a0a9cd6 Cleanup pragma detection
5c926d9ff Remove FMT_UNCHECKED_ITERATOR
8b024662d Remove unnecessary inheritance
2f1424be9 Simplify handling of arrays
239aa6911 Remove unwrap_named_arg
497df6db6 Remove formattable
a25e594f6 Remove range_mapper
503dff93e Simplify has_formatter
3374a95b5 Simplify has_formatter
0e62e5dc7 Simplify has_formatter
7ce013971 Sync value ctors and type mapper
07e70151d format std::reference_wrapper
419772771 Improve handling of unformattable args
527e98e3f Remove unformattable
8a19b2db7 arg_mapper -> type_mapper
e97df46ae Cleanup type mapping
39f1e0903 Remove FMT_MAP_API
d832830f6 Cleanup type mapping
b329ff194 Always detect encoding on Windows
2af403ce6 Simplify type mapping
b7513b1d0 Simplify type mapping
761d35f76 Cleanup format_as handling
545dc4148 Add value ctor taking name_arg
3f5e45dd3 Simplify handling of _BitInt
2e3b6fbd9 Remove redundant check
a0328e1f9 Improve error reporting
de28ef5f8 Remove make_arg
2d5e561a6 Cleanup argument handling
6537fb439 Update changelog
50aac2ac9 Add reference to iterator_traits
538d8777e Workaround a bug in libstdc++
033531232 Demacrify UTF-8 check
463fe65f1 Cleanup FMT_COMPILE_STRING
1782a6eac Rename pragma macros
b52fb9884 Fix no locale build
b6a6ec7f1 FMT_EXCEPTIONS -> FMT_USE_EXCEPTIONS
89999f167 Simplify pragma
b90b4bc98 Remove FMT_STATIC_THOUSANDS_SEPARATOR in favor of FMT_USE_LOCALE
a1d6f9a97 Minor cleanup
689ec7a08 Cleanup
28143dc99 Cleanup chrono
1bde49e54 Remove FMT_USE_USER_LITERALS
f924d16e4 fix: pass /utf-8 only if the compiler is MSVC at build time
ab8f9d5b0 Cleanup format API
6f62db098 Cleanup format API
ab44ee752 Avoid shadowing
0d4e7e3fe Remove old workaround
8ee89546f Remove old workaround
a5deb96bf Update gcc version
61a241f03 Cleanup
ff82d8d2b Cleanup visit
0cc20f563 Remove iterator_t
2ba6785d8 Remove unused type
5644e7507 Remove unnecessary forwarding
5345cfe6b Adjust clang-format
3e9fdb3a1 Cleanup
3ada4aed2 Optionally exclude Unicode data
b37be85bf Optionally disable named arguments
70643b251 Don't use format_error if exceptions disabled
967e2d177 Cleanup
02c5d637c Cleanup
047bf75c2 Cleanup
2d3ba32e7 Improve debug codegen
6c90b31fb Improve debug codegen
9408c2ae8 Readd support for FMT_BUILTIN_TYPES
cc3ff1529 Cleanup
158893b38 Cleanup
f5a16a484 Cleanup
cad876be4 Switch to vargs
debf6f828 Switch to vargs
35f4fab4c Simplify value ctor
ff8f32478 Minor cleanup
bd48715d8 Simplify make_format_args
57d6df62f Simplify make_format_args
8ed4a9dcc Improve debug codegen
f288f45e4 Prepare for arg_store unification
5bf577ca5 Backport from GoogleTest: "Work around a maybe-uninitialized warning under GCC 12" (https://github.com/google/googletest/commit/0320f517fd920866d918e564105d68fd4362040a)
b6de66819 Backport from GoogleTest: "Always initialize fields in MatcherBase constructors" (https://github.com/google/googletest/pull/3797)
6870e4b06 Workaround for GCC regression: false positive null-dereference in vector.resize
5cdef7603 Switch to gcc-13 for C++23 tests
a2c290bc3 Suppress a bogus MSVC warning
f1e3016c1 Optimize debug codegen
106dc8fd6 Reduce usage of type_identity
c3344e21e Cleanup base API
5f438c967 Remove make_arg
2a257798d Reenable FMT_BUILTIN_TYPES
22d50c1a9 Add support formatting std::expected<void, E>
1cc10ab68 Make is_formattable work with const/volatile void
6aaf7f4b7 Suppress a gcc 13 warning
b4d1d7f8e Improve debug codegen
1e0771c70 Fix broken CI for shared library on macos and linux (#4151)
3df47a467 Make is_formattable work with void
b4aea98b5 Small fixes for some issues with modules builds (#4152)
565461a0d Update MSVC workaround in compile-test
e2b723870 Cleanup format string API
1e0c6cdc3 Make symbol sizes shorter
a8bcf81f7 Minor cleanup
15694c9a8 Workaround an MSVC bug
4cae2da0d Workaround a clang 17 bug
79e5ae919 Fix locale tests on FreeBSD
894b71da8 Fix handling of _BitInt
7a6a2a79e Improve debug codegen
387395fc7 Cleanup base API
6a8841549 Add FMT_APPLY_VARIADIC
9a2aae37d Cleanup base API
880376836 Cleanup base API
4fa533c70 Cleanup base API
d980dd717 Cleanup base API
4eed488c6 Cleanup base API
a6ecd25b8 Improve debug codegen
9f29345ea Simplify mapped_type_constant
4986b4c0e Simplify arg_mapper
a5f4d9820 Simplify arg_mapper
bc3af5127 Reduce the number of instantiations
60740b7c2 Cleanup base API
9ef160d30 Cleanup base API
0b80978c2 Cleanup base API
4f39d8865 Cleanup base API
a86b1acf6 Add mapped_t
c9ef07bc4 Minor cleanup
8c4cfab57 Detemplatize parse
7e3aa6d98 Minor cleanup
7c6621600 Minor cleanup
1416edabb Cleanup base API
d4aeca992 Bump actions/upload-artifact from 4.3.3 to 4.4.0 (#4141)
eee93ddff Bump github/codeql-action from 3.25.11 to 3.26.6 (#4142)
b310a0d48 Simplify parse_format_string
985c3399d Make map static
4a55b0d5f Remove duplicate error in compile-time checks
64a6c8459 basic_format_parse_context -> parse_context
66920feee Improve compile-time checks
f4dad85c3 Improve handling of named arguments in compile-time checks
db4becabe Reduce template instantiations
fec2cc7af Improve handling of named arguments
621e9c17c Clarify why we have TYPE in native_formatter
bca704055 Simplify compile-time checks
8c4b17fe6 Simplify compile-time checks
516a2e204 Cleanup FMT_STRING
6797f0c39 Cleanup compile-time checks
db496b47c Remove old gcc hack
8eda3c8e9 Cleanup compile-time check
53316903e Move string_literal to format.h
8a484ad57 Minor cleanup
b446cc9e6 fwrite_fully -> fwrite_all
0204dd359 Fix _BitInt formatter
d8876b778 Minor cleanup
c0fab5e2f Reject modernity, embrace tradition
64313e915 Move redundant initialization to compile time
8e3da9da2 Improve binary size
2a2f73f7c Improve binary size
6dd9194ab Simplify format_to_result
a017bba06 Minor cleanup
5eb023cd5 Improve binary size
f213d8330 Disable locale more
b3ccc2d21 Disable locale more
7477dda28 Simplify is_utf8_enabled
e582d377c Simplify locale handling
cd8d01d8c Minor cleanup
377cf203e Add opt out for built-in types
5a0a37340 Add support for _BitInt on clang (#4072)
bbf8b3bd0 insert else branch to avoid unreachable code warning (#4130)
a3f3f2ec9 Fix gcc 8.1 - 8.3 bug and compilation (#4131)
e3676ca30 Change std::copy to detail::copy in chrono to fix MSVC compile errors (#4132)
0379bf3a5 Workaround -Wstringop-overflow
c59ee969f Improve compile-time formatting (#4127)
1a79bbfa8 Cleanup chrono formatting
89af1ad77 Cleanup chrono formatting
0e741e0da Minor cleanup
d1acc667c Minor cleanup
4fb7008c9 Cleanup duration cast
589898e28 Fix %S doc
62382e365 Test full exponent range
94b8bc8ea Add an experimental writer API
020af729d Simplify ostream
fb07b37c5 Prioritize using the header files of self (#4116)
313542125 Minor cleanup
993f56cff Make sign a proper enum class
c6c830e20 Make align a proper enum class
b906c321f Get rid of bit fields
f8c0c8ee7 Cleanup public API
c71d03fcb Make `support/python/mkdocstrings_handlers/cxx/__init__.py` PEP 8 compliant (2 of 2) (#4115)
50a8c3e9b Reduce format specs size
98314319a Fix ambiguous overload
0ce49aeb4 Add a test case
bf870ae3d Fix back_inserter lookup for non-std containers
c98518351 Make `support/python/mkdocstrings_handlers/cxx/__init__.py` PEP 8 compliant (1 of 2) (#4110)
9f0c0c468 Add 'n' specifier for tuple and pair (#4107)
9f269062a Simplify default formatter
15f939c3d Improve handling of dynamic specs
928a07bb0 Simplify handling of dynamic specs
789169973 Simplify handling of dynamic specs
58aba5a3d Deprecate append instantiation
5ee14d350 Reintroduce constexpr fmt::formatted_size for C++20 (#4103)
b9c0e4dd8 Improve spec parsing
8445327c8 Simplify spec handling
8a06cee82 Optimize shortest float formatting
1db227496 Use us if Unicode is disabled
34ead4b39 Bump msys2/setup-msys2 from 2.23.0 to 2.24.0 (#4098)
3bf26009e Bump ossf/scorecard-action from 2.3.3 to 2.4.0 (#4099)
d326c7298 Fix conversion a surrogate pair (#4095)
6e462b89a Get rid of std::copy
aff640c32 Make fmt::appender implement std::output_iterator concept (#4093)
e23fb6a8b Apply clang-format
16b3542f7 Remove float_specs
29d7e5805 Remove float_format
919f7c5e7 Reduce float_specs usage
a80d668a5 Diagnose invalid precision
707d7d923 Apply coding conventions
de6ed8df8 Test alignment
ffdc3fdbd Align digits table
0c0281379 Fix doc build
f8581bcec Add redirect page
31b3c325f Mark namespace scope constexpr variable 'buffer_size' inline. (#4084)
52b32081f Wrap private module fragment content within conditional extern "C++", to match declarations. (#4083)
0b0b09f40 Constrain format_uint
4173a6315 Improve format_decimal
4239dfe08 Simplify format_decimal
ba36a0481 Remove counting_iterator
f6b4a23b8 Unbloat chrono
42d3d703b Remove the commenting attempt
9fcd9c4c1 Remove all warning suppressions
7f157dca0 Workaround gcc stringop-overflow bug
524ca1c71 Improve parsing
bdc45eef7 Simplify on_text
439b6d721 Reenable print optimization
3cc32fdc8 Mark more formatters nonlocking
0c9fce2ff Update version
b47d662e7 Update changelog
e84297f25 Bump version
0ad234ad1 Update changelog
de684ef77 Make appender compatible with fill
447c6cbf4 Update changelog
bc8d32e96 Update changelog
0f87d6ffa Improve sign processing
808ea0191 Cleanup test
55e76e6c2 Update check-commits script
8757f1f8d Add a script to test multiple commits
9228f349a Inline visit
e10643add Add a perf-sanity test
f29a7e797 Don't use memcpy in append
f97deb0d7 Minor cleanup
354135351 Apply minor optimization
5ef93a9f8 Expand FMT_FORMAT_AS to include implicit conversions (#4055)
c9102619d Avoid extra reserve
58d792b6d Apply minor optimizations
25adca566 Remove redundant overload
1408f1824 Simplify iterator detection
3fe4641d3 Add 2 more constexprs to fix compile error (#4065)
33e7ed1eb Improve handling of back_insert_iterator that writes into a buffer
6a192f8d3 Fix broken links in README.md (#4066)
92cdbbae0 Update api.md
13038f37e Support printing (const) volatile void* (#4056)
672522575 Update changelog
e60ff504e Fix usage with std::generator (#4057)
ccea33807 Update lint.yml
92227c77a Improve support for non-POSIX platforms more
486838f26 Improve support for non-POSIX platforms
a43391199 Update changelog
7a8b54a0e Don't confuse Glib::ustring with std::string
b50e685db Update version
e314776c2 Fix version check
2208143ac Update changelog
a96259701 Improve std::complex formatter (#4050)
232c6bc48 Update changelog
503e183b9 Bump version and add version validation
e50c8b6bd Fix disabling Unicode support
9d946a2fc Fix compilation errors due to `make_format_args` in gcc 14.1.1 with c++20 (#4042)
c4f6fa713 fix: Make basic_format_arg::visit() const (#4043)
10f12fd3d Bump github/codeql-action from 3.25.3 to 3.25.11 (#4041)
24c1f886a Remove double has_value check (#4040)
0041a40c1 Update version
686339f7c Minor cleanup
e355c116f Tweak wording in the changelog
707bb5b36 Fix grammar
6f68c62cb Ignore doxygen files
d059fe42a Ignore vagrant files
43c5b3474 Fix package build
e89568e6c Update vagrant config
f5bf6f778 Update build script
bd9af9a9f Update changelog
165210890 Fix typo
84f613182 Fix formatting of release notes
dedc17c1c Fix handling of tables, take 3
5d0adb6d7 Fix handling of tables, take 2
3f251fc9c Fix handling of tables
1930ed4bf Fix release script
26d07e49b Fix formatting
949d5d179 Fix build script
53186535d Bump version
602e3c3d1 Update build script
2952130cb Fix doc build
1e94a463e Create build dir
a34120329 Update doc script
0fae326c4 Update site dir
8b1fcf5cc Update doc dir
ec46c3de9 Update build script
2d9d32c62 Update build script
4703ade76 Update build script
52e7b25f9 Update changelog
b61c8c3d2 Change actions/github-script from e69ef54 -> 60a0d83 (#4038)
bbf44cc00 Defines are still needed for FMT_MODULE as well (#4027)
06948fa71 Pin deps
d9899492c Simplify deps
ff72f553e Update changelog
7f951f250 Optimize range formatter
7ae102bd6 make format_int constexpr (#4032)
edde97312 Update test names
b1efe8516 Prevent silent data loss
2c0d9e940 Add a define to force the use of fallback_file
18a9676d9 Add an experimental path
af8cd4e40 Module purview can only contain direct preprocessor code (#4029)
514b6955d Suppress a bogus warning in MSVC (#4023)
ac9677323 Added missing std::declval for non-default-constructible types (#4024)
c00149f5e Fix a typo
71244e07d Cleanup includes
a57b0194a Correct comments
febd8ed5f Cleanup includes
0434026a9 Remove build-docs.py
0882bfef2 Don't deploy docs from a PR
2a2048a78 Don't pass seconds as a double in examples
ea1187f4c Generate doxyxml in build
1334eedaf Improve docs
709169a4d Set the anchors
2bf1b3004 Update changelog
8687315e8 Guard more system headers by `FMT_MODULE` (#4006)
98dd673cf Cleanup cmake
a245a8d4b Update changelog
e0b66e8f8 Remove dependency on <ranges>
794df69c8 Added range_format::(debug_)string formatter (#3973)
1d9df9ce1 Remove a redundant comment
c4ea90325 Only install `FILE_SET` when needed (#4013)
3e3062c13 Update msys2/setup-msys2 to v2.23.0 (#4012)
b998b4711 Update changelog
bff1de15e Fix deploy docs (#4010)
90932dd20 Update doc.yml
232c5e854 Update doc.yml
26cdd1cb3 Update doc.yml
ad34d4df9 Update doc.yml
f79626444 Fix doc workflow
28673d969 Update api.md
a5c1b5d44 Update changelog
cc4d1245b README.md: update to remove "not yet release" remarks on clang-tidy
18a325f37 Disable footer
a1337aa8a Merge literal-based API doc into the parent section
51a690ab1 Check if `.cc` exists in `fmt.cc` (#4005)
f332a81b7 Remove unnecessary build step
33a1de57a Deploy docs, take 3
c7252b334 Deploy docs, take 2
3f71b6066 Deploy docs
215ce4d97 Fix error getting config 'user.email'
89f3a810e Fix error getting config 'user.name'
1f170d3fe Install mike
d175db8f5 Fix doc CI and clean workflows
a8cfc0cc2 Deploy dev docs
65e278b28 Don't pollute the source directory
3620c174a Fix doc build
702b6f378 Update docs
ed21034a1 Implement deployment
76d57f93d Remove old script
6ceef04df Merge branch 'master' of github.com:fmtlib/fmt
ab6b257a3 Implement doc building
077e4ae74 Added generator expression to /utf-8 compile option (#3995)
d4a8d26c5 Temporarily disable doc build in CI
b5c8fd783 Fix doc build
735a61382 Build docs
a6e6e9c3c Fix a link
e6d4f927c Improve docs
8de3e87da Add a CMake option to control Unicode support
46d2acb3b Don't add `os.cc` to sources with FMT_MODULE (#4004)
fad0222a0 Export `compiled_string` so that user can customize one (#3999)
d1cab6a9a Drop parentheses
fcb6a452d Improve docs
72928661e Improve docs
d6ec6b7e2 Update docs
e845fc572 Ignore old changelog
2bf811b1d Also allow compiled format for clang >= 12 (#4001)
9653eed8e Don't hide the navbar
9b5d1826d Update changelog
fe741daaa Mention namespace `fmt::literals` in the document (#4002)
0f6e71654 Fix missing includes in fmt.cc (#3994)
a3d95971b Update changelog
7bd11b5cd Remove a redundant extension to reduce divergence from std::format
21372bc0b Update cmake config
a0495e3eb Update changelog
cba5e8615 Update changelog
e9609dec1 Update changelog
6ebbaf4b4 Split changelog
4e31d2dc6 Update changelog
fcc0b4997 Fix `FMT_INSTALL` with `FMT_MODULE` (#3998)
0560c334f Fix build with `FMT_MODULE=OFF` (#3997)
db9365a11 Update lint.yml
5c445bc42 Reverting check to make shorter branch comes first
94f96d112 Fix undefined reference when compiling with FMT_STATIC_THOUSANDS_SEPARATOR and chrono.h
6abc1204f Check if the generator is ninja
a9b851763 Use native c++ module support from CMake
fba06f0ee Update changelog
598e51808 Remove redundant tests
0a555818d Usage -> Get Started
966a1b3d4 Update docs
adb8e27db Fix rendering of template parameters
2c84fa9ac Update docs
8da0240db Improve docs
83bf14237 Update changelog
595e54919 Cleanup docs
c636967c5 Improve docs
2392367ef Set primary color
06f8e02fb Remove rtd compat
c71d08fc2 github: update lint.yml to post details on formatting issue (#3988)
d9b90029b Update docs
c0029b984 Update docs
1ac9b317f New landing page
f68dee535 Fix syntax highlighting
fb9ee2ed6 Simplify doxygen config
d29ceaf91 Update .gitignore
9b12491c1 Migrate docs
ab29ef37d Migrate docs and cleanup
97117cbb5 Migrate to mkdocs
886237ae7 Emit anchors
904f2a5c2 Remove a non-pinned dependency
dab1a65d2 Sort out directory URI config
509d01810 Fix a link
75ab3bc2a Add a script to invoke mkdocs
871538d3a Fix install dir
250456d5a Migrate to mkdocs
38ba3d399 Migrate to mkdocs
071411397 Add macro support to api doc extraction
dd3b3f937 Merge branch 'master' of github.com:fmtlib/fmt
03d14c3be Add support for multiple namespaces
416ac0fc7 Bump actions/checkout from 4.1.0 to 4.1.6 (#3986)
596add899 Bump ossf/scorecard-action from 2.3.1 to 2.3.3 (#3984)
a10e03214 Improve docs
febeb51bd Documentation improvements
f18c2b65c Fix rendering of aliases
e3910b8a9 Improve apidoc rendering
34b85678f Render members
e5c07c835 Improve apidoc formatting
933d8ba35 Improve apidoc formatting
e7ba467e9 Improve apidoc formatting
91a859ee4 Switch to markdown
6180442ed Render template parameters
418c5d094 Render template params
aafdde7ef Switch to JavaScript syntax highlighter
d2ecfcfc4 Fix rendering on github
26b249435 Improve doc presentation
4f330567e Improve apidoc generation
199274624 Convert API doc to Markdown
a4d42c44f Cleanup comments
ddd8a5423 Add mkdocs config
fcd3e1e19 is_convertible_v -> is_convertible::value (#3983)
dc401b1c2 Move handlers outside of the docs
f7c5588c4 Cleanup syntax doc
a4e40677a Fix markdown
3479828e1 Fix markdown
191b0cb48 Fix markdown
e80f4a9b7 Cleanup syntax doc
022d8efec Update doc.yml
ca8eeb09e Add glibc ext for day of month and week of year (#3976)
cddb41f63 Fix markdown
0b0a05770 Remove old contents
caa97da1f Add a word joiner to prevent line break
cf9833f40 Cleanup apidoc comments
b6638f9c2 Convert usage to Markdown
d90346013 Fix markdown
ba2fbf6e1 Fix markdown
6e49bb887 Remove CSS
e0f3e8507 Fix markdown
4fc3fce9c Improve syntax markdown
d6427ae7b Improve syntax markdown
3d6869065 Improve syntax markdown
551aa8d51 Add CSS
9e07045f5 Fix links
5735048b2 Improve mkdocstrings handler
33eba1049 Minor comment fix
43ab964c4 MSVC 17.10.0 + modules cannot find definition (#3972)
728f9bc38 Added std::type_info formatter (#3978)
e721046e2 Convert index to Markdown
552842c4f Convert syntax to Markdown
2c38766fd Add a mkdocsstrings handler
c8f1b4e74 ci: Remove macos-11 runners, add macos-14 (#3980)
529dcd11f Fix workflow, take 2
1441c660b Fix workflow
ecd155973 Improve styles
a57a63dc0 Fix styles
8691f21b4 Fix styles
7e4fac3f4 Improve styles
4a368625e Replace less with sass
f4e1ec81e Cleanup html
89c0d1010 Update description
12ef9e09d Fix class conflict
5afa68138 Remove redundant github button
cc1310203 Fix navbar style
8ee6c9401 Reintroduce GCC-11 C++20 into CI (#3979)
766300b3c Update html
4115219ed Fix CSS path
95076981f Update documentation deps
1752d7fbb Added formattable concept (#3974)
1768bf971 Added FMT_EXPORT for fmt::range_format and fmt::range_format_kind (#3970)
fc723fd6c Fix regression in #3710 (#3968)
b81761068 Check range_begin is dereferenceable (#3964)
706eabd5e Resolved warning C4127: conditional expression is constant (#3967)
028bffa08 Update checks for dynamic_cast usage when compiled with no rtti (#3963)
86741b3e1 Bazel support: Add missing platform dependency (#3965)
75e892420 Minor cleanup
0b5287f8b Remove unused function
a4715c48b Bazel support: Add utf-8 to Windows build (#3962)
8e728044f Fix format_as for non-const begin/end views (#3955)
1f436c646 Cleanup locking/buffering
db1ee420e Cleanup unicode check more
7d6ae972b Cleanup unicode checks
3460b30fd Improve utf-8 detection
b7809f91e Enable Unicode support by default
1dc71f21e Enable Unicode by default
8db8f2249 Optimize join_view
d2473b7b7 Simplify join_view formatter
328d256c6 Apply coding conventions
57593a123 Simplify map formatter
10508a30e Enable fmt::join for uncopyable iterators (#3946)
16cec4f59 Make the map formatter correctly handle elements with custom formatters
77bfd8499 Split range and map formatters
3af8ac7a0 Privatize write_debug_string
ceb406d06 Remove range_default_formatter
19afc9c3b Update README.md
6ff593b02 Update README.md
78420bedd Update README.md
a21bc7b86 Update doc.yml
97d0613ba Update doc.yml
04b0ae418 Update doc.yml
27dd1dcf0 Update lint.yml
3649c3954 Update lint.yml
7650ed04a Fix to_nonnegative_int
9234fe83f Add tests to check that isnan doesn't cause FP errors
8a8f4825a Fix: isnan() shouldn't cause FP exceptions
17062a0c9 Bump actions/upload-artifact from 4.3.1 to 4.3.3 (#3950)
88d3997f5 Bump github/codeql-action from 3.24.9 to 3.25.3 (#3949)
48c908453 Fix CodeQL alert (#3945)
cf1f55f79 Specialize `formatter` for all `std::basic_string` types (#3943)
400f6a8ee Dedup ADL begin/end lookup
a3e0931ea Update signature in the doc
51eeccd0f const void* is neither a fundamental nor string type
f30f1fd51 Document formatter specializations provided by base.h
f4b256c66 Fix warning C26439
f746a59a5 Cleanup FMT_ASSERT
ee0c3351a Fix format_to + FMT_STRING for wide character type (#3931)
99735764e Fix FMT_USE_NONTYPE_TEMPLATE_ARGS define back (#3937)
aa52eb765 Resolved warning C4996: 'fileno': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _fileno. (#3930)
116a9ce48 Added FMT_IMPORT_STD feature macro (#3928)
5eb68c0ef Fix mix-up of 'FMT_BEGIN_EXPORT' and 'namespace detail'. (#3924)
550437b29 Resolved warning C4127: conditional expression is constant (#3923)
4e8640ed9 Fix: enable `FMT_NORETURN` without exception support too (#3917)
c70e7b747 Coding conventions and minor fixes
71144eeaf implement year_month_day (#3913)
843e29356 Bump github/codeql-action from 3.24.6 to 3.24.9 (#3915)
f5ec5ada2 Update syntax.rst
3b5f3de3b Make CMake version message less confusing (#3907)
ca9193983 Replace std::fill_n with fmt::detail::fill_n (#3909)
74a187288 Implemented fmt::day, fmt::month, fmt::year and related unit tests (#3906)
88620e53a Range formatting documentation  (#3905)
5d63e87d2 Add a formatter for float128
aecec01b3 Initial support for extended FP types
5af88653e Cleanup
45b772f85 Improve std::complex formatter to be compatible with P2197R0 (#3900)
53347891c Make line buffering test less flaky
38881e5ac Fix handling of the fileno macro
6c7cc6a06 Fix group_digits for negative integers (#3901)
365c3fbd2 Bump timeout
c0dac8398 Use p2197 format for complex by default
bb882c03b Simplify path formatting
12acd7988 Fix ambiguous call
c710bfa10 Apply clang-format
73f2b344b Add std::complex formatter
9f3fc6e38 Add XChar support into nested_formatter
c17816cb4 Fix invalid fmt::formatter<>::format return type (#3895)
df6e7b22f Fix relative path for cmake in usage doc (#3890)
c816fa675 Fix a warning
e281749c5 Simplify range formatter
11f2f30f0 Simplify range formatter
13cfaa2ab Guard against usage of _isatty when header was not included (#3880)
0861db500 Support character range formatting  (#3863)
dfe5b12c0 Update os-test.cc (#3883)
09935d823 Bump github/codeql-action from 3.23.2 to 3.24.6 (#3876)
3bc6cc1e6 Protect against locking formatters
4fcc317dc Bump actions/upload-artifact from 4.3.0 to 4.3.1 (#3875)
ae1e93d34 Fix warning C4702 emitted from format.h (MSVC) (#3866)
f68f452de Workaround an ld warning on macOS
ebea5736a Fix chrono locale format bug for RHEL gcc (#3859)
ddf0b7d2b Fix warning C4365 emitted from printf.h (#3865)
0166f455f std.h c++23 build fix (#3856)
8e42eef49 Don't error on min time_point
91b30e5b4 More API details
7a63e233d Readd core.h to headers
44c3fe1eb Fix handling of static separator
ae181cc93 C++23 compatibility: basic_string_view cannot be constructed from nullptr (#3846)
3a6fb2fca Fix some typos. (#3843)
087950479 Fix typo in typename. `containter_type` -> `container_type`. (#3844)
34f415b56 Fix %S formatting for chrono durations with leading zeroes  (#3814)
e17bc6754 Make scan variadic
06311ed1c Fix fixed rounding around zero in Dragon
e5bab8dab added formatter for std::expected (#3834)
9f5f39cb5 Bump actions/upload-artifact from 4.0.0 to 4.3.0 (#3837)
ea581437e Bump github/codeql-action from 2.22.5 to 3.23.2 (#3836)
6321a97d6 Simplify color formatting
4b6b32f38 Deprecate wide stream function
1b54ba4b9 Fix UB in format_arg_store implementation. (#3833)
71a4a8d47 Really fix MSVC warning about <bit> only being available in C++20. (#3832)
8e62172ab Fix a warning
28afff363 Improve buffering
af44c2974 Separate buffer initialization from flush
a1e1eedbb Minor cleanup
ffce3632b Add glibc stream support
b5669512b Don't hang on test failure
6435b169e Add support for line buffering
6f260455a Add scan_data::make_args
e1832bcf0 Consider ADL begin() and end() when joining ranges (#3824)
2caf1b3b9 scan more
668fe2653 doc: fix the chrono %C example value (#3822)
06fc25f26 Don't always enable typeid usage under msvc (#3821)
11ba1270a Fix flush
4c5b4af04 Improve name argument validation
2eb363297 Fix custom formatter example (#3820)
0147e0822 Document println
6b68dff90 Write directly to a stream buffer
b2cde48de Reduce usage of float_specs
8510838db Make format_specs not depend on code unit type
090ee1359 Pass char type to write
470c4e6ca Fix scope for glibc ext for sec, min, and hour (#3812)
13ec66bf7 🛠 Add basic array safety functions and backwards-compatible result type (#3805)
64091b7a2 Fix naming
e95482353 Make fill independent on code unit type
f80a2bee1 Update README.md
83652dfee Restrict always inlining to the top-level API
d249fd9f8 Workaround for gcc 6 (#3810)
73d91351b Mark `iterator_buffer` move constructors as `noexcept`. (#3808)
fe0d910a7 Replace multiple error reporting mechanisms with report_error
f9294f0e6 Improve handling of format specs
c98a5a599 Remove unnecessary checks
5f30d3710 Update README.md
3647feaad Improve scan
e420a58f2 Improve scan prototype
ca37503f9 scan -> scan_to
123e058eb Improve scan prototype
f924d20db core-test -> base-test
d70729215 Fix constness
362b40c1a Fix docs
56fa4d61f Fix docs
cacdf1439 Remove nonstandard alias
4d766b167 Invert dependencies
c10859f15 Remove deprecated options
d0963d482 Make ranges only depend on fmt/base.h
da0f84c42 Cleanup copy functions and move to base.h
59baac522 Remove unused functions
21b045829 Use std::allocator_traits (#3804)
df6a3564b Fix MSVC warning: "The contents of <bit> are available only with C++20 or later." (#3807)
7c163acfd Fix conversion warning in filesystem::path formatter (#3806)
1b55d1030 Update api.rst
5d9d376d4 Update api.rst
6064b85c1 Update api.rst
deb584c0e Update build.py
297b22f58 Remove <memory> dependency
3c9608416 Remove redundant detection of experimental string_view
0cdee904a Add a missing num_bits specialization
7e58af4ea Fix an ICE on clang <= 15
f1924d326 Cleanup macros
52174953b Cleanup conseval detection
b71d98774 Reduce usage of FMT_COSTEXPR20
810d1750f Cleanup constexpr detection
170ffb1ff Simplify constexpr checks
e470ba8b7 Simplify exception detection
bf98e3e4c Cleanup macros
fd87a23d3 Reduce memory dependency
b71ef65b6 Remove iterator dependency
c5340539f Remove unnecessary trait specialization
971f7ae76 Minor cleanup
6159e2b0a Bazel support: Switch to globbing to collect header files
da7a232b9 Cleanup contexts
2595bf57b Fix formatting of ranges with begin()&/end()&
6f5d53ce0 Add fmt::is_contiguous<std::basic_string<Char, Traits, Allocator>>
961df829b Fix buffer overflow if output iterator is std::back_insert_iterator and value is escaped (debug format)
401f08739 Fix write_uintptr_fallback
725992928 Update build.py
3d84b45a2 Update core.h
4331abed2 Move fmt::format to fmt/format.h
fc8f6ba93 Separate compilation for println
58a6bd48a Add core.h for compatibility
79f1506fe Add base.h
4d616479b Simplify make_format_args
cf8426cf8 Sort links on fmt/std.h section
e915d5216 Update api.rst with support provided by std.h
7ba642054 Optimize debug codegen
97867e279 Extend Bazel build support to bzlmod (#3792)
8875cf96c Fix spelling: othewise ==> otherwise (#3791)
f7ed65fa4 Simplify format_arg_store
f34f31b32 Move format_arg_store to detail
fb66131ef Improve arg storage
6af30d8f7 Remove legacy workaround
c177324ba Simplify basic_format_args
545d37a8b Remove extra level of indirection when building args
9f73e45ca Update README.md
a5ae9ae19 Split standard context into a separate class and optimize
23e8109d8 Remove buffer_appender
679af1f5c Remove redundant get_container
48d7fb265 Merge back_insert_iterator and appender
f348d1a21 Reintroduce back_insert_iterator detection
df67df7b4 Add is_back_insert_iterator
17f79ac6c Minor cleanup
dbdfc99fa Don't crash if flush fails during unwinding
c1d9e8840 Remove unnecessary final and apply clang-format
7d73ef85f Cleanup ranges
ae9b0b521 Disable transitive includes
f73388f1a Update README.md
08878044c Update readme
1b7d9db0c Remove string dependency
0641b844a Cleanup string traits
1e938dda2 Simplify char_t
2e5b14bf6 Add compile-time checks to color formatting
e0b604beb Remove a redundant function
6c617c967 Update documentation (#3789)
bee495c97 Remove dead code
794e1b614 Remove redundant overload
c7061776a Bump version
dc52d176d Cleanup dependencies
0e3e61cc0 Remove limits dependency
800a0bb23 Remove dependency on string_view
f2e43f967 Remove char_traits dependency
c9287eb9f Reduce char_traits usage
61f144bd6 Move copy_str for format.h
4687f8e37 Remove dependency on <iterator>
f2c55f6bb Remove dependency on back_insert_iterator
c9d233c0a Decouple appender from back_insert_iterator
242bcaec0 Update README.md (#3784)
4e43a4699 Clarify why we can't have nice things
c36ed77ff Get rid of addressof
e2ab9ab22 Add FMT_GLIBCXX_RELEASE
0378d171f Replace remove_cvref_t with remove_const_t
baea8f690 Update docs
eedfdb4c5 Fix docs
5dbd7fd77 Switch to bootstrap 4 because 5 breaks menus
7fd180268 Fix FMT_OS definition (#3783)
63ce17085 Replace virtual dispatch with normal functions in buffers
74ffea0dc Simplify to_ascii
6c3b2d491 Fix constness
4ec9c2906 Apply coding conventions
f4a7d40dc Dedup throw_format_error
9659f22d3 Don't include os.cc in the module if it is disabled via FMT_OS
068bf9bad Make visitation compatible with std::format
50565f985 Move misplaced join overloads to fmt/ranges.h
0b39d6710 Remove detail::error_handler
c14238503 Improve the pipe API
398ddb8fe Don't include fmt/os.h in the module if it is disabled via FMT_OS
583729493 Remove duplicate version
6c5bcca81 Fix the release script
67c0c0c09 Update version
051b31531 Fix changelog update
b0569451a Bump version
ce3161887 Add overflow check
1a95e5d1b Update changelog
e1aac4266 Implement hex specifier
1705600be Remove optional
0c345dccd Bump actions/upload-artifact from 3.1.2 to 4.0.0 (#3782)
d33731d20 Implement empty format specs
c068c7c62 Add sentinel support
13fa26745 Update changelog
ebd5c8f99 Consistently use `fmt::` when invoking `format_to`. (#3779)
f5ca178c1 Complete scan_handler
138a64bfb Privatization
a5bacf3fe Remove custom_formatter
4aa24f54c Implement visitor for scan
e33c1568c Implement scan argument access
23826669c Cleanup error handling
8e6b2541a Apply coding conventions
4939d67a8 Cleanup scripts
bd3273021 Update release script
5f9058dbd Improve scripts
28576b060 Workaround github markdown mess
5ddd0cad1 Add a visitor for scan arguments
41d31512b Remove unused import
44b76d88f Fix docs
3324152db Update the release script
55190dadb Cleanup chrono test
63e4b93cf Update changelog
c64edcd32 Fix grammar
8c520b4fd Fix comment
2e6bb706b Update changelog
a13d1b12e Update changelog and docs
47a0eec2e Remove unnecessary alias
a8bed3895 Update changelog
e206043d2 Update changelog
4a6f0be5b Improve scan test
662d78415 Fix scan test
d5823aae3 Ceci n'est pas une pipe
d83c1b8d4 Add initial specifier support to scan
bfba2f9e9 Improve iterator handling in scan
a3bf40838 Initial range support in scan
ea1066bbe Cleanup test
be57ec7ec Fix chrono-test on platforms with 32-bit time_t
305747d44 Update changelog
47c8f63d0 Remove redundant specifier
76e8f1040 Update changelog
18ca2248d Document '?'
3a25a5848 Update README.md
4cbf6182e Remove peek
88d19f5de Cleanup scan
62529aad1 Apply coding conventions
df62c8678 Mark grow as deprecated
eef6dbafb Refactor file layer in scan
41c243335 clang-format
0a9d08fef Simplify fallback
e450b7aeb Implement locking
c5a85f8d7 Handle end of input in scan
1fd093add Update changelog
c4f2de493 Improve scan
d06921d8d Update changelog
fc0f84d29 Move formatbuf to ostream.h
86f2ec5de Fix a warning
a537c39fd Move conjunction to where it is used
7c240d52c Remove unused symbol
f64a6a2ec Update changelog
6f9a81678 Enable test
e7875ae0f Fix formatting of some nested ranges
3eb3aef57 Fix handling of set_debug_format
56d7a8c15 Simplify test
968fb9d16 Update changelog
b5f6b36b0 Update changelog
44dd6c0e0 Add glibc support to scan
3a0f4af4e Refactor file layer
1ca1a4a7a Update scan test
dbd9c89b3 Fix URI
9cd2b87e1 Fix wchar_t to char conversion warnings (#3764)
d5da9cc40 Apply clang-tidy
3a2c50d4a Cleanup test
18c43a214 Cleanup test
6b07fff0d Make hex float test more stable on different libc (#3762)
9165434e5 Enable consteval in MSVC VS2019 version 16.10 (#3757)
b8f81dede [StepSecurity] ci: Harden GitHub Actions (#3759)
923005bd4 Add stdlib version check for C++20 (#3754)
afa85e46c Apply clang-format
6025bd7c3 Add localized formatting to non-decimal presentation types of ints (#3750)
5471a2426 Update README.md
7d757cba5 CI: add lint github workflow for running clang-format (#3749)
6855bd532 Apply clang-format
bbee75357 Make clang-format happy
89860eb90 Use void(*)(void*) instead of decltype(&std::free) to satisfy clang in CUDA mode (#3751)
274ba2645 allow format_as() to format reference (#3739)
9048add99 Report out-of-range errors in chrono
640e0c02d Update README.md
6392dba21 Fix warning: identifier '_a' preceded by whitespace in a literal operator declaration is deprecated (#3748)
9a6fd11a5 Fix typo in gmock-gtest-all.cc (#3747)
dee0dbf07 Update README.md
2fabb43b9 Fix README file table (#3744)
9c3c107c8 Fix compile with GCC 6.3.0 (bug #3738) (#3743)
4497a2d09 fix cmake build
81629e425 Convert README to Markdown
6f95000b7 Update README.rst (#3737)
573d74395 error on bool arg w/ char pres_type (#3734)
5d55375a8 Experiment with scan buffering
71bd51e6c Implement `%j` specifier for `std::chrono::duration` (#3732)
f57508924 Simplify test
99b9fbf8e Add formatter for std::source_location (#3730)
8f83ee2ad Apply coding conventions
2a8a69446 Clarify that mixing code unit types is deprecated
04718008a Minor cleanup
b87ea22e2 Add native and generic representation for filesystem::path format spec (#3729)
5cfd28d47 Experiment with FILE in scan
73fae91e6 Cleanup .gitignore
6988be387 Bump version
2d1e4bb35 Remove a useless comment
7f8d41911 Fix overflow in time_point formatting with large dates (#3727)
ccc9ab7bf Include correct header
c4283ec47 Fix a libc++ warning and move the test to the right place
c3f9a7344 Apply coding conventions
06f1c0d72 Clarify that calling non-const format is deprecated
ffa5b14fe Make gtest-extra-test more portable
bea7ecc71 Disable locale-specific tests on OpenBSD
8a3938851 Fix the default locale in ostream_formatter
dd6f657a7 Remove this-> from decltype (#3723)
c13753a70 Fix handling of invalid Unicode in precision
864a8b5f3 fix: support optional<T> with format_as(T) (#3713)
649fe0fc8 Fix handling of null strings with the s specifier
45e124ee4 Added workaround for old xcode compiler bug (#3716)
045b05d79 Revert CMake changes
ec628561c Fix formatting
cbb18c237 Add support for CMake 3.28 C++  modules (#3679)
6b0082e6c Improve OpenBSD workaround
52a99a67f Set PDB path for Visual Studio (#3702)
4548d1eae Make write_escaped_path more portable
050d41e85 Make get_path_string more portable
1c023c008 Update bootstrap
b35d4e40f fix: use FMT_HAS_INCLUDE instead of __has_include
acaf83f40 feat: enable building with gcc 4.8
05aa78377 feat: include xlocale.h only if exists
05dda9490 Bump ossf/scorecard-action from 2.2.0 to 2.3.1 (#3697)
caf4fcb20 Bump github/codeql-action from 2.21.5 to 2.22.5 (#3696)
e0d3e346d Wrap Char in array to avoid pointer arithmetic (#3695)
19276d732 Fix an inconsistentcy between to_string and format
2a2c6e676 Fix flushing C++ iostreams before calling write_console() (#3689)
3b7f58a8b add buffer flush before direct write
e9bbd4069 Update README.rst
857cce7a8 Update README.rst
081d5b0d8 Update README.rst
baae1ed65 add meson instructions to usage docs (#3677)
2ac6c5ca8 Fix error C2668 on Windows with option /std:c++latest (#3680)
d9063baf2 Fix perf regression in ostream::print
f7542c576 Apply clang-format
130cf54cb Use a more sensible locale in tests
8e0ca0589 Use a more sensible locale in tests
bf497ac06 Cleanup test
bb8d50f04 add a suffix for days and fix the one for minutes (#3664)
f76603f21 fix: make std::bitset formattable again (#3660)
f91828936 Bump actions/checkout from 4.0.0 to 4.1.0 (#3666)
72e883e16 Diagnose unsupported code unit types
b3bf23f3c Remove leftover usage of the __std_stream header (#3663)
349e1c48d Update README.rst (#3661)
79dbd3f19 feat: add security policy to readme (#3655)
2dd4fa874 Remove an ostream hack incompatible with libc++ 17
44f3d8a77 README.rst: fix broken LICENSE link (#3653)
06b20387a Optimize fractional_part_rounding_thresholds
649f2460d Apply clang-format
7529af8f9 Workaround intel bug (#3652)
a3a74fa7f fix: mark fmt::streamed() as constexpr (#3650)
8ef4db4b9 Use datatype of underlying data (#3647)
492a99c96 Fix error: 'char_traits<custom_char>' is deprecated: char_traits<T> for T not equal to char, wchar_t, char8_t, char16_t or char32_t is non-standard and is provided for a temporary period. It will be removed in LLVM 18, so please migrate off of it. [-Werror,-Wdeprecated-declarations] (#3634)
3baaa8d89 Update docs
0e01e46c1 Implement nested formatter
f6ca4ea19 Avoid a space in the UDL definition (#3610)
a8a73da7e Add an option to avoid wchar APIs on Windows (#3636)
aa3c5a412 Clarify I/O error handling
bfdf50d18 Minor cleanup
571a9b7b2 Replace usage of C++17 library feature with C++11 (#3638)
6c088be8e Cleanup handling of visibility
016b1faed Fix symbol leak (#3627)
e25370093 Remove unnecessary spaces (#3642)
d4987546a Add an experimental nested formatter
5bdce181f Mark styled_arg as a view to prevent lifetime issues
a4b7b24b7 fix redundant redeclaration of ‘constexpr’ static data member (#3630)
fac60bd4f Remove type cast as mxe(mingw32) compiler complains about useless-cast (#3624)
f5be4a8a9 Bump actions/checkout from 3.5.3 to 4.0.0 (#3623)
84e666151 Workaround a gcc 6.4 issue
ac3240439 Update dependabot.yml
8894ae87f Bump github/codeql-action from 2.21.4 to 2.21.5 (#3622)
ca608547e Workaround a C++11 issue
23cf4055a Simplify URLs
46c8301ee Remove rst2md
a79a97982 Cleanup ranges test
457bb6a98 Merge the copyright comment since there are many contributors
61aef4111 Cleanup changelog
2a45fd30f Drop the rst suffix from the license file
24296cff1 Update ChangeLog.md
3d1d20a6a Update ChangeLog.md
0302c527c Update ChangeLog.md
154eccfeb Convert changelog to markdown for compatibility with release notes
35dc5def3 Revert "Bump actions/checkout from 3.5.3 to 3.6.0 (#3615)"
e1fc481d6 Merge the copyright comment since there are many contributors
e8259c529 Bump actions/checkout from 3.5.3 to 3.6.0 (#3615)
637925155 Update version
951fd9e66 Update changelog
be89b9a41 Merge branch 'release' of github.com:fmtlib/fmt
28e2d3b64 Bump version
f5e54359d Update version
a003ab93c Update changelog
9b7416081 `atomic_flag` formatting (#3594)
a21690bdf Coding conventions
c9efd8968 Merge branch 'MathewBensonCode-master'
e78682405 Refactor Improvement on umul128 function
2b20d7be6 Refactor To remove friend function private access
1f38ebbdb Add condition to include friend function in win32
e41817969 Fix for FMT_MODULE not compiling on GCC
0bffed895 Bump actions/checkout from 3.1.0 to 3.5.3 (#3602)
cc077a5e3 Fix `FMT_NO_UNIQUE_ADDRESS` warning with clang-cl. (#3600)
a992b3d1f Fix for Compilation Error When Using FMT_MODULE (#3597)
af1b768cc Update changelog
2a7c45b54 Update changelog
bd868f3a5 Improve compatibility with GBK #3598 (#3599)
bbb784fb1 Fix a gcc error about partial specialization after instantiation
6c845f57e Fix `formatted_size` with `FMT_COMPILE` and format specs (#3588)
a379595c5 Bump actions/upload-artifact from 3.1.0 to 3.1.2 (#3593)
9dfde7871 Bump ossf/scorecard-action from 2.1.2 to 2.2.0 (#3592)
e92a705bd Bump github/codeql-action from 2.2.4 to 2.21.4 (#3591)
5a866fe85 Add formatter for std::atomic (#3574)
e150ea0cc to_string supports types with format_as
29ce2ff8a Update README.rst
2e1362add Create scorecard.yml
e57ca2e36 Update version
4c56612c6 Update changelog
e1acd5f4d Bump version
6ffee2f75 Handle new rst nodes
ee475d640 Update changelog
ecc914125 Update changelog
d42486231 Fix fixed precision handling during rounding in long double
3c1b3337d Update changelog
35fb69ebe Update changelog
f92be35c0 Update changelog
7a2f6ac21 Fix a comment
744ff5554 Fix docs
70ae48b00 Update changelog
ebb10347c Merge branch 'master' of github.com:fmtlib/fmt
100572016 Clarify that visit_format_arg is deprecated
aeb6ad4dd Added formatter for bit_reference-like types (#3570)
96d1fa22d Update changelog
8a4bec5cf fix ambiguous formatter lookup for flat_set (#3561)
eacd51c24 cmake: fix FMT_PKGCONFIG_DIR path (#3563)
757564f5c add missing inline specifier (#3552)
f4214ae8d Use the U literal for unsigned integer constants. (#3549)
aecf80d30 Update a comment
503d49286 expose detail::throw_format_error (#3551)
4f46cb82f Remove std::copy usage. (#3550)
3dec65b7f Use replacement character in path
dbabb305c Turn off error-producing NVCC workaround when using c++20 (#3544)
ac0ab8eff Improve path formatter
40f35d6f0 Cleanup std formatters
31c2c5679 Cleanup formatters
b2728a317 Improve path formatter
77e0b0e22 Cleanup chrono formatter
e47585904 Fix overspecified tests
436c131d4 Optimize compiled format_to_n
388bc296b Fix fixed formatting of small long doubles
95e1ea573 Clarify requirement on compiled formatter
fb97cb231 Suppress a bogus stringop-overflow warning
dd5a9691f Clarify that data is not null-terminated
72dc4491e Fix format_string_checker initialisation order (#3542)
9bea6ec04 Don't use deprecated checked_array_iterator
661b23ede Call parse on empty specs at compile time
8e87d3a8b Fix include
a47491656 Update CMakeLists.txt (#3523)
de4705f84 Trying to improve errors in the unformattable case (#3478)
e4c8cfe38 README: Add link to merged clang-tidy check (#3515)
606f85f8b Workaround brain-damaged conversions
a331dbfb6 Fix type in assert message. (#3508)
13156e54b Revert "add ability to build Apple framework using CMAKE_FRAMEWORK" (#3496)
9158bea1e Remove old grisu tests
dd17f89a1 Fix for issue #3492 (#3493)
1daae555b Optimize format string compilation
6ad301235 Optimize code unit output in compiled format
8732ad877 Update docs
5afb1821a Update docs
a81135f2c Fix a link
dfc34821a Update docs
0765e7284 Update docs
977d887a4 Suppress a bogus warning
c86fe0b8d Give basic_memory_buffer allocator [[no_unique_address]] (#3485)
5dbe0ff95 Bump actions/checkout from 3.5.2 to 3.5.3 (#3486)
de0757b57 Use FMT_TRY and FMT_CATCH in std.h (#3482)
8fe893c0a Update README.rst
0f823df46 Remove detail namespace hack
60fd9941c Use correct Char type in std::filesystem::path (#3476)
8abfc145b Fix MSVC warning in std::chrono::time_point formatter (#3475)
686b3353a Simplify typeid check
b2106f363 Tweak comments
35547d600 Use const_check to silence MSVC warning
179c7e5a6 Use typeid() only if it's available
61fb3a15f Add VxWorks7 user space and kernel space support (#3467)
bd393456e Remove FMT_*_DETAIL_NAMESPACE
6be36af0d Remove udl_formatter
2a35eeed8 Remove unused data
256a826d6 Consolidate formatters
6369af37d Simplify formatters
0b8404918 Remove get_cached_power
171a020c8 Pass correct Char to base format_as formatter (#3457)
d8f04e399 Simplify ceil
5e988f8df Remove is_constant_evaluated() check
19b17618a Make constexpr ceil
c684a06d5 New CI: macOS 13, Xcode 14.3, C++ 20
abdb7fdf8 Update api.rst
8b09fe2a0 Fix example for user-defined types in documentation for 10.0.0 (#3461)
adad18a74 Update ChangeLog.rst
858e528ab Use dragon in constexpr
a54cb108d CMake: Do not fail on unknown compiler features (#3453)
ef55d4f52 Suppress a bogus gcc warning
70b6a6fa4 Update README.rst (#3454)
6fe895410 Remove invalid_arg_index
d0652d225 Create dependabot.yml (#3452)
de8d0171a Simplify FMT_FORMAT_AS
7401fe046 Hash pin Github Workflows (#3451)
08ef0d084 fix formatter<char*> (#3432)
d60b907f8 Replace mod_inv_25 by explicit value (#3450)
4ce086f73 remove code duplication (#3448)
821f8cdb4 Detemplatize printf more
0bf6ed7e1 Cleanup printf
e40e04fac Detemplatize printf_arg_formatter
0a1c27281 Detemplatize basic_printf_context
2f605cc89 Deprecate wide printf
1d54499ac Apply coding conventions
3c6053c53 Cleanup basic_printf_context
4a392adaa Remove basic_printf_parse_context
b14913fae FMT_MODULE_EXPORT -> FMT_EXPORT
2117df299 format-inl.h: address implicit int to bool conversion (#3446)
616a49378 Revert Char* formatter removal
9a034b0d5 Always assert in FMT_THROW (#3439)
e0fc0e85e Remove unneeded FMT_API
552c43aba Improve long formatters
d6846f4ac Clarify why byte formatter is in core
aeedac588 Remove unneeded specialization
eaa630769 Make hex float test more stable (#3434)
e82bf41a1 Update README.rst
e077396f5 Update docs
861facad0 Fix a typo
75bfe5761 Improve docs
697e76ba3 Don't call init_named_args unnecessarily
a425e0ff3 Cleanup xchar API
c36dd825b Remove unnecessary forwarding
130b8fcdb Reduce template instantiations
a47e8419b Cleanup the core API
ea49c91cd Cleanup argument construction
d7592ad8b Fix time_point formatting for durations with certain ratios (#3430)
ebfb2e677 Remove unused alias
5780269d5 Improve API safety
b47119216 Fix a comment
8f18e72df Improve API safety
93d7cb12f Fix formatting
0e4278717 Remove unused macro
93a30a074 unicode_to_utf8 -> to_utf8 since both sides of conversion are Unicode
a08196b14 Update ChangeLog.rst
0398ba42c Update ChangeLog.rst
a0b8a92e3 Update version
5cf2342aa Bump version
fe9d39d7c Update changelog
4c9856197 Update changelog
403b271ed Update changelog
2c991e1af Update changelog
c984df981 Remove an unused function from internal class
fbf21ed22 Update changelog
575583144 Update changelog
e7f6888c7 Update changelog
39db2dfd0 Update changelog
9b7829e26 Update changelog
1e0ce567e Fix formatting of paths containing invalid Unicode
dde8cf3bb Unification utf16/utf32 to utf8 conversion
e84b00e01 Workaround to error: variable 'n' set but not used [-Werror,-Wunused-but-set-variable]
b12ffea4f Add filesystem_error test back
f61f15cc5 Suppress a false positive in gcc
192df93d7 modules missing pieces (#3399)
d8973bf16 Add FMT_STRING for format_to() call (#3413)
d7a8e50cb Improve module testing (#3397)
02cae7e48 Improve handling of Unicode in paths
53162142b Remove .bazelrc mention from Bazel related readme (#3411)
5bcf0d7f9 Bazel support (#3406)
f8c9fabd9 Fix spelling (#3404)
62ff4e1db Remove foonathan from maintainer list (#3402)
f449ca052 Name `vfprintf` clashes with the identically named declaration in 'stdio.h' if that happens to be #included into the same TU. Fix this by using qualified name lookup instead of unqualified lookup that also enables ADL. (#3400)
eafcd3c8e Optionally attach declarations to the `global module` rather than `module fmt` (#3387)
18154cc90 Simplify print
0de789cf2 Update changelog
c03938922 export names only once (#3392)
93e81bb5d Fix C4365 (signed/unsigned mismatch) warning on 32-bit Windows (#3398)
e7d6eb679 Update tests to use recommended MOCK_METHOD (#3395)
18e7a2532 Remove obsolete msvc workarounds (#3388)
0489c19dc fix and improve module (#3386)
8ec94ac6a Use full path to pcm
d97d8cea6 Push module check to test
d8a2698e6 Fix compilation as a C++20 module with gcc 13
d9c19940a Update add_module_library
4b5ae0b0e Remove unnecessary module support check
75f3b1c09 Use add_module_library
faf83406a Workaround cmake issue
165814d57 Add module support to CMake
33f715077 Fix error C2668 on msvc (#3378)
c98e5a08a Fix modular build on clang
119c6bd16 Move the modules check
77eeb7183 Remove unused headers
13bf99f9d Enable modules in clang 16
1d0257e4c FMT_MODULE_EXPORT_* -> FMT_EXPORT_*
4613d48fd FMT_EXPORT -> FMT_LIB_EXPORT
4a4a2a2bd Fix diagnostics
fce74caa1 Disable problematic implicit conversions
02bf4d1c1 Disable to_string_view ADL
466e0650e Remove problematic workaround
029caa8ea Update changelog
e406ddbfa Remove broken part of the config
909567953 Update changelog
7f46cb75b ranges: Fix extra semi (#3374)
4e3f38105 Update changelog
d3c10f516 fix compilation for MSDOS (#3369)
ab956f600 Update changelog
97aedeab4 Workaround a double-double hexfloat format (#3366)
bce8d4ed0 Remove stray comment
a91c7b286 Cleanup the core API
19c074e47 Remove deprecated fallback formatter
41cfc739f Generalize format_as
f6276a2c2 Force use a signed char (On ARM char is unsigned by default) (#3362)
6002ddf82 Remove a deprecated option
6549ffde8 Improve format_as safety
d9bc5f132 Fix code causing spurious Wstringop-overflow warning
9c5cd998d Remove unused functions
93bfa0538 %T is %H:%M:%S (#3349)
d8e1c4265 fix case of variant which is valueless by exception (#3347)
e1720c0e5 Fix CUDA nvcc warning fmt/include/fmt/core.h(295): warning #1675-D: unrecognized GCC pragma (#3352)
7f882918e `write_floating_seconds`: Fall back to `::round` (#3343)
cbc7b8d5c Cleanup dead variable (#3338)
050293646 Path is not escaped twice in the debug mode (#3321)
3daf33837 Enable consteval for Xcode 14.0.1 and later (#3331)
e0748e61d Fix recursion check in range formatting
b94e1016f chore: set permission to cifuzz.yml (#3328)
98699719f Make # handling consistent with std::format
48dfbcaa9 Improve license and PR template wording
c644c753d Add '🐙 userver framework' to the projects
73b7cee7f Fix for issue #3325 (#3326)
5b8302079 Add optional support (#3303)
3a69529e8 Fix various typos (#3312)
76f520835 Call element parse in tuple parse
507c3042d class -> typename
1741e90de Always call parse in range formatter
d646fd0da Minor cleanup
b5c2f74f4 change sopen_s to wsopen_s (fmtlib#3234) (#3293)
e03753c4a Add ubuntu mirrors (#3302)
6e6eb6377 [msvc] fix warning about non-inline variable
3c5464ba1 Fix OpenBSD build error (#3295)
655046d24 Fix container adaptor formatting
581c6292c Add formatters for container adapters (#3279)
7718eeeac Implement glibc ext for sec, min, and hour (#3271)
44e0eea94 Use FMT_HAS_INCLUDE and apply clang-format
99070899b Fix errors setting of FMT_USE_FLOAT128 (#3259)
05e3a9233 Allowing formatting non-copyable ranges. (#3290)
70db193f0 Visual Studio 2022: fmt/format-inl.h(1145,60): warning C4310: cast truncates constant value #3287 (#3288)
a2c05a10e Workaround a bug in MSVC <= 19.22
cae9bf45b Simplify apidoc comments
87c066a35 Implement `println` (#3267)
9409b2e4d Workaround for incompatibility between libstdc++ consteval-based std::is_constant_evaluated() implementation and clang-14 (#3281)
f89cd276f Refactor countl_zero fallback (#3276)
240b728d8 Report an error on overflow
dfbb952b2 Fix empty spec for time point (#3275)
39971eb33 Fix localized format for float-point numbers (#3272)
0f42c17d8 Implement a new formatting algorithm for small given precision (#3269)
bfc0924ea Bugfix for fmt::printf on Power9 architecture with the XL compiler (#3256)
676c2a107 Fix negative subsec for time_point (#3261)
2c80cedc3 Fix standard default installation target presence (#3264)
dda53082b Support fill, align & width for time point (#3260)
2622cd23e Simplify arg_mapper
9e4a54fa6 Disable remaining implicit conversions
9ce648067 Disble deprecated implicit enum conversions
9121f9b1d Enable format_as for classes
b7535365b Enable format_as for non-integral types
09ed1ddb9 Cleanup tests
0ec65d99a Merge parse_presentation_type into parse_format_specs
71e4e0272 Cleanup vprintf
aad546baa Simplify presentation type parsing
14a69fcc5 Use parse_align
bf34ffd33 Refactor format string parsing
6056e0712 Simplify symbols
aa99b8640 Minor cleanup
6ade2eb4e Inline all_int_set
caa697494 Simplify parse functions
a73a9b6a8 Refactor format string checks
72785a3ab Cleanup write
0c3dd5ddd Remove redundant check
739b600f4 Remove iterator shenanigans
3710c4d38 Link to dragonbox
a05ba44df Simplify format string parsing
ffb9b1d13 Improve handling of signed types
32190859e Fix handling of char
8fe4d97d5 Reduce template instantiations
7e5a95956 Fix build with MSVC C++20 modules (#3254)
9e6030486 Clarify that unused args are allowed
7ad48c1f6 Cleanup core.h
a921a596e Cleanup core.h
3e762fdf5 Use ignore_unused
79981a252 Cleanup ranges formatting
bd12aaa98 Simplify format string parsing
b8f36207c Simplify format string parsing
d907786f0 Move anchor to where it belongs
f2355bbe5 Fix docs
f398c9476 Fix docs
4841784e8 Simplify C99 strftime detection conditions
cb72c23e9 Improve timezone tests
583f2d820 Set timezone for chrono tests
32c439070 Minor cleanup
3a5e19fbf Minor cleanup
dfb857ebe Refactor format spec parsing
9ea9b6bcb Cleanup arg id parsing
2b0ff62a7 Remove unused template arg from format_string_checker
d1745084e Simplify parse context
407e7b7b6 basic_format_specs -> format_specs
3cf979475 Cleanup format string parsing
934c8e5f7 Refactor precision parsing
fc9693834 Remove empty semicolon
f0ab112c3 Cleanup parsing
9660e5b95 Remove redundant tests
a585571e9 Ignore 0 character with align
840ec8569 Cleanup width handlers
1dadeb8a3 Refactor width parsing
275b4b341 Remove obsolete parse-benchmark
e004f1d69 Fix for issue #3241
bde1a6070 Simplify fill and alignment parsing
040dc2a5d small typo in syntax.rst
6a186bcd6 Localize FMT_USE_LOCAL_TIME
8c56919bd Check chrono spec starts with %
115001a3b Formatting of system clocks ought to be to UTC, not to local time. This improves standards conformance of fmt.
b90895412 Fix formatting of named arguments with locale
d072f1dc6 Fix for issue #3228
3999fd193 Workaround an ADL issue
c06e0b4ed Extract timezone offset from timezone conversion functions
1bf302a4e Implement %Ez, %Oz for chrono formatter
f1733afd4 Pin godbolt example to specific version
f61dcccc6 Update README.rst
f9bcbdcbc Update README.rst
1a854b4aa Clarify what mod_inv_5 is
62ceb181b fix #3105 - Compile-time error when mixing named argument with automatic indexing
b0c8263cb include/fmt/core.h: copy constructors removal
d24be2e95 Add countl_zero function
8d50d814d Fix a chrono formatting issue found by fuzzing
115ca96e0 Bump tested CMake version to 3.25
886491625 Remove workaround for GTest bug
74c51ff37 Skip only strptime dependent test in scan-test
69ffedfe5 Use `target_compile_features` to specify C++ standard requirement
fae6f7e08 Optimize range formatter
a69e43c9d Update benchmark results
91c024ed3 Rename leading_v -> leading_xdigit
649aa102d CI linux: add CIFuzz Github action
31364732d Replace snprintf-based hex float formatter with internal implementation
74d55a493 Add missing operators
8276f1a20 Fix warning: the implicit by-copy capture of "this" is deprecated (EDG frontend)
81ebe70b9 Fix warning: a class type that is not t…
yuanyajie added a commit to fizban007/Aperture4 that referenced this pull request Oct 6, 2025
REVERT: 486e7ba5 support `std::optional` holding cv-qualified types (#4562)
REVERT: 27ea0983 Error on unsafe uses of join
REVERT: b5b9317a Warn about unsafe use of join
REVERT: d13e5d04 Bump github/codeql-action from 3.29.7 to 3.30.5 (#4558)
REVERT: b9ac8b22 style: Correct indentation in locale initialization (#4557)
REVERT: 4801f54e docs: Add compile-time options to API documentation (#4551)
REVERT: 5f66e07c Suppress an unused argument warning
REVERT: 17be91c0 Fix a clang-tidy error
REVERT: dcea6165 Fix compilation with locale disabled in header-only mode
REVERT: a2fd48e0 Make FMT_USE_CONSTEVAL optional #4545 (#4546)
REVERT: e28c371c Fix ambiguous call to fprintf when compiling as a C++20 module (#4548)
REVERT: 6b6cdd94 Store size in a local variable while unchanged
REVERT: c5e55972 Minor improvements to mkdocs
REVERT: dc409ee8 Explain mkdocs deploy invocation
REVERT: 4cce5f45 Perf: Optimize function append in include/fmt/base.h (#4541)
REVERT: aa8a3083 Fix mike invocation
REVERT: b18ece7d Export is_compiled_string and operator""_cf (#4544)
REVERT: e424e3f2 Update version
REVERT: ddd20d57 Bump version
REVERT: 594143e3 Fix formatting in ChangeLog benchmark section
REVERT: 09005428 Fix formatting in ChangeLog.md
REVERT: aaefc029 Update changelog
REVERT: 9fb9f17d Update changelog
REVERT: a3b3d7ed Simplify duration cast
REVERT: 9aee518f Update changelog
REVERT: 83189189 Remove get_dynamic_spec
REVERT: 9bb14ffc Remove deprecated APIs
REVERT: 556c4177 Remove deprecated localtime
REVERT: bfdef8b1 Remove deprecated functions
REVERT: e33c76a1 Update changelog
REVERT: f9face71 Update changelog
REVERT: 36390db0 Add Conan instructions in getting-started page (#4537)
REVERT: da97ba29 [cmake] fix MASTER_PROJECT heuristic; only enable install if master project (#4536)
REVERT: 79a5e930 Update changelog
REVERT: 18e160eb Add missing include for crtdbg.h (#4534)
REVERT: 53d006ab Update changelog
REVERT: 63bef339 Update changelog
REVERT: d7cbfef1 Update changelog
REVERT: 26b033e2 Update changelog
REVERT: 609188cb Cleanup macro definitions
REVERT: 84b9c007 Update changelog
REVERT: 9908d000 Delete Bazel support (#4530)
REVERT: 0a94e067 Combined emphases into a single escape sequence (#4528)
REVERT: 053d2629 Add .clang-tidy
REVERT: e72e43af Apply clang-tidy
REVERT: 80549a63 Avoid repeated call to `GetLastError` in `file::size` (#4522)
REVERT: f17b9aa4 Bump actions/checkout from 4.2.0 to 5.0.0 (#4523)
REVERT: 882702c2 Apply clang-tidy
REVERT: 16d371b6 Apply clang-tidy
REVERT: 619b3a5a Suppress a false positive in clang-tidy
REVERT: 79c7f8a7 Apply clang-tidy
REVERT: 20e0d6d8 Update docs
REVERT: 8ba99c0f Update docs
REVERT: 656228fb Update docs
REVERT: 02fb76d6 Add FMT_STATIC_FORMAT
REVERT: a57f196c Apply coding conventions
REVERT: a75e8af4 Update docs
REVERT: e129591f Update changelog
REVERT: 13d4f846 Remove deprecated vformat_to
REVERT: e2f89e6d Remove deprecated aliases
REVERT: 489fd7ca Simplify locale handling
REVERT: 69324379 Mark detail::assert_fail as deprecated
REVERT: ff1caa58 Use FMT_THROW in report_error (#4521)
REVERT: e181e941 Add FMT_CUSTOM_ASSERT_FAIL (#4505)
REVERT: 43c88d00 Update changelog
REVERT: 33a7d55c Update changelog
REVERT: 8e4676e4 Remove deprecated template parameter
REVERT: b5c4d25c Rename is_char to is_code_unit
REVERT: a77efa4b Move is_*char to detail
REVERT: e7e71009 Make FP formatting compatible with exotic chars
REVERT: b7b26197 Simplify report_error
REVERT: 61e0503d Merge workarounds for bogus MSVC warnings
REVERT: 72c82296 Put FMT_END_* together
REVERT: a402614e Remove deprecated aliases
REVERT: e719c43c Apply coding conventions
REVERT: 8a8ff617 Remove deprecated and undocumented has_formatter
REVERT: 5b99b334 Remove redundant else
REVERT: 95884589 Silence unreachable code warnings in MSVC when FMT_USE_EXCEPTIONS are disabled. (#4515)
REVERT: f91dc80f Minor cleanup
REVERT: 41205811 Minor cleanup
REVERT: 7ffc3ca1 Minor cleanup
REVERT: e9ddc97b Remove unnecesary constexpr and inline more
REVERT: 0d145936 Handle allocator propagation in basic_memory_buffer::move, Fix #4487 (#4490)
REVERT: 8f3a9651 Refactor `ansi_color_escape` to track size instead of using a null terminator (#4511)
REVERT: ae8cb1e8 Ignore some more files in `.gitignore` (#4512)
REVERT: add164f6 Optimize the default FP formatting
REVERT: 23059d55 Fix exponent size computation
REVERT: 505cc3d0 Simplify remove_trailing_zeros
REVERT: b8a50261 Revert "Optimize the default FP formatting"
REVERT: 814f51ea Bump github/codeql-action from 3.28.16 to 3.29.5 (#4510)
REVERT: 93f03953 Optimize the default FP formatting
REVERT: 35dcc582 fix buffer overflow on all emphasis flags set (#4498)
REVERT: 553ec11e Make compatible with WASI (#4497)
REVERT: a0ecfe3e msvc + ninja + modules: Fix build when consuming fmtlib while using a Ninja generator (#4495)
REVERT: 127413dd Add OpenSSF Best Practices badge
REVERT: 7d29ebe4 Minor cleanup
REVERT: 20c8fdad Fix `import std` in clang++ (#4488)
REVERT: 300ce75c Handle invalid glibc FILE buffer
REVERT: 513f9782 Cleanup os-test
REVERT: 6a3b4052 Use actual example code and move safe_fopen to os-test
REVERT: 2fa3e1a1 Fix interaction between debug presentation, precision, and width for strings (#4478)
REVERT: fc8d07cf Bump msys2/setup-msys2 from 2.27.0 to 2.28.0 (#4485)
REVERT: 27c5aab3 Fix unwanted char promotion in decimal writer with wchar_t (#4483)
REVERT: bc019353 Update image
REVERT: 353bd895 Add FMT_EXPORT on ranges.h customization points (#4476)
REVERT: 953cffa7 Replace memset with constexpr fill_n in bigint::align (#4471)
REVERT: 571c02d4 Add xchar support for std::byte formatter (#4480)
REVERT: f4345467 Fix compilation on clang-21 / libc++-21 (#4477)
REVERT: 1ef83480 Properly constrain `detail::copy` optimization (#4474)
REVERT: a5dccffa Add double and float support to scan test
REVERT: 4a149f51 Test non-SSO constexpr string formatting
REVERT: 067bc479 Avoid redundant work when processing UTF-8 strings (#4475)
REVERT: 730fd4d9 Remove redundant tests
REVERT: 5860688d Enable constexpr support for fmt::format (fmtlib#3403) (#4456)
REVERT: 46be88bc Cleanup FP formatting
REVERT: cc889149 Export fmt::dynamic_format_arg_store in fmt module (#4459)
REVERT: fc0c76a0 Handle large precision
REVERT: 6332a385 Bump ossf/scorecard-action from 2.4.0 to 2.4.2 (#4462)
REVERT: 02de29e0 Remove a reference to a compromised account
REVERT: 6d51c78c Cleanup FP formatting
REVERT: 0f4e9d0b Cleanup FP formatting
REVERT: d9d50495 Optimize the default FP formatting
REVERT: befbc5fd Fix ADL lookup for memory_buffer
REVERT: 8aa1d6a9 Minor cleanup
REVERT: 6d79757a Interpret precision as display width (#4443)
REVERT: 1ff0b7f5 Cleanup warning suppression
REVERT: ea985e84 Remove some implicit conversions (#4447)
REVERT: f7033da0 Avoid include locale inline if C++20 modules are enabled (#4451)
REVERT: b723c021 Give useful error when misusing fmt::ptr. (#4453)
REVERT: 3ba3c390 Clarify that formatting of pointers is disallowed
REVERT: ab161a71 Fix some typos in comments (#4448)
REVERT: b5266fd3 Remove some redundant `const`s (#4445)
REVERT: 9b0ebd44 Cleanup base-test
REVERT: 7af94e55 Remove old gcc workaround
REVERT: 2924fcf8 Cleanup base-test
REVERT: 102752ad Update docs
REVERT: a6cd72c9 Cleanup base-test
REVERT: 07885271 Minor cleanup
REVERT: 4999416e Fix reference_wrapper ambiguity with format_as (#4434)
REVERT: 55a8f6a4 Change component prefix for NSIS compatibility (#4442)
REVERT: eb9a95d4 Clarify that formatting of pointers is disallowed
REVERT: d5c33e4f Make template parameter order consistent
REVERT: a2225f28 Remove unused include
REVERT: b43b2f95 Cleanup standard formatters
REVERT: 1312b4a1 Cleanup standard formatters
REVERT: 4404dc05 Consolidate implementation details
REVERT: 7bb6fcb3 Bump version
REVERT: 59259a5f Make a doc directory if it doesn't exist
REVERT: 542ea7c4 Clarify that Formatter parameter is deprecated
REVERT: 40626af8 Update version
REVERT: 7fdd6846 Bump version
REVERT: 6caff7ed Cleanup test
REVERT: 71a54838 Update changelog
REVERT: 448929d4 Update and apply clang-format
REVERT: 26d87eda Bump github/codeql-action from 3.28.13 to 3.28.16 (#4432)
REVERT: 505ee058 Update changelog
REVERT: ccab4171 Update changelog
REVERT: ec1349d3 Update changelog
REVERT: 0ed2a65a Clarify why we use __builtin_strlen instead of strlen
REVERT: e22c9430 Update changelog
REVERT: b252bad3 Update changelog
REVERT: 26808312 Cleanun string_view
REVERT: 8978ab09 Avoiding __builtin_strlen (#4429)
REVERT: c936e2e4 Implement debug format for error_code
REVERT: a7d7b894 Implement the s specifier for error_code
REVERT: e98155a6 Remove redundant specializations
REVERT: 41b3bed4 Clarify why we don't use qualified names
REVERT: 67d9e493 Update changelog
REVERT: 9db5e4df Don't specialize std::is_floating_point
REVERT: 906eaf2d Make specifier order consistent
REVERT: 9f6c12c3 Remove deprecated localtime from docs
REVERT: 2d0518b5 Fix cmake error in pedantic mode (#4426)
REVERT: c81cbed2 Simplify test
REVERT: c7925241 Remove `core.h` from README (#4422)
REVERT: c7091383 Add support for incomplete types
REVERT: db405954 Remove `fmt/core.h` from docs (#4421)
REVERT: 0a917ee2 Minor comment tweak
REVERT: 969d4aef Update doc image
REVERT: 8061c7c8 Cleanup duration formatter
REVERT: 7b59df41 Remove redundant member
REVERT: b8192d23 Fix build error with MSVC v141 (#4413)
REVERT: e814b5fa Reduce template parametrization
REVERT: ed0d216f Fix localization and formatting of timezone names
REVERT: bd9554a2 Fix formatting of timezone names
REVERT: f086dc0d Fix timezone handling in tm
REVERT: f10b6dd8 Improve chrono formatting
REVERT: f470b9c5 Cleanup chrono tests and set consistent TZ
REVERT: b2821448 Fix handling of %Z
REVERT: 6d69f0c5 Improve chorno tests
REVERT: da776c9a Test timezone
REVERT: 64db979e Added a missing FMT_STRING in fmt::println() (#4407)
REVERT: 5f2e61fd Cleanup chrono detail
REVERT: b3d45e1d Remove fmt_detail
REVERT: 5f6fb96d Bump github/codeql-action from 3.28.8 to 3.28.13 (#4403)
REVERT: 5199e0f8 Fix a flush issue on libstdc++
REVERT: 2f584305 Move buffering tests to os-test
REVERT: d5d32c1e Bazel support: Update platforms to 0.0.11 (#4400)
REVERT: 20466128 Improve local_time test
REVERT: e1ab3833 Report an error when timezone is not available
REVERT: b9e0e94a Enable more chrono tests on Windows
REVERT: a8184242 Update changelog
REVERT: f53055ef Revert "Workaround an ABI issue in spdlog"
REVERT: b2dfcb2b Fix local_time test
REVERT: 7ac97cbd Enable some local_time tests and make them deterministic
REVERT: 17898794 Use fmt::local_time
REVERT: 443a8ef3 Deprecate fmt::localtime
REVERT: 3607e92d Bump version
REVERT: 43e31614 Test ambiguous time
REVERT: 989826ce Update changelog
REVERT: 9d6e24c6 Fix handling of long with FMT_BUILTIN_TYPES=0
REVERT: 0843317e Update changelog
REVERT: 784eac83 Workaround an ABI issue in spdlog
REVERT: 6fdf225a Always inline value ctors in optimized gcc mode only
REVERT: 332da79b Always inline value ctors
REVERT: 7b273fbb Minor cleanup
REVERT: 191c504b Cleanup build config
REVERT: d13fb609 Cleanup build config
REVERT: dd780fde Add clang-3.4
REVERT: 37e64747 Fix dynamic named arg format spec handling (#4361)
REVERT: 77c0fc07 Switch to supported ubuntu image
REVERT: 9212ff6c Apply coding conventions and use constexpr
REVERT: 864bdf96 Report error on duplicate named arg names (#4367)
REVERT: b776cf66 Optimize `text_style` using bit packing (#4363)
REVERT: bdbf957b Bump msys2/setup-msys2 from 2.25.0 to 2.27.0
REVERT: 577fd3be Fix TU-local entity exposition error in GCC 15
REVERT: faac8b1f Remove exports in std.h
REVERT: 12391371 Update version
REVERT: 8c1059b9 Update changelog
REVERT: 4e5aafbf Bump version
REVERT: db30fb3b Update changelog
REVERT: 3401ce2b Fix ABI compatibility
REVERT: 7f769552 Fix conflict with std::ignore (#4356)
REVERT: 251320fc Add .vs folder to .gitignore (#4355)
REVERT: 94ab51cb Simplify implementation of `operator""_cf` (#4349)
REVERT: 0ca42e83 Workaround an MSVC v140 bug
REVERT: ed27df57 Replace forward slashes by backslashes in BMI path for MSVC. (#4344)
REVERT: d42a068d Apply coding conventions
REVERT: f2cec917 Move is_compiled_string to public API (#4342)
REVERT: d5b866e2 fix gcc 8.3 compile errors (#4336)
REVERT: 5676e408 Bump github/codeql-action from 3.27.0 to 3.28.8 (#4337)
REVERT: 71d24b56 Bump actions/upload-artifact from 4.4.0 to 4.6.0 (#4339)
REVERT: c9267da4 Fix typo in `FMT_HAS_BUILTIN` check
REVERT: 373855c1 Clarify difference in FP representation
REVERT: 52eeeb52 Make exponent threshold depend on representation (#3649)
REVERT: 9cf9f38e Update version
REVERT: 4946bdb7 Update changelog
REVERT: 01a5b56f Fix error of unitialized variable FMT_HEADERS
REVERT: cb6fdf21 Restore constraint on map formatter (#4326)
REVERT: f841ae61 Fix #4303: avoid instantiating formatter<const T> (#4325)
REVERT: a3d05d70 Silence a constexpr warning when compiling with MSVC and /W4 (#4322)
REVERT: 41539c29 Workaround a bug in gcc 6 (#4318)
REVERT: aabe6391 Tweak changelog
REVERT: f90090be Update changelog
REVERT: 9ff9c695 Bump version
REVERT: 06ad1224 Update changelog
REVERT: 5f0572ac Workaround a compilation error on gcc 9.4
REVERT: 898d4385 Fix formatting into std::ostreambuf_iterator using a compiled format (#4312)
REVERT: 937b7c5c Add args() accessor back to fmt::format_context (#4310)
REVERT: 01914f03 Reduce size of basic_specs
REVERT: c43da357 Workaround an ICE when using modules with gcc 14.2 and earlier
REVERT: 8303d140 Update version
REVERT: b0b3dc5f Bump version
REVERT: 586ea06f Rename set_fill to copy_fill_from
REVERT: 5750f434 Update changelog
REVERT: bfbdc2be Add parameter to the fallback to_sys function.
REVERT: 87e00726 Update changelog
REVERT: d57040f9 Prefix components
REVERT: 21aa0956 Restore ABI compatibility
REVERT: 3f864a45 Address MSVC C4127 warning when formatting non unicode `tm` (#4299)
REVERT: 093b39ca Update docs for meson (#4291)
REVERT: 2c3a5698 Simplify a copying the fill from basic_specs
REVERT: fc1b0f34 Clarify use of FMT_THROW in a comment
REVERT: 1d066890 Resolve C4702 unreachable code warnings
REVERT: dad32375 Fix a bug when copying the fill from basic_specs
REVERT: 880e1494 Improve xchar support for std::bitset formatter
REVERT: e3ddede6 Update version
REVERT: e9ec4fdc Bump version
REVERT: feb72126 Readd FMT_NO_UNIQUE_ADDRESS
REVERT: 8d517e54 Update changelog
REVERT: 563fc74a Update changelog
REVERT: 3e04222d Restore ABI compatibility with 11.0.2
REVERT: 853df39d Mention compile-time formatting
REVERT: 11742a09 Clarify that format_string should be used instead of fstring
REVERT: da24fac1 Document fstring
REVERT: 5fa4bdd7 Define CMake components to allow docs to be installed separately (#4276)
REVERT: 3c8aad8d Update the release script
REVERT: 0e8aad96 Update version
REVERT: debe784a Update changelog
REVERT: f6d11256 Update changelog
REVERT: 73d0d3f7 Fix github API call
REVERT: 08f60f1e Update changelog
REVERT: faf3f840 Bump version
REVERT: f3a41441 Replace requests with urllib
REVERT: 3f33cb21 Update changelog
REVERT: b07a9038 Update changelog
REVERT: a6fba517 Update changelog
REVERT: 25e29299 Update changelog
REVERT: 00ab2e98 Update changelog
REVERT: a3ef285a Always inline const_check to improve debug codegen in clang
REVERT: 28d1abc9 Update changelog
REVERT: 90704b9e Update changelog
REVERT: 86dae01c Fix compatibility with older versions of VS (#4271)
REVERT: d8a79eaf Document formatting of bit-fields and fields of packed structs
REVERT: 7c3d0152 Use the _MSVC_STL_UPDATE macro to detect STL (#4267)
REVERT: 7c50da53 Allow getting size of dynamic format arg store (#4270)
REVERT: 873670ba Make parameter basic_memory_buffer<char, SIZE>& buf of to_string const
REVERT: 735d4cc0 Update changelog
REVERT: 14138017 Allow disabling <filesystem> by define FMT_CPP_LIB_FILESYSTEM=0 (#4259)
REVERT: 4302d742 Update changelog
REVERT: 0f51ea79 Update changelog
REVERT: 9600fee0 Include <filesystem> only if FMT_CPP_LIB_FILESYSTEM is set (#4258)
REVERT: 47a66c5e Bump msys2/setup-msys2 from 2.24.0 to 2.25.0 (#4250)
REVERT: 385c01dc Allow bit_cast to work for 80bit long double (#4246)
REVERT: df249d8a Remove an old workaround
REVERT: dfad80d1 Remove an old workaround
REVERT: 536cabd5 Export all range join overloads (#4239)
REVERT: b1a05470 Remove more MSVC 2015 workarounds and fix string_view checks
REVERT: bfd95392 Remove MSVC 2015 workaround
REVERT: 9ced61bc Replace std::forward for clang-tidy (#4236)
REVERT: 75e5be6a Sort specifiers
REVERT: a169d7fa Fix chrono formatting syntax doc (#4235)
REVERT: a6c45dfe Fix modular build
REVERT: a35389b3 Corrently handle buffer flush
REVERT: 5a3576ac Implement fmt::join for tuple-like objects (#4230)
REVERT: 54260001 Suppress MSVC warnings "C4127: conditional expression is constant" by used const_check (#4233)
REVERT: 720da57b Remove reference to unused intrinsic
REVERT: 680db66c Explicitly export symbols from detail
REVERT: 56ce41ef Remove initializer_list dependency
REVERT: cf50e4d6 Fix const[expr] in context API
REVERT: 6580d7b8 Cleanup the format API
REVERT: 7e73566c Minor cleanup
REVERT: 8523dba2 Make constexpr precede explicit consistently
REVERT: e3d3b24f Minor cleanup
REVERT: 1521bba7 Use consistent types for argument count
REVERT: 00649552 Bump github/codeql-action from 3.26.6 to 3.27.0 (#4223)
REVERT: 4b8e2838 More cleanup
REVERT: 7d4662f7 Remove FMT_BUILTIN_CTZ
REVERT: 27110bc4 Minor cleanup
REVERT: 68f31537 Fix narrowing conversion warning in struct fstring (#4210)
REVERT: 168df9a0 Implement fmt::format_to into std::vector<char> (#4211)
REVERT: 4daa3d59 Fix error: cannot use 'try' with exceptions disabled in Win LLVM Clang (#4208)
REVERT: e9eaa27e Add std::exception to the docs
REVERT: 2b6a786e Use standard context in print
REVERT: a16ff578 Add support for code units > 0xFFFF in fill
REVERT: 601be1cb Add support for code units > 0xFFFF in fill
REVERT: 58c185b6 Changing type of data_ to size_t to avoid compilation warnings (#4200)
REVERT: a0a9ba2a Fix hashes
REVERT: cc2ba8f9 Cleanup cifuzz action
REVERT: a18d42b2 Simplify lint (#4197)
REVERT: 4046f972 Fix -Wmissing-noreturn warning (#4194)
REVERT: 6bdc12a1 detail_exported -> detail
REVERT: 786a4b09 Cleanup fixed_string
REVERT: 2cb3b7c6 Update README.md
REVERT: e9cba690 Update README.md
REVERT: 02537548 Cleanup an example
REVERT: c68c5fa7 Test FMT_BUILTIN_TYPES
REVERT: 22701d5f Address build failures when using Tip-of-Tree clang. (#4187)
REVERT: e62c41ff Conform `std::iterator_traits<fmt::appender>` to [iterator.traits]/1 (#4185)
REVERT: 18792893 Silencing Wextra-semi warning (#4188)
REVERT: c90bc918 Bump actions/checkout from 4.1.6 to 4.2.0 (#4182)
REVERT: c95722ad Improve naming consistency
REVERT: db06b0df Use countl_zero in bigint
REVERT: b9ec48d9 Cleanup bigint
REVERT: 3faf6f18 Add min_of/max_of
REVERT: d64b100a Relax constexpr
REVERT: ff9ee046 Fix handling FMT_BUILTIN_TYPES
REVERT: 1c5883be Test nondeterministic conversion to format string
REVERT: cacc3108 Don't assume repeated evaluation of string literal produce the same pointer
REVERT: fade652a Require clang >=15 for _BitInt support (#4176)
REVERT: 96dca569 Module linkage fixes for shared build (#4169)
REVERT: 891c9a73 Cleanup format API
REVERT: 9282222b Export more
REVERT: e5b20ff0 Deprecate detail::locale_ref
REVERT: ff922235 Simplify locale handling
REVERT: 80c4d42c Cleanup format.h
REVERT: 3b70966d Add width and alignment support to error_code
REVERT: 05226c4b Remove type_identity
REVERT: c283b458 Cleanup format.h
REVERT: fe79932c Fix conversion warning on chrono.h (#4170)
REVERT: 23fcf194 Apply clang-format
REVERT: 3f296e3d Workaround clang-format nonsense
REVERT: a197a994 Add member format_as for std
REVERT: 6d43c755 Fix a typo
REVERT: 1f87b1c5 Use fmt::formatter specialization for std::reference_wrapper to avoid undefined behavior (#4164)
REVERT: ed8f8be7 More chrono padding (#4161)
REVERT: 55a0a9cd Cleanup pragma detection
REVERT: 5c926d9f Remove FMT_UNCHECKED_ITERATOR
REVERT: 8b024662 Remove unnecessary inheritance
REVERT: 2f1424be Simplify handling of arrays
REVERT: 239aa691 Remove unwrap_named_arg
REVERT: 497df6db Remove formattable
REVERT: a25e594f Remove range_mapper
REVERT: 503dff93 Simplify has_formatter
REVERT: 3374a95b Simplify has_formatter
REVERT: 0e62e5dc Simplify has_formatter
REVERT: 7ce01397 Sync value ctors and type mapper
REVERT: 07e70151 format std::reference_wrapper
REVERT: 41977277 Improve handling of unformattable args
REVERT: 527e98e3 Remove unformattable
REVERT: 8a19b2db arg_mapper -> type_mapper
REVERT: e97df46a Cleanup type mapping
REVERT: 39f1e090 Remove FMT_MAP_API
REVERT: d832830f Cleanup type mapping
REVERT: b329ff19 Always detect encoding on Windows
REVERT: 2af403ce Simplify type mapping
REVERT: b7513b1d Simplify type mapping
REVERT: 761d35f7 Cleanup format_as handling
REVERT: 545dc414 Add value ctor taking name_arg
REVERT: 3f5e45dd Simplify handling of _BitInt
REVERT: 2e3b6fbd Remove redundant check
REVERT: a0328e1f Improve error reporting
REVERT: de28ef5f Remove make_arg
REVERT: 2d5e561a Cleanup argument handling
REVERT: 6537fb43 Update changelog
REVERT: 50aac2ac Add reference to iterator_traits
REVERT: 538d8777 Workaround a bug in libstdc++
REVERT: 03353123 Demacrify UTF-8 check
REVERT: 463fe65f Cleanup FMT_COMPILE_STRING
REVERT: 1782a6ea Rename pragma macros
REVERT: b52fb988 Fix no locale build
REVERT: b6a6ec7f FMT_EXCEPTIONS -> FMT_USE_EXCEPTIONS
REVERT: 89999f16 Simplify pragma
REVERT: b90b4bc9 Remove FMT_STATIC_THOUSANDS_SEPARATOR in favor of FMT_USE_LOCALE
REVERT: a1d6f9a9 Minor cleanup
REVERT: 689ec7a0 Cleanup
REVERT: 28143dc9 Cleanup chrono
REVERT: 1bde49e5 Remove FMT_USE_USER_LITERALS
REVERT: f924d16e fix: pass /utf-8 only if the compiler is MSVC at build time
REVERT: ab8f9d5b Cleanup format API
REVERT: 6f62db09 Cleanup format API
REVERT: ab44ee75 Avoid shadowing
REVERT: 0d4e7e3f Remove old workaround
REVERT: 8ee89546 Remove old workaround
REVERT: a5deb96b Update gcc version
REVERT: 61a241f0 Cleanup
REVERT: ff82d8d2 Cleanup visit
REVERT: 0cc20f56 Remove iterator_t
REVERT: 2ba6785d Remove unused type
REVERT: 5644e750 Remove unnecessary forwarding
REVERT: 5345cfe6 Adjust clang-format
REVERT: 3e9fdb3a Cleanup
REVERT: 3ada4aed Optionally exclude Unicode data
REVERT: b37be85b Optionally disable named arguments
REVERT: 70643b25 Don't use format_error if exceptions disabled
REVERT: 967e2d17 Cleanup
REVERT: 02c5d637 Cleanup
REVERT: 047bf75c Cleanup
REVERT: 2d3ba32e Improve debug codegen
REVERT: 6c90b31f Improve debug codegen
REVERT: 9408c2ae Readd support for FMT_BUILTIN_TYPES
REVERT: cc3ff152 Cleanup
REVERT: 158893b3 Cleanup
REVERT: f5a16a48 Cleanup
REVERT: cad876be Switch to vargs
REVERT: debf6f82 Switch to vargs
REVERT: 35f4fab4 Simplify value ctor
REVERT: ff8f3247 Minor cleanup
REVERT: bd48715d Simplify make_format_args
REVERT: 57d6df62 Simplify make_format_args
REVERT: 8ed4a9dc Improve debug codegen
REVERT: f288f45e Prepare for arg_store unification
REVERT: 5bf577ca Backport from GoogleTest: "Work around a maybe-uninitialized warning under GCC 12" (https://github.com/google/googletest/commit/0320f517fd920866d918e564105d68fd4362040a)
REVERT: b6de6681 Backport from GoogleTest: "Always initialize fields in MatcherBase constructors" (https://github.com/google/googletest/pull/3797)
REVERT: 6870e4b0 Workaround for GCC regression: false positive null-dereference in vector.resize
REVERT: 5cdef760 Switch to gcc-13 for C++23 tests
REVERT: a2c290bc Suppress a bogus MSVC warning
REVERT: f1e3016c Optimize debug codegen
REVERT: 106dc8fd Reduce usage of type_identity
REVERT: c3344e21 Cleanup base API
REVERT: 5f438c96 Remove make_arg
REVERT: 2a257798 Reenable FMT_BUILTIN_TYPES
REVERT: 22d50c1a Add support formatting std::expected<void, E>
REVERT: 1cc10ab6 Make is_formattable work with const/volatile void
REVERT: 6aaf7f4b Suppress a gcc 13 warning
REVERT: b4d1d7f8 Improve debug codegen
REVERT: 1e0771c7 Fix broken CI for shared library on macos and linux (#4151)
REVERT: 3df47a46 Make is_formattable work with void
REVERT: b4aea98b Small fixes for some issues with modules builds (#4152)
REVERT: 565461a0 Update MSVC workaround in compile-test
REVERT: e2b72387 Cleanup format string API
REVERT: 1e0c6cdc Make symbol sizes shorter
REVERT: a8bcf81f Minor cleanup
REVERT: 15694c9a Workaround an MSVC bug
REVERT: 4cae2da0 Workaround a clang 17 bug
REVERT: 79e5ae91 Fix locale tests on FreeBSD
REVERT: 894b71da Fix handling of _BitInt
REVERT: 7a6a2a79 Improve debug codegen
REVERT: 387395fc Cleanup base API
REVERT: 6a884154 Add FMT_APPLY_VARIADIC
REVERT: 9a2aae37 Cleanup base API
REVERT: 88037683 Cleanup base API
REVERT: 4fa533c7 Cleanup base API
REVERT: d980dd71 Cleanup base API
REVERT: 4eed488c Cleanup base API
REVERT: a6ecd25b Improve debug codegen
REVERT: 9f29345e Simplify mapped_type_constant
REVERT: 4986b4c0 Simplify arg_mapper
REVERT: a5f4d982 Simplify arg_mapper
REVERT: bc3af512 Reduce the number of instantiations
REVERT: 60740b7c Cleanup base API
REVERT: 9ef160d3 Cleanup base API
REVERT: 0b80978c Cleanup base API
REVERT: 4f39d886 Cleanup base API
REVERT: a86b1acf Add mapped_t
REVERT: c9ef07bc Minor cleanup
REVERT: 8c4cfab5 Detemplatize parse
REVERT: 7e3aa6d9 Minor cleanup
REVERT: 7c662160 Minor cleanup
REVERT: 1416edab Cleanup base API
REVERT: d4aeca99 Bump actions/upload-artifact from 4.3.3 to 4.4.0 (#4141)
REVERT: eee93ddf Bump github/codeql-action from 3.25.11 to 3.26.6 (#4142)
REVERT: b310a0d4 Simplify parse_format_string
REVERT: 985c3399 Make map static
REVERT: 4a55b0d5 Remove duplicate error in compile-time checks
REVERT: 64a6c845 basic_format_parse_context -> parse_context
REVERT: 66920fee Improve compile-time checks
REVERT: f4dad85c Improve handling of named arguments in compile-time checks
REVERT: db4becab Reduce template instantiations
REVERT: fec2cc7a Improve handling of named arguments
REVERT: 621e9c17 Clarify why we have TYPE in native_formatter
REVERT: bca70405 Simplify compile-time checks
REVERT: 8c4b17fe Simplify compile-time checks
REVERT: 516a2e20 Cleanup FMT_STRING
REVERT: 6797f0c3 Cleanup compile-time checks
REVERT: db496b47 Remove old gcc hack
REVERT: 8eda3c8e Cleanup compile-time check
REVERT: 53316903 Move string_literal to format.h
REVERT: 8a484ad5 Minor cleanup
REVERT: b446cc9e fwrite_fully -> fwrite_all
REVERT: 0204dd35 Fix _BitInt formatter
REVERT: d8876b77 Minor cleanup
REVERT: c0fab5e2 Reject modernity, embrace tradition
REVERT: 64313e91 Move redundant initialization to compile time
REVERT: 8e3da9da Improve binary size
REVERT: 2a2f73f7 Improve binary size
REVERT: 6dd9194a Simplify format_to_result
REVERT: a017bba0 Minor cleanup
REVERT: 5eb023cd Improve binary size
REVERT: f213d833 Disable locale more
REVERT: b3ccc2d2 Disable locale more
REVERT: 7477dda2 Simplify is_utf8_enabled
REVERT: e582d377 Simplify locale handling
REVERT: cd8d01d8 Minor cleanup
REVERT: 377cf203 Add opt out for built-in types
REVERT: 5a0a3734 Add support for _BitInt on clang (#4072)
REVERT: bbf8b3bd insert else branch to avoid unreachable code warning (#4130)
REVERT: a3f3f2ec Fix gcc 8.1 - 8.3 bug and compilation (#4131)
REVERT: e3676ca3 Change std::copy to detail::copy in chrono to fix MSVC compile errors (#4132)
REVERT: 0379bf3a Workaround -Wstringop-overflow
REVERT: c59ee969 Improve compile-time formatting (#4127)
REVERT: 1a79bbfa Cleanup chrono formatting
REVERT: 89af1ad7 Cleanup chrono formatting
REVERT: 0e741e0d Minor cleanup
REVERT: d1acc667 Minor cleanup
REVERT: 4fb7008c Cleanup duration cast
REVERT: 589898e2 Fix %S doc
REVERT: 62382e36 Test full exponent range
REVERT: 94b8bc8e Add an experimental writer API
REVERT: 020af729 Simplify ostream
REVERT: fb07b37c Prioritize using the header files of self (#4116)
REVERT: 31354212 Minor cleanup
REVERT: 993f56cf Make sign a proper enum class
REVERT: c6c830e2 Make align a proper enum class
REVERT: b906c321 Get rid of bit fields
REVERT: f8c0c8ee Cleanup public API
REVERT: c71d03fc Make `support/python/mkdocstrings_handlers/cxx/__init__.py` PEP 8 compliant (2 of 2) (#4115)
REVERT: 50a8c3e9 Reduce format specs size
REVERT: 98314319 Fix ambiguous overload
REVERT: 0ce49aeb Add a test case
REVERT: bf870ae3 Fix back_inserter lookup for non-std containers
REVERT: c9851835 Make `support/python/mkdocstrings_handlers/cxx/__init__.py` PEP 8 compliant (1 of 2) (#4110)
REVERT: 9f0c0c46 Add 'n' specifier for tuple and pair (#4107)
REVERT: 9f269062 Simplify default formatter
REVERT: 15f939c3 Improve handling of dynamic specs
REVERT: 928a07bb Simplify handling of dynamic specs
REVERT: 78916997 Simplify handling of dynamic specs
REVERT: 58aba5a3 Deprecate append instantiation
REVERT: 5ee14d35 Reintroduce constexpr fmt::formatted_size for C++20 (#4103)
REVERT: b9c0e4dd Improve spec parsing
REVERT: 8445327c Simplify spec handling
REVERT: 8a06cee8 Optimize shortest float formatting
REVERT: 1db22749 Use us if Unicode is disabled
REVERT: 34ead4b3 Bump msys2/setup-msys2 from 2.23.0 to 2.24.0 (#4098)
REVERT: 3bf26009 Bump ossf/scorecard-action from 2.3.3 to 2.4.0 (#4099)
REVERT: d326c729 Fix conversion a surrogate pair (#4095)
REVERT: 6e462b89 Get rid of std::copy
REVERT: aff640c3 Make fmt::appender implement std::output_iterator concept (#4093)
REVERT: e23fb6a8 Apply clang-format
REVERT: 16b3542f Remove float_specs
REVERT: 29d7e580 Remove float_format
REVERT: 919f7c5e Reduce float_specs usage
REVERT: a80d668a Diagnose invalid precision
REVERT: 707d7d92 Apply coding conventions
REVERT: de6ed8df Test alignment
REVERT: ffdc3fdb Align digits table
REVERT: 0c028137 Fix doc build
REVERT: f8581bce Add redirect page
REVERT: 31b3c325 Mark namespace scope constexpr variable 'buffer_size' inline. (#4084)
REVERT: 52b32081 Wrap private module fragment content within conditional extern "C++", to match declarations. (#4083)
REVERT: 0b0b09f4 Constrain format_uint
REVERT: 4173a631 Improve format_decimal
REVERT: 4239dfe0 Simplify format_decimal
REVERT: ba36a048 Remove counting_iterator
REVERT: f6b4a23b Unbloat chrono
REVERT: 42d3d703 Remove the commenting attempt
REVERT: 9fcd9c4c Remove all warning suppressions
REVERT: 7f157dca Workaround gcc stringop-overflow bug
REVERT: 524ca1c7 Improve parsing
REVERT: bdc45eef Simplify on_text
REVERT: 439b6d72 Reenable print optimization
REVERT: 3cc32fdc Mark more formatters nonlocking
REVERT: 0c9fce2f Update version
REVERT: b47d662e Update changelog
REVERT: e84297f2 Bump version
REVERT: 0ad234ad Update changelog
REVERT: de684ef7 Make appender compatible with fill
REVERT: 447c6cbf Update changelog
REVERT: bc8d32e9 Update changelog
REVERT: 0f87d6ff Improve sign processing
REVERT: 808ea019 Cleanup test
REVERT: 55e76e6c Update check-commits script
REVERT: 8757f1f8 Add a script to test multiple commits
REVERT: 9228f349 Inline visit
REVERT: e10643ad Add a perf-sanity test
REVERT: f29a7e79 Don't use memcpy in append
REVERT: f97deb0d Minor cleanup
REVERT: 35413535 Apply minor optimization
REVERT: 5ef93a9f Expand FMT_FORMAT_AS to include implicit conversions (#4055)
REVERT: c9102619 Avoid extra reserve
REVERT: 58d792b6 Apply minor optimizations
REVERT: 25adca56 Remove redundant overload
REVERT: 1408f182 Simplify iterator detection
REVERT: 3fe4641d Add 2 more constexprs to fix compile error (#4065)
REVERT: 33e7ed1e Improve handling of back_insert_iterator that writes into a buffer
REVERT: 6a192f8d Fix broken links in README.md (#4066)
REVERT: 92cdbbae Update api.md
REVERT: 13038f37 Support printing (const) volatile void* (#4056)
REVERT: 67252257 Update changelog
REVERT: e60ff504 Fix usage with std::generator (#4057)
REVERT: ccea3380 Update lint.yml
REVERT: 92227c77 Improve support for non-POSIX platforms more
REVERT: 486838f2 Improve support for non-POSIX platforms
REVERT: a4339119 Update changelog
REVERT: 7a8b54a0 Don't confuse Glib::ustring with std::string
REVERT: b50e685d Update version
REVERT: e314776c Fix version check
REVERT: 2208143a Update changelog
REVERT: a9625970 Improve std::complex formatter (#4050)
REVERT: 232c6bc4 Update changelog
REVERT: 503e183b Bump version and add version validation
REVERT: e50c8b6b Fix disabling Unicode support
REVERT: 9d946a2f Fix compilation errors due to `make_format_args` in gcc 14.1.1 with c++20 (#4042)
REVERT: c4f6fa71 fix: Make basic_format_arg::visit() const (#4043)
REVERT: 10f12fd3 Bump github/codeql-action from 3.25.3 to 3.25.11 (#4041)
REVERT: 24c1f886 Remove double has_value check (#4040)
REVERT: 0041a40c Update version
REVERT: 686339f7 Minor cleanup
REVERT: e355c116 Tweak wording in the changelog
REVERT: 707bb5b3 Fix grammar
REVERT: 6f68c62c Ignore doxygen files
REVERT: d059fe42 Ignore vagrant files
REVERT: 43c5b347 Fix package build
REVERT: e89568e6 Update vagrant config
REVERT: f5bf6f77 Update build script
REVERT: bd9af9a9 Update changelog
REVERT: 16521089 Fix typo
REVERT: 84f61318 Fix formatting of release notes
REVERT: dedc17c1 Fix handling of tables, take 3
REVERT: 5d0adb6d Fix handling of tables, take 2
REVERT: 3f251fc9 Fix handling of tables
REVERT: 1930ed4b Fix release script
REVERT: 26d07e49 Fix formatting
REVERT: 949d5d17 Fix build script
REVERT: 53186535 Bump version
REVERT: 602e3c3d Update build script
REVERT: 2952130c Fix doc build
REVERT: 1e94a463 Create build dir
REVERT: a3412032 Update doc script
REVERT: 0fae326c Update site dir
REVERT: 8b1fcf5c Update doc dir
REVERT: ec46c3de Update build script
REVERT: 2d9d32c6 Update build script
REVERT: 4703ade7 Update build script
REVERT: 52e7b25f Update changelog
REVERT: b61c8c3d Change actions/github-script from e69ef54 -> 60a0d83 (#4038)
REVERT: bbf44cc0 Defines are still needed for FMT_MODULE as well (#4027)
REVERT: 06948fa7 Pin deps
REVERT: d9899492 Simplify deps
REVERT: ff72f553 Update changelog
REVERT: 7f951f25 Optimize range formatter
REVERT: 7ae102bd make format_int constexpr (#4032)
REVERT: edde9731 Update test names
REVERT: b1efe851 Prevent silent data loss
REVERT: 2c0d9e94 Add a define to force the use of fallback_file
REVERT: 18a9676d Add an experimental path
REVERT: af8cd4e4 Module purview can only contain direct preprocessor code (#4029)
REVERT: 514b6955 Suppress a bogus warning in MSVC (#4023)
REVERT: ac967732 Added missing std::declval for non-default-constructible types (#4024)
REVERT: c00149f5 Fix a typo
REVERT: 71244e07 Cleanup includes
REVERT: a57b0194 Correct comments
REVERT: febd8ed5 Cleanup includes
REVERT: 0434026a Remove build-docs.py
REVERT: 0882bfef Don't deploy docs from a PR
REVERT: 2a2048a7 Don't pass seconds as a double in examples
REVERT: ea1187f4 Generate doxyxml in build
REVERT: 1334eeda Improve docs
REVERT: 709169a4 Set the anchors
REVERT: 2bf1b300 Update changelog
REVERT: 8687315e Guard more system headers by `FMT_MODULE` (#4006)
REVERT: 98dd673c Cleanup cmake
REVERT: a245a8d4 Update changelog
REVERT: e0b66e8f Remove dependency on <ranges>
REVERT: 794df69c Added range_format::(debug_)string formatter (#3973)
REVERT: 1d9df9ce Remove a redundant comment
REVERT: c4ea9032 Only install `FILE_SET` when needed (#4013)
REVERT: 3e3062c1 Update msys2/setup-msys2 to v2.23.0 (#4012)
REVERT: b998b471 Update changelog
REVERT: bff1de15 Fix deploy docs (#4010)
REVERT: 90932dd2 Update doc.yml
REVERT: 232c5e85 Update doc.yml
REVERT: 26cdd1cb Update doc.yml
REVERT: ad34d4df Update doc.yml
REVERT: f7962644 Fix doc workflow
REVERT: 28673d96 Update api.md
REVERT: a5c1b5d4 Update changelog
REVERT: cc4d1245 README.md: update to remove "not yet release" remarks on clang-tidy
REVERT: 18a325f3 Disable footer
REVERT: a1337aa8 Merge literal-based API doc into the parent section
REVERT: 51a690ab Check if `.cc` exists in `fmt.cc` (#4005)
REVERT: f332a81b Remove unnecessary build step
REVERT: 33a1de57 Deploy docs, take 3
REVERT: c7252b33 Deploy docs, take 2
REVERT: 3f71b606 Deploy docs
REVERT: 215ce4d9 Fix error getting config 'user.email'
REVERT: 89f3a810 Fix error getting config 'user.name'
REVERT: 1f170d3f Install mike
REVERT: d175db8f Fix doc CI and clean workflows
REVERT: a8cfc0cc Deploy dev docs
REVERT: 65e278b2 Don't pollute the source directory
REVERT: 3620c174 Fix doc build
REVERT: 702b6f37 Update docs
REVERT: ed21034a Implement deployment
REVERT: 76d57f93 Remove old script
REVERT: 6ceef04d Merge branch 'master' of github.com:fmtlib/fmt
REVERT: ab6b257a Implement doc building
REVERT: 077e4ae7 Added generator expression to /utf-8 compile option (#3995)
REVERT: d4a8d26c Temporarily disable doc build in CI
REVERT: b5c8fd78 Fix doc build
REVERT: 735a6138 Build docs
REVERT: a6e6e9c3 Fix a link
REVERT: e6d4f927 Improve docs
REVERT: 8de3e87d Add a CMake option to control Unicode support
REVERT: 46d2acb3 Don't add `os.cc` to sources with FMT_MODULE (#4004)
REVERT: fad0222a Export `compiled_string` so that user can customize one (#3999)
REVERT: d1cab6a9 Drop parentheses
REVERT: fcb6a452 Improve docs
REVERT: 72928661 Improve docs
REVERT: d6ec6b7e Update docs
REVERT: e845fc57 Ignore old changelog
REVERT: 2bf811b1 Also allow compiled format for clang >= 12 (#4001)
REVERT: 9653eed8 Don't hide the navbar
REVERT: 9b5d1826 Update changelog
REVERT: fe741daa Mention namespace `fmt::literals` in the document (#4002)
REVERT: 0f6e7165 Fix missing includes in fmt.cc (#3994)
REVERT: a3d95971 Update changelog
REVERT: 7bd11b5c Remove a redundant extension to reduce divergence from std::format
REVERT: 21372bc0 Update cmake config
REVERT: a0495e3e Update changelog
REVERT: cba5e861 Update changelog
REVERT: e9609dec Update changelog
REVERT: 6ebbaf4b Split changelog
REVERT: 4e31d2dc Update changelog
REVERT: fcc0b499 Fix `FMT_INSTALL` with `FMT_MODULE` (#3998)
REVERT: 0560c334 Fix build with `FMT_MODULE=OFF` (#3997)
REVERT: db9365a1 Update lint.yml
REVERT: 5c445bc4 Reverting check to make shorter branch comes first
REVERT: 94f96d11 Fix undefined reference when compiling with FMT_STATIC_THOUSANDS_SEPARATOR and chrono.h
REVERT: 6abc1204 Check if the generator is ninja
REVERT: a9b85176 Use native c++ module support from CMake
REVERT: fba06f0e Update changelog
REVERT: 598e5180 Remove redundant tests
REVERT: 0a555818 Usage -> Get Started
REVERT: 966a1b3d Update docs
REVERT: adb8e27d Fix rendering of template parameters
REVERT: 2c84fa9a Update docs
REVERT: 8da0240d Improve docs
REVERT: 83bf1423 Update changelog
REVERT: 595e5491 Cleanup docs
REVERT: c636967c Improve docs
REVERT: 2392367e Set primary color
REVERT: 06f8e02f Remove rtd compat
REVERT: c71d08fc github: update lint.yml to post details on formatting issue (#3988)
REVERT: d9b90029 Update docs
REVERT: c0029b98 Update docs
REVERT: 1ac9b317 New landing page
REVERT: f68dee53 Fix syntax highlighting
REVERT: fb9ee2ed Simplify doxygen config
REVERT: d29ceaf9 Update .gitignore
REVERT: 9b12491c Migrate docs
REVERT: ab29ef37 Migrate docs and cleanup
REVERT: 97117cbb Migrate to mkdocs
REVERT: 886237ae Emit anchors
REVERT: 904f2a5c Remove a non-pinned dependency
REVERT: dab1a65d Sort out directory URI config
REVERT: 509d0181 Fix a link
REVERT: 75ab3bc2 Add a script to invoke mkdocs
REVERT: 871538d3 Fix install dir
REVERT: 250456d5 Migrate to mkdocs
REVERT: 38ba3d39 Migrate to mkdocs
REVERT: 07141139 Add macro support to api doc extraction
REVERT: dd3b3f93 Merge branch 'master' of github.com:fmtlib/fmt
REVERT: 03d14c3b Add support for multiple namespaces
REVERT: 416ac0fc Bump actions/checkout from 4.1.0 to 4.1.6 (#3986)
REVERT: 596add89 Bump ossf/scorecard-action from 2.3.1 to 2.3.3 (#3984)
REVERT: a10e0321 Improve docs
REVERT: febeb51b Documentation improvements
REVERT: f18c2b65 Fix rendering of aliases
REVERT: e3910b8a Improve apidoc rendering
REVERT: 34b85678 Render members
REVERT: e5c07c83 Improve apidoc formatting
REVERT: 933d8ba3 Improve apidoc formatting
REVERT: e7ba467e Improve apidoc formatting
REVERT: 91a859ee Switch to markdown
REVERT: 6180442e Render template parameters
REVERT: 418c5d09 Render template params
REVERT: aafdde7e Switch to JavaScript syntax highlighter
REVERT: d2ecfcfc Fix rendering on github
REVERT: 26b24943 Improve doc presentation
REVERT: 4f330567 Improve apidoc generation
REVERT: 19927462 Convert API doc to Markdown
REVERT: a4d42c44 Cleanup comments
REVERT: ddd8a542 Add mkdocs config
REVERT: fcd3e1e1 is_convertible_v -> is_convertible::value (#3983)
REVERT: dc401b1c Move handlers outside of the docs
REVERT: f7c5588c Cleanup syntax doc
REVERT: a4e40677 Fix markdown
REVERT: 3479828e Fix markdown
REVERT: 191b0cb4 Fix markdown
REVERT: e80f4a9b Cleanup syntax doc
REVERT: 022d8efe Update doc.yml
REVERT: ca8eeb09 Add glibc ext for day of month and week of year (#3976)
REVERT: cddb41f6 Fix markdown
REVERT: 0b0a0577 Remove old contents
REVERT: caa97da1 Add a word joiner to prevent line break
REVERT: cf9833f4 Cleanup apidoc comments
REVERT: b6638f9c Convert usage to Markdown
REVERT: d9034601 Fix markdown
REVERT: ba2fbf6e Fix markdown
REVERT: 6e49bb88 Remove CSS
REVERT: e0f3e850 Fix markdown
REVERT: 4fc3fce9 Improve syntax markdown
REVERT: d6427ae7 Improve syntax markdown
REVERT: 3d686906 Improve syntax markdown
REVERT: 551aa8d5 Add CSS
REVERT: 9e07045f Fix links
REVERT: 5735048b Improve mkdocstrings handler
REVERT: 33eba104 Minor comment fix
REVERT: 43ab964c MSVC 17.10.0 + modules cannot find definition (#3972)
REVERT: 728f9bc3 Added std::type_info formatter (#3978)
REVERT: e721046e Convert index to Markdown
REVERT: 552842c4 Convert syntax to Markdown
REVERT: 2c38766f Add a mkdocsstrings handler
REVERT: c8f1b4e7 ci: Remove macos-11 runners, add macos-14 (#3980)
REVERT: 529dcd11 Fix workflow, take 2
REVERT: 1441c660 Fix workflow
REVERT: ecd15597 Improve styles
REVERT: a57a63dc Fix styles
REVERT: 8691f21b Fix styles
REVERT: 7e4fac3f Improve styles
REVERT: 4a368625 Replace less with sass
REVERT: f4e1ec81 Cleanup html
REVERT: 89c0d101 Update description
REVERT: 12ef9e09 Fix class conflict
REVERT: 5afa6813 Remove redundant github button
REVERT: cc131020 Fix navbar style
REVERT: 8ee6c940 Reintroduce GCC-11 C++20 into CI (#3979)
REVERT: 766300b3 Update html
REVERT: 4115219e Fix CSS path
REVERT: 95076981 Update documentation deps
REVERT: 1752d7fb Added formattable concept (#3974)
REVERT: 1768bf97 Added FMT_EXPORT for fmt::range_format and fmt::range_format_kind (#3970)
REVERT: fc723fd6 Fix regression in #3710 (#3968)
REVERT: b8176106 Check range_begin is dereferenceable (#3964)
REVERT: 706eabd5 Resolved warning C4127: conditional expression is constant (#3967)
REVERT: 028bffa0 Update checks for dynamic_cast usage when compiled with no rtti (#3963)
REVERT: 86741b3e Bazel support: Add missing platform dependency (#3965)
REVERT: 75e89242 Minor cleanup
REVERT: 0b5287f8 Remove unused function
REVERT: a4715c48 Bazel support: Add utf-8 to Windows build (#3962)
REVERT: 8e728044 Fix format_as for non-const begin/end views (#3955)
REVERT: 1f436c64 Cleanup locking/buffering
REVERT: db1ee420 Cleanup unicode check more
REVERT: 7d6ae972 Cleanup unicode checks
REVERT: 3460b30f Improve utf-8 detection
REVERT: b7809f91 Enable Unicode support by default
REVERT: 1dc71f21 Enable Unicode by default
REVERT: 8db8f224 Optimize join_view
REVERT: d2473b7b Simplify join_view formatter
REVERT: 328d256c Apply coding conventions
REVERT: 57593a12 Simplify map formatter
REVERT: 10508a30 Enable fmt::join for uncopyable iterators (#3946)
REVERT: 16cec4f5 Make the map formatter correctly handle elements with custom formatters
REVERT: 77bfd849 Split range and map formatters
REVERT: 3af8ac7a Privatize write_debug_string
REVERT: ceb406d0 Remove range_default_formatter
REVERT: 19afc9c3 Update README.md
REVERT: 6ff593b0 Update README.md
REVERT: 78420bed Update README.md
REVERT: a21bc7b8 Update doc.yml
REVERT: 97d0613b Update doc.yml
REVERT: 04b0ae41 Update doc.yml
REVERT: 27dd1dcf Update lint.yml
REVERT: 3649c395 Update lint.yml
REVERT: 7650ed04 Fix to_nonnegative_int
REVERT: 9234fe83 Add tests to check that isnan doesn't cause FP errors
REVERT: 8a8f4825 Fix: isnan() shouldn't cause FP exceptions
REVERT: 17062a0c Bump actions/upload-artifact from 4.3.1 to 4.3.3 (#3950)
REVERT: 88d3997f Bump github/codeql-action from 3.24.9 to 3.25.3 (#3949)
REVERT: 48c90845 Fix CodeQL alert (#3945)
REVERT: cf1f55f7 Specialize `formatter` for all `std::basic_string` types (#3943)
REVERT: 400f6a8e Dedup ADL begin/end lookup
REVERT: a3e0931e Update signature in the doc
REVERT: 51eeccd0 const void* is neither a fundamental nor string type
REVERT: f30f1fd5 Document formatter specializations provided by base.h
REVERT: f4b256c6 Fix warning C26439
REVERT: f746a59a Cleanup FMT_ASSERT
REVERT: ee0c3351 Fix format_to + FMT_STRING for wide character type (#3931)
REVERT: 99735764 Fix FMT_USE_NONTYPE_TEMPLATE_ARGS define back (#3937)
REVERT: aa52eb76 Resolved warning C4996: 'fileno': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _fileno. (#3930)
REVERT: 116a9ce4 Added FMT_IMPORT_STD feature macro (#3928)
REVERT: 5eb68c0e Fix mix-up of 'FMT_BEGIN_EXPORT' and 'namespace detail'. (#3924)
REVERT: 550437b2 Resolved warning C4127: conditional expression is constant (#3923)
REVERT: 4e8640ed Fix: enable `FMT_NORETURN` without exception support too (#3917)
REVERT: c70e7b74 Coding conventions and minor fixes
REVERT: 71144eea implement year_month_day (#3913)
REVERT: 843e2935 Bump github/codeql-action from 3.24.6 to 3.24.9 (#3915)
REVERT: f5ec5ada Update syntax.rst
REVERT: 3b5f3de3 Make CMake version message less confusing (#3907)
REVERT: ca919398 Replace std::fill_n with fmt::detail::fill_n (#3909)
REVERT: 74a18728 Implemented fmt::day, fmt::month, fmt::year and related unit tests (#3906)
REVERT: 88620e53 Range formatting documentation  (#3905)
REVERT: 5d63e87d Add a formatter for float128
REVERT: aecec01b Initial support for extended FP types
REVERT: 5af88653 Cleanup
REVERT: 45b772f8 Improve std::complex formatter to be compatible with P2197R0 (#3900)
REVERT: 53347891 Make line buffering test less flaky
REVERT: 38881e5a Fix handling of the fileno macro
REVERT: 6c7cc6a0 Fix group_digits for negative integers (#3901)
REVERT: 365c3fbd Bump timeout
REVERT: c0dac839 Use p2197 format for complex by default
REVERT: bb882c03 Simplify path formatting
REVERT: 12acd798 Fix ambiguous call
REVERT: c710bfa1 Apply clang-format
REVERT: 73f2b344 Add std::complex formatter
REVERT: 9f3fc6e3 Add XChar support into nested_formatter
REVERT: c17816cb Fix invalid fmt::formatter<>::format return type (#3895)
REVERT: df6e7b22 Fix relative path for cmake in usage doc (#3890)
REVERT: c816fa67 Fix a warning
REVERT: e281749c Simplify range formatter
REVERT: 11f2f30f Simplify range formatter
REVERT: 13cfaa2a Guard against usage of _isatty when header was not included (#3880)
REVERT: 0861db50 Support character range formatting  (#3863)
REVERT: dfe5b12c Update os-test.cc (#3883)
REVERT: 09935d82 Bump github/codeql-action from 3.23.2 to 3.24.6 (#3876)
REVERT: 3bc6cc1e Protect against locking formatters
REVERT: 4fcc317d Bump actions/upload-artifact from 4.3.0 to 4.3.1 (#3875)
REVERT: ae1e93d3 Fix warning C4702 emitted from format.h (MSVC) (#3866)
REVERT: f68f452d Workaround an ld warning on macOS
REVERT: ebea5736 Fix chrono locale format bug for RHEL gcc (#3859)
REVERT: ddf0b7d2 Fix warning C4365 emitted from printf.h (#3865)
REVERT: 0166f455 std.h c++23 build fix (#3856)
REVERT: 8e42eef4 Don't error on min time_point
REVERT: 91b30e5b More API details
REVERT: 7a63e233 Readd core.h to headers
REVERT: 44c3fe1e Fix handling of static separator
REVERT: ae181cc9 C++23 compatibility: basic_string_view cannot be constructed from nullptr (#3846)
REVERT: 3a6fb2fc Fix some typos. (#3843)
REVERT: 08795047 Fix typo in typename. `containter_type` -> `container_type`. (#3844)
REVERT: 34f415b5 Fix %S formatting for chrono durations with leading zeroes  (#3814)
REVERT: e17bc675 Make scan variadic
REVERT: 06311ed1 Fix fixed rounding around zero in Dragon
REVERT: e5bab8da added formatter for std::expected (#3834)
REVERT: 9f5f39cb Bump actions/upload-artifact from 4.0.0 to 4.3.0 (#3837)
REVERT: ea581437 Bump github/codeql-action from 2.22.5 to 3.23.2 (#3836)
REVERT: 6321a97d Simplify color formatting
REVERT: 4b6b32f3 Deprecate wide stream function
REVERT: 1b54ba4b Fix UB in format_arg_store implementation. (#3833)
REVERT: 71a4a8d4 Really fix MSVC warning about <bit> only being available in C++20. (#3832)
REVERT: 8e62172a Fix a warning
REVERT: 28afff36 Improve buffering
REVERT: af44c297 Separate buffer initialization from flush
REVERT: a1e1eedb Minor cleanup
REVERT: ffce3632 Add glibc stream support
REVERT: b5669512 Don't hang on test failure
REVERT: 6435b169 Add support for line buffering
REVERT: 6f260455 Add scan_data::make_args
REVERT: e1832bcf Consider ADL begin() and end() when joining ranges (#3824)
REVERT: 2caf1b3b scan more
REVERT: 668fe265 doc: fix the chrono %C example value (#3822)
REVERT: 06fc25f2 Don't always enable typeid usage under msvc (#3821)
REVERT: 11ba1270 Fix flush
REVERT: 4c5b4af0 Improve name argument validation
REVERT: 2eb36329 Fix custom formatter example (#3820)
REVERT: 0147e082 Document println
REVERT: 6b68dff9 Write directly to a stream buffer
REVERT: b2cde48d Reduce usage of float_specs
REVERT: 8510838d Make format_specs not depend on code unit type
REVERT: 090ee135 Pass char type to write
REVERT: 470c4e6c Fix scope for glibc ext for sec, min, and hour (#3812)
REVERT: 13ec66bf 🛠 Add basic array safety functions and backwards-compatible result type (#3805)
REVERT: 64091b7a Fix naming
REVERT: e9548235 Make fill independent on code unit type
REVERT: f80a2bee Update README.md
REVERT: 83652dfe Restrict always inlining to the top-level API
REVERT: d249fd9f Workaround for gcc 6 (#3810)
REVERT: 73d91351 Mark `iterator_buffer` move constructors as `noexcept`. (#3808)
REVERT: fe0d910a Replace multiple error reporting mechanisms with report_error
REVERT: f9294f0e Improve handling of format specs
REVERT: c98a5a59 Remove unnecessary checks
REVERT: 5f30d371 Update README.md
REVERT: 3647feaa Improve scan
REVERT: e420a58f Improve scan prototype
REVERT: ca37503f scan -> scan_to
REVERT: 123e058e Improve scan prototype
REVERT: f924d20d core-test -> base-test
REVERT: d7072921 Fix constness
REVERT: 362b40c1 Fix docs
REVERT: 56fa4d61 Fix docs
REVERT: cacdf143 Remove nonstandard alias
REVERT: 4d766b16 Invert dependencies
REVERT: c10859f1 Remove deprecated options
REVERT: d0963d48 Make ranges only depend on fmt/base.h
REVERT: da0f84c4 Cleanup copy functions and move to base.h
REVERT: 59baac52 Remove unused functions
REVERT: 21b04582 Use std::allocator_traits (#3804)
REVERT: df6a3564 Fix MSVC warning: "The contents of <bit> are available only with C++20 or later." (#3807)
REVERT: 7c163acf Fix conversion warning in filesystem::path formatter (#3806)
REVERT: 1b55d103 Update api.rst
REVERT: 5d9d376d Update api.rst
REVERT: 6064b85c Update api.rst
REVERT: deb584c0 Update build.py
REVERT: 297b22f5 Remove <memory> dependency
REVERT: 3c960841 Remove redundant detection of experimental string_view
REVERT: 0cdee904 Add a missing num_bits specialization
REVERT: 7e58af4e Fix an ICE on clang <= 15
REVERT: f1924d32 Cleanup macros
REVERT: 52174953 Cleanup conseval detection
REVERT: b71d9877 Reduce usage of FMT_COSTEXPR20
REVERT: 810d1750 Cleanup constexpr detection
REVERT: 170ffb1f Simplify constexpr checks
REVERT: e470ba8b Simplify exception detection
REVERT: bf98e3e4 Cleanup macros
REVERT: fd87a23d Reduce memory dependency
REVERT: b71ef65b Remove iterator dependency
REVERT: c5340539 Remove unnecessary trait specialization
REVERT: 971f7ae7 Minor cleanup
REVERT: 6159e2b0 Bazel support: Switch to globbing to collect header files
REVERT: da7a232b Cleanup contexts
REVERT: 2595bf57 Fix formatting of ranges with begin()&/end()&
REVERT: 6f5d53ce Add fmt::is_contiguous<std::basic_string<Char, Traits, Allocator>>
REVERT: 961df829 Fix buffer overflow if output iterator is std::back_insert_iterator and value is escaped (debug format)
REVERT: 401f0873 Fix write_uintptr_fallback
REVERT: 72599292 Update build.py
REVERT: 3d84b45a Update core.h
REVERT: 4331abed Move fmt::format to fmt/format.h
REVERT: fc8f6ba9 Separate compilation for println
REVERT: 58a6bd48 Add core.h for compatibility
REVERT: 79f1506f Add base.h
REVERT: 4d616479 Simplify make_format_args
REVERT: cf8426cf Sort links on fmt/std.h section
REVERT: e915d521 Update api.rst with support provided by std.h
REVERT: 7ba64205 Optimize debug codegen
REVERT: 97867e27 Extend Bazel build support to bzlmod (#3792)
REVERT: 8875cf96 Fix spelling: othewise ==> otherwise (#3791)
REVERT: f7ed65fa Simplify format_arg_store
REVERT: f34f31b3 Move format_arg_store to detail
REVERT: fb66131e Improve arg storage
REVERT: 6af30d8f Remove legacy workaround
REVERT: c177324b Simplify basic_format_args
REVERT: 545d37a8 Remove extra level of indirection when building args
REVERT: 9f73e45c Update README.md
REVERT: a5ae9ae1 Split standard context into a separate class and optimize
REVERT: 23e8109d Remove buffer_appender
REVERT: 679af1f5 Remove redundant get_container
REVERT: 48d7fb26 Merge back_insert_iterator and appender
REVERT: f348d1a2 Reintroduce back_insert_iterator detection
REVERT: df67df7b Add is_back_insert_iterator
REVERT: 17f79ac6 Minor cleanup
REVERT: dbdfc99f Don't crash if flush fails during unwinding
REVERT: c1d9e884 Remove unnecessary final and apply clang-format
REVERT: 7d73ef85 Cleanup ranges
REVERT: ae9b0b52 Disable transitive includes
REVERT: f73388f1 Update README.md
REVERT: 08878044 Update readme
REVERT: 1b7d9db0 Remove string dependency
REVERT: 0641b844 Cleanup string traits
REVERT: 1e938dda Simplify char_t
REVERT: 2e5b14bf Add compile-time checks to color formatting
REVERT: e0b604be Remove a redundant function
REVERT: 6c617c96 Update documentation (#3789)
REVERT: bee495c9 Remove dead code
REVERT: 794e1b61 Remove redundant overload
REVERT: c7061776 Bump version
REVERT: dc52d176 Cleanup dependencies
REVERT: 0e3e61cc Remove limits dependency
REVERT: 800a0bb2 Remove dependency on string_view
REVERT: f2e43f96 Remove char_traits dependency
REVERT: c9287eb9 Reduce char_traits usage
REVERT: 61f144bd Move copy_str for format.h
REVERT: 4687f8e3 Remove dependency on <iterator>
REVERT: f2c55f6b Remove dependency on back_insert_iterator
REVERT: c9d233c0 Decouple appender from back_insert_iterator
REVERT: 242bcaec Update README.md (#3784)
REVERT: 4e43a469 Clarify why we can't have nice things
REVERT: c36ed77f Get rid of addressof
REVERT: e2ab9ab2 Add FMT_GLIBCXX_RELEASE
REVERT: 0378d171 Replace remove_cvref_t with remove_const_t
REVERT: baea8f69 Update docs
REVERT: eedfdb4c Fix docs
REVERT: 5dbd7fd7 Switch to bootstrap 4 because 5 breaks menus
REVERT: 7fd18026 Fix FMT_OS definition (#3783)
REVERT: 63ce1708 Replace virtual dispatch with normal functions in buffers
REVERT: 74ffea0d Simplify to_ascii
REVERT: 6c3b2d49 Fix constness
REVERT: 4ec9c290 Apply coding conventions
REVERT: f4a7d40d Dedup throw_format_error
REVERT: 9659f22d Don't include os.cc in the module if it is disabled via FMT_OS
REVERT: 068bf9ba Make visitation compatible with std::format
REVERT: 50565f98 Move misplaced join overloads to fmt/ranges.h
REVERT: 0b39d671 Remove detail::error_handler
REVERT: c1423850 Improve the pipe API
REVERT: 398ddb8f Don't include fmt/os.h in the module if it is disabled via FMT_OS
REVERT: 58372949 Remove duplicate version
REVERT: 6c5bcca8 Fix the release script
REVERT: 67c0c0c0 Update version
REVERT: 051b3153 Fix changelog update
REVERT: b0569451 Bump version
REVERT: ce316188 Add overflow check
REVERT: 1a95e5d1 Update changelog
REVERT: e1aac426 Implement hex specifier
REVERT: 1705600b Remove optional
REVERT: 0c345dcc Bump actions/upload-artifact from 3.1.2 to 4.0.0 (#3782)
REVERT: d33731d2 Implement empty format specs
REVERT: c068c7c6 Add sentinel support
REVERT: 13fa2674 Update changelog
REVERT: ebd5c8f9 Consistently use `fmt::` when invoking `format_to`. (#3779)
REVERT: f5ca178c Complete scan_handler
REVERT: 138a64bf Privatization
REVERT: a5bacf3f Remove custom_formatter
REVERT: 4aa24f54 Implement visitor for scan
REVERT: e33c1568 Implement scan argument access
REVERT: 23826669 Cleanup error handling
REVERT: 8e6b2541 Apply coding conventions
REVERT: 4939d67a Cleanup scripts
REVERT: bd327302 Update release script
REVERT: 5f9058db Improve scripts
REVERT: 28576b06 Workaround github markdown mess
REVERT: 5ddd0cad Add a visitor for scan arguments
REVERT: 41d31512 Remove unused import
REVERT: 44b76d88 Fix docs
REVERT: 3324152d Update the release script
REVERT: 55190dad Cleanup chrono test
REVERT: 63e4b93c Update changelog
REVERT: c64edcd3 Fix grammar
REVERT: 8c520b4f Fix comment
REVERT: 2e6bb706 Update changelog
REVERT: a13d1b12 Update changelog and docs
REVERT: 47a0eec2 Remove unnecessary alias
REVERT: a8bed389 Update changelog
REVERT: e206043d Update changelog
REVERT: 4a6f0be5 Improve scan test
REVERT: 662d7841 Fix scan test
REVERT: d5823aae Ceci n'est pas une pipe
REVERT: d83c1b8d Add initial specifier support to scan
REVERT: bfba2f9e Improve iterator handling in scan
REVERT: a3bf4083 Initial range support in scan
REVERT: ea1066bb Cleanup test
REVERT: be57ec7e Fix chrono-test on platforms with 32-bit time_t
REVERT: 305747d4 Update changelog
REVERT: 47c8f63d Remove redundant specifier
REVERT: 76e8f104 Update changelog
REVERT: 18ca2248 Document '?'
REVERT: 3a25a584 Update README.md
REVERT: 4cbf6182 Remove peek
REVERT: 88d19f5d Cleanup scan
REVERT: 62529aad Apply coding conventions
REVERT: df62c867 Mark grow as deprecated
REVERT: eef6dbaf Refactor file layer in scan
REVERT: 41c24333 clang-format
REVERT: 0a9d08fe Simplify fallback
REVERT: e450b7ae Implement locking
REVERT: c5a85f8d Handle end of input in scan
REVERT: 1fd093ad Update changelog
REVERT: c4f2de49 Improve scan
REVERT: d06921d8 Update changelog
REVERT: fc0f84d2 Move formatbuf to ostream.h
REVERT: 86f2ec5d Fix a warning
REVERT: a537c39f Move conjunction to where it is used
REVERT: 7c240d52 Remove unused symbol
REVERT: f64a6a2e Update changelog
REVERT: 6f9a8167 Enable test
REVERT: e7875ae0 Fix formatting of some nested ranges
REVERT: 3eb3aef5 Fix handling of set_debug_format
REVERT: 56d7a8c1 Simplify test
REVERT: 968fb9d1 Update changelog
REVERT: b5f6b36b Update changelog
REVERT: 44dd6c0e Add glibc support to scan
REVERT: 3a0f4af4 Refactor file layer
REVERT: 1ca1a4a7 Update scan test
REVERT: dbd9c89b Fix URI
REVERT: 9cd2b87e Fix wchar_t to char conversion warnings (#3764)
REVERT: d5da9cc4 Apply clang-tidy
REVERT: 3a2c50d4 Cleanup test
REVERT: 18c43a21 Cleanup test
REVERT: 6b07fff0 Make hex float test more stable on different libc (#3762)
REVERT: 9165434e Enable consteval in MSVC VS2019 version 16.10 (#3757)
REVERT: b8f81ded [StepSecurity] ci: Harden GitHub Actions (#3759)
REVERT: 923005bd Add stdlib version check for C++20 (#3754)
REVERT: afa85e46 Apply clang-format
REVERT: 6025bd7c Add localized formatting to non-decimal presentation types of ints (#3750)
REVERT: 5471a242 Update README.md
REVERT: 7d757cba CI: add lint github workflow for running clang-format (#3749)
REVERT: 6855bd53 Apply clang-format
REVERT: bbee7535 Make clang-format happy
REVERT: 89860eb9 Use void(*)(void*) instead of decltype(&std::free) to satisfy clang in CUDA mode (#3751)
REVERT: 274ba264 allow format_as() to format reference (#3739)
REVERT: 9048add9 Report out-of-range errors in chrono
REVERT: 640e0c02 Update README.md
REVERT: 6392dba2 Fix warning: identifier '_a' preceded by whitespace in a literal operator declaration is deprecated (#3748)
REVERT: 9a6fd11a Fix typo in gmock-gtest-all.cc (#3747)
REVERT: dee0dbf0 Update README.md
REVERT: 2fabb43b Fix README file table (#3744)
REVERT: 9c3c107c Fix compile with GCC 6.3.0 (bug #3738) (#3743)
REVERT: 4497a2d0 fix cmake build
REVERT: 81629e42 Convert README to Markdown
REVERT: 6f95000b Update README.rst (#3737)
REVERT: 573d7439 error on bool arg w/ char pres_type (#3734)
REVERT: 5d55375a Experiment with scan buffering
REVERT: 71bd51e6 Implement `%j` specifier for `std::chrono::duration` (#3732)
REVERT: f5750892 Simplify test
REVERT: 99b9fbf8 Add formatter for std::source_location (#3730)
REVERT: 8f83ee2a Apply coding conventions
REVERT: 2a8a6944 Clarify that mixing code unit types is deprecated
REVERT: 04718008 Minor cleanup
REVERT: b87ea22e Add native and generic representation for filesystem::path format spec (#3729)
REVERT: 5cfd28d4 Experiment with FILE in scan
REVERT: 73fae91e Cleanup .gitignore
REVERT: 6988be38 Bump version
REVERT: 2d1e4bb3 Remove a useless comment
REVERT: 7f8d4191 Fix overflow in time_point formatting with large dates (#3727)
REVERT: ccc9ab7b Include correct header
REVERT: c4283ec4 Fix a libc++ warning and move the test to the right place
REVERT: c3f9a734 Apply coding conventions
REVERT: 06f1c0d7 Clarify that calling non-const format is deprecated
REVERT: ffa5b14f Make gtest-extra-test more portable
REVERT: bea7ecc7 Disable locale-specific tests on OpenBSD
REVERT: 8a393885 Fix the default locale in ostream_formatter
REVERT: dd6f657a Remove this-> from decltype (#3723)
REVERT: c13753a7 Fix handling of invalid Unicode in precision
REVERT: 864a8b5f fix: support optional<T> with format_as(T) (#3713)
REVERT: 649fe0fc Fix handling of null strings with the s specifier
REVERT: 45e124ee Added workaround for old xcode compiler bug (#3716)
REVERT: 045b05d7 Revert CMake changes
REVERT: ec628561 Fix formatting
REVERT: cbb18c23 Add support for CMake 3.28 C++  modules (#3679)
REVERT: 6b0082e6 Improve OpenBSD workaround
REVERT: 52a99a67 Set PDB path for Visual Studio (#3702)
REVERT: 4548d1ea Make write_escaped_path more portable
REVERT: 050d41e8 Make get_path_string more portable
REVERT: 1c023c00 Update bootstrap
REVERT: b35d4e40 fix: use FMT_HAS_INCLUDE instead of __has_include
REVERT: acaf83f4 feat: enable building with gcc 4.8
REVERT: 05aa7837 feat: include xlocale.h only if exists
REVERT: 05dda949 Bump ossf/scorecard-action from 2.2.0 to 2.3.1 (#3697)
REVERT: caf4fcb2 Bump github/codeql-action from 2.21.5 to 2.22.5 (#3696)
REVERT: e0d3e346 Wrap Char in array to avoid pointer arithmetic (#3695)
REVERT: 19276d73 Fix an inconsistentcy between to_string and format
REVERT: 2a2c6e67 Fix flushing C++ iostreams before calling write_console() (#3689)
REVERT: 3b7f58a8 add buffer flush before direct write
REVERT: e9bbd406 Update README.rst
REVERT: 857cce7a Update README.rst
REVERT: 081d5b0d Update README.rst
REVERT: baae1ed6 add meson instructions to usage docs (#3677)
REVERT: 2ac6c5ca Fix error C2668 on Windows with option /std:c++latest (#3680)
REVERT: d9063baf Fix perf regression in ostream::print
REVERT: f7542c57 Apply clang-format
REVERT: 130cf54c Use a more sensible locale in tests
REVERT: 8e0ca058 Use a more sensible locale in tests
REVERT: bf497ac0 Cleanup test
REVERT: bb8d50f0 add a suffix for days and fix the one for minutes (#3664)
REVERT: f76603f2 fix: make std::bitset formattable again (#3660)
REVERT: f9182893 Bump actions/checkout from 4.0.0 to 4.1.0 (#3666)
REVERT: 72e883e1 Diagnose unsupported code unit types
REVERT: b3bf23f3 Remove leftover usage of the __std_stream header (#3663)
REVERT: 349e1c48 Update README.rst (#3661)
REVERT: 79dbd3f1 feat: add security policy to readme (#3655)
REVERT: 2dd4fa87 Remove an ostream hack incompatible with libc++ 17
REVERT: 44f3d8a7 README.rst: fix broken LICENSE link (#3653)
REVERT: 06b20387 Optimize fractional_part_rounding_thresholds
REVERT: 649f2460 Apply clang-format
REVERT: 7529af8f Workaround intel bug (#3652)
REVERT: a3a74fa7 fix: mark fmt::streamed() as constexpr (#3650)
REVERT: 8ef4db4b Use datatype of underlying data (#3647)
REVERT: 492a99c9 Fix error: 'char_traits<custom_char>' is deprecated: char_traits<T> for T not equal to char, wchar_t, char8_t, char16_t or char32_t is non-standard and is provided for a temporary period. It will be removed in LLVM 18, so please migrate off of it. [-Werror,-Wdeprecated-declarations] (#3634)
REVERT: 3baaa8d8 Update docs
REVERT: 0e01e46c Implement nested formatter
REVERT: f6ca4ea1 Avoid a space in the UDL definition (#3610)
REVERT: a8a73da7 Add an option to avoid wchar APIs on Windows (#3636)
REVERT: aa3c5a41 Clarify I/O error handling
REVERT: bfdf50d1 Minor cleanup
REVERT: 571a9b7b Replace usage of C++17 library feature with C++11 (#3638)
REVERT: 6c088be8 Cleanup handling of visibility
REVERT: 016b1fae Fix symbol leak (#3627)
REVERT: e2537009 Remove unnecessary spaces (#3642)
REVERT: d4987546 Add an experimental nested formatter
REVERT: 5bdce181 Mark styled_arg as a view to prevent lifetime issues
REVERT: a4b7b24b fix redundant redeclaration of ‘constexpr’ static data member (#3630)
REVERT: fac60bd4 Remove type cast as mxe(mingw32) compiler complains about useless-cast (#3624)
REVERT: f5be4a8a Bump actions/checkout from 3.5.3 to 4.0.0 (#3623)
REVERT: 84e66615 Workaround a gcc 6.4 issue
REVERT: ac324043 Update dependabot.yml
REVERT: 8894ae87 Bump github/codeql-action from 2.21.4 to 2.21.5 (#3622)
REVERT: ca608547 Workaround a C++11 issue
REVERT: 23cf4055 Simplify URLs
REVERT: 46c8301e Remove rst2md
REVERT: a79a9798 Cleanup ranges test
REVERT: 457bb6a9 Merge the copyright comment since there are many contributors
REVERT: 61aef411 Cleanup changelog
REVERT: 2a45fd30 Drop the rst suffix from the license file
REVERT: 24296cff Update ChangeLog.md
REVERT: 3d1d20a6 Update ChangeLog.md
REVERT: 0302c527 Update ChangeLog.md
REVERT: 154eccfe Convert changelog to markdown for compatibility with release notes
REVERT: 35dc5def Revert "Bump actions/checkout from 3.5.3 to 3.6.0 (#3615)"
REVERT: e1fc481d Merge the copyright comment since there are many contributors
REVERT: e8259c52 Bump actions/checkout from 3.5.3 to 3.6.0 (#3615)
REVERT: 63792515 Update version
REVERT: 951fd9e6 Update changelog
REVERT: be89b9a4 Merge branch 'release' of github.com:fmtlib/fmt
REVERT: 28e2d3b6 Bump version
REVERT: f5e54359 Update version
REVERT: a003ab93 Update changelog
REVERT: 9b741608 `atomic_flag` formatting (#3594)
REVERT: a21690bd Coding conventions
REVERT: c9efd896 Merge bra…
abnormalmaps added a commit to abnormalmaps/dynarmic that referenced this pull request Oct 16, 2025
e424e3f2e Update version
ddd20d57e Bump version
594143e37 Fix formatting in ChangeLog benchmark section
09005428a Fix formatting in ChangeLog.md
aaefc029d Update changelog
9fb9f17da Update changelog
a3b3d7ed4 Simplify duration cast
9aee518f3 Update changelog
83189189a Remove get_dynamic_spec
9bb14ffc4 Remove deprecated APIs
556c4177b Remove deprecated localtime
bfdef8b15 Remove deprecated functions
e33c76a1c Update changelog
f9face714 Update changelog
36390db09 Add Conan instructions in getting-started page (#4537)
da97ba291 [cmake] fix MASTER_PROJECT heuristic; only enable install if master project (#4536)
79a5e9302 Update changelog
18e160eb4 Add missing include for crtdbg.h (#4534)
53d006abf Update changelog
63bef3399 Update changelog
d7cbfef11 Update changelog
26b033e23 Update changelog
609188cb9 Cleanup macro definitions
84b9c0071 Update changelog
9908d0003 Delete Bazel support (#4530)
0a94e0675 Combined emphases into a single escape sequence (#4528)
053d26294 Add .clang-tidy
e72e43af1 Apply clang-tidy
80549a630 Avoid repeated call to `GetLastError` in `file::size` (#4522)
f17b9aa44 Bump actions/checkout from 4.2.0 to 5.0.0 (#4523)
882702c21 Apply clang-tidy
16d371b64 Apply clang-tidy
619b3a5aa Suppress a false positive in clang-tidy
79c7f8a70 Apply clang-tidy
20e0d6d8d Update docs
8ba99c0f0 Update docs
656228fbe Update docs
02fb76d69 Add FMT_STATIC_FORMAT
a57f196ca Apply coding conventions
a75e8af48 Update docs
e129591f0 Update changelog
13d4f8469 Remove deprecated vformat_to
e2f89e6d2 Remove deprecated aliases
489fd7ca4 Simplify locale handling
69324379f Mark detail::assert_fail as deprecated
ff1caa58c Use FMT_THROW in report_error (#4521)
e181e9414 Add FMT_CUSTOM_ASSERT_FAIL (#4505)
43c88d00a Update changelog
33a7d55c9 Update changelog
8e4676e4a Remove deprecated template parameter
b5c4d25cd Rename is_char to is_code_unit
a77efa4b4 Move is_*char to detail
e7e71009c Make FP formatting compatible with exotic chars
b7b261977 Simplify report_error
61e0503da Merge workarounds for bogus MSVC warnings
72c82296d Put FMT_END_* together
a402614e8 Remove deprecated aliases
e719c43cc Apply coding conventions
8a8ff6177 Remove deprecated and undocumented has_formatter
5b99b334f Remove redundant else
958845891 Silence unreachable code warnings in MSVC when FMT_USE_EXCEPTIONS are disabled. (#4515)
f91dc80f4 Minor cleanup
412058116 Minor cleanup
7ffc3ca15 Minor cleanup
e9ddc97b9 Remove unnecesary constexpr and inline more
0d145936e Handle allocator propagation in basic_memory_buffer::move, Fix #4487 (#4490)
8f3a96518 Refactor `ansi_color_escape` to track size instead of using a null terminator (#4511)
ae8cb1e8e Ignore some more files in `.gitignore` (#4512)
add164f6b Optimize the default FP formatting
23059d558 Fix exponent size computation
505cc3d0c Simplify remove_trailing_zeros
b8a502615 Revert "Optimize the default FP formatting"
814f51eab Bump github/codeql-action from 3.28.16 to 3.29.5 (#4510)
93f03953a Optimize the default FP formatting
35dcc5826 fix buffer overflow on all emphasis flags set (#4498)
553ec11ec Make compatible with WASI (#4497)
a0ecfe3e1 msvc + ninja + modules: Fix build when consuming fmtlib while using a Ninja generator (#4495)
127413dda Add OpenSSF Best Practices badge
7d29ebe4a Minor cleanup
20c8fdad0 Fix `import std` in clang++ (#4488)
300ce75ca Handle invalid glibc FILE buffer
513f97824 Cleanup os-test
6a3b40524 Use actual example code and move safe_fopen to os-test
2fa3e1a1b Fix interaction between debug presentation, precision, and width for strings (#4478)
fc8d07cfe Bump msys2/setup-msys2 from 2.27.0 to 2.28.0 (#4485)
27c5aab34 Fix unwanted char promotion in decimal writer with wchar_t (#4483)
bc0193535 Update image
353bd895a Add FMT_EXPORT on ranges.h customization points (#4476)
953cffa70 Replace memset with constexpr fill_n in bigint::align (#4471)
571c02d47 Add xchar support for std::byte formatter (#4480)
f4345467f Fix compilation on clang-21 / libc++-21 (#4477)
1ef834807 Properly constrain `detail::copy` optimization (#4474)
a5dccffa5 Add double and float support to scan test
4a149f513 Test non-SSO constexpr string formatting
067bc479b Avoid redundant work when processing UTF-8 strings (#4475)
730fd4d9a Remove redundant tests
5860688d7 Enable constexpr support for fmt::format (fmtlib#3403) (#4456)
46be88bc1 Cleanup FP formatting
cc8891490 Export fmt::dynamic_format_arg_store in fmt module (#4459)
fc0c76a07 Handle large precision
6332a3852 Bump ossf/scorecard-action from 2.4.0 to 2.4.2 (#4462)
02de29e00 Remove a reference to a compromised account
6d51c78c1 Cleanup FP formatting
0f4e9d0bd Cleanup FP formatting
d9d50495a Optimize the default FP formatting
befbc5fdb Fix ADL lookup for memory_buffer
8aa1d6a9f Minor cleanup
6d79757a3 Interpret precision as display width (#4443)
1ff0b7f5e Cleanup warning suppression
ea985e84f Remove some implicit conversions (#4447)
f7033da09 Avoid include locale inline if C++20 modules are enabled (#4451)
b723c021d Give useful error when misusing fmt::ptr. (#4453)
3ba3c390f Clarify that formatting of pointers is disallowed
ab161a71c Fix some typos in comments (#4448)
b5266fd3b Remove some redundant `const`s (#4445)
9b0ebd443 Cleanup base-test
7af94e559 Remove old gcc workaround
2924fcf8f Cleanup base-test
102752ad4 Update docs
a6cd72c9e Cleanup base-test
07885271a Minor cleanup
4999416e5 Fix reference_wrapper ambiguity with format_as (#4434)
55a8f6a4b Change component prefix for NSIS compatibility (#4442)
eb9a95d42 Clarify that formatting of pointers is disallowed
d5c33e4f4 Make template parameter order consistent
a2225f288 Remove unused include
b43b2f953 Cleanup standard formatters
1312b4a16 Cleanup standard formatters
4404dc05d Consolidate implementation details
7bb6fcb32 Bump version
59259a5fd Make a doc directory if it doesn't exist
542ea7c40 Clarify that Formatter parameter is deprecated
40626af88 Update version
7fdd6846b Bump version
6caff7ed9 Cleanup test
71a548387 Update changelog
448929d49 Update and apply clang-format
26d87edab Bump github/codeql-action from 3.28.13 to 3.28.16 (#4432)
505ee058f Update changelog
ccab41719 Update changelog
ec1349d34 Update changelog
0ed2a65a8 Clarify why we use __builtin_strlen instead of strlen
e22c94307 Update changelog
b252bad3c Update changelog
268083123 Cleanun string_view
8978ab09b Avoiding __builtin_strlen (#4429)
c936e2e44 Implement debug format for error_code
a7d7b894c Implement the s specifier for error_code
e98155a6f Remove redundant specializations
41b3bed4d Clarify why we don't use qualified names
67d9e4932 Update changelog
9db5e4df2 Don't specialize std::is_floating_point
906eaf2dd Make specifier order consistent
9f6c12c3d Remove deprecated localtime from docs
2d0518b5f Fix cmake error in pedantic mode (#4426)
c81cbed2b Simplify test
c7925241c Remove `core.h` from README (#4422)
c70913835 Add support for incomplete types
db405954c Remove `fmt/core.h` from docs (#4421)
0a917ee2f Minor comment tweak
969d4aef6 Update doc image
8061c7c8c Cleanup duration formatter
7b59df411 Remove redundant member
b8192d233 Fix build error with MSVC v141 (#4413)
e814b5fab Reduce template parametrization
ed0d216f7 Fix localization and formatting of timezone names
bd9554a29 Fix formatting of timezone names
f086dc0d2 Fix timezone handling in tm
f10b6dd81 Improve chrono formatting
f470b9c56 Cleanup chrono tests and set consistent TZ
b28214487 Fix handling of %Z
6d69f0c5f Improve chorno tests
da776c9a6 Test timezone
64db979e3 Added a missing FMT_STRING in fmt::println() (#4407)
5f2e61fdd Cleanup chrono detail
b3d45e1d3 Remove fmt_detail
5f6fb96df Bump github/codeql-action from 3.28.8 to 3.28.13 (#4403)
5199e0f88 Fix a flush issue on libstdc++
2f5843057 Move buffering tests to os-test
d5d32c1e8 Bazel support: Update platforms to 0.0.11 (#4400)
204661287 Improve local_time test
e1ab38336 Report an error when timezone is not available
b9e0e94a0 Enable more chrono tests on Windows
a81842428 Update changelog
f53055efe Revert "Workaround an ABI issue in spdlog"
b2dfcb2b8 Fix local_time test
7ac97cbd1 Enable some local_time tests and make them deterministic
17898794a Use fmt::local_time
443a8ef34 Deprecate fmt::localtime
3607e92dc Bump version
43e31614c Test ambiguous time
989826ce5 Update changelog
9d6e24c64 Fix handling of long with FMT_BUILTIN_TYPES=0
0843317e0 Update changelog
784eac839 Workaround an ABI issue in spdlog
6fdf225a3 Always inline value ctors in optimized gcc mode only
332da79bf Always inline value ctors
7b273fbb5 Minor cleanup
191c504b1 Cleanup build config
d13fb6092 Cleanup build config
dd780fde4 Add clang-3.4
37e647471 Fix dynamic named arg format spec handling (#4361)
77c0fc07d Switch to supported ubuntu image
9212ff6ca Apply coding conventions and use constexpr
864bdf963 Report error on duplicate named arg names (#4367)
b776cf66f Optimize `text_style` using bit packing (#4363)
bdbf957b9 Bump msys2/setup-msys2 from 2.25.0 to 2.27.0
577fd3be8 Fix TU-local entity exposition error in GCC 15
faac8b1fa Remove exports in std.h
123913715 Update version
8c1059b92 Update changelog
4e5aafbf4 Bump version
db30fb3b8 Update changelog
3401ce2be Fix ABI compatibility
7f7695524 Fix conflict with std::ignore (#4356)
251320fcb Add .vs folder to .gitignore (#4355)
94ab51cb8 Simplify implementation of `operator""_cf` (#4349)
0ca42e836 Workaround an MSVC v140 bug
ed27df576 Replace forward slashes by backslashes in BMI path for MSVC. (#4344)
d42a068db Apply coding conventions
f2cec917d Move is_compiled_string to public API (#4342)
d5b866e24 fix gcc 8.3 compile errors (#4336)
5676e408f Bump github/codeql-action from 3.27.0 to 3.28.8 (#4337)
71d24b564 Bump actions/upload-artifact from 4.4.0 to 4.6.0 (#4339)
c9267da4d Fix typo in `FMT_HAS_BUILTIN` check
373855c1b Clarify difference in FP representation
52eeeb52a Make exponent threshold depend on representation (#3649)
9cf9f38ed Update version
4946bdb72 Update changelog
01a5b56f0 Fix error of unitialized variable FMT_HEADERS
cb6fdf219 Restore constraint on map formatter (#4326)
f841ae61e Fix #4303: avoid instantiating formatter<const T> (#4325)
a3d05d70c Silence a constexpr warning when compiling with MSVC and /W4 (#4322)
41539c29f Workaround a bug in gcc 6 (#4318)
aabe63910 Tweak changelog
f90090be2 Update changelog
9ff9c695d Bump version
06ad1224e Update changelog
5f0572acd Workaround a compilation error on gcc 9.4
898d43857 Fix formatting into std::ostreambuf_iterator using a compiled format (#4312)
937b7c5c1 Add args() accessor back to fmt::format_context (#4310)
01914f038 Reduce size of basic_specs
c43da3570 Workaround an ICE when using modules with gcc 14.2 and earlier
8303d140a Update version
b0b3dc5ff Bump version
586ea06f0 Rename set_fill to copy_fill_from
5750f434f Update changelog
bfbdc2be9 Add parameter to the fallback to_sys function.
87e007267 Update changelog
d57040f94 Prefix components
21aa0956d Restore ABI compatibility
3f864a450 Address MSVC C4127 warning when formatting non unicode `tm` (#4299)
093b39ca5 Update docs for meson (#4291)
2c3a5698e Simplify a copying the fill from basic_specs
fc1b0f348 Clarify use of FMT_THROW in a comment
1d066890c Resolve C4702 unreachable code warnings
dad323751 Fix a bug when copying the fill from basic_specs
880e1494d Improve xchar support for std::bitset formatter
e3ddede6c Update version
e9ec4fdc8 Bump version
feb72126b Readd FMT_NO_UNIQUE_ADDRESS
8d517e54c Update changelog
563fc74ae Update changelog
3e04222d5 Restore ABI compatibility with 11.0.2
853df39d0 Mention compile-time formatting
11742a09c Clarify that format_string should be used instead of fstring
da24fac10 Document fstring
5fa4bdd75 Define CMake components to allow docs to be installed separately (#4276)
3c8aad8df Update the release script
0e8aad961 Update version
debe784aa Update changelog
f6d112567 Update changelog
73d0d3f75 Fix github API call
08f60f1ef Update changelog
faf3f8408 Bump version
f3a41441d Replace requests with urllib
3f33cb21d Update changelog
b07a90386 Update changelog
a6fba5177 Update changelog
25e292998 Update changelog
00ab2e98b Update changelog
a3ef285ae Always inline const_check to improve debug codegen in clang
28d1abc9d Update changelog
90704b9ef Update changelog
86dae01c2 Fix compatibility with older versions of VS (#4271)
d8a79eafd Document formatting of bit-fields and fields of packed structs
7c3d0152e Use the _MSVC_STL_UPDATE macro to detect STL (#4267)
7c50da538 Allow getting size of dynamic format arg store (#4270)
873670ba3 Make parameter basic_memory_buffer<char, SIZE>& buf of to_string const
735d4cc05 Update changelog
141380172 Allow disabling <filesystem> by define FMT_CPP_LIB_FILESYSTEM=0 (#4259)
4302d7429 Update changelog
0f51ea79d Update changelog
9600fee02 Include <filesystem> only if FMT_CPP_LIB_FILESYSTEM is set (#4258)
47a66c5ec Bump msys2/setup-msys2 from 2.24.0 to 2.25.0 (#4250)
385c01dc7 Allow bit_cast to work for 80bit long double (#4246)
df249d8ad Remove an old workaround
dfad80d1c Remove an old workaround
536cabd56 Export all range join overloads (#4239)
b1a054706 Remove more MSVC 2015 workarounds and fix string_view checks
bfd95392c Remove MSVC 2015 workaround
9ced61bca Replace std::forward for clang-tidy (#4236)
75e5be6ad Sort specifiers
a169d7fa4 Fix chrono formatting syntax doc (#4235)
a6c45dfea Fix modular build
a35389b3c Corrently handle buffer flush
5a3576acc Implement fmt::join for tuple-like objects (#4230)
542600013 Suppress MSVC warnings "C4127: conditional expression is constant" by used const_check (#4233)
720da57ba Remove reference to unused intrinsic
680db66c3 Explicitly export symbols from detail
56ce41ef6 Remove initializer_list dependency
cf50e4d6a Fix const[expr] in context API
6580d7b80 Cleanup the format API
7e73566ce Minor cleanup
8523dba2d Make constexpr precede explicit consistently
e3d3b24fc Minor cleanup
1521bba70 Use consistent types for argument count
00649552a Bump github/codeql-action from 3.26.6 to 3.27.0 (#4223)
4b8e2838f More cleanup
7d4662f7a Remove FMT_BUILTIN_CTZ
27110bc47 Minor cleanup
68f315376 Fix narrowing conversion warning in struct fstring (#4210)
168df9a06 Implement fmt::format_to into std::vector<char> (#4211)
4daa3d591 Fix error: cannot use 'try' with exceptions disabled in Win LLVM Clang (#4208)
e9eaa27e5 Add std::exception to the docs
2b6a786e3 Use standard context in print
a16ff5787 Add support for code units > 0xFFFF in fill
601be1cbe Add support for code units > 0xFFFF in fill
58c185b63 Changing type of data_ to size_t to avoid compilation warnings (#4200)
a0a9ba2af Fix hashes
cc2ba8f9e Cleanup cifuzz action
a18d42b20 Simplify lint (#4197)
4046f9727 Fix -Wmissing-noreturn warning (#4194)
6bdc12a19 detail_exported -> detail
786a4b096 Cleanup fixed_string
2cb3b7c64 Update README.md
e9cba6905 Update README.md
02537548f Cleanup an example
c68c5fa7c Test FMT_BUILTIN_TYPES
22701d5f6 Address build failures when using Tip-of-Tree clang. (#4187)
e62c41ffb Conform `std::iterator_traits<fmt::appender>` to [iterator.traits]/1 (#4185)
18792893d Silencing Wextra-semi warning (#4188)
c90bc9186 Bump actions/checkout from 4.1.6 to 4.2.0 (#4182)
c95722ad6 Improve naming consistency
db06b0df8 Use countl_zero in bigint
b9ec48d9c Cleanup bigint
3faf6f181 Add min_of/max_of
d64b100a3 Relax constexpr
ff9ee0461 Fix handling FMT_BUILTIN_TYPES
1c5883bef Test nondeterministic conversion to format string
cacc3108c Don't assume repeated evaluation of string literal produce the same pointer
fade652ad Require clang >=15 for _BitInt support (#4176)
96dca569a Module linkage fixes for shared build (#4169)
891c9a73a Cleanup format API
9282222b7 Export more
e5b20ff0d Deprecate detail::locale_ref
ff9222354 Simplify locale handling
80c4d42c6 Cleanup format.h
3b70966df Add width and alignment support to error_code
05226c4bd Remove type_identity
c283b458a Cleanup format.h
fe79932c2 Fix conversion warning on chrono.h (#4170)
23fcf1942 Apply clang-format
3f296e3d4 Workaround clang-format nonsense
a197a994c Add member format_as for std
6d43c755b Fix a typo
1f87b1c58 Use fmt::formatter specialization for std::reference_wrapper to avoid undefined behavior (#4164)
ed8f8be70 More chrono padding (#4161)
55a0a9cd6 Cleanup pragma detection
5c926d9ff Remove FMT_UNCHECKED_ITERATOR
8b024662d Remove unnecessary inheritance
2f1424be9 Simplify handling of arrays
239aa6911 Remove unwrap_named_arg
497df6db6 Remove formattable
a25e594f6 Remove range_mapper
503dff93e Simplify has_formatter
3374a95b5 Simplify has_formatter
0e62e5dc7 Simplify has_formatter
7ce013971 Sync value ctors and type mapper
07e70151d format std::reference_wrapper
419772771 Improve handling of unformattable args
527e98e3f Remove unformattable
8a19b2db7 arg_mapper -> type_mapper
e97df46ae Cleanup type mapping
39f1e0903 Remove FMT_MAP_API
d832830f6 Cleanup type mapping
b329ff194 Always detect encoding on Windows
2af403ce6 Simplify type mapping
b7513b1d0 Simplify type mapping
761d35f76 Cleanup format_as handling
545dc4148 Add value ctor taking name_arg
3f5e45dd3 Simplify handling of _BitInt
2e3b6fbd9 Remove redundant check
a0328e1f9 Improve error reporting
de28ef5f8 Remove make_arg
2d5e561a6 Cleanup argument handling
6537fb439 Update changelog
50aac2ac9 Add reference to iterator_traits
538d8777e Workaround a bug in libstdc++
033531232 Demacrify UTF-8 check
463fe65f1 Cleanup FMT_COMPILE_STRING
1782a6eac Rename pragma macros
b52fb9884 Fix no locale build
b6a6ec7f1 FMT_EXCEPTIONS -> FMT_USE_EXCEPTIONS
89999f167 Simplify pragma
b90b4bc98 Remove FMT_STATIC_THOUSANDS_SEPARATOR in favor of FMT_USE_LOCALE
a1d6f9a97 Minor cleanup
689ec7a08 Cleanup
28143dc99 Cleanup chrono
1bde49e54 Remove FMT_USE_USER_LITERALS
f924d16e4 fix: pass /utf-8 only if the compiler is MSVC at build time
ab8f9d5b0 Cleanup format API
6f62db098 Cleanup format API
ab44ee752 Avoid shadowing
0d4e7e3fe Remove old workaround
8ee89546f Remove old workaround
a5deb96bf Update gcc version
61a241f03 Cleanup
ff82d8d2b Cleanup visit
0cc20f563 Remove iterator_t
2ba6785d8 Remove unused type
5644e7507 Remove unnecessary forwarding
5345cfe6b Adjust clang-format
3e9fdb3a1 Cleanup
3ada4aed2 Optionally exclude Unicode data
b37be85bf Optionally disable named arguments
70643b251 Don't use format_error if exceptions disabled
967e2d177 Cleanup
02c5d637c Cleanup
047bf75c2 Cleanup
2d3ba32e7 Improve debug codegen
6c90b31fb Improve debug codegen
9408c2ae8 Readd support for FMT_BUILTIN_TYPES
cc3ff1529 Cleanup
158893b38 Cleanup
f5a16a484 Cleanup
cad876be4 Switch to vargs
debf6f828 Switch to vargs
35f4fab4c Simplify value ctor
ff8f32478 Minor cleanup
bd48715d8 Simplify make_format_args
57d6df62f Simplify make_format_args
8ed4a9dcc Improve debug codegen
f288f45e4 Prepare for arg_store unification
5bf577ca5 Backport from GoogleTest: "Work around a maybe-uninitialized warning under GCC 12" (https://github.com/google/googletest/commit/0320f517fd920866d918e564105d68fd4362040a)
b6de66819 Backport from GoogleTest: "Always initialize fields in MatcherBase constructors" (https://github.com/google/googletest/pull/3797)
6870e4b06 Workaround for GCC regression: false positive null-dereference in vector.resize
5cdef7603 Switch to gcc-13 for C++23 tests
a2c290bc3 Suppress a bogus MSVC warning
f1e3016c1 Optimize debug codegen
106dc8fd6 Reduce usage of type_identity
c3344e21e Cleanup base API
5f438c967 Remove make_arg
2a257798d Reenable FMT_BUILTIN_TYPES
22d50c1a9 Add support formatting std::expected<void, E>
1cc10ab68 Make is_formattable work with const/volatile void
6aaf7f4b7 Suppress a gcc 13 warning
b4d1d7f8e Improve debug codegen
1e0771c70 Fix broken CI for shared library on macos and linux (#4151)
3df47a467 Make is_formattable work with void
b4aea98b5 Small fixes for some issues with modules builds (#4152)
565461a0d Update MSVC workaround in compile-test
e2b723870 Cleanup format string API
1e0c6cdc3 Make symbol sizes shorter
a8bcf81f7 Minor cleanup
15694c9a8 Workaround an MSVC bug
4cae2da0d Workaround a clang 17 bug
79e5ae919 Fix locale tests on FreeBSD
894b71da8 Fix handling of _BitInt
7a6a2a79e Improve debug codegen
387395fc7 Cleanup base API
6a8841549 Add FMT_APPLY_VARIADIC
9a2aae37d Cleanup base API
880376836 Cleanup base API
4fa533c70 Cleanup base API
d980dd717 Cleanup base API
4eed488c6 Cleanup base API
a6ecd25b8 Improve debug codegen
9f29345ea Simplify mapped_type_constant
4986b4c0e Simplify arg_mapper
a5f4d9820 Simplify arg_mapper
bc3af5127 Reduce the number of instantiations
60740b7c2 Cleanup base API
9ef160d30 Cleanup base API
0b80978c2 Cleanup base API
4f39d8865 Cleanup base API
a86b1acf6 Add mapped_t
c9ef07bc4 Minor cleanup
8c4cfab57 Detemplatize parse
7e3aa6d98 Minor cleanup
7c6621600 Minor cleanup
1416edabb Cleanup base API
d4aeca992 Bump actions/upload-artifact from 4.3.3 to 4.4.0 (#4141)
eee93ddff Bump github/codeql-action from 3.25.11 to 3.26.6 (#4142)
b310a0d48 Simplify parse_format_string
985c3399d Make map static
4a55b0d5f Remove duplicate error in compile-time checks
64a6c8459 basic_format_parse_context -> parse_context
66920feee Improve compile-time checks
f4dad85c3 Improve handling of named arguments in compile-time checks
db4becabe Reduce template instantiations
fec2cc7af Improve handling of named arguments
621e9c17c Clarify why we have TYPE in native_formatter
bca704055 Simplify compile-time checks
8c4b17fe6 Simplify compile-time checks
516a2e204 Cleanup FMT_STRING
6797f0c39 Cleanup compile-time checks
db496b47c Remove old gcc hack
8eda3c8e9 Cleanup compile-time check
53316903e Move string_literal to format.h
8a484ad57 Minor cleanup
b446cc9e6 fwrite_fully -> fwrite_all
0204dd359 Fix _BitInt formatter
d8876b778 Minor cleanup
c0fab5e2f Reject modernity, embrace tradition
64313e915 Move redundant initialization to compile time
8e3da9da2 Improve binary size
2a2f73f7c Improve binary size
6dd9194ab Simplify format_to_result
a017bba06 Minor cleanup
5eb023cd5 Improve binary size
f213d8330 Disable locale more
b3ccc2d21 Disable locale more
7477dda28 Simplify is_utf8_enabled
e582d377c Simplify locale handling
cd8d01d8c Minor cleanup
377cf203e Add opt out for built-in types
5a0a37340 Add support for _BitInt on clang (#4072)
bbf8b3bd0 insert else branch to avoid unreachable code warning (#4130)
a3f3f2ec9 Fix gcc 8.1 - 8.3 bug and compilation (#4131)
e3676ca30 Change std::copy to detail::copy in chrono to fix MSVC compile errors (#4132)
0379bf3a5 Workaround -Wstringop-overflow
c59ee969f Improve compile-time formatting (#4127)
1a79bbfa8 Cleanup chrono formatting
89af1ad77 Cleanup chrono formatting
0e741e0da Minor cleanup
d1acc667c Minor cleanup
4fb7008c9 Cleanup duration cast
589898e28 Fix %S doc
62382e365 Test full exponent range
94b8bc8ea Add an experimental writer API
020af729d Simplify ostream
fb07b37c5 Prioritize using the header files of self (#4116)
313542125 Minor cleanup
993f56cff Make sign a proper enum class
c6c830e20 Make align a proper enum class
b906c321f Get rid of bit fields
f8c0c8ee7 Cleanup public API
c71d03fcb Make `support/python/mkdocstrings_handlers/cxx/__init__.py` PEP 8 compliant (2 of 2) (#4115)
50a8c3e9b Reduce format specs size
98314319a Fix ambiguous overload
0ce49aeb4 Add a test case
bf870ae3d Fix back_inserter lookup for non-std containers
c98518351 Make `support/python/mkdocstrings_handlers/cxx/__init__.py` PEP 8 compliant (1 of 2) (#4110)
9f0c0c468 Add 'n' specifier for tuple and pair (#4107)
9f269062a Simplify default formatter
15f939c3d Improve handling of dynamic specs
928a07bb0 Simplify handling of dynamic specs
789169973 Simplify handling of dynamic specs
58aba5a3d Deprecate append instantiation
5ee14d350 Reintroduce constexpr fmt::formatted_size for C++20 (#4103)
b9c0e4dd8 Improve spec parsing
8445327c8 Simplify spec handling
8a06cee82 Optimize shortest float formatting
1db227496 Use us if Unicode is disabled
34ead4b39 Bump msys2/setup-msys2 from 2.23.0 to 2.24.0 (#4098)
3bf26009e Bump ossf/scorecard-action from 2.3.3 to 2.4.0 (#4099)
d326c7298 Fix conversion a surrogate pair (#4095)
6e462b89a Get rid of std::copy
aff640c32 Make fmt::appender implement std::output_iterator concept (#4093)
e23fb6a8b Apply clang-format
16b3542f7 Remove float_specs
29d7e5805 Remove float_format
919f7c5e7 Reduce float_specs usage
a80d668a5 Diagnose invalid precision
707d7d923 Apply coding conventions
de6ed8df8 Test alignment
ffdc3fdbd Align digits table
0c0281379 Fix doc build
f8581bcec Add redirect page
31b3c325f Mark namespace scope constexpr variable 'buffer_size' inline. (#4084)
52b32081f Wrap private module fragment content within conditional extern "C++", to match declarations. (#4083)
0b0b09f40 Constrain format_uint
4173a6315 Improve format_decimal
4239dfe08 Simplify format_decimal
ba36a0481 Remove counting_iterator
f6b4a23b8 Unbloat chrono
42d3d703b Remove the commenting attempt
9fcd9c4c1 Remove all warning suppressions
7f157dca0 Workaround gcc stringop-overflow bug
524ca1c71 Improve parsing
bdc45eef7 Simplify on_text
439b6d721 Reenable print optimization
3cc32fdc8 Mark more formatters nonlocking
0c9fce2ff Update version
b47d662e7 Update changelog
e84297f25 Bump version
0ad234ad1 Update changelog
de684ef77 Make appender compatible with fill
447c6cbf4 Update changelog
bc8d32e96 Update changelog
0f87d6ffa Improve sign processing
808ea0191 Cleanup test
55e76e6c2 Update check-commits script
8757f1f8d Add a script to test multiple commits
9228f349a Inline visit
e10643add Add a perf-sanity test
f29a7e797 Don't use memcpy in append
f97deb0d7 Minor cleanup
354135351 Apply minor optimization
5ef93a9f8 Expand FMT_FORMAT_AS to include implicit conversions (#4055)
c9102619d Avoid extra reserve
58d792b6d Apply minor optimizations
25adca566 Remove redundant overload
1408f1824 Simplify iterator detection
3fe4641d3 Add 2 more constexprs to fix compile error (#4065)
33e7ed1eb Improve handling of back_insert_iterator that writes into a buffer
6a192f8d3 Fix broken links in README.md (#4066)
92cdbbae0 Update api.md
13038f37e Support printing (const) volatile void* (#4056)
672522575 Update changelog
e60ff504e Fix usage with std::generator (#4057)
ccea33807 Update lint.yml
92227c77a Improve support for non-POSIX platforms more
486838f26 Improve support for non-POSIX platforms
a43391199 Update changelog
7a8b54a0e Don't confuse Glib::ustring with std::string
b50e685db Update version
e314776c2 Fix version check
2208143ac Update changelog
a96259701 Improve std::complex formatter (#4050)
232c6bc48 Update changelog
503e183b9 Bump version and add version validation
e50c8b6bd Fix disabling Unicode support
9d946a2fc Fix compilation errors due to `make_format_args` in gcc 14.1.1 with c++20 (#4042)
c4f6fa713 fix: Make basic_format_arg::visit() const (#4043)
10f12fd3d Bump github/codeql-action from 3.25.3 to 3.25.11 (#4041)
24c1f886a Remove double has_value check (#4040)
0041a40c1 Update version
686339f7c Minor cleanup
e355c116f Tweak wording in the changelog
707bb5b36 Fix grammar
6f68c62cb Ignore doxygen files
d059fe42a Ignore vagrant files
43c5b3474 Fix package build
e89568e6c Update vagrant config
f5bf6f778 Update build script
bd9af9a9f Update changelog
165210890 Fix typo
84f613182 Fix formatting of release notes
dedc17c1c Fix handling of tables, take 3
5d0adb6d7 Fix handling of tables, take 2
3f251fc9c Fix handling of tables
1930ed4bf Fix release script
26d07e49b Fix formatting
949d5d179 Fix build script
53186535d Bump version
602e3c3d1 Update build script
2952130cb Fix doc build
1e94a463e Create build dir
a34120329 Update doc script
0fae326c4 Update site dir
8b1fcf5cc Update doc dir
ec46c3de9 Update build script
2d9d32c62 Update build script
4703ade76 Update build script
52e7b25f9 Update changelog
b61c8c3d2 Change actions/github-script from e69ef54 -> 60a0d83 (#4038)
bbf44cc00 Defines are still needed for FMT_MODULE as well (#4027)
06948fa71 Pin deps
d9899492c Simplify deps
ff72f553e Update changelog
7f951f250 Optimize range formatter
7ae102bd6 make format_int constexpr (#4032)
edde97312 Update test names
b1efe8516 Prevent silent data loss
2c0d9e940 Add a define to force the use of fallback_file
18a9676d9 Add an experimental path
af8cd4e40 Module purview can only contain direct preprocessor code (#4029)
514b6955d Suppress a bogus warning in MSVC (#4023)
ac9677323 Added missing std::declval for non-default-constructible types (#4024)
c00149f5e Fix a typo
71244e07d Cleanup includes
a57b0194a Correct comments
febd8ed5f Cleanup includes
0434026a9 Remove build-docs.py
0882bfef2 Don't deploy docs from a PR
2a2048a78 Don't pass seconds as a double in examples
ea1187f4c Generate doxyxml in build
1334eedaf Improve docs
709169a4d Set the anchors
2bf1b3004 Update changelog
8687315e8 Guard more system headers by `FMT_MODULE` (#4006)
98dd673cf Cleanup cmake
a245a8d4b Update changelog
e0b66e8f8 Remove dependency on <ranges>
794df69c8 Added range_format::(debug_)string formatter (#3973)
1d9df9ce1 Remove a redundant comment
c4ea90325 Only install `FILE_SET` when needed (#4013)
3e3062c13 Update msys2/setup-msys2 to v2.23.0 (#4012)
b998b4711 Update changelog
bff1de15e Fix deploy docs (#4010)
90932dd20 Update doc.yml
232c5e854 Update doc.yml
26cdd1cb3 Update doc.yml
ad34d4df9 Update doc.yml
f79626444 Fix doc workflow
28673d969 Update api.md
a5c1b5d44 Update changelog
cc4d1245b README.md: update to remove "not yet release" remarks on clang-tidy
18a325f37 Disable footer
a1337aa8a Merge literal-based API doc into the parent section
51a690ab1 Check if `.cc` exists in `fmt.cc` (#4005)
f332a81b7 Remove unnecessary build step
33a1de57a Deploy docs, take 3
c7252b334 Deploy docs, take 2
3f71b6066 Deploy docs
215ce4d97 Fix error getting config 'user.email'
89f3a810e Fix error getting config 'user.name'
1f170d3fe Install mike
d175db8f5 Fix doc CI and clean workflows
a8cfc0cc2 Deploy dev docs
65e278b28 Don't pollute the source directory
3620c174a Fix doc build
702b6f378 Update docs
ed21034a1 Implement deployment
76d57f93d Remove old script
6ceef04df Merge branch 'master' of github.com:fmtlib/fmt
ab6b257a3 Implement doc building
077e4ae74 Added generator expression to /utf-8 compile option (#3995)
d4a8d26c5 Temporarily disable doc build in CI
b5c8fd783 Fix doc build
735a61382 Build docs
a6e6e9c3c Fix a link
e6d4f927c Improve docs
8de3e87da Add a CMake option to control Unicode support
46d2acb3b Don't add `os.cc` to sources with FMT_MODULE (#4004)
fad0222a0 Export `compiled_string` so that user can customize one (#3999)
d1cab6a9a Drop parentheses
fcb6a452d Improve docs
72928661e Improve docs
d6ec6b7e2 Update docs
e845fc572 Ignore old changelog
2bf811b1d Also allow compiled format for clang >= 12 (#4001)
9653eed8e Don't hide the navbar
9b5d1826d Update changelog
fe741daaa Mention namespace `fmt::literals` in the document (#4002)
0f6e71654 Fix missing includes in fmt.cc (#3994)
a3d95971b Update changelog
7bd11b5cd Remove a redundant extension to reduce divergence from std::format
21372bc0b Update cmake config
a0495e3eb Update changelog
cba5e8615 Update changelog
e9609dec1 Update changelog
6ebbaf4b4 Split changelog
4e31d2dc6 Update changelog
fcc0b4997 Fix `FMT_INSTALL` with `FMT_MODULE` (#3998)
0560c334f Fix build with `FMT_MODULE=OFF` (#3997)
db9365a11 Update lint.yml
5c445bc42 Reverting check to make shorter branch comes first
94f96d112 Fix undefined reference when compiling with FMT_STATIC_THOUSANDS_SEPARATOR and chrono.h
6abc1204f Check if the generator is ninja
a9b851763 Use native c++ module support from CMake
fba06f0ee Update changelog
598e51808 Remove redundant tests
0a555818d Usage -> Get Started
966a1b3d4 Update docs
adb8e27db Fix rendering of template parameters
2c84fa9ac Update docs
8da0240db Improve docs
83bf14237 Update changelog
595e54919 Cleanup docs
c636967c5 Improve docs
2392367ef Set primary color
06f8e02fb Remove rtd compat
c71d08fc2 github: update lint.yml to post details on formatting issue (#3988)
d9b90029b Update docs
c0029b984 Update docs
1ac9b317f New landing page
f68dee535 Fix syntax highlighting
fb9ee2ed6 Simplify doxygen config
d29ceaf91 Update .gitignore
9b12491c1 Migrate docs
ab29ef37d Migrate docs and cleanup
97117cbb5 Migrate to mkdocs
886237ae7 Emit anchors
904f2a5c2 Remove a non-pinned dependency
dab1a65d2 Sort out directory URI config
509d01810 Fix a link
75ab3bc2a Add a script to invoke mkdocs
871538d3a Fix install dir
250456d5a Migrate to mkdocs
38ba3d399 Migrate to mkdocs
071411397 Add macro support to api doc extraction
dd3b3f937 Merge branch 'master' of github.com:fmtlib/fmt
03d14c3be Add support for multiple namespaces
416ac0fc7 Bump actions/checkout from 4.1.0 to 4.1.6 (#3986)
596add899 Bump ossf/scorecard-action from 2.3.1 to 2.3.3 (#3984)
a10e03214 Improve docs
febeb51bd Documentation improvements
f18c2b65c Fix rendering of aliases
e3910b8a9 Improve apidoc rendering
34b85678f Render members
e5c07c835 Improve apidoc formatting
933d8ba35 Improve apidoc formatting
e7ba467e9 Improve apidoc formatting
91a859ee4 Switch to markdown
6180442ed Render template parameters
418c5d094 Render template params
aafdde7ef Switch to JavaScript syntax highlighter
d2ecfcfc4 Fix rendering on github
26b249435 Improve doc presentation
4f330567e Improve apidoc generation
199274624 Convert API doc to Markdown
a4d42c44f Cleanup comments
ddd8a5423 Add mkdocs config
fcd3e1e19 is_convertible_v -> is_convertible::value (#3983)
dc401b1c2 Move handlers outside of the docs
f7c5588c4 Cleanup syntax doc
a4e40677a Fix markdown
3479828e1 Fix markdown
191b0cb48 Fix markdown
e80f4a9b7 Cleanup syntax doc
022d8efec Update doc.yml
ca8eeb09e Add glibc ext for day of month and week of year (#3976)
cddb41f63 Fix markdown
0b0a05770 Remove old contents
caa97da1f Add a word joiner to prevent line break
cf9833f40 Cleanup apidoc comments
b6638f9c2 Convert usage to Markdown
d90346013 Fix markdown
ba2fbf6e1 Fix markdown
6e49bb887 Remove CSS
e0f3e8507 Fix markdown
4fc3fce9c Improve syntax markdown
d6427ae7b Improve syntax markdown
3d6869065 Improve syntax markdown
551aa8d51 Add CSS
9e07045f5 Fix links
5735048b2 Improve mkdocstrings handler
33eba1049 Minor comment fix
43ab964c4 MSVC 17.10.0 + modules cannot find definition (#3972)
728f9bc38 Added std::type_info formatter (#3978)
e721046e2 Convert index to Markdown
552842c4f Convert syntax to Markdown
2c38766fd Add a mkdocsstrings handler
c8f1b4e74 ci: Remove macos-11 runners, add macos-14 (#3980)
529dcd11f Fix workflow, take 2
1441c660b Fix workflow
ecd155973 Improve styles
a57a63dc0 Fix styles
8691f21b4 Fix styles
7e4fac3f4 Improve styles
4a368625e Replace less with sass
f4e1ec81e Cleanup html
89c0d1010 Update description
12ef9e09d Fix class conflict
5afa68138 Remove redundant github button
cc1310203 Fix navbar style
8ee6c9401 Reintroduce GCC-11 C++20 into CI (#3979)
766300b3c Update html
4115219ed Fix CSS path
95076981f Update documentation deps
1752d7fbb Added formattable concept (#3974)
1768bf971 Added FMT_EXPORT for fmt::range_format and fmt::range_format_kind (#3970)
fc723fd6c Fix regression in #3710 (#3968)
b81761068 Check range_begin is dereferenceable (#3964)
706eabd5e Resolved warning C4127: conditional expression is constant (#3967)
028bffa08 Update checks for dynamic_cast usage when compiled with no rtti (#3963)
86741b3e1 Bazel support: Add missing platform dependency (#3965)
75e892420 Minor cleanup
0b5287f8b Remove unused function
a4715c48b Bazel support: Add utf-8 to Windows build (#3962)
8e728044f Fix format_as for non-const begin/end views (#3955)
1f436c646 Cleanup locking/buffering
db1ee420e Cleanup unicode check more
7d6ae972b Cleanup unicode checks
3460b30fd Improve utf-8 detection
b7809f91e Enable Unicode support by default
1dc71f21e Enable Unicode by default
8db8f2249 Optimize join_view
d2473b7b7 Simplify join_view formatter
328d256c6 Apply coding conventions
57593a123 Simplify map formatter
10508a30e Enable fmt::join for uncopyable iterators (#3946)
16cec4f59 Make the map formatter correctly handle elements with custom formatters
77bfd8499 Split range and map formatters
3af8ac7a0 Privatize write_debug_string
ceb406d06 Remove range_default_formatter
19afc9c3b Update README.md
6ff593b02 Update README.md
78420bedd Update README.md
a21bc7b86 Update doc.yml
97d0613ba Update doc.yml
04b0ae418 Update doc.yml
27dd1dcf0 Update lint.yml
3649c3954 Update lint.yml
7650ed04a Fix to_nonnegative_int
9234fe83f Add tests to check that isnan doesn't cause FP errors
8a8f4825a Fix: isnan() shouldn't cause FP exceptions
17062a0c9 Bump actions/upload-artifact from 4.3.1 to 4.3.3 (#3950)
88d3997f5 Bump github/codeql-action from 3.24.9 to 3.25.3 (#3949)
48c908453 Fix CodeQL alert (#3945)
cf1f55f79 Specialize `formatter` for all `std::basic_string` types (#3943)
400f6a8ee Dedup ADL begin/end lookup
a3e0931ea Update signature in the doc
51eeccd0f const void* is neither a fundamental nor string type
f30f1fd51 Document formatter specializations provided by base.h
f4b256c66 Fix warning C26439
f746a59a5 Cleanup FMT_ASSERT
ee0c3351a Fix format_to + FMT_STRING for wide character type (#3931)
99735764e Fix FMT_USE_NONTYPE_TEMPLATE_ARGS define back (#3937)
aa52eb765 Resolved warning C4996: 'fileno': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _fileno. (#3930)
116a9ce48 Added FMT_IMPORT_STD feature macro (#3928)
5eb68c0ef Fix mix-up of 'FMT_BEGIN_EXPORT' and 'namespace detail'. (#3924)
550437b29 Resolved warning C4127: conditional expression is constant (#3923)
4e8640ed9 Fix: enable `FMT_NORETURN` without exception support too (#3917)
c70e7b747 Coding conventions and minor fixes
71144eeaf implement year_month_day (#3913)
843e29356 Bump github/codeql-action from 3.24.6 to 3.24.9 (#3915)
f5ec5ada2 Update syntax.rst
3b5f3de3b Make CMake version message less confusing (#3907)
ca9193983 Replace std::fill_n with fmt::detail::fill_n (#3909)
74a187288 Implemented fmt::day, fmt::month, fmt::year and related unit tests (#3906)
88620e53a Range formatting documentation  (#3905)
5d63e87d2 Add a formatter for float128
aecec01b3 Initial support for extended FP types
5af88653e Cleanup
45b772f85 Improve std::complex formatter to be compatible with P2197R0 (#3900)
53347891c Make line buffering test less flaky
38881e5ac Fix handling of the fileno macro
6c7cc6a06 Fix group_digits for negative integers (#3901)
365c3fbd2 Bump timeout
c0dac8398 Use p2197 format for complex by default
bb882c03b Simplify path formatting
12acd7988 Fix ambiguous call
c710bfa10 Apply clang-format
73f2b344b Add std::complex formatter
9f3fc6e38 Add XChar support into nested_formatter
c17816cb4 Fix invalid fmt::formatter<>::format return type (#3895)
df6e7b22f Fix relative path for cmake in usage doc (#3890)
c816fa675 Fix a warning
e281749c5 Simplify range formatter
11f2f30f0 Simplify range formatter
13cfaa2ab Guard against usage of _isatty when header was not included (#3880)
0861db500 Support character range formatting  (#3863)
dfe5b12c0 Update os-test.cc (#3883)
09935d823 Bump github/codeql-action from 3.23.2 to 3.24.6 (#3876)
3bc6cc1e6 Protect against locking formatters
4fcc317dc Bump actions/upload-artifact from 4.3.0 to 4.3.1 (#3875)
ae1e93d34 Fix warning C4702 emitted from format.h (MSVC) (#3866)
f68f452de Workaround an ld warning on macOS
ebea5736a Fix chrono locale format bug for RHEL gcc (#3859)
ddf0b7d2b Fix warning C4365 emitted from printf.h (#3865)
0166f455f std.h c++23 build fix (#3856)
8e42eef49 Don't error on min time_point
91b30e5b4 More API details
7a63e233d Readd core.h to headers
44c3fe1eb Fix handling of static separator
ae181cc93 C++23 compatibility: basic_string_view cannot be constructed from nullptr (#3846)
3a6fb2fca Fix some typos. (#3843)
087950479 Fix typo in typename. `containter_type` -> `container_type`. (#3844)
34f415b56 Fix %S formatting for chrono durations with leading zeroes  (#3814)
e17bc6754 Make scan variadic
06311ed1c Fix fixed rounding around zero in Dragon
e5bab8dab added formatter for std::expected (#3834)
9f5f39cb5 Bump actions/upload-artifact from 4.0.0 to 4.3.0 (#3837)
ea581437e Bump github/codeql-action from 2.22.5 to 3.23.2 (#3836)
6321a97d6 Simplify color formatting
4b6b32f38 Deprecate wide stream function
1b54ba4b9 Fix UB in format_arg_store implementation. (#3833)
71a4a8d47 Really fix MSVC warning about <bit> only being available in C++20. (#3832)
8e62172ab Fix a warning
28afff363 Improve buffering
af44c2974 Separate buffer initialization from flush
a1e1eedbb Minor cleanup
ffce3632b Add glibc stream support
b5669512b Don't hang on test failure
6435b169e Add support for line buffering
6f260455a Add scan_data::make_args
e1832bcf0 Consider ADL begin() and end() when joining ranges (#3824)
2caf1b3b9 scan more
668fe2653 doc: fix the chrono %C example value (#3822)
06fc25f26 Don't always enable typeid usage under msvc (#3821)
11ba1270a Fix flush
4c5b4af04 Improve name argument validation
2eb363297 Fix custom formatter example (#3820)
0147e0822 Document println
6b68dff90 Write directly to a stream buffer
b2cde48de Reduce usage of float_specs
8510838db Make format_specs not depend on code unit type
090ee1359 Pass char type to write
470c4e6ca Fix scope for glibc ext for sec, min, and hour (#3812)
13ec66bf7 🛠 Add basic array safety functions and backwards-compatible result type (#3805)
64091b7a2 Fix naming
e95482353 Make fill independent on code unit type
f80a2bee1 Update README.md
83652dfee Restrict always inlining to the top-level API
d249fd9f8 Workaround for gcc 6 (#3810)
73d91351b Mark `iterator_buffer` move constructors as `noexcept`. (#3808)
fe0d910a7 Replace multiple error reporting mechanisms with report_error
f9294f0e6 Improve handling of format specs
c98a5a599 Remove unnecessary checks
5f30d3710 Update README.md
3647feaad Improve scan
e420a58f2 Improve scan prototype
ca37503f9 scan -> scan_to
123e058eb Improve scan prototype
f924d20db core-test -> base-test
d70729215 Fix constness
362b40c1a Fix docs
56fa4d61f Fix docs
cacdf1439 Remove nonstandard alias
4d766b167 Invert dependencies
c10859f15 Remove deprecated options
d0963d482 Make ranges only depend on fmt/base.h
da0f84c42 Cleanup copy functions and move to base.h
59baac522 Remove unused functions
21b045829 Use std::allocator_traits (#3804)
df6a3564b Fix MSVC warning: "The contents of <bit> are available only with C++20 or later." (#3807)
7c163acfd Fix conversion warning in filesystem::path formatter (#3806)
1b55d1030 Update api.rst
5d9d376d4 Update api.rst
6064b85c1 Update api.rst
deb584c0e Update build.py
297b22f58 Remove <memory> dependency
3c9608416 Remove redundant detection of experimental string_view
0cdee904a Add a missing num_bits specialization
7e58af4ea Fix an ICE on clang <= 15
f1924d326 Cleanup macros
52174953b Cleanup conseval detection
b71d98774 Reduce usage of FMT_COSTEXPR20
810d1750f Cleanup constexpr detection
170ffb1ff Simplify constexpr checks
e470ba8b7 Simplify exception detection
bf98e3e4c Cleanup macros
fd87a23d3 Reduce memory dependency
b71ef65b6 Remove iterator dependency
c5340539f Remove unnecessary trait specialization
971f7ae76 Minor cleanup
6159e2b0a Bazel support: Switch to globbing to collect header files
da7a232b9 Cleanup contexts
2595bf57b Fix formatting of ranges with begin()&/end()&
6f5d53ce0 Add fmt::is_contiguous<std::basic_string<Char, Traits, Allocator>>
961df829b Fix buffer overflow if output iterator is std::back_insert_iterator and value is escaped (debug format)
401f08739 Fix write_uintptr_fallback
725992928 Update build.py
3d84b45a2 Update core.h
4331abed2 Move fmt::format to fmt/format.h
fc8f6ba93 Separate compilation for println
58a6bd48a Add core.h for compatibility
79f1506fe Add base.h
4d616479b Simplify make_format_args
cf8426cf8 Sort links on fmt/std.h section
e915d5216 Update api.rst with support provided by std.h
7ba642054 Optimize debug codegen
97867e279 Extend Bazel build support to bzlmod (#3792)
8875cf96c Fix spelling: othewise ==> otherwise (#3791)
f7ed65fa4 Simplify format_arg_store
f34f31b32 Move format_arg_store to detail
fb66131ef Improve arg storage
6af30d8f7 Remove legacy workaround
c177324ba Simplify basic_format_args
545d37a8b Remove extra level of indirection when building args
9f73e45ca Update README.md
a5ae9ae19 Split standard context into a separate class and optimize
23e8109d8 Remove buffer_appender
679af1f5c Remove redundant get_container
48d7fb265 Merge back_insert_iterator and appender
f348d1a21 Reintroduce back_insert_iterator detection
df67df7b4 Add is_back_insert_iterator
17f79ac6c Minor cleanup
dbdfc99fa Don't crash if flush fails during unwinding
c1d9e8840 Remove unnecessary final and apply clang-format
7d73ef85f Cleanup ranges
ae9b0b521 Disable transitive includes
f73388f1a Update README.md
08878044c Update readme
1b7d9db0c Remove string dependency
0641b844a Cleanup string traits
1e938dda2 Simplify char_t
2e5b14bf6 Add compile-time checks to color formatting
e0b604beb Remove a redundant function
6c617c967 Update documentation (#3789)
bee495c97 Remove dead code
794e1b614 Remove redundant overload
c7061776a Bump version
dc52d176d Cleanup dependencies
0e3e61cc0 Remove limits dependency
800a0bb23 Remove dependency on string_view
f2e43f967 Remove char_traits dependency
c9287eb9f Reduce char_traits usage
61f144bd6 Move copy_str for format.h
4687f8e37 Remove dependency on <iterator>
f2c55f6bb Remove dependency on back_insert_iterator
c9d233c0a Decouple appender from back_insert_iterator
242bcaec0 Update README.md (#3784)
4e43a4699 Clarify why we can't have nice things
c36ed77ff Get rid of addressof
e2ab9ab22 Add FMT_GLIBCXX_RELEASE
0378d171f Replace remove_cvref_t with remove_const_t
baea8f690 Update docs
eedfdb4c5 Fix docs
5dbd7fd77 Switch to bootstrap 4 because 5 breaks menus
7fd180268 Fix FMT_OS definition (#3783)
63ce17085 Replace virtual dispatch with normal functions in buffers
74ffea0dc Simplify to_ascii
6c3b2d491 Fix constness
4ec9c2906 Apply coding conventions
f4a7d40dc Dedup throw_format_error
9659f22d3 Don't include os.cc in the module if it is disabled via FMT_OS
068bf9bad Make visitation compatible with std::format
50565f985 Move misplaced join overloads to fmt/ranges.h
0b39d6710 Remove detail::error_handler
c14238503 Improve the pipe API
398ddb8fe Don't include fmt/os.h in the module if it is disabled via FMT_OS
583729493 Remove duplicate version
6c5bcca81 Fix the release script
67c0c0c09 Update version
051b31531 Fix changelog update
b0569451a Bump version
ce3161887 Add overflow check
1a95e5d1b Update changelog
e1aac4266 Implement hex specifier
1705600be Remove optional
0c345dccd Bump actions/upload-artifact from 3.1.2 to 4.0.0 (#3782)
d33731d20 Implement empty format specs
c068c7c62 Add sentinel support
13fa26745 Update changelog
ebd5c8f99 Consistently use `fmt::` when invoking `format_to`. (#3779)
f5ca178c1 Complete scan_handler
138a64bfb Privatization
a5bacf3fe Remove custom_formatter
4aa24f54c Implement visitor for scan
e33c1568c Implement scan argument access
23826669c Cleanup error handling
8e6b2541a Apply coding conventions
4939d67a8 Cleanup scripts
bd3273021 Update release script
5f9058dbd Improve scripts
28576b060 Workaround github markdown mess
5ddd0cad1 Add a visitor for scan arguments
41d31512b Remove unused import
44b76d88f Fix docs
3324152db Update the release script
55190dadb Cleanup chrono test
63e4b93cf Update changelog
c64edcd32 Fix grammar
8c520b4fd Fix comment
2e6bb706b Update changelog
a13d1b12e Update changelog and docs
47a0eec2e Remove unnecessary alias
a8bed3895 Update changelog
e206043d2 Update changelog
4a6f0be5b Improve scan test
662d78415 Fix scan test
d5823aae3 Ceci n'est pas une pipe
d83c1b8d4 Add initial specifier support to scan
bfba2f9e9 Improve iterator handling in scan
a3bf40838 Initial range support in scan
ea1066bbe Cleanup test
be57ec7ec Fix chrono-test on platforms with 32-bit time_t
305747d44 Update changelog
47c8f63d0 Remove redundant specifier
76e8f1040 Update changelog
18ca2248d Document '?'
3a25a5848 Update README.md
4cbf6182e Remove peek
88d19f5de Cleanup scan
62529aad1 Apply coding conventions
df62c8678 Mark grow as deprecated
eef6dbafb Refactor file layer in scan
41c243335 clang-format
0a9d08fef Simplify fallback
e450b7aeb Implement locking
c5a85f8d7 Handle end of input in scan
1fd093add Update changelog
c4f2de493 Improve scan
d06921d8d Update changelog
fc0f84d29 Move formatbuf to ostream.h
86f2ec5de Fix a warning
a537c39fd Move conjunction to where it is used
7c240d52c Remove unused symbol
f64a6a2ec Update changelog
6f9a81678 Enable test
e7875ae0f Fix formatting of some nested ranges
3eb3aef57 Fix handling of set_debug_format
56d7a8c15 Simplify test
968fb9d16 Update changelog
b5f6b36b0 Update changelog
44dd6c0e0 Add glibc support to scan
3a0f4af4e Refactor file layer
1ca1a4a7a Update scan test
dbd9c89b3 Fix URI
9cd2b87e1 Fix wchar_t to char conversion warnings (#3764)
d5da9cc40 Apply clang-tidy
3a2c50d4a Cleanup test
18c43a214 Cleanup test
6b07fff0d Make hex float test more stable on different libc (#3762)
9165434e5 Enable consteval in MSVC VS2019 version 16.10 (#3757)
b8f81dede [StepSecurity] ci: Harden GitHub Actions (#3759)
923005bd4 Add stdlib version check for C++20 (#3754)
afa85e46c Apply clang-format
6025bd7c3 Add localized formatting to non-decimal presentation types of ints (#3750)
5471a2426 Update README.md
7d757cba5 CI: add lint github workflow for running clang-format (#3749)
6855bd532 Apply clang-format
bbee75357 Make clang-format happy
89860eb90 Use void(*)(void*) instead of decltype(&std::free) to satisfy clang in CUDA mode (#3751)
274ba2645 allow format_as() to format reference (#3739)
9048add99 Report out-of-range errors in chrono
640e0c02d Update README.md
6392dba21 Fix warning: identifier '_a' preceded by whitespace in a literal operator declaration is deprecated (#3748)
9a6fd11a5 Fix typo in gmock-gtest-all.cc (#3747)
dee0dbf07 Update README.md
2fabb43b9 Fix README file table (#3744)
9c3c107c8 Fix compile with GCC 6.3.0 (bug #3738) (#3743)
4497a2d09 fix cmake build
81629e425 Convert README to Markdown
6f95000b7 Update README.rst (#3737)
573d74395 error on bool arg w/ char pres_type (#3734)
5d55375a8 Experiment with scan buffering
71bd51e6c Implement `%j` specifier for `std::chrono::duration` (#3732)
f57508924 Simplify test
99b9fbf8e Add formatter for std::source_location (#3730)
8f83ee2ad Apply coding conventions
2a8a69446 Clarify that mixing code unit types is deprecated
04718008a Minor cleanup
b87ea22e2 Add native and generic representation for filesystem::path format spec (#3729)
5cfd28d47 Experiment with FILE in scan
73fae91e6 Cleanup .gitignore
6988be387 Bump version
2d1e4bb35 Remove a useless comment
7f8d41911 Fix overflow in time_point formatting with large dates (#3727)
ccc9ab7bf Include correct header
c4283ec47 Fix a libc++ warning and move the test to the right place
c3f9a7344 Apply coding conventions
06f1c0d72 Clarify that calling non-const format is deprecated
ffa5b14fe Make gtest-extra-test more portable
bea7ecc71 Disable locale-specific tests on OpenBSD
8a3938851 Fix the default locale in ostream_formatter
dd6f657a7 Remove this-> from decltype (#3723)
c13753a70 Fix handling of invalid Unicode in precision
864a8b5f3 fix: support optional<T> with format_as(T) (#3713)
649fe0fc8 Fix handling of null strings with the s specifier
45e124ee4 Added workaround for old xcode compiler bug (#3716)
045b05d79 Revert CMake changes
ec628561c Fix formatting
cbb18c237 Add support for CMake 3.28 C++  modules (#3679)
6b0082e6c Improve OpenBSD workaround
52a99a67f Set PDB path for Visual Studio (#3702)
4548d1eae Make write_escaped_path more portable
050d41e85 Make get_path_string more portable
1c023c008 Update bootstrap
b35d4e40f fix: use FMT_HAS_INCLUDE instead of __has_include
acaf83f40 feat: enable building with gcc 4.8
05aa78377 feat: include xlocale.h only if exists
05dda9490 Bump ossf/scorecard-action from 2.2.0 to 2.3.1 (#3697)
caf4fcb20 Bump github/codeql-action from 2.21.5 to 2.22.5 (#3696)
e0d3e346d Wrap Char in array to avoid pointer arithmetic (#3695)
19276d732 Fix an inconsistentcy between to_string and format
2a2c6e676 Fix flushing C++ iostreams before calling write_console() (#3689)
3b7f58a8b add buffer flush before direct write
e9bbd4069 Update README.rst
857cce7a8 Update README.rst
081d5b0d8 Update README.rst
baae1ed65 add meson instructions to usage docs (#3677)
2ac6c5ca8 Fix error C2668 on Windows with option /std:c++latest (#3680)
d9063baf2 Fix perf regression in ostream::print
f7542c576 Apply clang-format
130cf54cb Use a more sensible locale in tests
8e0ca0589 Use a more sensible locale in tests
bf497ac06 Cleanup test
bb8d50f04 add a suffix for days and fix the one for minutes (#3664)
f76603f21 fix: make std::bitset formattable again (#3660)
f91828936 Bump actions/checkout from 4.0.0 to 4.1.0 (#3666)
72e883e16 Diagnose unsupported code unit types
b3bf23f3c Remove leftover usage of the __std_stream header (#3663)
349e1c48d Update README.rst (#3661)
79dbd3f19 feat: add security policy to readme (#3655)
2dd4fa874 Remove an ostream hack incompatible with libc++ 17
44f3d8a77 README.rst: fix broken LICENSE link (#3653)
06b20387a Optimize fractional_part_rounding_thresholds
649f2460d Apply clang-format
7529af8f9 Workaround intel bug (#3652)
a3a74fa7f fix: mark fmt::streamed() as constexpr (#3650)
8ef4db4b9 Use datatype of underlying data (#3647)
492a99c96 Fix error: 'char_traits<custom_char>' is deprecated: char_traits<T> for T not equal to char, wchar_t, char8_t, char16_t or char32_t is non-standard and is provided for a temporary period. It will be removed in LLVM 18, so please migrate off of it. [-Werror,-Wdeprecated-declarations] (#3634)
3baaa8d89 Update docs
0e01e46c1 Implement nested formatter
f6ca4ea19 Avoid a space in the UDL definition (#3610)
a8a73da7e Add an option to avoid wchar APIs on Windows (#3636)
aa3c5a412 Clarify I/O error handling
bfdf50d18 Minor cleanup
571a9b7b2 Replace usage of C++17 library feature with C++11 (#3638)
6c088be8e Cleanup handling of visibility
016b1faed Fix symbol leak (#3627)
e25370093 Remove unnecessary spaces (#3642)
d4987546a Add an experimental nested formatter
5bdce181f Mark styled_arg as a view to prevent lifetime issues
a4b7b24b7 fix redundant redeclaration of ‘constexpr’ static data member (#3630)
fac60bd4f Remove type cast as mxe(mingw32) compiler complains about useless-cast (#3624)
f5be4a8a9 Bump actions/checkout from 3.5.3 to 4.0.0 (#3623)
84e666151 Workaround a gcc 6.4 issue
ac3240439 Update dependabot.yml
8894ae87f Bump github/codeql-action from 2.21.4 to 2.21.5 (#3622)
ca608547e Workaround a C++11 issue
23cf4055a Simplify URLs
46c8301ee Remove rst2md
a79a97982 Cleanup ranges test
457bb6a98 Merge the copyright comment since there are many contributors
61aef4111 Cleanup changelog
2a45fd30f Drop the rst suffix from the license file
24296cff1 Update ChangeLog.md
3d1d20a6a Update ChangeLog.md
0302c527c Update ChangeLog.md
154eccfeb Convert changelog to markdown for compatibility with release notes
35dc5def3 Revert "Bump actions/checkout from 3.5.3 to 3.6.0 (#3615)"
e1fc481d6 Merge the copyright comment since there are many contributors
e8259c529 Bump actions/checkout from 3.5.3 to 3.6.0 (#3615)
637925155 Update version
951fd9e66 Update changelog
be89b9a41 Merge branch 'release' of github.com:fmtlib/fmt
28e2d3b64 Bump version

git-subtree-dir: externals/fmt
git-subtree-split: e424e3f2e607da02742f73db84873b8084fc714c
abnormalmaps added a commit to abnormalmaps/dynarmic that referenced this pull request Oct 16, 2025
e424e3f2e Update version
ddd20d57e Bump version
594143e37 Fix formatting in ChangeLog benchmark section
09005428a Fix formatting in ChangeLog.md
aaefc029d Update changelog
9fb9f17da Update changelog
a3b3d7ed4 Simplify duration cast
9aee518f3 Update changelog
83189189a Remove get_dynamic_spec
9bb14ffc4 Remove deprecated APIs
556c4177b Remove deprecated localtime
bfdef8b15 Remove deprecated functions
e33c76a1c Update changelog
f9face714 Update changelog
36390db09 Add Conan instructions in getting-started page (#4537)
da97ba291 [cmake] fix MASTER_PROJECT heuristic; only enable install if master project (#4536)
79a5e9302 Update changelog
18e160eb4 Add missing include for crtdbg.h (#4534)
53d006abf Update changelog
63bef3399 Update changelog
d7cbfef11 Update changelog
26b033e23 Update changelog
609188cb9 Cleanup macro definitions
84b9c0071 Update changelog
9908d0003 Delete Bazel support (#4530)
0a94e0675 Combined emphases into a single escape sequence (#4528)
053d26294 Add .clang-tidy
e72e43af1 Apply clang-tidy
80549a630 Avoid repeated call to `GetLastError` in `file::size` (#4522)
f17b9aa44 Bump actions/checkout from 4.2.0 to 5.0.0 (#4523)
882702c21 Apply clang-tidy
16d371b64 Apply clang-tidy
619b3a5aa Suppress a false positive in clang-tidy
79c7f8a70 Apply clang-tidy
20e0d6d8d Update docs
8ba99c0f0 Update docs
656228fbe Update docs
02fb76d69 Add FMT_STATIC_FORMAT
a57f196ca Apply coding conventions
a75e8af48 Update docs
e129591f0 Update changelog
13d4f8469 Remove deprecated vformat_to
e2f89e6d2 Remove deprecated aliases
489fd7ca4 Simplify locale handling
69324379f Mark detail::assert_fail as deprecated
ff1caa58c Use FMT_THROW in report_error (#4521)
e181e9414 Add FMT_CUSTOM_ASSERT_FAIL (#4505)
43c88d00a Update changelog
33a7d55c9 Update changelog
8e4676e4a Remove deprecated template parameter
b5c4d25cd Rename is_char to is_code_unit
a77efa4b4 Move is_*char to detail
e7e71009c Make FP formatting compatible with exotic chars
b7b261977 Simplify report_error
61e0503da Merge workarounds for bogus MSVC warnings
72c82296d Put FMT_END_* together
a402614e8 Remove deprecated aliases
e719c43cc Apply coding conventions
8a8ff6177 Remove deprecated and undocumented has_formatter
5b99b334f Remove redundant else
958845891 Silence unreachable code warnings in MSVC when FMT_USE_EXCEPTIONS are disabled. (#4515)
f91dc80f4 Minor cleanup
412058116 Minor cleanup
7ffc3ca15 Minor cleanup
e9ddc97b9 Remove unnecesary constexpr and inline more
0d145936e Handle allocator propagation in basic_memory_buffer::move, Fix #4487 (#4490)
8f3a96518 Refactor `ansi_color_escape` to track size instead of using a null terminator (#4511)
ae8cb1e8e Ignore some more files in `.gitignore` (#4512)
add164f6b Optimize the default FP formatting
23059d558 Fix exponent size computation
505cc3d0c Simplify remove_trailing_zeros
b8a502615 Revert "Optimize the default FP formatting"
814f51eab Bump github/codeql-action from 3.28.16 to 3.29.5 (#4510)
93f03953a Optimize the default FP formatting
35dcc5826 fix buffer overflow on all emphasis flags set (#4498)
553ec11ec Make compatible with WASI (#4497)
a0ecfe3e1 msvc + ninja + modules: Fix build when consuming fmtlib while using a Ninja generator (#4495)
127413dda Add OpenSSF Best Practices badge
7d29ebe4a Minor cleanup
20c8fdad0 Fix `import std` in clang++ (#4488)
300ce75ca Handle invalid glibc FILE buffer
513f97824 Cleanup os-test
6a3b40524 Use actual example code and move safe_fopen to os-test
2fa3e1a1b Fix interaction between debug presentation, precision, and width for strings (#4478)
fc8d07cfe Bump msys2/setup-msys2 from 2.27.0 to 2.28.0 (#4485)
27c5aab34 Fix unwanted char promotion in decimal writer with wchar_t (#4483)
bc0193535 Update image
353bd895a Add FMT_EXPORT on ranges.h customization points (#4476)
953cffa70 Replace memset with constexpr fill_n in bigint::align (#4471)
571c02d47 Add xchar support for std::byte formatter (#4480)
f4345467f Fix compilation on clang-21 / libc++-21 (#4477)
1ef834807 Properly constrain `detail::copy` optimization (#4474)
a5dccffa5 Add double and float support to scan test
4a149f513 Test non-SSO constexpr string formatting
067bc479b Avoid redundant work when processing UTF-8 strings (#4475)
730fd4d9a Remove redundant tests
5860688d7 Enable constexpr support for fmt::format (fmtlib#3403) (#4456)
46be88bc1 Cleanup FP formatting
cc8891490 Export fmt::dynamic_format_arg_store in fmt module (#4459)
fc0c76a07 Handle large precision
6332a3852 Bump ossf/scorecard-action from 2.4.0 to 2.4.2 (#4462)
02de29e00 Remove a reference to a compromised account
6d51c78c1 Cleanup FP formatting
0f4e9d0bd Cleanup FP formatting
d9d50495a Optimize the default FP formatting
befbc5fdb Fix ADL lookup for memory_buffer
8aa1d6a9f Minor cleanup
6d79757a3 Interpret precision as display width (#4443)
1ff0b7f5e Cleanup warning suppression
ea985e84f Remove some implicit conversions (#4447)
f7033da09 Avoid include locale inline if C++20 modules are enabled (#4451)
b723c021d Give useful error when misusing fmt::ptr. (#4453)
3ba3c390f Clarify that formatting of pointers is disallowed
ab161a71c Fix some typos in comments (#4448)
b5266fd3b Remove some redundant `const`s (#4445)
9b0ebd443 Cleanup base-test
7af94e559 Remove old gcc workaround
2924fcf8f Cleanup base-test
102752ad4 Update docs
a6cd72c9e Cleanup base-test
07885271a Minor cleanup
4999416e5 Fix reference_wrapper ambiguity with format_as (#4434)
55a8f6a4b Change component prefix for NSIS compatibility (#4442)
eb9a95d42 Clarify that formatting of pointers is disallowed
d5c33e4f4 Make template parameter order consistent
a2225f288 Remove unused include
b43b2f953 Cleanup standard formatters
1312b4a16 Cleanup standard formatters
4404dc05d Consolidate implementation details
7bb6fcb32 Bump version
59259a5fd Make a doc directory if it doesn't exist
542ea7c40 Clarify that Formatter parameter is deprecated
40626af88 Update version
7fdd6846b Bump version
6caff7ed9 Cleanup test
71a548387 Update changelog
448929d49 Update and apply clang-format
26d87edab Bump github/codeql-action from 3.28.13 to 3.28.16 (#4432)
505ee058f Update changelog
ccab41719 Update changelog
ec1349d34 Update changelog
0ed2a65a8 Clarify why we use __builtin_strlen instead of strlen
e22c94307 Update changelog
b252bad3c Update changelog
268083123 Cleanun string_view
8978ab09b Avoiding __builtin_strlen (#4429)
c936e2e44 Implement debug format for error_code
a7d7b894c Implement the s specifier for error_code
e98155a6f Remove redundant specializations
41b3bed4d Clarify why we don't use qualified names
67d9e4932 Update changelog
9db5e4df2 Don't specialize std::is_floating_point
906eaf2dd Make specifier order consistent
9f6c12c3d Remove deprecated localtime from docs
2d0518b5f Fix cmake error in pedantic mode (#4426)
c81cbed2b Simplify test
c7925241c Remove `core.h` from README (#4422)
c70913835 Add support for incomplete types
db405954c Remove `fmt/core.h` from docs (#4421)
0a917ee2f Minor comment tweak
969d4aef6 Update doc image
8061c7c8c Cleanup duration formatter
7b59df411 Remove redundant member
b8192d233 Fix build error with MSVC v141 (#4413)
e814b5fab Reduce template parametrization
ed0d216f7 Fix localization and formatting of timezone names
bd9554a29 Fix formatting of timezone names
f086dc0d2 Fix timezone handling in tm
f10b6dd81 Improve chrono formatting
f470b9c56 Cleanup chrono tests and set consistent TZ
b28214487 Fix handling of %Z
6d69f0c5f Improve chorno tests
da776c9a6 Test timezone
64db979e3 Added a missing FMT_STRING in fmt::println() (#4407)
5f2e61fdd Cleanup chrono detail
b3d45e1d3 Remove fmt_detail
5f6fb96df Bump github/codeql-action from 3.28.8 to 3.28.13 (#4403)
5199e0f88 Fix a flush issue on libstdc++
2f5843057 Move buffering tests to os-test
d5d32c1e8 Bazel support: Update platforms to 0.0.11 (#4400)
204661287 Improve local_time test
e1ab38336 Report an error when timezone is not available
b9e0e94a0 Enable more chrono tests on Windows
a81842428 Update changelog
f53055efe Revert "Workaround an ABI issue in spdlog"
b2dfcb2b8 Fix local_time test
7ac97cbd1 Enable some local_time tests and make them deterministic
17898794a Use fmt::local_time
443a8ef34 Deprecate fmt::localtime
3607e92dc Bump version
43e31614c Test ambiguous time
989826ce5 Update changelog
9d6e24c64 Fix handling of long with FMT_BUILTIN_TYPES=0
0843317e0 Update changelog
784eac839 Workaround an ABI issue in spdlog
6fdf225a3 Always inline value ctors in optimized gcc mode only
332da79bf Always inline value ctors
7b273fbb5 Minor cleanup
191c504b1 Cleanup build config
d13fb6092 Cleanup build config
dd780fde4 Add clang-3.4
37e647471 Fix dynamic named arg format spec handling (#4361)
77c0fc07d Switch to supported ubuntu image
9212ff6ca Apply coding conventions and use constexpr
864bdf963 Report error on duplicate named arg names (#4367)
b776cf66f Optimize `text_style` using bit packing (#4363)
bdbf957b9 Bump msys2/setup-msys2 from 2.25.0 to 2.27.0
577fd3be8 Fix TU-local entity exposition error in GCC 15
faac8b1fa Remove exports in std.h
123913715 Update version
8c1059b92 Update changelog
4e5aafbf4 Bump version
db30fb3b8 Update changelog
3401ce2be Fix ABI compatibility
7f7695524 Fix conflict with std::ignore (#4356)
251320fcb Add .vs folder to .gitignore (#4355)
94ab51cb8 Simplify implementation of `operator""_cf` (#4349)
0ca42e836 Workaround an MSVC v140 bug
ed27df576 Replace forward slashes by backslashes in BMI path for MSVC. (#4344)
d42a068db Apply coding conventions
f2cec917d Move is_compiled_string to public API (#4342)
d5b866e24 fix gcc 8.3 compile errors (#4336)
5676e408f Bump github/codeql-action from 3.27.0 to 3.28.8 (#4337)
71d24b564 Bump actions/upload-artifact from 4.4.0 to 4.6.0 (#4339)
c9267da4d Fix typo in `FMT_HAS_BUILTIN` check
373855c1b Clarify difference in FP representation
52eeeb52a Make exponent threshold depend on representation (#3649)
9cf9f38ed Update version
4946bdb72 Update changelog
01a5b56f0 Fix error of unitialized variable FMT_HEADERS
cb6fdf219 Restore constraint on map formatter (#4326)
f841ae61e Fix #4303: avoid instantiating formatter<const T> (#4325)
a3d05d70c Silence a constexpr warning when compiling with MSVC and /W4 (#4322)
41539c29f Workaround a bug in gcc 6 (#4318)
aabe63910 Tweak changelog
f90090be2 Update changelog
9ff9c695d Bump version
06ad1224e Update changelog
5f0572acd Workaround a compilation error on gcc 9.4
898d43857 Fix formatting into std::ostreambuf_iterator using a compiled format (#4312)
937b7c5c1 Add args() accessor back to fmt::format_context (#4310)
01914f038 Reduce size of basic_specs
c43da3570 Workaround an ICE when using modules with gcc 14.2 and earlier
8303d140a Update version
b0b3dc5ff Bump version
586ea06f0 Rename set_fill to copy_fill_from
5750f434f Update changelog
bfbdc2be9 Add parameter to the fallback to_sys function.
87e007267 Update changelog
d57040f94 Prefix components
21aa0956d Restore ABI compatibility
3f864a450 Address MSVC C4127 warning when formatting non unicode `tm` (#4299)
093b39ca5 Update docs for meson (#4291)
2c3a5698e Simplify a copying the fill from basic_specs
fc1b0f348 Clarify use of FMT_THROW in a comment
1d066890c Resolve C4702 unreachable code warnings
dad323751 Fix a bug when copying the fill from basic_specs
880e1494d Improve xchar support for std::bitset formatter
e3ddede6c Update version
e9ec4fdc8 Bump version
feb72126b Readd FMT_NO_UNIQUE_ADDRESS
8d517e54c Update changelog
563fc74ae Update changelog
3e04222d5 Restore ABI compatibility with 11.0.2
853df39d0 Mention compile-time formatting
11742a09c Clarify that format_string should be used instead of fstring
da24fac10 Document fstring
5fa4bdd75 Define CMake components to allow docs to be installed separately (#4276)
3c8aad8df Update the release script
0e8aad961 Update version
debe784aa Update changelog
f6d112567 Update changelog
73d0d3f75 Fix github API call
08f60f1ef Update changelog
faf3f8408 Bump version
f3a41441d Replace requests with urllib
3f33cb21d Update changelog
b07a90386 Update changelog
a6fba5177 Update changelog
25e292998 Update changelog
00ab2e98b Update changelog
a3ef285ae Always inline const_check to improve debug codegen in clang
28d1abc9d Update changelog
90704b9ef Update changelog
86dae01c2 Fix compatibility with older versions of VS (#4271)
d8a79eafd Document formatting of bit-fields and fields of packed structs
7c3d0152e Use the _MSVC_STL_UPDATE macro to detect STL (#4267)
7c50da538 Allow getting size of dynamic format arg store (#4270)
873670ba3 Make parameter basic_memory_buffer<char, SIZE>& buf of to_string const
735d4cc05 Update changelog
141380172 Allow disabling <filesystem> by define FMT_CPP_LIB_FILESYSTEM=0 (#4259)
4302d7429 Update changelog
0f51ea79d Update changelog
9600fee02 Include <filesystem> only if FMT_CPP_LIB_FILESYSTEM is set (#4258)
47a66c5ec Bump msys2/setup-msys2 from 2.24.0 to 2.25.0 (#4250)
385c01dc7 Allow bit_cast to work for 80bit long double (#4246)
df249d8ad Remove an old workaround
dfad80d1c Remove an old workaround
536cabd56 Export all range join overloads (#4239)
b1a054706 Remove more MSVC 2015 workarounds and fix string_view checks
bfd95392c Remove MSVC 2015 workaround
9ced61bca Replace std::forward for clang-tidy (#4236)
75e5be6ad Sort specifiers
a169d7fa4 Fix chrono formatting syntax doc (#4235)
a6c45dfea Fix modular build
a35389b3c Corrently handle buffer flush
5a3576acc Implement fmt::join for tuple-like objects (#4230)
542600013 Suppress MSVC warnings "C4127: conditional expression is constant" by used const_check (#4233)
720da57ba Remove reference to unused intrinsic
680db66c3 Explicitly export symbols from detail
56ce41ef6 Remove initializer_list dependency
cf50e4d6a Fix const[expr] in context API
6580d7b80 Cleanup the format API
7e73566ce Minor cleanup
8523dba2d Make constexpr precede explicit consistently
e3d3b24fc Minor cleanup
1521bba70 Use consistent types for argument count
00649552a Bump github/codeql-action from 3.26.6 to 3.27.0 (#4223)
4b8e2838f More cleanup
7d4662f7a Remove FMT_BUILTIN_CTZ
27110bc47 Minor cleanup
68f315376 Fix narrowing conversion warning in struct fstring (#4210)
168df9a06 Implement fmt::format_to into std::vector<char> (#4211)
4daa3d591 Fix error: cannot use 'try' with exceptions disabled in Win LLVM Clang (#4208)
e9eaa27e5 Add std::exception to the docs
2b6a786e3 Use standard context in print
a16ff5787 Add support for code units > 0xFFFF in fill
601be1cbe Add support for code units > 0xFFFF in fill
58c185b63 Changing type of data_ to size_t to avoid compilation warnings (#4200)
a0a9ba2af Fix hashes
cc2ba8f9e Cleanup cifuzz action
a18d42b20 Simplify lint (#4197)
4046f9727 Fix -Wmissing-noreturn warning (#4194)
6bdc12a19 detail_exported -> detail
786a4b096 Cleanup fixed_string
2cb3b7c64 Update README.md
e9cba6905 Update README.md
02537548f Cleanup an example
c68c5fa7c Test FMT_BUILTIN_TYPES
22701d5f6 Address build failures when using Tip-of-Tree clang. (#4187)
e62c41ffb Conform `std::iterator_traits<fmt::appender>` to [iterator.traits]/1 (#4185)
18792893d Silencing Wextra-semi warning (#4188)
c90bc9186 Bump actions/checkout from 4.1.6 to 4.2.0 (#4182)
c95722ad6 Improve naming consistency
db06b0df8 Use countl_zero in bigint
b9ec48d9c Cleanup bigint
3faf6f181 Add min_of/max_of
d64b100a3 Relax constexpr
ff9ee0461 Fix handling FMT_BUILTIN_TYPES
1c5883bef Test nondeterministic conversion to format string
cacc3108c Don't assume repeated evaluation of string literal produce the same pointer
fade652ad Require clang >=15 for _BitInt support (#4176)
96dca569a Module linkage fixes for shared build (#4169)
891c9a73a Cleanup format API
9282222b7 Export more
e5b20ff0d Deprecate detail::locale_ref
ff9222354 Simplify locale handling
80c4d42c6 Cleanup format.h
3b70966df Add width and alignment support to error_code
05226c4bd Remove type_identity
c283b458a Cleanup format.h
fe79932c2 Fix conversion warning on chrono.h (#4170)
23fcf1942 Apply clang-format
3f296e3d4 Workaround clang-format nonsense
a197a994c Add member format_as for std
6d43c755b Fix a typo
1f87b1c58 Use fmt::formatter specialization for std::reference_wrapper to avoid undefined behavior (#4164)
ed8f8be70 More chrono padding (#4161)
55a0a9cd6 Cleanup pragma detection
5c926d9ff Remove FMT_UNCHECKED_ITERATOR
8b024662d Remove unnecessary inheritance
2f1424be9 Simplify handling of arrays
239aa6911 Remove unwrap_named_arg
497df6db6 Remove formattable
a25e594f6 Remove range_mapper
503dff93e Simplify has_formatter
3374a95b5 Simplify has_formatter
0e62e5dc7 Simplify has_formatter
7ce013971 Sync value ctors and type mapper
07e70151d format std::reference_wrapper
419772771 Improve handling of unformattable args
527e98e3f Remove unformattable
8a19b2db7 arg_mapper -> type_mapper
e97df46ae Cleanup type mapping
39f1e0903 Remove FMT_MAP_API
d832830f6 Cleanup type mapping
b329ff194 Always detect encoding on Windows
2af403ce6 Simplify type mapping
b7513b1d0 Simplify type mapping
761d35f76 Cleanup format_as handling
545dc4148 Add value ctor taking name_arg
3f5e45dd3 Simplify handling of _BitInt
2e3b6fbd9 Remove redundant check
a0328e1f9 Improve error reporting
de28ef5f8 Remove make_arg
2d5e561a6 Cleanup argument handling
6537fb439 Update changelog
50aac2ac9 Add reference to iterator_traits
538d8777e Workaround a bug in libstdc++
033531232 Demacrify UTF-8 check
463fe65f1 Cleanup FMT_COMPILE_STRING
1782a6eac Rename pragma macros
b52fb9884 Fix no locale build
b6a6ec7f1 FMT_EXCEPTIONS -> FMT_USE_EXCEPTIONS
89999f167 Simplify pragma
b90b4bc98 Remove FMT_STATIC_THOUSANDS_SEPARATOR in favor of FMT_USE_LOCALE
a1d6f9a97 Minor cleanup
689ec7a08 Cleanup
28143dc99 Cleanup chrono
1bde49e54 Remove FMT_USE_USER_LITERALS
f924d16e4 fix: pass /utf-8 only if the compiler is MSVC at build time
ab8f9d5b0 Cleanup format API
6f62db098 Cleanup format API
ab44ee752 Avoid shadowing
0d4e7e3fe Remove old workaround
8ee89546f Remove old workaround
a5deb96bf Update gcc version
61a241f03 Cleanup
ff82d8d2b Cleanup visit
0cc20f563 Remove iterator_t
2ba6785d8 Remove unused type
5644e7507 Remove unnecessary forwarding
5345cfe6b Adjust clang-format
3e9fdb3a1 Cleanup
3ada4aed2 Optionally exclude Unicode data
b37be85bf Optionally disable named arguments
70643b251 Don't use format_error if exceptions disabled
967e2d177 Cleanup
02c5d637c Cleanup
047bf75c2 Cleanup
2d3ba32e7 Improve debug codegen
6c90b31fb Improve debug codegen
9408c2ae8 Readd support for FMT_BUILTIN_TYPES
cc3ff1529 Cleanup
158893b38 Cleanup
f5a16a484 Cleanup
cad876be4 Switch to vargs
debf6f828 Switch to vargs
35f4fab4c Simplify value ctor
ff8f32478 Minor cleanup
bd48715d8 Simplify make_format_args
57d6df62f Simplify make_format_args
8ed4a9dcc Improve debug codegen
f288f45e4 Prepare for arg_store unification
5bf577ca5 Backport from GoogleTest: "Work around a maybe-uninitialized warning under GCC 12" (https://github.com/google/googletest/commit/0320f517fd920866d918e564105d68fd4362040a)
b6de66819 Backport from GoogleTest: "Always initialize fields in MatcherBase constructors" (https://github.com/google/googletest/pull/3797)
6870e4b06 Workaround for GCC regression: false positive null-dereference in vector.resize
5cdef7603 Switch to gcc-13 for C++23 tests
a2c290bc3 Suppress a bogus MSVC warning
f1e3016c1 Optimize debug codegen
106dc8fd6 Reduce usage of type_identity
c3344e21e Cleanup base API
5f438c967 Remove make_arg
2a257798d Reenable FMT_BUILTIN_TYPES
22d50c1a9 Add support formatting std::expected<void, E>
1cc10ab68 Make is_formattable work with const/volatile void
6aaf7f4b7 Suppress a gcc 13 warning
b4d1d7f8e Improve debug codegen
1e0771c70 Fix broken CI for shared library on macos and linux (#4151)
3df47a467 Make is_formattable work with void
b4aea98b5 Small fixes for some issues with modules builds (#4152)
565461a0d Update MSVC workaround in compile-test
e2b723870 Cleanup format string API
1e0c6cdc3 Make symbol sizes shorter
a8bcf81f7 Minor cleanup
15694c9a8 Workaround an MSVC bug
4cae2da0d Workaround a clang 17 bug
79e5ae919 Fix locale tests on FreeBSD
894b71da8 Fix handling of _BitInt
7a6a2a79e Improve debug codegen
387395fc7 Cleanup base API
6a8841549 Add FMT_APPLY_VARIADIC
9a2aae37d Cleanup base API
880376836 Cleanup base API
4fa533c70 Cleanup base API
d980dd717 Cleanup base API
4eed488c6 Cleanup base API
a6ecd25b8 Improve debug codegen
9f29345ea Simplify mapped_type_constant
4986b4c0e Simplify arg_mapper
a5f4d9820 Simplify arg_mapper
bc3af5127 Reduce the number of instantiations
60740b7c2 Cleanup base API
9ef160d30 Cleanup base API
0b80978c2 Cleanup base API
4f39d8865 Cleanup base API
a86b1acf6 Add mapped_t
c9ef07bc4 Minor cleanup
8c4cfab57 Detemplatize parse
7e3aa6d98 Minor cleanup
7c6621600 Minor cleanup
1416edabb Cleanup base API
d4aeca992 Bump actions/upload-artifact from 4.3.3 to 4.4.0 (#4141)
eee93ddff Bump github/codeql-action from 3.25.11 to 3.26.6 (#4142)
b310a0d48 Simplify parse_format_string
985c3399d Make map static
4a55b0d5f Remove duplicate error in compile-time checks
64a6c8459 basic_format_parse_context -> parse_context
66920feee Improve compile-time checks
f4dad85c3 Improve handling of named arguments in compile-time checks
db4becabe Reduce template instantiations
fec2cc7af Improve handling of named arguments
621e9c17c Clarify why we have TYPE in native_formatter
bca704055 Simplify compile-time checks
8c4b17fe6 Simplify compile-time checks
516a2e204 Cleanup FMT_STRING
6797f0c39 Cleanup compile-time checks
db496b47c Remove old gcc hack
8eda3c8e9 Cleanup compile-time check
53316903e Move string_literal to format.h
8a484ad57 Minor cleanup
b446cc9e6 fwrite_fully -> fwrite_all
0204dd359 Fix _BitInt formatter
d8876b778 Minor cleanup
c0fab5e2f Reject modernity, embrace tradition
64313e915 Move redundant initialization to compile time
8e3da9da2 Improve binary size
2a2f73f7c Improve binary size
6dd9194ab Simplify format_to_result
a017bba06 Minor cleanup
5eb023cd5 Improve binary size
f213d8330 Disable locale more
b3ccc2d21 Disable locale more
7477dda28 Simplify is_utf8_enabled
e582d377c Simplify locale handling
cd8d01d8c Minor cleanup
377cf203e Add opt out for built-in types
5a0a37340 Add support for _BitInt on clang (#4072)
bbf8b3bd0 insert else branch to avoid unreachable code warning (#4130)
a3f3f2ec9 Fix gcc 8.1 - 8.3 bug and compilation (#4131)
e3676ca30 Change std::copy to detail::copy in chrono to fix MSVC compile errors (#4132)
0379bf3a5 Workaround -Wstringop-overflow
c59ee969f Improve compile-time formatting (#4127)
1a79bbfa8 Cleanup chrono formatting
89af1ad77 Cleanup chrono formatting
0e741e0da Minor cleanup
d1acc667c Minor cleanup
4fb7008c9 Cleanup duration cast
589898e28 Fix %S doc
62382e365 Test full exponent range
94b8bc8ea Add an experimental writer API
020af729d Simplify ostream
fb07b37c5 Prioritize using the header files of self (#4116)
313542125 Minor cleanup
993f56cff Make sign a proper enum class
c6c830e20 Make align a proper enum class
b906c321f Get rid of bit fields
f8c0c8ee7 Cleanup public API
c71d03fcb Make `support/python/mkdocstrings_handlers/cxx/__init__.py` PEP 8 compliant (2 of 2) (#4115)
50a8c3e9b Reduce format specs size
98314319a Fix ambiguous overload
0ce49aeb4 Add a test case
bf870ae3d Fix back_inserter lookup for non-std containers
c98518351 Make `support/python/mkdocstrings_handlers/cxx/__init__.py` PEP 8 compliant (1 of 2) (#4110)
9f0c0c468 Add 'n' specifier for tuple and pair (#4107)
9f269062a Simplify default formatter
15f939c3d Improve handling of dynamic specs
928a07bb0 Simplify handling of dynamic specs
789169973 Simplify handling of dynamic specs
58aba5a3d Deprecate append instantiation
5ee14d350 Reintroduce constexpr fmt::formatted_size for C++20 (#4103)
b9c0e4dd8 Improve spec parsing
8445327c8 Simplify spec handling
8a06cee82 Optimize shortest float formatting
1db227496 Use us if Unicode is disabled
34ead4b39 Bump msys2/setup-msys2 from 2.23.0 to 2.24.0 (#4098)
3bf26009e Bump ossf/scorecard-action from 2.3.3 to 2.4.0 (#4099)
d326c7298 Fix conversion a surrogate pair (#4095)
6e462b89a Get rid of std::copy
aff640c32 Make fmt::appender implement std::output_iterator concept (#4093)
e23fb6a8b Apply clang-format
16b3542f7 Remove float_specs
29d7e5805 Remove float_format
919f7c5e7 Reduce float_specs usage
a80d668a5 Diagnose invalid precision
707d7d923 Apply coding conventions
de6ed8df8 Test alignment
ffdc3fdbd Align digits table
0c0281379 Fix doc build
f8581bcec Add redirect page
31b3c325f Mark namespace scope constexpr variable 'buffer_size' inline. (#4084)
52b32081f Wrap private module fragment content within conditional extern "C++", to match declarations. (#4083)
0b0b09f40 Constrain format_uint
4173a6315 Improve format_decimal
4239dfe08 Simplify format_decimal
ba36a0481 Remove counting_iterator
f6b4a23b8 Unbloat chrono
42d3d703b Remove the commenting attempt
9fcd9c4c1 Remove all warning suppressions
7f157dca0 Workaround gcc stringop-overflow bug
524ca1c71 Improve parsing
bdc45eef7 Simplify on_text
439b6d721 Reenable print optimization
3cc32fdc8 Mark more formatters nonlocking
0c9fce2ff Update version
b47d662e7 Update changelog
e84297f25 Bump version
0ad234ad1 Update changelog
de684ef77 Make appender compatible with fill
447c6cbf4 Update changelog
bc8d32e96 Update changelog
0f87d6ffa Improve sign processing
808ea0191 Cleanup test
55e76e6c2 Update check-commits script
8757f1f8d Add a script to test multiple commits
9228f349a Inline visit
e10643add Add a perf-sanity test
f29a7e797 Don't use memcpy in append
f97deb0d7 Minor cleanup
354135351 Apply minor optimization
5ef93a9f8 Expand FMT_FORMAT_AS to include implicit conversions (#4055)
c9102619d Avoid extra reserve
58d792b6d Apply minor optimizations
25adca566 Remove redundant overload
1408f1824 Simplify iterator detection
3fe4641d3 Add 2 more constexprs to fix compile error (#4065)
33e7ed1eb Improve handling of back_insert_iterator that writes into a buffer
6a192f8d3 Fix broken links in README.md (#4066)
92cdbbae0 Update api.md
13038f37e Support printing (const) volatile void* (#4056)
672522575 Update changelog
e60ff504e Fix usage with std::generator (#4057)
ccea33807 Update lint.yml
92227c77a Improve support for non-POSIX platforms more
486838f26 Improve support for non-POSIX platforms
a43391199 Update changelog
7a8b54a0e Don't confuse Glib::ustring with std::string
b50e685db Update version
e314776c2 Fix version check
2208143ac Update changelog
a96259701 Improve std::complex formatter (#4050)
232c6bc48 Update changelog
503e183b9 Bump version and add version validation
e50c8b6bd Fix disabling Unicode support
9d946a2fc Fix compilation errors due to `make_format_args` in gcc 14.1.1 with c++20 (#4042)
c4f6fa713 fix: Make basic_format_arg::visit() const (#4043)
10f12fd3d Bump github/codeql-action from 3.25.3 to 3.25.11 (#4041)
24c1f886a Remove double has_value check (#4040)
0041a40c1 Update version
686339f7c Minor cleanup
e355c116f Tweak wording in the changelog
707bb5b36 Fix grammar
6f68c62cb Ignore doxygen files
d059fe42a Ignore vagrant files
43c5b3474 Fix package build
e89568e6c Update vagrant config
f5bf6f778 Update build script
bd9af9a9f Update changelog
165210890 Fix typo
84f613182 Fix formatting of release notes
dedc17c1c Fix handling of tables, take 3
5d0adb6d7 Fix handling of tables, take 2
3f251fc9c Fix handling of tables
1930ed4bf Fix release script
26d07e49b Fix formatting
949d5d179 Fix build script
53186535d Bump version
602e3c3d1 Update build script
2952130cb Fix doc build
1e94a463e Create build dir
a34120329 Update doc script
0fae326c4 Update site dir
8b1fcf5cc Update doc dir
ec46c3de9 Update build script
2d9d32c62 Update build script
4703ade76 Update build script
52e7b25f9 Update changelog
b61c8c3d2 Change actions/github-script from e69ef54 -> 60a0d83 (#4038)
bbf44cc00 Defines are still needed for FMT_MODULE as well (#4027)
06948fa71 Pin deps
d9899492c Simplify deps
ff72f553e Update changelog
7f951f250 Optimize range formatter
7ae102bd6 make format_int constexpr (#4032)
edde97312 Update test names
b1efe8516 Prevent silent data loss
2c0d9e940 Add a define to force the use of fallback_file
18a9676d9 Add an experimental path
af8cd4e40 Module purview can only contain direct preprocessor code (#4029)
514b6955d Suppress a bogus warning in MSVC (#4023)
ac9677323 Added missing std::declval for non-default-constructible types (#4024)
c00149f5e Fix a typo
71244e07d Cleanup includes
a57b0194a Correct comments
febd8ed5f Cleanup includes
0434026a9 Remove build-docs.py
0882bfef2 Don't deploy docs from a PR
2a2048a78 Don't pass seconds as a double in examples
ea1187f4c Generate doxyxml in build
1334eedaf Improve docs
709169a4d Set the anchors
2bf1b3004 Update changelog
8687315e8 Guard more system headers by `FMT_MODULE` (#4006)
98dd673cf Cleanup cmake
a245a8d4b Update changelog
e0b66e8f8 Remove dependency on <ranges>
794df69c8 Added range_format::(debug_)string formatter (#3973)
1d9df9ce1 Remove a redundant comment
c4ea90325 Only install `FILE_SET` when needed (#4013)
3e3062c13 Update msys2/setup-msys2 to v2.23.0 (#4012)
b998b4711 Update changelog
bff1de15e Fix deploy docs (#4010)
90932dd20 Update doc.yml
232c5e854 Update doc.yml
26cdd1cb3 Update doc.yml
ad34d4df9 Update doc.yml
f79626444 Fix doc workflow
28673d969 Update api.md
a5c1b5d44 Update changelog
cc4d1245b README.md: update to remove "not yet release" remarks on clang-tidy
18a325f37 Disable footer
a1337aa8a Merge literal-based API doc into the parent section
51a690ab1 Check if `.cc` exists in `fmt.cc` (#4005)
f332a81b7 Remove unnecessary build step
33a1de57a Deploy docs, take 3
c7252b334 Deploy docs, take 2
3f71b6066 Deploy docs
215ce4d97 Fix error getting config 'user.email'
89f3a810e Fix error getting config 'user.name'
1f170d3fe Install mike
d175db8f5 Fix doc CI and clean workflows
a8cfc0cc2 Deploy dev docs
65e278b28 Don't pollute the source directory
3620c174a Fix doc build
702b6f378 Update docs
ed21034a1 Implement deployment
76d57f93d Remove old script
6ceef04df Merge branch 'master' of github.com:fmtlib/fmt
ab6b257a3 Implement doc building
077e4ae74 Added generator expression to /utf-8 compile option (#3995)
d4a8d26c5 Temporarily disable doc build in CI
b5c8fd783 Fix doc build
735a61382 Build docs
a6e6e9c3c Fix a link
e6d4f927c Improve docs
8de3e87da Add a CMake option to control Unicode support
46d2acb3b Don't add `os.cc` to sources with FMT_MODULE (#4004)
fad0222a0 Export `compiled_string` so that user can customize one (#3999)
d1cab6a9a Drop parentheses
fcb6a452d Improve docs
72928661e Improve docs
d6ec6b7e2 Update docs
e845fc572 Ignore old changelog
2bf811b1d Also allow compiled format for clang >= 12 (#4001)
9653eed8e Don't hide the navbar
9b5d1826d Update changelog
fe741daaa Mention namespace `fmt::literals` in the document (#4002)
0f6e71654 Fix missing includes in fmt.cc (#3994)
a3d95971b Update changelog
7bd11b5cd Remove a redundant extension to reduce divergence from std::format
21372bc0b Update cmake config
a0495e3eb Update changelog
cba5e8615 Update changelog
e9609dec1 Update changelog
6ebbaf4b4 Split changelog
4e31d2dc6 Update changelog
fcc0b4997 Fix `FMT_INSTALL` with `FMT_MODULE` (#3998)
0560c334f Fix build with `FMT_MODULE=OFF` (#3997)
db9365a11 Update lint.yml
5c445bc42 Reverting check to make shorter branch comes first
94f96d112 Fix undefined reference when compiling with FMT_STATIC_THOUSANDS_SEPARATOR and chrono.h
6abc1204f Check if the generator is ninja
a9b851763 Use native c++ module support from CMake
fba06f0ee Update changelog
598e51808 Remove redundant tests
0a555818d Usage -> Get Started
966a1b3d4 Update docs
adb8e27db Fix rendering of template parameters
2c84fa9ac Update docs
8da0240db Improve docs
83bf14237 Update changelog
595e54919 Cleanup docs
c636967c5 Improve docs
2392367ef Set primary color
06f8e02fb Remove rtd compat
c71d08fc2 github: update lint.yml to post details on formatting issue (#3988)
d9b90029b Update docs
c0029b984 Update docs
1ac9b317f New landing page
f68dee535 Fix syntax highlighting
fb9ee2ed6 Simplify doxygen config
d29ceaf91 Update .gitignore
9b12491c1 Migrate docs
ab29ef37d Migrate docs and cleanup
97117cbb5 Migrate to mkdocs
886237ae7 Emit anchors
904f2a5c2 Remove a non-pinned dependency
dab1a65d2 Sort out directory URI config
509d01810 Fix a link
75ab3bc2a Add a script to invoke mkdocs
871538d3a Fix install dir
250456d5a Migrate to mkdocs
38ba3d399 Migrate to mkdocs
071411397 Add macro support to api doc extraction
dd3b3f937 Merge branch 'master' of github.com:fmtlib/fmt
03d14c3be Add support for multiple namespaces
416ac0fc7 Bump actions/checkout from 4.1.0 to 4.1.6 (#3986)
596add899 Bump ossf/scorecard-action from 2.3.1 to 2.3.3 (#3984)
a10e03214 Improve docs
febeb51bd Documentation improvements
f18c2b65c Fix rendering of aliases
e3910b8a9 Improve apidoc rendering
34b85678f Render members
e5c07c835 Improve apidoc formatting
933d8ba35 Improve apidoc formatting
e7ba467e9 Improve apidoc formatting
91a859ee4 Switch to markdown
6180442ed Render template parameters
418c5d094 Render template params
aafdde7ef Switch to JavaScript syntax highlighter
d2ecfcfc4 Fix rendering on github
26b249435 Improve doc presentation
4f330567e Improve apidoc generation
199274624 Convert API doc to Markdown
a4d42c44f Cleanup comments
ddd8a5423 Add mkdocs config
fcd3e1e19 is_convertible_v -> is_convertible::value (#3983)
dc401b1c2 Move handlers outside of the docs
f7c5588c4 Cleanup syntax doc
a4e40677a Fix markdown
3479828e1 Fix markdown
191b0cb48 Fix markdown
e80f4a9b7 Cleanup syntax doc
022d8efec Update doc.yml
ca8eeb09e Add glibc ext for day of month and week of year (#3976)
cddb41f63 Fix markdown
0b0a05770 Remove old contents
caa97da1f Add a word joiner to prevent line break
cf9833f40 Cleanup apidoc comments
b6638f9c2 Convert usage to Markdown
d90346013 Fix markdown
ba2fbf6e1 Fix markdown
6e49bb887 Remove CSS
e0f3e8507 Fix markdown
4fc3fce9c Improve syntax markdown
d6427ae7b Improve syntax markdown
3d6869065 Improve syntax markdown
551aa8d51 Add CSS
9e07045f5 Fix links
5735048b2 Improve mkdocstrings handler
33eba1049 Minor comment fix
43ab964c4 MSVC 17.10.0 + modules cannot find definition (#3972)
728f9bc38 Added std::type_info formatter (#3978)
e721046e2 Convert index to Markdown
552842c4f Convert syntax to Markdown
2c38766fd Add a mkdocsstrings handler
c8f1b4e74 ci: Remove macos-11 runners, add macos-14 (#3980)
529dcd11f Fix workflow, take 2
1441c660b Fix workflow
ecd155973 Improve styles
a57a63dc0 Fix styles
8691f21b4 Fix styles
7e4fac3f4 Improve styles
4a368625e Replace less with sass
f4e1ec81e Cleanup html
89c0d1010 Update description
12ef9e09d Fix class conflict
5afa68138 Remove redundant github button
cc1310203 Fix navbar style
8ee6c9401 Reintroduce GCC-11 C++20 into CI (#3979)
766300b3c Update html
4115219ed Fix CSS path
95076981f Update documentation deps
1752d7fbb Added formattable concept (#3974)
1768bf971 Added FMT_EXPORT for fmt::range_format and fmt::range_format_kind (#3970)
fc723fd6c Fix regression in #3710 (#3968)
b81761068 Check range_begin is dereferenceable (#3964)
706eabd5e Resolved warning C4127: conditional expression is constant (#3967)
028bffa08 Update checks for dynamic_cast usage when compiled with no rtti (#3963)
86741b3e1 Bazel support: Add missing platform dependency (#3965)
75e892420 Minor cleanup
0b5287f8b Remove unused function
a4715c48b Bazel support: Add utf-8 to Windows build (#3962)
8e728044f Fix format_as for non-const begin/end views (#3955)
1f436c646 Cleanup locking/buffering
db1ee420e Cleanup unicode check more
7d6ae972b Cleanup unicode checks
3460b30fd Improve utf-8 detection
b7809f91e Enable Unicode support by default
1dc71f21e Enable Unicode by default
8db8f2249 Optimize join_view
d2473b7b7 Simplify join_view formatter
328d256c6 Apply coding conventions
57593a123 Simplify map formatter
10508a30e Enable fmt::join for uncopyable iterators (#3946)
16cec4f59 Make the map formatter correctly handle elements with custom formatters
77bfd8499 Split range and map formatters
3af8ac7a0 Privatize write_debug_string
ceb406d06 Remove range_default_formatter
19afc9c3b Update README.md
6ff593b02 Update README.md
78420bedd Update README.md
a21bc7b86 Update doc.yml
97d0613ba Update doc.yml
04b0ae418 Update doc.yml
27dd1dcf0 Update lint.yml
3649c3954 Update lint.yml
7650ed04a Fix to_nonnegative_int
9234fe83f Add tests to check that isnan doesn't cause FP errors
8a8f4825a Fix: isnan() shouldn't cause FP exceptions
17062a0c9 Bump actions/upload-artifact from 4.3.1 to 4.3.3 (#3950)
88d3997f5 Bump github/codeql-action from 3.24.9 to 3.25.3 (#3949)
48c908453 Fix CodeQL alert (#3945)
cf1f55f79 Specialize `formatter` for all `std::basic_string` types (#3943)
400f6a8ee Dedup ADL begin/end lookup
a3e0931ea Update signature in the doc
51eeccd0f const void* is neither a fundamental nor string type
f30f1fd51 Document formatter specializations provided by base.h
f4b256c66 Fix warning C26439
f746a59a5 Cleanup FMT_ASSERT
ee0c3351a Fix format_to + FMT_STRING for wide character type (#3931)
99735764e Fix FMT_USE_NONTYPE_TEMPLATE_ARGS define back (#3937)
aa52eb765 Resolved warning C4996: 'fileno': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _fileno. (#3930)
116a9ce48 Added FMT_IMPORT_STD feature macro (#3928)
5eb68c0ef Fix mix-up of 'FMT_BEGIN_EXPORT' and 'namespace detail'. (#3924)
550437b29 Resolved warning C4127: conditional expression is constant (#3923)
4e8640ed9 Fix: enable `FMT_NORETURN` without exception support too (#3917)
c70e7b747 Coding conventions and minor fixes
71144eeaf implement year_month_day (#3913)
843e29356 Bump github/codeql-action from 3.24.6 to 3.24.9 (#3915)
f5ec5ada2 Update syntax.rst
3b5f3de3b Make CMake version message less confusing (#3907)
ca9193983 Replace std::fill_n with fmt::detail::fill_n (#3909)
74a187288 Implemented fmt::day, fmt::month, fmt::year and related unit tests (#3906)
88620e53a Range formatting documentation  (#3905)
5d63e87d2 Add a formatter for float128
aecec01b3 Initial support for extended FP types
5af88653e Cleanup
45b772f85 Improve std::complex formatter to be compatible with P2197R0 (#3900)
53347891c Make line buffering test less flaky
38881e5ac Fix handling of the fileno macro
6c7cc6a06 Fix group_digits for negative integers (#3901)
365c3fbd2 Bump timeout
c0dac8398 Use p2197 format for complex by default
bb882c03b Simplify path formatting
12acd7988 Fix ambiguous call
c710bfa10 Apply clang-format
73f2b344b Add std::complex formatter
9f3fc6e38 Add XChar support into nested_formatter
c17816cb4 Fix invalid fmt::formatter<>::format return type (#3895)
df6e7b22f Fix relative path for cmake in usage doc (#3890)
c816fa675 Fix a warning
e281749c5 Simplify range formatter
11f2f30f0 Simplify range formatter
13cfaa2ab Guard against usage of _isatty when header was not included (#3880)
0861db500 Support character range formatting  (#3863)
dfe5b12c0 Update os-test.cc (#3883)
09935d823 Bump github/codeql-action from 3.23.2 to 3.24.6 (#3876)
3bc6cc1e6 Protect against locking formatters
4fcc317dc Bump actions/upload-artifact from 4.3.0 to 4.3.1 (#3875)
ae1e93d34 Fix warning C4702 emitted from format.h (MSVC) (#3866)
f68f452de Workaround an ld warning on macOS
ebea5736a Fix chrono locale format bug for RHEL gcc (#3859)
ddf0b7d2b Fix warning C4365 emitted from printf.h (#3865)
0166f455f std.h c++23 build fix (#3856)
8e42eef49 Don't error on min time_point
91b30e5b4 More API details
7a63e233d Readd core.h to headers
44c3fe1eb Fix handling of static separator
ae181cc93 C++23 compatibility: basic_string_view cannot be constructed from nullptr (#3846)
3a6fb2fca Fix some typos. (#3843)
087950479 Fix typo in typename. `containter_type` -> `container_type`. (#3844)
34f415b56 Fix %S formatting for chrono durations with leading zeroes  (#3814)
e17bc6754 Make scan variadic
06311ed1c Fix fixed rounding around zero in Dragon
e5bab8dab added formatter for std::expected (#3834)
9f5f39cb5 Bump actions/upload-artifact from 4.0.0 to 4.3.0 (#3837)
ea581437e Bump github/codeql-action from 2.22.5 to 3.23.2 (#3836)
6321a97d6 Simplify color formatting
4b6b32f38 Deprecate wide stream function
1b54ba4b9 Fix UB in format_arg_store implementation. (#3833)
71a4a8d47 Really fix MSVC warning about <bit> only being available in C++20. (#3832)
8e62172ab Fix a warning
28afff363 Improve buffering
af44c2974 Separate buffer initialization from flush
a1e1eedbb Minor cleanup
ffce3632b Add glibc stream support
b5669512b Don't hang on test failure
6435b169e Add support for line buffering
6f260455a Add scan_data::make_args
e1832bcf0 Consider ADL begin() and end() when joining ranges (#3824)
2caf1b3b9 scan more
668fe2653 doc: fix the chrono %C example value (#3822)
06fc25f26 Don't always enable typeid usage under msvc (#3821)
11ba1270a Fix flush
4c5b4af04 Improve name argument validation
2eb363297 Fix custom formatter example (#3820)
0147e0822 Document println
6b68dff90 Write directly to a stream buffer
b2cde48de Reduce usage of float_specs
8510838db Make format_specs not depend on code unit type
090ee1359 Pass char type to write
470c4e6ca Fix scope for glibc ext for sec, min, and hour (#3812)
13ec66bf7 🛠 Add basic array safety functions and backwards-compatible result type (#3805)
64091b7a2 Fix naming
e95482353 Make fill independent on code unit type
f80a2bee1 Update README.md
83652dfee Restrict always inlining to the top-level API
d249fd9f8 Workaround for gcc 6 (#3810)
73d91351b Mark `iterator_buffer` move constructors as `noexcept`. (#3808)
fe0d910a7 Replace multiple error reporting mechanisms with report_error
f9294f0e6 Improve handling of format specs
c98a5a599 Remove unnecessary checks
5f30d3710 Update README.md
3647feaad Improve scan
e420a58f2 Improve scan prototype
ca37503f9 scan -> scan_to
123e058eb Improve scan prototype
f924d20db core-test -> base-test
d70729215 Fix constness
362b40c1a Fix docs
56fa4d61f Fix docs
cacdf1439 Remove nonstandard alias
4d766b167 Invert dependencies
c10859f15 Remove deprecated options
d0963d482 Make ranges only depend on fmt/base.h
da0f84c42 Cleanup copy functions and move to base.h
59baac522 Remove unused functions
21b045829 Use std::allocator_traits (#3804)
df6a3564b Fix MSVC warning: "The contents of <bit> are available only with C++20 or later." (#3807)
7c163acfd Fix conversion warning in filesystem::path formatter (#3806)
1b55d1030 Update api.rst
5d9d376d4 Update api.rst
6064b85c1 Update api.rst
deb584c0e Update build.py
297b22f58 Remove <memory> dependency
3c9608416 Remove redundant detection of experimental string_view
0cdee904a Add a missing num_bits specialization
7e58af4ea Fix an ICE on clang <= 15
f1924d326 Cleanup macros
52174953b Cleanup conseval detection
b71d98774 Reduce usage of FMT_COSTEXPR20
810d1750f Cleanup constexpr detection
170ffb1ff Simplify constexpr checks
e470ba8b7 Simplify exception detection
bf98e3e4c Cleanup macros
fd87a23d3 Reduce memory dependency
b71ef65b6 Remove iterator dependency
c5340539f Remove unnecessary trait specialization
971f7ae76 Minor cleanup
6159e2b0a Bazel support: Switch to globbing to collect header files
da7a232b9 Cleanup contexts
2595bf57b Fix formatting of ranges with begin()&/end()&
6f5d53ce0 Add fmt::is_contiguous<std::basic_string<Char, Traits, Allocator>>
961df829b Fix buffer overflow if output iterator is std::back_insert_iterator and value is escaped (debug format)
401f08739 Fix write_uintptr_fallback
725992928 Update build.py
3d84b45a2 Update core.h
4331abed2 Move fmt::format to fmt/format.h
fc8f6ba93 Separate compilation for println
58a6bd48a Add core.h for compatibility
79f1506fe Add base.h
4d616479b Simplify make_format_args
cf8426cf8 Sort links on fmt/std.h section
e915d5216 Update api.rst with support provided by std.h
7ba642054 Optimize debug codegen
97867e279 Extend Bazel build support to bzlmod (#3792)
8875cf96c Fix spelling: othewise ==> otherwise (#3791)
f7ed65fa4 Simplify format_arg_store
f34f31b32 Move format_arg_store to detail
fb66131ef Improve arg storage
6af30d8f7 Remove legacy workaround
c177324ba Simplify basic_format_args
545d37a8b Remove extra level of indirection when building args
9f73e45ca Update README.md
a5ae9ae19 Split standard context into a separate class and optimize
23e8109d8 Remove buffer_appender
679af1f5c Remove redundant get_container
48d7fb265 Merge back_insert_iterator and appender
f348d1a21 Reintroduce back_insert_iterator detection
df67df7b4 Add is_back_insert_iterator
17f79ac6c Minor cleanup
dbdfc99fa Don't crash if flush fails during unwinding
c1d9e8840 Remove unnecessary final and apply clang-format
7d73ef85f Cleanup ranges
ae9b0b521 Disable transitive includes
f73388f1a Update README.md
08878044c Update readme
1b7d9db0c Remove string dependency
0641b844a Cleanup string traits
1e938dda2 Simplify char_t
2e5b14bf6 Add compile-time checks to color formatting
e0b604beb Remove a redundant function
6c617c967 Update documentation (#3789)
bee495c97 Remove dead code
794e1b614 Remove redundant overload
c7061776a Bump version
dc52d176d Cleanup dependencies
0e3e61cc0 Remove limits dependency
800a0bb23 Remove dependency on string_view
f2e43f967 Remove char_traits dependency
c9287eb9f Reduce char_traits usage
61f144bd6 Move copy_str for format.h
4687f8e37 Remove dependency on <iterator>
f2c55f6bb Remove dependency on back_insert_iterator
c9d233c0a Decouple appender from back_insert_iterator
242bcaec0 Update README.md (#3784)
4e43a4699 Clarify why we can't have nice things
c36ed77ff Get rid of addressof
e2ab9ab22 Add FMT_GLIBCXX_RELEASE
0378d171f Replace remove_cvref_t with remove_const_t
baea8f690 Update docs
eedfdb4c5 Fix docs
5dbd7fd77 Switch to bootstrap 4 because 5 breaks menus
7fd180268 Fix FMT_OS definition (#3783)
63ce17085 Replace virtual dispatch with normal functions in buffers
74ffea0dc Simplify to_ascii
6c3b2d491 Fix constness
4ec9c2906 Apply coding conventions
f4a7d40dc Dedup throw_format_error
9659f22d3 Don't include os.cc in the module if it is disabled via FMT_OS
068bf9bad Make visitation compatible with std::format
50565f985 Move misplaced join overloads to fmt/ranges.h
0b39d6710 Remove detail::error_handler
c14238503 Improve the pipe API
398ddb8fe Don't include fmt/os.h in the module if it is disabled via FMT_OS
583729493 Remove duplicate version
6c5bcca81 Fix the release script
67c0c0c09 Update version
051b31531 Fix changelog update
b0569451a Bump version
ce3161887 Add overflow check
1a95e5d1b Update changelog
e1aac4266 Implement hex specifier
1705600be Remove optional
0c345dccd Bump actions/upload-artifact from 3.1.2 to 4.0.0 (#3782)
d33731d20 Implement empty format specs
c068c7c62 Add sentinel support
13fa26745 Update changelog
ebd5c8f99 Consistently use `fmt::` when invoking `format_to`. (#3779)
f5ca178c1 Complete scan_handler
138a64bfb Privatization
a5bacf3fe Remove custom_formatter
4aa24f54c Implement visitor for scan
e33c1568c Implement scan argument access
23826669c Cleanup error handling
8e6b2541a Apply coding conventions
4939d67a8 Cleanup scripts
bd3273021 Update release script
5f9058dbd Improve scripts
28576b060 Workaround github markdown mess
5ddd0cad1 Add a visitor for scan arguments
41d31512b Remove unused import
44b76d88f Fix docs
3324152db Update the release script
55190dadb Cleanup chrono test
63e4b93cf Update changelog
c64edcd32 Fix grammar
8c520b4fd Fix comment
2e6bb706b Update changelog
a13d1b12e Update changelog and docs
47a0eec2e Remove unnecessary alias
a8bed3895 Update changelog
e206043d2 Update changelog
4a6f0be5b Improve scan test
662d78415 Fix scan test
d5823aae3 Ceci n'est pas une pipe
d83c1b8d4 Add initial specifier support to scan
bfba2f9e9 Improve iterator handling in scan
a3bf40838 Initial range support in scan
ea1066bbe Cleanup test
be57ec7ec Fix chrono-test on platforms with 32-bit time_t
305747d44 Update changelog
47c8f63d0 Remove redundant specifier
76e8f1040 Update changelog
18ca2248d Document '?'
3a25a5848 Update README.md
4cbf6182e Remove peek
88d19f5de Cleanup scan
62529aad1 Apply coding conventions
df62c8678 Mark grow as deprecated
eef6dbafb Refactor file layer in scan
41c243335 clang-format
0a9d08fef Simplify fallback
e450b7aeb Implement locking
c5a85f8d7 Handle end of input in scan
1fd093add Update changelog
c4f2de493 Improve scan
d06921d8d Update changelog
fc0f84d29 Move formatbuf to ostream.h
86f2ec5de Fix a warning
a537c39fd Move conjunction to where it is used
7c240d52c Remove unused symbol
f64a6a2ec Update changelog
6f9a81678 Enable test
e7875ae0f Fix formatting of some nested ranges
3eb3aef57 Fix handling of set_debug_format
56d7a8c15 Simplify test
968fb9d16 Update changelog
b5f6b36b0 Update changelog
44dd6c0e0 Add glibc support to scan
3a0f4af4e Refactor file layer
1ca1a4a7a Update scan test
dbd9c89b3 Fix URI
9cd2b87e1 Fix wchar_t to char conversion warnings (#3764)
d5da9cc40 Apply clang-tidy
3a2c50d4a Cleanup test
18c43a214 Cleanup test
6b07fff0d Make hex float test more stable on different libc (#3762)
9165434e5 Enable consteval in MSVC VS2019 version 16.10 (#3757)
b8f81dede [StepSecurity] ci: Harden GitHub Actions (#3759)
923005bd4 Add stdlib version check for C++20 (#3754)
afa85e46c Apply clang-format
6025bd7c3 Add localized formatting to non-decimal presentation types of ints (#3750)
5471a2426 Update README.md
7d757cba5 CI: add lint github workflow for running clang-format (#3749)
6855bd532 Apply clang-format
bbee75357 Make clang-format happy
89860eb90 Use void(*)(void*) instead of decltype(&std::free) to satisfy clang in CUDA mode (#3751)
274ba2645 allow format_as() to format reference (#3739)
9048add99 Report out-of-range errors in chrono
640e0c02d Update README.md
6392dba21 Fix warning: identifier '_a' preceded by whitespace in a literal operator declaration is deprecated (#3748)
9a6fd11a5 Fix typo in gmock-gtest-all.cc (#3747)
dee0dbf07 Update README.md
2fabb43b9 Fix README file table (#3744)
9c3c107c8 Fix compile with GCC 6.3.0 (bug #3738) (#3743)
4497a2d09 fix cmake build
81629e425 Convert README to Markdown
6f95000b7 Update README.rst (#3737)
573d74395 error on bool arg w/ char pres_type (#3734)
5d55375a8 Experiment with scan buffering
71bd51e6c Implement `%j` specifier for `std::chrono::duration` (#3732)
f57508924 Simplify test
99b9fbf8e Add formatter for std::source_location (#3730)
8f83ee2ad Apply coding conventions
2a8a69446 Clarify that mixing code unit types is deprecated
04718008a Minor cleanup
b87ea22e2 Add native and generic representation for filesystem::path format spec (#3729)
5cfd28d47 Experiment with FILE in scan
73fae91e6 Cleanup .gitignore
6988be387 Bump version
2d1e4bb35 Remove a useless comment
7f8d41911 Fix overflow in time_point formatting with large dates (#3727)
ccc9ab7bf Include correct header
c4283ec47 Fix a libc++ warning and move the test to the right place
c3f9a7344 Apply coding conventions
06f1c0d72 Clarify that calling non-const format is deprecated
ffa5b14fe Make gtest-extra-test more portable
bea7ecc71 Disable locale-specific tests on OpenBSD
8a3938851 Fix the default locale in ostream_formatter
dd6f657a7 Remove this-> from decltype (#3723)
c13753a70 Fix handling of invalid Unicode in precision
864a8b5f3 fix: support optional<T> with format_as(T) (#3713)
649fe0fc8 Fix handling of null strings with the s specifier
45e124ee4 Added workaround for old xcode compiler bug (#3716)
045b05d79 Revert CMake changes
ec628561c Fix formatting
cbb18c237 Add support for CMake 3.28 C++  modules (#3679)
6b0082e6c Improve OpenBSD workaround
52a99a67f Set PDB path for Visual Studio (#3702)
4548d1eae Make write_escaped_path more portable
050d41e85 Make get_path_string more portable
1c023c008 Update bootstrap
b35d4e40f fix: use FMT_HAS_INCLUDE instead of __has_include
acaf83f40 feat: enable building with gcc 4.8
05aa78377 feat: include xlocale.h only if exists
05dda9490 Bump ossf/scorecard-action from 2.2.0 to 2.3.1 (#3697)
caf4fcb20 Bump github/codeql-action from 2.21.5 to 2.22.5 (#3696)
e0d3e346d Wrap Char in array to avoid pointer arithmetic (#3695)
19276d732 Fix an inconsistentcy between to_string and format
2a2c6e676 Fix flushing C++ iostreams before calling write_console() (#3689)
3b7f58a8b add buffer flush before direct write
e9bbd4069 Update README.rst
857cce7a8 Update README.rst
081d5b0d8 Update README.rst
baae1ed65 add meson instructions to usage docs (#3677)
2ac6c5ca8 Fix error C2668 on Windows with option /std:c++latest (#3680)
d9063baf2 Fix perf regression in ostream::print
f7542c576 Apply clang-format
130cf54cb Use a more sensible locale in tests
8e0ca0589 Use a more sensible locale in tests
bf497ac06 Cleanup test
bb8d50f04 add a suffix for days and fix the one for minutes (#3664)
f76603f21 fix: make std::bitset formattable again (#3660)
f91828936 Bump actions/checkout from 4.0.0 to 4.1.0 (#3666)
72e883e16 Diagnose unsupported code unit types
b3bf23f3c Remove leftover usage of the __std_stream header (#3663)
349e1c48d Update README.rst (#3661)
79dbd3f19 feat: add security policy to readme (#3655)
2dd4fa874 Remove an ostream hack incompatible with libc++ 17
44f3d8a77 README.rst: fix broken LICENSE link (#3653)
06b20387a Optimize fractional_part_rounding_thresholds
649f2460d Apply clang-format
7529af8f9 Workaround intel bug (#3652)
a3a74fa7f fix: mark fmt::streamed() as constexpr (#3650)
8ef4db4b9 Use datatype of underlying data (#3647)
492a99c96 Fix error: 'char_traits<custom_char>' is deprecated: char_traits<T> for T not equal to char, wchar_t, char8_t, char16_t or char32_t is non-standard and is provided for a temporary period. It will be removed in LLVM 18, so please migrate off of it. [-Werror,-Wdeprecated-declarations] (#3634)
3baaa8d89 Update docs
0e01e46c1 Implement nested formatter
f6ca4ea19 Avoid a space in the UDL definition (#3610)
a8a73da7e Add an option to avoid wchar APIs on Windows (#3636)
aa3c5a412 Clarify I/O error handling
bfdf50d18 Minor cleanup
571a9b7b2 Replace usage of C++17 library feature with C++11 (#3638)
6c088be8e Cleanup handling of visibility
016b1faed Fix symbol leak (#3627)
e25370093 Remove unnecessary spaces (#3642)
d4987546a Add an experimental nested formatter
5bdce181f Mark styled_arg as a view to prevent lifetime issues
a4b7b24b7 fix redundant redeclaration of ‘constexpr’ static data member (#3630)
fac60bd4f Remove type cast as mxe(mingw32) compiler complains about useless-cast (#3624)
f5be4a8a9 Bump actions/checkout from 3.5.3 to 4.0.0 (#3623)
84e666151 Workaround a gcc 6.4 issue
ac3240439 Update dependabot.yml
8894ae87f Bump github/codeql-action from 2.21.4 to 2.21.5 (#3622)
ca608547e Workaround a C++11 issue
23cf4055a Simplify URLs
46c8301ee Remove rst2md
a79a97982 Cleanup ranges test
457bb6a98 Merge the copyright comment since there are many contributors
61aef4111 Cleanup changelog
2a45fd30f Drop the rst suffix from the license file
24296cff1 Update ChangeLog.md
3d1d20a6a Update ChangeLog.md
0302c527c Update ChangeLog.md
154eccfeb Convert changelog to markdown for compatibility with release notes
35dc5def3 Revert "Bump actions/checkout from 3.5.3 to 3.6.0 (#3615)"
e1fc481d6 Merge the copyright comment since there are many contributors
e8259c529 Bump actions/checkout from 3.5.3 to 3.6.0 (#3615)
637925155 Update version
951fd9e66 Update changelog
be89b9a41 Merge branch 'release' of github.com:fmtlib/fmt
28e2d3b64 Bump version

git-subtree-dir: externals/fmt
git-subtree-split: e424e3f2e607da02742f73db84873b8084fc714c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1.11.0: build fails

4 participants