[/==============================================================================
    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!]
