cppannotations/annotations/changelog
2017-02-09 14:10:02 +01:00

566 lines
20 KiB
Text

C++-annotations (10.7.2)
* The section about implementing binary operators was fundamentally
rewritten thanks to suggestions offered by Wiebe-Marten Wijnja.
* The section covering the ::template syntax received an example showing how
to call a static member function defined in a (base) class template from a
class template that is derived from that (base) class template.
C++-annotations (10.7.1)
* The section about implementing binary operators could somewhat be
simplified. Also, some additional clarifications were added.
* The SFINAE section was provided with explicit links to sections where the
sfinae principle is used.
-- Frank B. Brokken <f.b.brokken@rug.nl> Sat, 04 Feb 2017 11:34:26 +0100
C++-annotations (10.7.0)
* The sections about implementing binary operators received an overhaul.
* The section `Adding binary operators to classes' was rewritten.
* Added descriptions of operator new[](size) and operator delete[](pointer).
* The section about lambda-expressions was extended with descriptions of new
features offered by C++17.
* The section `Pointer sizes' in the chapter about pointers to members
contains an explanation as to why pointers to members are larger than
ordinary pointers.
* Added preview intro/cpp17.yo on the next C++17 standard.
* Added a section about selection statements with initializers to the
`First Impression Of C++' chapter.
* Added a paragraph about increment/decrement operators being deprecated for
bool type of variables to overloading/increment.yo.
* Added a section about std::exchange to the Generic Algorithms chapter.
* Added a section about `if constexpr' to the Function Templates chapter.
* Added a section about folding expressions to the Class Templates chapter.
* Added a section about class templates template argument deduction.
* The section about using non-default constructors now contains thread-safe
examples.
* Fixed several typos, processed several suggestions received from readers.
-- Frank B. Brokken <f.b.brokken@rug.nl> Sat, 28 Jan 2017 13:05:50 +0100
C++-annotations (10.6.0)
* Added new section (Lvalues, rvalues and more, first/lvalues.yo) about
various kinds of l/rvalues distinguished by C++.
* Added new section (Standard Exceptions: to use or not to use?,
exceptions/usestandard.yo) about the distinction between standard and
non-standard exceptions.
* Section 'Allocating arrays' (in chapter 'Classes and Memory Allocation')
now describes how to initialize memory using the 'new Type[size]()'
syntax.
* Section 'explicit conversion operators' (in chapter 'More Operator
Overloading) received an overhaul.
* Changed uses of shared_ptr objects to unique_ptr objects in
stl/uniqueptr.yo.
-- Frank B. Brokken <f.b.brokken@rug.nl> Sun, 30 Oct 2016 10:25:03 +0100
C++-annotations (10.5.1)
* Fixed various typos and completed several cosmetic modifications
-- Frank B. Brokken <f.b.brokken@rug.nl> Sun, 24 Jul 2016 07:41:38 +0200
C++-annotations (10.5.0)
* Rewrote the section about converting time to text, covering
std::localtime, std::gmtime, std::put_time as well as the full table of
put_time's format specifiers.
* Removed the sections at the beginning of each chapter encouraging readers
to send in suggestions for improvements. Instead, this encouragement is
now shown at the end of the Annotation's `abstract'.
* Updated the kindle-book conversion script, so that cplusplus.css is not
used with the kindle book construction.
* Several typos were fixed.
-- Frank B. Brokken <f.b.brokken@rug.nl> Wed, 23 Dec 2015 13:09:08 +0100
C++-annotations (10.4.1-pre)
* Improved the html layout, following suggestions by Harmen Stoppels
* Removed repeated 'mailus' files from chapter openings. The 'mailus' info
is now shown as part of the abstract.
-- Frank B. Brokken <f.b.brokken@rug.nl> Sat, 19 Dec 2015 22:19:18 +0100
C++-annotations (10.4.0)
* Added a section about reference bindings to the Overloading chapter
* Added cplusplus.css which can be used to fine-tune the layout of the
Annotatiions' html conversion.
* Standardized the installation procedure
* Fixed typos
-- Frank B. Brokken <f.b.brokken@rug.nl> Sun, 11 Dec 2015 17:12:31 +0100
C++-annotations (10.3.0)
* Added new sections about expression templates, about attributes,
about shared mutexes, about shared locks, about heterogeneous lookups,
about sized deallocation functions, and about moving and swapping streams
* Added new C++14 elements to relevant sections
* Reorganized the section about lambda expression
* Added the file ./compiler.im providing all #defines for compiling the
support programs. See that file for specific information.
* Fixed a compilation problem encountered with g++-5.
* Fixed some typos.
-- Frank B. Brokken <f.b.brokken@rug.nl> Sun, 16 Aug 2015 15:21:10 +0200
C++-annotations (10.2.0)
* Rewrote the sections covering the regular expression matching classes.
* The section about lambda expression also covers generic lambda
expressions.
* The coverage of binders now concentrates on stl::bind.
* Added a section about stl::placeholders to chapter 4 (Namespaces)
* Removed superfluous 'return 0;' statements from main functions.
* Conversion related stamp files (e.g., html-stamp) no longer
used. Build-commands are now unconditionally executed.
* Added a section to class templates covering a bare bones implementation of
not_fn, which will likely be added in C++17.
* Added some notes about C++17.
* Several cosmetic improvements were made.
* Html files now use html5.
-- Frank B. Brokken <f.b.brokken@rug.nl> Thu, 28 May 2015 12:06:01 +0200
C++-annotations (10.1.0)
* Typos and added a section about regular expression, moving the topic from
containers to stl.
* Fixed various typos and inconsistencies
-- Frank B. Brokken <f.b.brokken@rug.nl> Wed, 24 Dec 2014 19:54:28 +0100
C++-annotations (10.0.0)
* Added new chapter: Multi Threading, containing all previously defined
sections related to multi threading. A paragraph about std::distance was
added, some typos were repaired, and other cosmetic changes were made to
this version.
* Redefined the standard verb(...) yodl macro by a version which does not do
the extra newlines before and after the verbatim section.
* The build script was extended. The support script `pathbuild' is not used,
but can be used in cases where an additional element to PATH must be used.
* All verbatim file inclusions are now run through the new release of
yodlverbinsert.
-- Frank B. Brokken <f.b.brokken@rug.nl> Thu, 30 Oct 2014 20:17:12 +0100
C++-annotations (9.9.1)
* Fixed LaTex formatting problems rendering (in particular) the
cplusplusus.ps/pdf files (note: cplusplusUS) less useful (cf. scythal's
user review on http://sourceforge.net/projects/cppannotations/).
-- Frank B. Brokken <f.b.brokken@rug.nl> Thu, 05 Jun 2014 14:16:31 +0200
C++-annotations (9.9.0)
* STL facilities for specifying absolute and relative time were rewritten
and are now in a separate section, instead of using subsections of the
section about Multi Threading. Sections about condition_variables were
also rewritten.
* c++0x has been replaced by c++11
-- Frank B. Brokken <f.b.brokken@rug.nl> Tue, 03 Jun 2014 13:24:54 +0200
C++-annotations (9.8.2)
* Extended and completed the list of available type traits (in section
`Available Type Traits', chapter `Advanced Templates')
-- Frank B. Brokken <f.b.brokken@rug.nl> Fri, 07 Mar 2014 14:49:22 +0100
C++-annotations (9.8.1)
* Added explanatory paragraphs about using static_casts to derived classes
using shared_ptr or unique_ptr objects holding pointers to base classes
(cf. the class 'unique_ptr' and Casting shared pointers)
* Added explanatory paragraphs about defining (const_)iterators and
(const_)reverse_iterators (cf. 21.14.2: Implementing a
`reverse_iterator').
* Added an example showing how to declare a bound friend function template
to a class template (cf. Templates instantiated for specific types as
friends)
C++-annotations (9.8.0)
* Added a section about static polymorphism to the class templates chapter
* Removed the `text to anything convertor' section, which is now obsoleted
by existing std::string conversion functions.
* Removed the C++11 labels from section headers, as the C++11 standard has
been implemented by g++ 4.8.2. Note that the --std=c++11 compiler flag is
still required.
* Several typos were fixed
-- Frank B. Brokken <f.b.brokken@rug.nl> Sat, 18 Jan 2014 13:55:37 +0100
C++-annotations (9.7.3)
* Fixed several typos.
-- Frank B. Brokken <f.b.brokken@rug.nl> Wed, 21 Aug 2013 15:00:30 +0200
C++-annotations (9.7.2)
* Repaired some minor flaws, which were still waiting to be processed.
* Added for internal use steps to create a Kindle version of the Annotations
(see also http://www.amazon.com, look for ('c++ annotations')
-- Frank B. Brokken <f.b.brokken@rug.nl> Thu, 30 May 2013 12:45:58 +0200
C++-annotations (9.7.1)
* Added changes of 9.7.0 to the Annotations' `what's new' section
* Release 9.7.0 was not published as a separate release.
-- Frank B. Brokken <f.b.brokken@rug.nl> Thu, 30 May 2013 09:43:34 +0200
C++-annotations (9.7.0)
* Added several new sections about time specification (stl/time, etc.)
* Added new section about 'this_thread' (stl/thisthread)
* Added new section about locks (stl/locks)
* Added new section (classes/ambiguity) about Ambiguity Resolution.
* Added new section 'system_error' (exception/systemerror)
* Added new section 'the class `error category'' (exception/errorcategory)
* Added new section 'the class `error code'' (exception/errorcode)
* Rewrote all sections about multi-threading)
* Rewrote the section about lamba expressions
* Replaced references to `ascii-z string' by `null terminated byte string'
(NTBS), following the C++11 standard's terminology.
* Repaired flaws in function names and return tyes of several sto* functions
in string/convertors.yo
* `0b' constants are not mentioned in the C++11 standard (but maybe compiler
supported)
* In section references `C++11, 4.7' the `, 4.7' was dropped
* intro/main.yo was updated
-- Frank B. Brokken <f.b.brokken@rug.nl> Wed, 29 May 2013 20:11:20 +0200
C++-annotations (9.6.0)
* Updated the list of C++ keywords
* Added advancedtemplates/noexcept.yo covering the noexcept keyword
* Updated the string chapter
-- Frank B. Brokken <f.b.brokken@rug.nl> Thu, 10 Jan 2013 20:23:05 +0100
C++-annotations (9.5.0)
* Updated (to the current C++11 state) the reference of member functions of
the Abstract Containers.
* Added a new section (Allocators) just before introducing the sequential
containers.
* Rephrased sentenses like 'this member <verb>s' to '<verb>s', in particular
in the chapter on Abstract Containers.
* Repaired typos, reformulated the section about nested namespaces (Meir
Shani).
-- Frank B. Brokken <f.b.brokken@rug.nl> Fri, 14 Dec 2012 12:53:53 +0100
C++-annotations (9.4.0)
* Added new section make_shared in the stl chapter.
-- Frank B. Brokken <f.b.brokken@rug.nl> Thu, 28 Jun 2012 20:48:47 +0200
C++-annotations (9.3.0)
* Coverage of the static_cast and reinterpret_cast was refined, following a
suggestion provided by Gido Schoenmacker.
-- Frank B. Brokken <f.b.brokken@rug.nl> Tue, 06 Mar 2012 20:34:11 +0100
C++-annotations (9.2.1)
* Starting this release all release tags (using names that are identical to
the version number, so for this release the tag is 9.2.1) are signed to
allow authentication.
-- Frank B. Brokken <f.b.brokken@rug.nl> Mon, 27 Feb 2012 13:42:38 +0100
9.2.0
* Converted scanner generations from flex to flexc++
* Rewrote the Concrete chapter's section about polymorphic semantic values
* Rewrote the Containers chapter's section about unrestricted unions
* Removed the Concrete chapter's section about unrestricted union semantic
values
-- Frank B. Brokken <f.b.brokken@rug.nl> Sun, 26 Feb 2012 17:10:55 +0100
9.1.0
* Added sections about features of C++11 now implemented in g++-4.7
* Added a script to create a beautiful C++ bound book
* Repaired typos and stuff
-- Frank B. Brokken <f.b.brokken@rug.nl> Fri, 20 Jan 2012 11:50:01 +0100
9.0.2
* Removed excessive use of the verb 'will' from the Annotations.
* The required operators for each of the standard interators (input,
output, forward, bidirectional, random_access) are now explicitly
mentioned in the paragraphs covering them.
-- Frank B. Brokken <f.b.brokken@rug.nl> Mon, 12 Sep 2011 16:01:07 +0200
9.0.1
* Repaired some new annoying typos and slightly rephrased some paragraphs of
the `Koenig lookup' section.
-- Frank B. Brokken <f.b.brokken@rug.nl> Wed, 20 Jul 2011 12:21:33 +0200
9.0.0
* The form of move special members (move constructors, move assignment
operators, other functions defining rvalue type parameters) was
synchronized with the form proposed by the C++0x standard. This resulted,
in the Annotations relaxing the principle of const-correctness, and in
modifying the declarations and implementations of move special members in
this release. This shift in position (adopted by the Annotations since
its very early releases) profoundly affects much of the Annotation's
contents, and warrants an upgrade to the next major release. See the
remarks in the `what's new' file for more details.
* Several sections were added and sometimes moved. The section about
'unrestricted unions' was completed and moved to the `Containers'
chapter, and an new section about adding binary operators to classes using
function templates was added to the Annotations' final chapter (concrete
examples).
* Repaired badly formatted LaTeX table of contents: see bin/latexonly
* Many typos were repaired
8.3.1
* Many typos, textual corrections and clarifications were processed, almost
all were provided by Francesco Poli.
* Sections about move operations were split into subsections
* The Portuguese translations are lagging too much behind. I've removed them
from the source archives, although they remain available at the svn
repository.
-- Frank B. Brokken <f.b.brokken@rug.nl> Mon, 20 Dec 2010 15:25:30 +0100
8.3.0
* New sections about various (member) function adaptors
* Sections about statistical sampling functions added/modified
* Sections referring to C++0x elements now assume g++ 4.4 is available and
the required compiler version is no longer listed for those sections
* Typos repaired
-- Frank B. Brokken <f.b.brokken@rug.nl> Tue, 07 Sep 2010 12:12:18 +0200
8.2.0
* Bumped up the version. Should have been done earlier, considering that the
'what's new' file already refers to version 8.2.0.
* Added 'export' to the list of keywords
* New typos and unclear passages were processed/improved
* KNOWN ISSUE WITH THE PDF VERSION: Due to a known bug in the ps2pdf
conversion the pdf versions of the Annotations may show multiple
Error: Illegal entry in bfrange block in ToUnicode CMap
error messages. Once the bug has been repaired a new sub-minor release of
the Annotations will be made available.
-- Frank B. Brokken <f.b.brokken@rug.nl> Thu, 26 Aug 2010 09:03:37 +0200
8.1.2
* New typos and unclear passages were processed/improved
-- Frank B. Brokken <f.b.brokken@rug.nl> Thu, 06 May 2010 19:39:46 +0200
8.1.1
* Many typos and minor cosmetic flaws that had escaped the previous update
were processed
-- Frank B. Brokken <f.b.brokken@rug.nl> Thu, 11 Mar 2010 21:00:43 +0100
8.1.0
* The text and examples of the Annotations have completely been overhauled.
Before this final 8.1.0 release two pre-releases were issued, partially
completing the overhaul (see the two entries below) Over the years many
inconsistencies had crept into the text and examples, that are now removed;
streamlining the text and the examples. All of the code examples have
received a work-over, removing endl in favor of '\n', making virtual functions
private, etc., etc. Many sections labeled C++0x were improved and sections in
the table of contents showing C++0x now also mention the g++ version in which
the new feature will be made available, using `?' if this is as yet
unknown. No version is shown if the feature is already available in g++ 4.3
(or in one of its subreleases, like 4.3.3). I received a host of suggestions
from Francesco Poli (thanks, Francesco (and several others), for all the
effort you've put into sending me those corrections).
-- Frank B. Brokken <f.b.brokken@rug.nl> Mon, 01 Mar 2010 09:11:21 +0100
8.1.0~pre2
* Cleanup completed until (including) chapter 16
-- Frank B. Brokken <f.b.brokken@rug.nl> Thu, 24 Dec 2009 11:36:44 +0100
8.1.0~pre1
* Removed the 'template concepts' section from advancedtemplates: removed
from the C++0x standard.
* Started a cleanup operation on the C++ Annotations aiming at improving
its internal consistency in examples and text. In this version
completed until (including) chapter 8.
-- Frank B. Brokken <f.b.brokken@rug.nl> Thu, 05 Nov 2009 21:08:10 +0100
8.0.1 - Added --std=c++0x to the g++ compiler options
8.0.0 - New sections added describing elements of the new C++0x standard
New chapters: name spaces, generic algorithm.
The Portuguese translation of the Annotations (in the contributions
directory) are still at version 7.0.0., Sergio Bacchi wrote that a
new version is currently under construction.
7.3.1 - Readers are referred to sourceforge for the C++ Annotations archives
7.2.2 - Textual modifications and minor modifications of the programs due to
new Bobcat library.
7.0.1 - Processed extensive feedback received from Eric S. Raymond and
Edward Welbourne. Reorganized yo/string/members.yo. See the
yo/history.yo file for details.
7.0.0 - Added new chapter (advanced template applications) and changed
many other things. See the yo/history.yo file for details.
6.5.0 - Changed all unsigned types to size_t (where appropriate)
Added the Portuguese translation to the distribution, since Sergio
Bacchi's acceptance was received
Repaired various minor problems in compiling/running examples
Moved in-class definitions of member functions to below their class
Added paragraphs about size_t and other derived int-types and about
implementing pure virtual member functions
6.4.1 - Legal restriction leftover removed from Chapter 2's introduction.
Portuguese translation and `The history of C' removed from the
distribution, until formal permission to include them is received
from their authors.
Changes down to 6.2.4: see yo/history.yo
-- Frank B. Brokken <f.b.brokken@rug.nl> Tue, 19 Sep 2006 13:03:29 +0200
6.2.4f - fixed basic-type counting in par. 3.3
-- Frank B. Brokken <f.b.brokken@rug.nl> Thu, 07 Sep 2006 14:04:27 +0200
6.2.4 - See yo/history.yo
6.2.2 - See yo/history.yo
6.2.0 - See yo/history.yo
6.1.3(-pre) Repaired several textual imperfections and delete -> delete []
where new [] was used.
6.1.2. This file was defined to summarize intermediate modifications.
- description of ios condition flags refined
- description of string::getline() refined.
- open_mode `creat' changed into `trunc' (reading and writing streams)
6.1.1b Minor textual modifications since 6.1.0