diff options
| author | Naios <naios-dev@live.de> | 2015-12-08 16:26:58 +0100 |
|---|---|---|
| committer | Naios <naios-dev@live.de> | 2015-12-08 16:46:15 +0100 |
| commit | 7773984f94a15f45e0260e6478edf991c77d6e87 (patch) | |
| tree | 1a121555bfd472db1ca85b40bb0081182acdcff5 /dep/cppformat/ChangeLog.rst | |
| parent | 187e45d24b07613447e449565cdff8015c3220ac (diff) | |
Dep/CppFormat: Update cppformat to cppformat/cppformat@5c76d107cbaf
(cherry picked from commit aa3020c26d54fa63fde16c5a765b1d72649c7e30)
Diffstat (limited to 'dep/cppformat/ChangeLog.rst')
| -rw-r--r-- | dep/cppformat/ChangeLog.rst | 358 |
1 files changed, 353 insertions, 5 deletions
diff --git a/dep/cppformat/ChangeLog.rst b/dep/cppformat/ChangeLog.rst index 89d5af8e9c7..d2a77f8712f 100644 --- a/dep/cppformat/ChangeLog.rst +++ b/dep/cppformat/ChangeLog.rst @@ -1,3 +1,356 @@ +2.0.0 - 2015-12-01 +------------------ + +General +~~~~~~~ + +* [Breaking] Named arguments + (`#169 <https://github.com/cppformat/cppformat/pull/169>`_, + `#173 <https://github.com/cppformat/cppformat/pull/173>`_, + `#174 <https://github.com/cppformat/cppformat/pull/174>`_): + + .. code:: c++ + + fmt::print("The answer is {answer}.", fmt::arg("answer", 42)); + + Thanks to `@jamboree <https://github.com/jamboree>`_. + +* [Experimental] User-defined literals for format and named arguments + (`#204 <https://github.com/cppformat/cppformat/pull/204>`_, + `#206 <https://github.com/cppformat/cppformat/pull/206>`_, + `#207 <https://github.com/cppformat/cppformat/pull/207>`_): + + .. code:: c++ + + using namespace fmt::literals; + fmt::print("The answer is {answer}.", "answer"_a=42); + + Thanks to `@dean0x7d (Dean Moldovan) <https://github.com/dean0x7d>`_. + +* [Breaking] Formatting of more than 16 arguments is now supported when using + variadic templates + (`#141 <https://github.com/cppformat/cppformat/issues/141>`_). + Thanks to `@Shauren <https://github.com/Shauren>`_. + +* Runtime width specification + (`#168 <https://github.com/cppformat/cppformat/pull/168>`_): + + .. code:: c++ + + fmt::format("{0:{1}}", 42, 5); // gives " 42" + + Thanks to `@jamboree <https://github.com/jamboree>`_. + +* [Breaking] Enums are now formatted with an overloaded ``std::ostream`` insertion + operator (``operator<<``) if available + (`#232 <https://github.com/cppformat/cppformat/issues/232>`_). + +* [Breaking] Changed default ``bool`` format to textual, "true" or "false" + (`#170 <https://github.com/cppformat/cppformat/issues/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" + +* ``fmt::printf`` and ``fmt::sprintf`` now support formatting of ``bool`` with the + ``%s`` specifier giving textual output, "true" or "false" + (`#223 <https://github.com/cppformat/cppformat/pull/223>`_): + + .. code:: c++ + + fmt::printf("%s", true); // prints "true" + + Thanks to `@LarsGullik <https://github.com/LarsGullik>`_. + +* [Breaking] ``signed char`` and ``unsigned char`` are now formatted as integers by default + (`#217 <https://github.com/cppformat/cppformat/pull/217>`_). + +* [Breaking] Pointers to C strings can now be formatted with the ``p`` specifier + (`#223 <https://github.com/cppformat/cppformat/pull/223>`_): + + .. code:: c++ + + fmt::print("{:p}", "test"); // prints pointer value + + Thanks to `@LarsGullik <https://github.com/LarsGullik>`_. + +* [Breaking] ``fmt::printf`` and ``fmt::sprintf`` now print null pointers as ``(nil)`` + and null strings as ``(null)`` for consistency with glibc + (`#226 <https://github.com/cppformat/cppformat/pull/226>`_). + Thanks to `@LarsGullik <https://github.com/LarsGullik>`_. + +* [Breaking] ``fmt::(s)printf`` now supports formatting of objects of user-defined types + that provide an overloaded ``std::ostream`` insertion operator (``operator<<``) + (`#201 <https://github.com/cppformat/cppformat/issues/201>`_): + + .. code:: c++ + + fmt::printf("The date is %s", Date(2012, 12, 9)); + +* [Breaking] The ``Buffer`` template is now part of the public API and can be used + to implement custom memory buffers + (`#140 <https://github.com/cppformat/cppformat/issues/140>`_). + Thanks to `@polyvertex (Jean-Charles Lefebvre) <https://github.com/polyvertex>`_. + +* [Breaking] Improved compatibility between ``BasicStringRef`` and + `std::experimental::basic_string_view + <http://en.cppreference.com/w/cpp/experimental/basic_string_view>`_ + (`#100 <https://github.com/cppformat/cppformat/issues/100>`_, + `#159 <https://github.com/cppformat/cppformat/issues/159>`_, + `#183 <https://github.com/cppformat/cppformat/issues/183>`_): + + - Comparison operators now compare string content, not pointers + - ``BasicStringRef::c_str`` replaced by ``BasicStringRef::data`` + - ``BasicStringRef`` is no longer assumed to be null-terminated + + References to null-terminated strings are now represented by a new class, + ``BasicCStringRef``. + +* Dependency on pthreads introduced by Google Test is now optional + (`#185 <https://github.com/cppformat/cppformat/issues/185>`_). + +* New CMake options ``FMT_DOC``, ``FMT_INSTALL`` and ``FMT_TEST`` to control + generation of ``doc``, ``install`` and ``test`` targets respectively, on by default + (`#197 <https://github.com/cppformat/cppformat/issues/197>`_, + `#198 <https://github.com/cppformat/cppformat/issues/198>`_, + `#200 <https://github.com/cppformat/cppformat/issues/200>`_). + Thanks to `@maddinat0r (Alex Martin) <https://github.com/maddinat0r>`_. + +* ``noexcept`` is now used when compiling with MSVC2015 + (`#215 <https://github.com/cppformat/cppformat/pull/215>`_). + Thanks to `@dmkrepo (Dmitriy) <https://github.com/dmkrepo>`_. + +* Added an option to disable use of ``windows.h`` when ``FMT_USE_WINDOWS_H`` + is defined as 0 before including ``format.h`` + (`#171 <https://github.com/cppformat/cppformat/issues/171>`_). + Thanks to `@alfps (Alf P. Steinbach) <https://github.com/alfps>`_. + +* [Breaking] ``windows.h`` is now included with ``NOMINMAX`` unless + ``FMT_WIN_MINMAX`` is defined. This is done to prevent breaking code using + ``std::min`` and ``std::max`` and only affects the header-only configuration + (`#152 <https://github.com/cppformat/cppformat/issues/152>`_, + `#153 <https://github.com/cppformat/cppformat/pull/153>`_, + `#154 <https://github.com/cppformat/cppformat/pull/154>`_). + Thanks to `@DevO2012 <https://github.com/DevO2012>`_. + +* Improved support for custom character types + (`#171 <https://github.com/cppformat/cppformat/issues/171>`_). + Thanks to `@alfps (Alf P. Steinbach) <https://github.com/alfps>`_. + +* Added an option to disable use of IOStreams when ``FMT_USE_IOSTREAMS`` + is defined as 0 before including ``format.h`` + (`#205 <https://github.com/cppformat/cppformat/issues/205>`_, + `#208 <https://github.com/cppformat/cppformat/pull/208>`_). + Thanks to `@JodiTheTigger <https://github.com/JodiTheTigger>`_. + +* Improved detection of ``isnan``, ``isinf`` and ``signbit``. + +Optimization +~~~~~~~~~~~~ + +* Made formatting of user-defined types more efficient with a custom stream buffer + (`#92 <https://github.com/cppformat/cppformat/issues/92>`_, + `#230 <https://github.com/cppformat/cppformat/pull/230>`_). + Thanks to `@NotImplemented <https://github.com/NotImplemented>`_. + +* Further improved performance of ``fmt::Writer`` on integer formatting + and fixed a minor regression. Now it is ~7% faster than ``karma::generate`` + on Karma's benchmark + (`#186 <https://github.com/cppformat/cppformat/issues/186>`_). + +* [Breaking] Reduced `compiled code size + <https://github.com/cppformat/cppformat#compile-time-and-code-bloat>`_ + (`#143 <https://github.com/cppformat/cppformat/issues/143>`_, + `#149 <https://github.com/cppformat/cppformat/pull/149>`_). + +Distribution +~~~~~~~~~~~~ + +* [Breaking] Headers are now installed in + ``${CMAKE_INSTALL_PREFIX}/include/cppformat`` + (`#178 <https://github.com/cppformat/cppformat/issues/178>`_). + Thanks to `@jackyf (Eugene V. Lyubimkin) <https://github.com/jackyf>`_. + +* [Breaking] Changed the library name from ``format`` to ``cppformat`` + for consistency with the project name and to avoid potential conflicts + (`#178 <https://github.com/cppformat/cppformat/issues/178>`_). + Thanks to `@jackyf (Eugene V. Lyubimkin) <https://github.com/jackyf>`_. + +* C++ Format is now available in `Debian <https://www.debian.org/>`_ GNU/Linux + (`stretch <https://packages.debian.org/source/stretch/cppformat>`_, + `sid <https://packages.debian.org/source/sid/cppformat>`_) and + derived distributions such as + `Ubuntu <https://launchpad.net/ubuntu/+source/cppformat>`_ 15.10 and later + (`#155 <https://github.com/cppformat/cppformat/issues/155>`_):: + + $ sudo apt-get install libcppformat1-dev + + Thanks to `@jackyf (Eugene V. Lyubimkin) <https://github.com/jackyf>`_. + +* `Packages for Fedora and RHEL <https://admin.fedoraproject.org/pkgdb/package/cppformat/>`_ + are now available. Thanks to Dave Johansen. + +* C++ Format can now be installed via `Homebrew <http://brew.sh/>`_ on OS X + (`#157 <https://github.com/cppformat/cppformat/issues/157>`_):: + + $ brew install cppformat + + Thanks to `@ortho <https://github.com/ortho>`_, Anatoliy Bulukin. + +Documentation +~~~~~~~~~~~~~ + +* Migrated from ReadTheDocs to GitHub Pages for better responsiveness + and reliability + (`#128 <https://github.com/cppformat/cppformat/issues/128>`_). + New documentation address is http://cppformat.github.io/. + + +* Added `Building the documentation + <http://cppformat.github.io/dev/usage.html#building-the-documentation>`_ + section to the documentation. + +* Documentation build script is now compatible with Python 3 and newer pip versions. + (`#189 <https://github.com/cppformat/cppformat/pull/189>`_, + `#209 <https://github.com/cppformat/cppformat/issues/209>`_). + Thanks to `@JodiTheTigger <https://github.com/JodiTheTigger>`_ and + `@xentec <https://github.com/xentec>`_. + +* Documentation fixes and improvements + (`#36 <https://github.com/cppformat/cppformat/issues/36>`_, + `#75 <https://github.com/cppformat/cppformat/issues/75>`_, + `#125 <https://github.com/cppformat/cppformat/issues/125>`_, + `#160 <https://github.com/cppformat/cppformat/pull/160>`_, + `#161 <https://github.com/cppformat/cppformat/pull/161>`_, + `#162 <https://github.com/cppformat/cppformat/issues/162>`_, + `#165 <https://github.com/cppformat/cppformat/issues/165>`_, + `#210 <https://github.com/cppformat/cppformat/issues/210>`_). + Thanks to `@syohex (Syohei YOSHIDA) <https://github.com/syohex>`_ and + bug reporters. + +* Fixed out-of-tree documentation build + (`#177 <https://github.com/cppformat/cppformat/issues/177>`_). + Thanks to `@jackyf (Eugene V. Lyubimkin) <https://github.com/jackyf>`_. + +Fixes +~~~~~ + +* Fixed ``initializer_list`` detection + (`#136 <https://github.com/cppformat/cppformat/issues/136>`_). + Thanks to `@Gachapen (Magnus Bjerke Vik) <https://github.com/Gachapen>`_. + +* [Breaking] Fixed formatting of enums with numeric format specifiers in + ``fmt::(s)printf`` + (`#131 <https://github.com/cppformat/cppformat/issues/131>`_, + `#139 <https://github.com/cppformat/cppformat/issues/139>`_): + + .. code:: c++ + + enum { ANSWER = 42 }; + fmt::printf("%d", ANSWER); + + Thanks to `@Naios <https://github.com/Naios>`_. + +* Improved compatibility with old versions of MinGW + (`#129 <https://github.com/cppformat/cppformat/issues/129>`_, + `#130 <https://github.com/cppformat/cppformat/pull/130>`_, + `#132 <https://github.com/cppformat/cppformat/issues/132>`_). + Thanks to `@cstamford (Christopher Stamford) <https://github.com/cstamford>`_. + +* Fixed a compile error on MSVC with disabled exceptions + (`#144 <https://github.com/cppformat/cppformat/issues/144>`_). + +* Added a workaround for broken implementation of variadic templates in MSVC2012 + (`#148 <https://github.com/cppformat/cppformat/issues/148>`_). + +* Placed the anonymous namespace within ``fmt`` namespace for the header-only + configuration + (`#171 <https://github.com/cppformat/cppformat/issues/171>`_). + Thanks to `@alfps (Alf P. Steinbach) <https://github.com/alfps>`_. + +* Fixed issues reported by Coverity Scan + (`#187 <https://github.com/cppformat/cppformat/issues/187>`_, + `#192 <https://github.com/cppformat/cppformat/issues/192>`_). + +* Implemented a workaround for a name lookup bug in MSVC2010 + (`#188 <https://github.com/cppformat/cppformat/issues/188>`_). + +* Fixed compiler warnings + (`#95 <https://github.com/cppformat/cppformat/issues/95>`_, + `#96 <https://github.com/cppformat/cppformat/issues/96>`_, + `#114 <https://github.com/cppformat/cppformat/pull/114>`_, + `#135 <https://github.com/cppformat/cppformat/issues/135>`_, + `#142 <https://github.com/cppformat/cppformat/issues/142>`_, + `#145 <https://github.com/cppformat/cppformat/issues/145>`_, + `#146 <https://github.com/cppformat/cppformat/issues/146>`_, + `#158 <https://github.com/cppformat/cppformat/issues/158>`_, + `#163 <https://github.com/cppformat/cppformat/issues/163>`_, + `#175 <https://github.com/cppformat/cppformat/issues/175>`_, + `#190 <https://github.com/cppformat/cppformat/issues/190>`_, + `#191 <https://github.com/cppformat/cppformat/pull/191>`_, + `#194 <https://github.com/cppformat/cppformat/issues/194>`_, + `#196 <https://github.com/cppformat/cppformat/pull/196>`_, + `#216 <https://github.com/cppformat/cppformat/issues/216>`_, + `#218 <https://github.com/cppformat/cppformat/pull/218>`_, + `#220 <https://github.com/cppformat/cppformat/pull/220>`_, + `#229 <https://github.com/cppformat/cppformat/pull/229>`_, + `#233 <https://github.com/cppformat/cppformat/issues/233>`_, + `#234 <https://github.com/cppformat/cppformat/issues/234>`_, + `#236 <https://github.com/cppformat/cppformat/pull/236>`_). + Thanks to `@seanmiddleditch (Sean Middleditch) <https://github.com/seanmiddleditch>`_, + `@dixlorenz (Dix Lorenz) <https://github.com/dixlorenz>`_, + `@CarterLi (李通洲) <https://github.com/CarterLi>`_, + `@Naios <https://github.com/Naios>`_, + `@fmatthew5876 (Matthew Fioravante) <https://github.com/fmatthew5876>`_, + `@LevskiWeng (Levski Weng) <https://github.com/LevskiWeng>`_, + `@rpopescu <https://github.com/rpopescu>`_, + `@gabime (Gabi Melman) <https://github.com/gabime>`_, + `@cubicool (Jeremy Moles) <https://github.com/cubicool>`_, + `@jkflying (Julian Kent) <https://github.com/jkflying>`_, + `@LogicalKnight (Sean L) <https://github.com/LogicalKnight>`_, + `@inguin (Ingo van Lil) <https://github.com/inguin>`_ and + `@Jopie64 (Johan) <https://github.com/Jopie64>`_. + +* Fixed portability issues (mostly causing test failures) on ARM, ppc64, ppc64le, + s390x and SunOS 5.11 i386 ( + `#138 <https://github.com/cppformat/cppformat/issues/138>`_, + `#179 <https://github.com/cppformat/cppformat/issues/179>`_, + `#180 <https://github.com/cppformat/cppformat/issues/180>`_, + `#202 <https://github.com/cppformat/cppformat/issues/202>`_, + `#225 <https://github.com/cppformat/cppformat/issues/225>`_, + `Red Hat Bugzilla Bug 1260297 <https://bugzilla.redhat.com/show_bug.cgi?id=1260297>`_). + Thanks to `@Naios <https://github.com/Naios>`_, + `@jackyf (Eugene V. Lyubimkin) <https://github.com/jackyf>`_ and Dave Johansen. + +* Fixed a name conflict with macro ``free`` defined in + ``crtdbg.h`` when ``_CRTDBG_MAP_ALLOC`` is set + (`#211 <https://github.com/cppformat/cppformat/issues/211>`_). + +* Fixed shared library build on OS X + (`#212 <https://github.com/cppformat/cppformat/pull/212>`_). + Thanks to `@dean0x7d (Dean Moldovan) <https://github.com/dean0x7d>`_. + +* Fixed an overload conflict on MSVC when ``/Zc:wchar_t-`` option is specified + (`#214 <https://github.com/cppformat/cppformat/pull/214>`_). + Thanks to `@slavanap (Vyacheslav Napadovsky) <https://github.com/slavanap>`_. + +* Improved compatibility with MSVC 2008 + (`#236 <https://github.com/cppformat/cppformat/pull/236>`_). + Thanks to `@Jopie64 (Johan) <https://github.com/Jopie64>`_. + +* Improved compatibility with bcc32 + (`#227 <https://github.com/cppformat/cppformat/issues/227>`_). + +* Fixed ``static_assert`` detection on Clang + (`#228 <https://github.com/cppformat/cppformat/pull/228>`_). + Thanks to `@dean0x7d (Dean Moldovan) <https://github.com/dean0x7d>`_. + 1.1.0 - 2015-03-06 ------------------ @@ -66,11 +419,6 @@ * Fixed packaging issues (`#94 <https://github.com/cppformat/cppformat/issues/94>`_). -* Fixed warnings in GCC, MSVC and Xcode/Clang - (`#95 <https://github.com/cppformat/cppformat/issues/95>`_, - `#96 <https://github.com/cppformat/cppformat/issues/96>`_ and - `#114 <https://github.com/cppformat/cppformat/pull/114>`_). - * Added `changelog <https://github.com/cppformat/cppformat/blob/master/ChangeLog.rst>`_ (`#103 <https://github.com/cppformat/cppformat/issues/103>`_). |
