diff --git a/ChangeLog.rst b/ChangeLog.rst index d2b5fa24..e3847835 100644 --- a/ChangeLog.rst +++ b/ChangeLog.rst @@ -3,16 +3,16 @@ * The install location for generated CMake files is now configurable via the ``FMT_CMAKE_DIR`` CMake variable - (`#299 `_). + (`#299 `_). Thanks to `@niosHD `_. -* Documentation fixes (`#252 `_). +* Documentation fixes (`#252 `_). 2.1.0 - 2016-03-21 ------------------ * Project layout and build system improvements - (`#267 `_): + (`#267 `_): * The code have been moved to the ``cppformat`` directory. Including ``format.h`` from the top-level directory is deprecated @@ -34,16 +34,16 @@ ------------------ * Improved CMake find and package support - (`#264 `_). + (`#264 `_). Thanks to `@niosHD `_. * Fix compile error with Android NDK and mingw32 - (`#241 `_). + (`#241 `_). Thanks to `@Gachapen (Magnus Bjerke Vik) `_. * Documentation fixes - (`#248 `_, - `#260 `_). + (`#248 `_, + `#260 `_). 2.0.0 - 2015-12-01 ------------------ @@ -52,9 +52,9 @@ General ~~~~~~~ * [Breaking] Named arguments - (`#169 `_, - `#173 `_, - `#174 `_): + (`#169 `_, + `#173 `_, + `#174 `_): .. code:: c++ @@ -63,9 +63,9 @@ General Thanks to `@jamboree `_. * [Experimental] User-defined literals for format and named arguments - (`#204 `_, - `#206 `_, - `#207 `_): + (`#204 `_, + `#206 `_, + `#207 `_): .. code:: c++ @@ -76,11 +76,11 @@ General * [Breaking] Formatting of more than 16 arguments is now supported when using variadic templates - (`#141 `_). + (`#141 `_). Thanks to `@Shauren `_. * Runtime width specification - (`#168 `_): + (`#168 `_): .. code:: c++ @@ -90,10 +90,10 @@ General * [Breaking] Enums are now formatted with an overloaded ``std::ostream`` insertion operator (``operator<<``) if available - (`#232 `_). + (`#232 `_). * [Breaking] Changed default ``bool`` format to textual, "true" or "false" - (`#170 `_): + (`#170 `_): .. code:: c++ @@ -107,7 +107,7 @@ General * ``fmt::printf`` and ``fmt::sprintf`` now support formatting of ``bool`` with the ``%s`` specifier giving textual output, "true" or "false" - (`#223 `_): + (`#223 `_): .. code:: c++ @@ -116,10 +116,10 @@ General Thanks to `@LarsGullik `_. * [Breaking] ``signed char`` and ``unsigned char`` are now formatted as integers by default - (`#217 `_). + (`#217 `_). * [Breaking] Pointers to C strings can now be formatted with the ``p`` specifier - (`#223 `_): + (`#223 `_): .. code:: c++ @@ -129,12 +129,12 @@ General * [Breaking] ``fmt::printf`` and ``fmt::sprintf`` now print null pointers as ``(nil)`` and null strings as ``(null)`` for consistency with glibc - (`#226 `_). + (`#226 `_). Thanks to `@LarsGullik `_. * [Breaking] ``fmt::(s)printf`` now supports formatting of objects of user-defined types that provide an overloaded ``std::ostream`` insertion operator (``operator<<``) - (`#201 `_): + (`#201 `_): .. code:: c++ @@ -142,15 +142,15 @@ General * [Breaking] The ``Buffer`` template is now part of the public API and can be used to implement custom memory buffers - (`#140 `_). + (`#140 `_). Thanks to `@polyvertex (Jean-Charles Lefebvre) `_. * [Breaking] Improved compatibility between ``BasicStringRef`` and `std::experimental::basic_string_view `_ - (`#100 `_, - `#159 `_, - `#183 `_): + (`#100 `_, + `#159 `_, + `#183 `_): - Comparison operators now compare string content, not pointers - ``BasicStringRef::c_str`` replaced by ``BasicStringRef::data`` @@ -160,40 +160,40 @@ General ``BasicCStringRef``. * Dependency on pthreads introduced by Google Test is now optional - (`#185 `_). + (`#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 `_, - `#198 `_, - `#200 `_). + (`#197 `_, + `#198 `_, + `#200 `_). Thanks to `@maddinat0r (Alex Martin) `_. * ``noexcept`` is now used when compiling with MSVC2015 - (`#215 `_). + (`#215 `_). Thanks to `@dmkrepo (Dmitriy) `_. * Added an option to disable use of ``windows.h`` when ``FMT_USE_WINDOWS_H`` is defined as 0 before including ``format.h`` - (`#171 `_). + (`#171 `_). Thanks to `@alfps (Alf P. Steinbach) `_. * [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 `_). + (`#152 `_, + `#153 `_, + `#154 `_). Thanks to `@DevO2012 `_. * Improved support for custom character types - (`#171 `_). + (`#171 `_). Thanks to `@alfps (Alf P. Steinbach) `_. * Added an option to disable use of IOStreams when ``FMT_USE_IOSTREAMS`` is defined as 0 before including ``format.h`` - (`#205 `_, - `#208 `_). + (`#205 `_, + `#208 `_). Thanks to `@JodiTheTigger `_. * Improved detection of ``isnan``, ``isinf`` and ``signbit``. @@ -202,31 +202,31 @@ Optimization ~~~~~~~~~~~~ * Made formatting of user-defined types more efficient with a custom stream buffer - (`#92 `_, - `#230 `_). + (`#92 `_, + `#230 `_). Thanks to `@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 `_). + (`#186 `_). * [Breaking] Reduced `compiled code size - `_ - (`#143 `_, - `#149 `_). + `_ + (`#143 `_, + `#149 `_). Distribution ~~~~~~~~~~~~ * [Breaking] Headers are now installed in ``${CMAKE_INSTALL_PREFIX}/include/cppformat`` - (`#178 `_). + (`#178 `_). 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 `_). + (`#178 `_). Thanks to `@jackyf (Eugene V. Lyubimkin) `_. * C++ Format is now available in `Debian `_ GNU/Linux @@ -234,7 +234,7 @@ Distribution `sid `_) and derived distributions such as `Ubuntu `_ 15.10 and later - (`#155 `_):: + (`#155 `_):: $ sudo apt-get install libcppformat1-dev @@ -244,7 +244,7 @@ Distribution are now available. Thanks to Dave Johansen. * C++ Format can now be installed via `Homebrew `_ on OS X - (`#157 `_):: + (`#157 `_):: $ brew install cppformat @@ -255,47 +255,47 @@ Documentation * Migrated from ReadTheDocs to GitHub Pages for better responsiveness and reliability - (`#128 `_). + (`#128 `_). New documentation address is http://cppformat.github.io/. * Added `Building the documentation - `_ + `_ section to the documentation. * Documentation build script is now compatible with Python 3 and newer pip versions. - (`#189 `_, - `#209 `_). + (`#189 `_, + `#209 `_). Thanks to `@JodiTheTigger `_ and `@xentec `_. * Documentation fixes and improvements - (`#36 `_, - `#75 `_, - `#125 `_, - `#160 `_, - `#161 `_, - `#162 `_, - `#165 `_, - `#210 `_). + (`#36 `_, + `#75 `_, + `#125 `_, + `#160 `_, + `#161 `_, + `#162 `_, + `#165 `_, + `#210 `_). Thanks to `@syohex (Syohei YOSHIDA) `_ and bug reporters. * Fixed out-of-tree documentation build - (`#177 `_). + (`#177 `_). Thanks to `@jackyf (Eugene V. Lyubimkin) `_. Fixes ~~~~~ * Fixed ``initializer_list`` detection - (`#136 `_). + (`#136 `_). Thanks to `@Gachapen (Magnus Bjerke Vik) `_. * [Breaking] Fixed formatting of enums with numeric format specifiers in ``fmt::(s)printf`` - (`#131 `_, - `#139 `_): + (`#131 `_, + `#139 `_): .. code:: c++ @@ -305,51 +305,51 @@ Fixes Thanks to `@Naios `_. * Improved compatibility with old versions of MinGW - (`#129 `_, - `#130 `_, - `#132 `_). + (`#129 `_, + `#130 `_, + `#132 `_). Thanks to `@cstamford (Christopher Stamford) `_. * Fixed a compile error on MSVC with disabled exceptions - (`#144 `_). + (`#144 `_). * Added a workaround for broken implementation of variadic templates in MSVC2012 - (`#148 `_). + (`#148 `_). * Placed the anonymous namespace within ``fmt`` namespace for the header-only configuration - (`#171 `_). + (`#171 `_). Thanks to `@alfps (Alf P. Steinbach) `_. * Fixed issues reported by Coverity Scan - (`#187 `_, - `#192 `_). + (`#187 `_, + `#192 `_). * Implemented a workaround for a name lookup bug in MSVC2010 - (`#188 `_). + (`#188 `_). * Fixed compiler warnings - (`#95 `_, - `#96 `_, - `#114 `_, - `#135 `_, - `#142 `_, - `#145 `_, - `#146 `_, - `#158 `_, - `#163 `_, - `#175 `_, - `#190 `_, - `#191 `_, - `#194 `_, - `#196 `_, - `#216 `_, - `#218 `_, - `#220 `_, - `#229 `_, - `#233 `_, - `#234 `_, - `#236 `_). + (`#95 `_, + `#96 `_, + `#114 `_, + `#135 `_, + `#142 `_, + `#145 `_, + `#146 `_, + `#158 `_, + `#163 `_, + `#175 `_, + `#190 `_, + `#191 `_, + `#194 `_, + `#196 `_, + `#216 `_, + `#218 `_, + `#220 `_, + `#229 `_, + `#233 `_, + `#234 `_, + `#236 `_). Thanks to `@seanmiddleditch (Sean Middleditch) `_, `@dixlorenz (Dix Lorenz) `_, `@CarterLi (李通洲) `_, @@ -366,36 +366,36 @@ Fixes * Fixed portability issues (mostly causing test failures) on ARM, ppc64, ppc64le, s390x and SunOS 5.11 i386 ( - `#138 `_, - `#179 `_, - `#180 `_, - `#202 `_, - `#225 `_, + `#138 `_, + `#179 `_, + `#180 `_, + `#202 `_, + `#225 `_, `Red Hat Bugzilla Bug 1260297 `_). Thanks to `@Naios `_, `@jackyf (Eugene V. Lyubimkin) `_ and Dave Johansen. * Fixed a name conflict with macro ``free`` defined in ``crtdbg.h`` when ``_CRTDBG_MAP_ALLOC`` is set - (`#211 `_). + (`#211 `_). * Fixed shared library build on OS X - (`#212 `_). + (`#212 `_). Thanks to `@dean0x7d (Dean Moldovan) `_. * Fixed an overload conflict on MSVC when ``/Zc:wchar_t-`` option is specified - (`#214 `_). + (`#214 `_). Thanks to `@slavanap (Vyacheslav Napadovsky) `_. * Improved compatibility with MSVC 2008 - (`#236 `_). + (`#236 `_). Thanks to `@Jopie64 (Johan) `_. * Improved compatibility with bcc32 - (`#227 `_). + (`#227 `_). * Fixed ``static_assert`` detection on Clang - (`#228 `_). + (`#228 `_). Thanks to `@dean0x7d (Dean Moldovan) `_. 1.1.0 - 2015-03-06 @@ -403,8 +403,8 @@ Fixes * Added ``BasicArrayWriter``, a class template that provides operations for formatting and writing data into a fixed-size array - (`#105 `_ and - `#122 `_): + (`#105 `_ and + `#122 `_): .. code:: c++ @@ -416,58 +416,58 @@ Fixes `_ to the list of notable projects using C++ Format. * C++ Format now uses MSVC intrinsics for better formatting performance - (`#115 `_, - `#116 `_, - `#118 `_ and - `#121 `_). + (`#115 `_, + `#116 `_, + `#118 `_ and + `#121 `_). Previously these optimizations where only used on GCC and Clang. Thanks to `@CarterLi `_ and `@objectx `_. -* CMake install target (`#119 `_). +* CMake install target (`#119 `_). Thanks to `@TrentHouliston `_. You can now install C++ Format with ``make install`` command. * Improved `Biicode `_ support - (`#98 `_ and - `#104 `_). Thanks to + (`#98 `_ and + `#104 `_). Thanks to `@MariadeAnton `_ and `@franramirez688 `_. * Improved support for bulding with `Android NDK `_ - (`#107 `_). + (`#107 `_). Thanks to `@newnon `_. - The `android-ndk-example `_ + The `android-ndk-example `_ repository provides and example of using C++ Format with Android NDK: - .. image:: https://raw.githubusercontent.com/cppformat/android-ndk-example/ + .. image:: https://raw.githubusercontent.com/fmtlib/android-ndk-example/ master/screenshot.png * Improved documentation of ``SystemError`` and ``WindowsError`` - (`#54 `_). + (`#54 `_). * Various code improvements - (`#110 `_, - `#111 `_ - `#112 `_). + (`#110 `_, + `#111 `_ + `#112 `_). Thanks to `@CarterLi `_. * Improved compile-time errors when formatting wide into narrow strings - (`#117 `_). + (`#117 `_). * Fixed ``BasicWriter::write`` without formatting arguments when C++11 support - is disabled (`#109 `_). + is disabled (`#109 `_). * Fixed header-only build on OS X with GCC 4.9 - (`#124 `_). + (`#124 `_). -* Fixed packaging issues (`#94 `_). +* Fixed packaging issues (`#94 `_). -* Added `changelog `_ - (`#103 `_). +* Added `changelog `_ + (`#103 `_). 1.0.0 - 2015-02-05 ------------------ @@ -482,29 +482,29 @@ Fixes * Compute string length in the constructor of ``BasicStringRef`` instead of the ``size`` method - (`#79 `_). + (`#79 `_). This eliminates size computation for string literals on reasonable optimizing compilers. * Fix formatting of types with overloaded ``operator <<`` for ``std::wostream`` - (`#86 `_): + (`#86 `_): .. code:: c++ fmt::format(L"The date is {0}", Date(2012, 12, 9)); * Fix linkage of tests on Arch Linux - (`#89 `_). + (`#89 `_). * Allow precision specifier for non-float arguments - (`#90 `_): + (`#90 `_): .. code:: c++ fmt::print("{:.3}\n", "Carpet"); // prints "Car" * Fix build on Android NDK - (`#93 `_) + (`#93 `_) * Improvements to documentation build procedure. @@ -545,17 +545,17 @@ Fixes This doesn't affect the formatting API. * Support for custom memory allocators - (`#69 `_) + (`#69 `_) * Formatting functions now accept `signed char` and `unsigned char` strings as - arguments (`#73 `_): + arguments (`#73 `_): .. code:: c++ auto s = format("GLSL version: {}", glGetString(GL_VERSION)); * Reduced code bloat. According to the new `benchmark results - `_, + `_, cppformat is close to ``printf`` and by the order of magnitude better than Boost Format in terms of compiled code size. @@ -585,7 +585,7 @@ Fixes fmt::printf("%1$s, %3$d %2$s", weekday, month, day); * Arguments of ``char`` type can now be formatted as integers - (Issue `#55 `_): + (Issue `#55 `_): .. code:: c++ @@ -654,7 +654,7 @@ Fixes Now all public functions are lowercase following the standard library conventions. Previously it was a combination of lowercase and CapitalizedWords. - Issue `#50 `_. + Issue `#50 `_. * Old functions are marked as deprecated and will be removed in the next release.