diff --git a/ChangeLog.rst b/ChangeLog.rst index 54f854c9..1379679f 100644 --- a/ChangeLog.rst +++ b/ChangeLog.rst @@ -1,11 +1,52 @@ 2.0.0 - TBD ----------- -* [Breaking] Made ``BasicStringRef`` comparison operators compare string +* [Breaking] Changed default ``bool`` format to textual, "true" or "false" + (`#170 `_): + + .. code:: c++ + + fmt::print("{}", true); // prints "true" + + To print ``bool`` as a number use numeric format specifier such as ``d``: + + .. code:: c++ + + fmt::print("{:d}", true); // prints "1" + +* Improved support for custom character types + (`#171 `_). + Thanks to `@alfps (Alf P. Steinbach) `_. + +* Placed the anonymous namespace within ``fmt`` namespace for the header-only + configuration + (`#171 `_). + Thanks to `@alfps (Alf P. Steinbach) `_. + +* Added an option to disable use of ``windows.h`` when ``FMT_USE_WINDOWS_H`` + is defined as 0 before including ``format.h`` + (`#171 `_). + Thanks to `@alfps (Alf P. Steinbach) `_. + +* Fixed out-of-tree documentation build + (`#177 `_). + Thanks to `@jackyf (Eugene V. Lyubimkin) `_. + +* [Breaking] Changed the library name from ``format`` to ``cppformat`` + for consistency with the project name and to avoid potential conflicts + (`#178 `_). + Thanks to `@jackyf (Eugene V. Lyubimkin) `_. + +* [Breaking] Headers are now installed in + ``${CMAKE_INSTALL_PREFIX}/include/cppformat`` + (`#178 `_). + Thanks to `@jackyf (Eugene V. Lyubimkin) `_. + +* [Breaking] ``BasicStringRef`` comparison operators now compare string content, not pointers (`#183 `_). -* Made pthreads dependency introduced by Google Test optional +* Dependency on pthreads introduced by Google Test is now optional (`#185 `_). * Further improved performance of ``fmt::Writer`` on integer formatting @@ -21,15 +62,16 @@ (`#188 `_). * Fixed warnings in Clang and MSVC2013 - (`#190 `_, + (`#175 `_, + `#190 `_, `#191 `_, `#194 `_). - Thanks to `@rpopescu `_ and - `@gabime (Gabi Melman) `_. + Thanks to `@rpopescu `_, + `@gabime (Gabi Melman) `_ and + `@cubicool (Jeremy Moles) `_. -* [Breaking] Implemented formatting of objects of user-defined types that - provide an overloaded ``std::ostream`` insertion operator (``operator<<``) - with ``fmt::(s)printf`` +* [Breaking] ``fmt::(s)printf`` now supports formatting of objects of user-defined types + that provide an overloaded ``std::ostream`` insertion operator (``operator<<``) (`#201 `_): .. code:: c++ @@ -45,7 +87,7 @@ Thanks to `@jackyf (Eugene V. Lyubimkin) `_ and Dave Johansen. * Added an option to disable use of IOStreams when ``FMT_USE_IOSTREAMS`` - is set to 0 before including ``format.h`` + is defined as 0 before including ``format.h`` (`#205 `_, `#208 `_). Thanks to `@JodiTheTigger `_. @@ -54,7 +96,7 @@ `_ section to the documentation. -* Made documentation build script compatible with Python 3 +* Documentation build script is now compatible with Python 3 (`#209 `_). * Fixed documentation layout issues on medium screen sizes @@ -64,6 +106,14 @@ ``crtdbg.h`` when ``_CRTDBG_MAP_ALLOC`` is set (`#211 `_). +* Fixed an overload conflict in MSVC when ``/Zc:wchar_t-`` option is specified + (`#214 `_). + Thanks to `@slavanap (Vyacheslav Napadovsky) `_. + +* ``noexcept`` is now used when compiling with MSVC2015 + (`#215 `_). + Thanks to `@dmkrepo (Dmitriy) `_. + 1.1.0 - 2015-03-06 ------------------ diff --git a/format.h b/format.h index d6371dd5..aea41bfb 100644 --- a/format.h +++ b/format.h @@ -162,7 +162,8 @@ inline uint32_t clzll(uint64_t x) { // Define FMT_USE_NOEXCEPT to make C++ Format use noexcept (C++11 feature). #ifndef FMT_NOEXCEPT # if FMT_USE_NOEXCEPT || FMT_HAS_FEATURE(cxx_noexcept) || \ - (FMT_GCC_VERSION >= 408 && FMT_HAS_GXX_CXX11) + (FMT_GCC_VERSION >= 408 && FMT_HAS_GXX_CXX11) || \ + _MSC_VER >= 1900 # define FMT_NOEXCEPT noexcept # else # define FMT_NOEXCEPT throw()