1[/============================================================================== 2 Copyright (C) 2001-2010 Joel de Guzman 3 Copyright (C) 2001-2005 Dan Marsden 4 Copyright (C) 2001-2010 Thomas Heller 5 6 Distributed under the Boost Software License, Version 1.0. (See accompanying 7 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 8===============================================================================/] 9 10[section Release Notes] 11 12[/ These are included here and have also been submitted for the release page.] 13 14[/* [phrase library..[@/libs/phoenix/ Phoenix]:] ] 15* ['Version] 3.2.0 16* ['New Features:] 17 * Phoenix now has a *lazy list* implementation as an optional extension. 18* ['New Example:] 19 * A new example *bind_goose* shows the compatibility between *boost bind* and *boost phoenix bind*. 20* ['Fixed Bugs:] 21 * [@http://svn.boost.org/trac/boost/ticket/10927 #10927] Missing std:: qualifier for fabs in phoenix/test/stdlib/cmath.cpp 22 * [@http://svn.boost.org/trac/boost/ticket/11085 #11085] Missing qualifier for pow call in phoenix/test/function/function_tests.cpp 23 * Fixes for a number of cases failing with *bind*, *lambda* and *let*. 24 25[endsect] 26 27[section What's New] 28 29[section Phoenix - warning on *lambda and let*] 30 31* 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). 32* These are currently being investigated and a better version for Boost 1.58.0. 33* The constructs are not completely unusable and many of the tests run. 34* Some usage may work with some compilers but not others. 35* Workarounds for different compilers are being made available and can be seen in the tests where they are used. 36* For Boost Phoenix 3.2.0 most tests now run and work is continuing to resolve the remaining problems. 37 38[endsect] 39 40[section Phoenix 3.2.0 (Boost 1.58.0)] 41 42* Phoenix now has a lazy list implementation which is very similar but not identical to the implementation provided by __fcpp__. 43 * Details can be found in __phoenix_lazy_list__. 44 * Tests have been added for the new features provided. 45 * This is an addition which causes no changes to the previous public interface. 46* Fixes for #10927 and #11085 47 48[endsect] 49 50[section Phoenix 3.1.1] 51 52* This is the start of a series of changes which continue the fixing of the bugs. 53* There are new examples and tests which show the capability of phoenix. 54* A new example bind_goose shows the compatibility between boost bind and boost phoenix bind. 55* New tests lazy_argument_tests, lazy_make_pair_tests, lazy_templated_struct_tests show different possible uses of boost phoenix function objects. 56 57[endsect] 58 59[section Phoenix 3.1.0] 60 61This contains a series of updates to Phoenix to fix some bugs and 62to extend the examples. Details of the changes will be found in the __changelog__ 63and the release number will be increased for each set of changes released. 64 65* A start is being made on updating the documentation. 66* 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. 67* TODO 68 There is still a lot of work to be done on fixes, documentation and examples. 69 70[endsect] 71 72[section Phoenix 3.0.6 (Boost 1.57.0)] 73 74* Fixed bug in example/container_actor.cpp in end() function. 75* Fixed bug4853 and 5626 - added header <utility> for std::forward. 76* Fixed bug4853 - added header <iostream> for gcc 4.9 test 77 78[endsect] 79 80[section Phoenix 3.0.5] 81 82* Introduction of __changelog__ and release number increments. 83* Added BOOST_PHOENIX_VERSION_NUMBER using boost/predef style. 84* Fixes to bugs #5714 and #5824 are particularly important as they fixed silent errors 85 in the processing of some compound expressions with commas. 86* *This could cause output from some user codes to change unexpectedly.* 87 88[endsect] 89 90 91[section Phoenix 3.0] 92 93This was the first official release of Phoenix as first class Boost citizen. As a 94consequence of the review of Phoenix V2 the internals got completely rewritten. 95Therefore the internal extension mechanism is different. 96 97* composite<...>, as_composite<...> and compose are gone and have been replaced. 98 For an in depth discussion see the section [link phoenix.inside Inside Phoenix] 99* [link phoenix.modules.function] phoenix::function now supports function objects 100 that implement the __boost_result_of__ protocol. *This is a breaking change* 101 102 [/as well as the old return type 103 deduction protocol. The same is true for [link phoenix.modules.bind Bind].] 104* Boilerplate macros to easily adapt already existing functions and function 105 objects 106* [link phoenix.modules.bind Bind] is not completely compatible with Boost.Bind. The limitations will be documented as soon as possible. 107 108[endsect] 109 110[endsect] 111 112[/endsect] [/added because it was complaining it then failed!] 113