diff --git a/ChangeLog.rst b/ChangeLog.rst index 1b6dcf7c..a75f450f 100644 --- a/ChangeLog.rst +++ b/ChangeLog.rst @@ -1,6 +1,62 @@ 2.0.0 - TBD ----------- +* Migrated from ReadTheDocs to GitHub Pages for better responsiveness + and reliability + (`#128 `_). + New documentation address is http://cppformat.github.io/. + +* Fixed ``initializer_list`` detection + (`#136 `_). + Thanks to `@Gachapen (Magnus Bjerke Vik) `_. + +* [Breaking] Fixed formatting of enums with numeric format specifiers in + ``fmt::(s)printf`` + (`#131 `_, + `#139 `_): + + .. code:: c++ + + enum { ANSWER = 42 }; + fmt::printf("%d", ANSWER); + + Thanks to `@Naios `_. + +* Improved compatibility with old versions of MinGW + (`#129 `_, + `#130 `_, + `#132 `_). + Thanks to `@cstamford (Christopher Stamford) `_. + +* [Breaking] The ``Buffer`` template is now part of the public API and can be used + to implement custom memory buffers + (`#140 `_). + Thanks to `@polyvertex (Jean-Charles Lefebvre) `_. + +* [Breaking] Formatting of more than 16 arguments is now supported when using + variadic templates + (`#141 `_). + Thanks to `@Shauren `_. + +* [Breaking] Reduced `compiled code size + `_ + (`#143 `_, + `#149 `_). + +* Fixed a compile error on MSVC with disabled exceptions + (`#144 `_). + +* Added a workaround for broken implementation of variadic templates in MSVC2012 + (`#148 `_). + +* [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 `_, + `#153 `_, + `#154 `_). + Thanks to `@DevO2012 `_. + * C++ Format is now available in `Debian `_ GNU/Linux (`stretch `_, `sid `_) and @@ -32,10 +88,17 @@ fmt::print("{:d}", true); // prints "1" -* Fixed documentation issues - (`#162 `_, +* Documentation fixes and improvements + (`#36 `_, + `#75 `_, + `#125 `_, + `#160 `_, + `#161 `_, + `#162 `_, `#165 `_, `#210 `_). + Thanks to `@syohex (Syohei YOSHIDA) `_ and + bug reporters. * Improved support for custom character types (`#171 `_). @@ -51,6 +114,26 @@ (`#171 `_). Thanks to `@alfps (Alf P. Steinbach) `_. +* Runtime width specification + (`#168 `_): + + .. code:: c++ + + fmt::format("{0:{1}}", 42, 5); // gives " 42" + + Thanks to `@jamboree `_. + +* [Breaking] Named arguments + (`#169 `_, + `#173 `_, + `#174 `_): + + .. code:: c++ + + fmt::print("The answer is {answer}.", fmt::arg("answer", 42)); + + Thanks to `@jamboree `_. + * Fixed out-of-tree documentation build (`#177 `_). Thanks to `@jackyf (Eugene V. Lyubimkin) `_. @@ -91,18 +174,32 @@ * Implemented a workaround for a name lookup bug in MSVC2010 (`#188 `_). -* Fixed warnings in Clang and MSVC2013 - (`#158 `_, +* Fixed compiler warnings + (`#135 `_, + `#142 `_, + `#145 `_, + `#146 `_, + `#158 `_, `#163 `_ `#175 `_, `#190 `_, `#191 `_, - `#194 `_). - Thanks to `@fmatthew5876 (Matthew Fioravante) `_, + `#194 `_, + `#196 `_). + Thanks to `@Naios `_, + `@fmatthew5876 (Matthew Fioravante) `_, `@LevskiWeng (Levski Weng) `_, `@rpopescu `_, - `@gabime (Gabi Melman) `_ and - `@cubicool (Jeremy Moles) `_. + `@gabime (Gabi Melman) `_, + `@cubicool (Jeremy Moles) `_ and + `@jkflying (Julian Kent) `_. + +* New CMake options ``FMT_DOC``, ``FMT_INSTALL`` and ``FMT_TEST`` to control + generation of ``doc``, ``install`` and ``test`` targets respectively, on by default + (`#197 `_, + `#198 `_, + `#200 `_). + Thanks to `@maddinat0r (Alex Martin) `_. * [Breaking] ``fmt::(s)printf`` now supports formatting of objects of user-defined types that provide an overloaded ``std::ostream`` insertion operator (``operator<<``) @@ -112,13 +209,27 @@ fmt::printf("The date is %s", Date(2012, 12, 9)); -* Fixed portability issues in tests causing failures on ARM, ppc64, ppc64le - and s390x ( +* Fixed portability issues (mostly causing test failures) on ARM, ppc64, ppc64le, + s390x and SunOS 5.11 i386 ( + `#138 `_, `#179 `_, `#180 `_, `#202 `_, `Red Hat Bugzilla Bug 1260297 `_). - Thanks to `@jackyf (Eugene V. Lyubimkin) `_ and Dave Johansen. + Thanks to `@Naios `_, + `@jackyf (Eugene V. Lyubimkin) `_ and Dave Johansen. + +* [Experimental] User-defined literals for format and named arguments + (`#204 `_, + `#206 `_, + `#207 `_): + + .. code:: c++ + + using namespace fmt::literals; + fmt::print("The answer is {answer}.", "answer"_a=42); + + Thanks to `@dean0x7d (Dean Moldovan) `_. * Added an option to disable use of IOStreams when ``FMT_USE_IOSTREAMS`` is defined as 0 before including ``format.h`` @@ -130,14 +241,21 @@ `_ section to the documentation. -* Documentation build script is now compatible with Python 3 - (`#209 `_). +* Documentation build script is now compatible with Python 3 and newer pip versions. + (`#189 `_, + `#209 `_). + Thanks to `@JodiTheTigger `_ and + `@xentec `_. * Fixed a name conflict with macro ``free`` defined in ``crtdbg.h`` when ``_CRTDBG_MAP_ALLOC`` is set (`#211 `_). -* Fixed an overload conflict in MSVC when ``/Zc:wchar_t-`` option is specified +* Fixed shared library build on OS X + (`#212 `_). + Thanks to `@dean0x7d (Dean Moldovan) `_. + +* Fixed an overload conflict on MSVC when ``/Zc:wchar_t-`` option is specified (`#214 `_). Thanks to `@slavanap (Vyacheslav Napadovsky) `_.