phoenix/doc/what_s_new.qbk
2015-03-09 12:51:40 +00:00

113 lines
4.7 KiB
Plaintext

[/==============================================================================
Copyright (C) 2001-2010 Joel de Guzman
Copyright (C) 2001-2005 Dan Marsden
Copyright (C) 2001-2010 Thomas Heller
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
===============================================================================/]
[section Release Notes]
[/ These are included here and have also been submitted for the release page.]
[/* [phrase library..[@/libs/phoenix/ Phoenix]:] ]
* ['Version] 3.2.0
* ['New Features:]
* Phoenix now has a *lazy list* implementation as an optional extension.
* ['New Example:]
* A new example *bind_goose* shows the compatibility between *boost bind* and *boost phoenix bind*.
* ['Fixed Bugs:]
* [@http://svn.boost.org/trac/boost/ticket/10927 #10927] Missing std:: qualifier for fabs in phoenix/test/stdlib/cmath.cpp
* [@http://svn.boost.org/trac/boost/ticket/11085 #11085] Missing qualifier for pow call in phoenix/test/function/function_tests.cpp
* Fixes for a number of cases failing with *bind*, *lambda* and *let*.
[endsect]
[section What's New]
[section Phoenix - warning on *lambda and let*]
* There are a number of bugs in the implementation of *lambda* and *let* constructs in Boost Phoenix 3.0.6 (Boost release 1.57.0).
* These are currently being investigated and a better version for Boost 1.58.0.
* The constructs are not completely unusable and many of the tests run.
* Some usage may work with some compilers but not others.
* Workarounds for different compilers are being made available and can be seen in the tests where they are used.
* For Boost Phoenix 3.2.0 most tests now run and work is continuing to resolve the remaining problems.
[endsect]
[section Phoenix 3.2.0 (Boost 1.58.0)]
* Phoenix now has a lazy list implementation which is very similar but not identical to the implementation provided by __fcpp__.
* Details can be found in __phoenix_lazy_list__.
* Tests have been added for the new features provided.
* This is an addition which causes no changes to the previous public interface.
* Fixes for #10927 and #11085
[endsect]
[section Phoenix 3.1.1]
* This is the start of a series of changes which continue the fixing of the bugs.
* There are new examples and tests which show the capability of phoenix.
* A new example bind_goose shows the compatibility between boost bind and boost phoenix bind.
* New tests lazy_argument_tests, lazy_make_pair_tests, lazy_templated_struct_tests show different possible uses of boost phoenix function objects.
[endsect]
[section Phoenix 3.1.0]
This contains a series of updates to Phoenix to fix some bugs and
to extend the examples. Details of the changes will be found in the __changelog__
and the release number will be increased for each set of changes released.
* A start is being made on updating the documentation.
* A bug has been fixed which was causing a lot of test examples of *bind* to fail. This was particularly the case with more recent compilers which are stricter.
* TODO
There is still a lot of work to be done on fixes, documentation and examples.
[endsect]
[section Phoenix 3.0.6 (Boost 1.57.0)]
* Fixed bug in example/container_actor.cpp in end() function.
* Fixed bug4853 and 5626 - added header <utility> for std::forward.
* Fixed bug4853 - added header <iostream> for gcc 4.9 test
[endsect]
[section Phoenix 3.0.5]
* Introduction of __changelog__ and release number increments.
* Added BOOST_PHOENIX_VERSION_NUMBER using boost/predef style.
* Fixes to bugs #5714 and #5824 are particularly important as they fixed silent errors
in the processing of some compound expressions with commas.
* *This could cause output from some user codes to change unexpectedly.*
[endsect]
[section Phoenix 3.0]
This was the first official release of Phoenix as first class Boost citizen. As a
consequence of the review of Phoenix V2 the internals got completely rewritten.
Therefore the internal extension mechanism is different.
* composite<...>, as_composite<...> and compose are gone and have been replaced.
For an in depth discussion see the section [link phoenix.inside Inside Phoenix]
* [link phoenix.modules.function] phoenix::function now supports function objects
that implement the __boost_result_of__ protocol. *This is a breaking change*
[/as well as the old return type
deduction protocol. The same is true for [link phoenix.modules.bind Bind].]
* Boilerplate macros to easily adapt already existing functions and function
objects
* [link phoenix.modules.bind Bind] is not completely compatible with Boost.Bind. The limitations will be documented as soon as possible.
[endsect]
[endsect]
[/endsect] [/added because it was complaining it then failed!]