Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
F
fmt
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
fmt
Commits
722c8e4a
Commit
722c8e4a
authored
Nov 30, 2015
by
vitaut
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update changelog
parent
13d6b2d3
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
207 additions
and
175 deletions
+207
-175
ChangeLog.rst
ChangeLog.rst
+207
-175
No files found.
ChangeLog.rst
View file @
722c8e4a
2.0.0 - TBD
-----------
* 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/.
General
~~~~~~~
* Fixed ``initializer_list`` detection
(`#136 <https://github.com/cppformat/cppformat/issues/136>`_).
Thanks to `@Gachapen (Magnus Bjerke Vik) <https://github.com/Gachapen>`_.
* [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>`_):
* [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++
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++
enum { ANSWER = 42 }
;
fmt::print
f("%d", ANSWER
);
using namespace fmt::literals
;
fmt::print
("The answer is {answer}.", "answer"_a=42
);
Thanks to `@
Naios <https://github.com/Naios
>`_.
Thanks to `@
dean0x7d (Dean Moldovan) <https://github.com/dean0x7d
>`_.
* 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>`_.
* [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`` 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] 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>`_.
* [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>`_):
* [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>`_).
- Comparison operators now compare string content, not pointers
- ``BasicStringRef::c_str`` replaced by ``BasicStringRef::data``
- ``BasicStringRef`` is no longer assumed to be null-terminated
*
Fixed a compile error on MSVC with disabled exceptions
(`#1
44 <https://github.com/cppformat/cppformat/issues/144
>`_).
*
Dependency on pthreads introduced by Google Test is now optional
(`#1
85 <https://github.com/cppformat/cppformat/issues/185
>`_).
* Added a workaround for broken implementation of variadic templates in MSVC2012
(`#148 <https://github.com/cppformat/cppformat/issues/148>`_).
* 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
...
...
@@ -57,6 +136,49 @@
`#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
...
...
@@ -75,18 +197,23 @@
Thanks to `@ortho <https://github.com/ortho>`_, Anatoliy Bulukin.
* [Breaking] Changed default ``bool`` format to textual, "true" or "false"
(`#170 <https://github.com/cppformat/cppformat/issues/170>`_):
.. code:: c++
Documentation
~~~~~~~~~~~~~
fmt::print("{}", true); // prints "true"
To print ``bool`` as a number use numeric format specifier such as ``d``:
* 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/.
.. code:: c++
* Added `Building the documentation
<http://cppformat.github.io/dev/usage.html#building-the-documentation>`_
section to the documentation.
fmt::print("{:d}", true); // prints "1"
* 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>`_,
...
...
@@ -100,74 +227,47 @@
Thanks to `@syohex (Syohei YOSHIDA) <https://github.com/syohex>`_ and
bug reporters.
* Improved support for custom character types
(`#171 <https://github.com/cppformat/cppformat/issues/171>`_).
Thanks to `@alfps (Alf P. Steinbach) <https://github.com/alfps>`_.
* 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>`_.
* 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>`_.
* Runtime width specification
(`#168 <https://github.com/cppformat/cppformat/pull/168>`_):
.. code:: c++
* Fixed out-of-tree documentation build
(`#177 <https://github.com/cppformat/cppformat/issues/177>`_).
Thanks to `@jackyf (Eugene V. Lyubimkin) <https://github.com/jackyf>`_.
fmt::format("{0:{1}}", 42, 5); // gives " 42"
Fixes
~~~~~
Thanks to `@jamboree <https://github.com/jamboree>`_.
* Fixed ``initializer_list`` detection
(`#136 <https://github.com/cppformat/cppformat/issues/136>`_).
Thanks to `@Gachapen (Magnus Bjerke Vik) <https://github.com/Gachapen>`_.
* [Breaking]
Named arguments
(`#169 <https://github.com/cppformat/cppformat/pull/169>`_,
`#173 <https://github.com/cppformat/cppformat/pull/173
>`_,
`#1
74 <https://github.com/cppformat/cppformat/pull/174
>`_):
* [Breaking]
Fixed formatting of enums with numeric format specifiers in
``fmt::(s)printf``
(`#131 <https://github.com/cppformat/cppformat/issues/131
>`_,
`#1
39 <https://github.com/cppformat/cppformat/issues/139
>`_):
.. code:: c++
fmt::print("The answer is {answer}.", fmt::arg("answer", 42));
Thanks to `@jamboree <https://github.com/jamboree>`_.
* Fixed out-of-tree documentation build
(`#177 <https://github.com/cppformat/cppformat/issues/177>`_).
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>`_.
enum { ANSWER = 42 };
fmt::printf("%d", ANSWER);
* [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>`_.
Thanks to `@Naios <https://github.com/Naios>`_.
* [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>`_):
* 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>`_.
- Comparison operators now compare string content, not pointers
- ``BasicStringRef::c_str`` replaced by ``BasicStringRef::data``
- ``BasicStringRef`` is no longer assumed to be null-terminated
* Fixed a compile error on MSVC with disabled exceptions
(`#144 <https://github.com/cppformat/cppformat/issues/144>`_).
*
Dependency on pthreads introduced by Google Test is now optional
(`#1
85 <https://github.com/cppformat/cppformat/issues/185
>`_).
*
Added a workaround for broken implementation of variadic templates in MSVC2012
(`#1
48 <https://github.com/cppformat/cppformat/issues/148
>`_).
*
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>`_)
.
*
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
warning
s reported by Coverity Scan
* Fixed
issue
s reported by Coverity Scan
(`#187 <https://github.com/cppformat/cppformat/issues/187>`_,
`#192 <https://github.com/cppformat/cppformat/issues/192>`_).
...
...
@@ -190,6 +290,9 @@
`#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>`_).
Thanks to `@seanmiddleditch (Sean Middleditch) <https://github.com/seanmiddleditch>`_,
...
...
@@ -200,23 +303,10 @@
`@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>`_ and
`@jkflying (Julian Kent) <https://github.com/jkflying>`_.
* 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>`_.
* [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));
`@cubicool (Jeremy Moles) <https://github.com/cubicool>`_,
`@jkflying (Julian Kent) <https://github.com/jkflying>`_,
`@LogicalKnight (Sean L) <https://github.com/LogicalKnight>`_ and
`@inguin (Ingo van Lil) <https://github.com/inguin>`_
* Fixed portability issues (mostly causing test failures) on ARM, ppc64, ppc64le,
s390x and SunOS 5.11 i386 (
...
...
@@ -229,34 +319,6 @@
Thanks to `@Naios <https://github.com/Naios>`_,
`@jackyf (Eugene V. Lyubimkin) <https://github.com/jackyf>`_ and Dave Johansen.
* [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>`_.
* 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>`_.
* 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>`_.
* 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>`_).
...
...
@@ -269,42 +331,12 @@
(`#214 <https://github.com/cppformat/cppformat/pull/214>`_).
Thanks to `@slavanap (Vyacheslav Napadovsky) <https://github.com/slavanap>`_.
* ``noexcept`` is now used when compiling with MSVC2015
(`#215 <https://github.com/cppformat/cppformat/pull/215>`_).
Thanks to `@dmkrepo (Dmitriy) <https://github.com/dmkrepo>`_.
* [Breaking] ``signed`` and ``unsigned char`` are now formatted as integers by default
(`#217 <https://github.com/cppformat/cppformat/pull/217>`_).
* 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>`_.
* ``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] ``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>`_.
* Improved compatibility with bcc32
(`#227 <https://github.com/cppformat/cppformat/pull/227>`_).
* Enums are now formatted with an overloaded ``std::ostream`` insertion operator
(``operator<<``) if available.
* 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
------------------
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment