[/============================================================================== 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 for std::forward. * Fixed bug4853 - added header 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!]