###  | # Boost.Python ## News/Change Log

11 Sept 2003
  - Changed the response to multiple to-python converters being registered for the same type from a hard error into warning; Boost.Python now reports the offending type in the message.
  - Added builtin `std::wstring` conversions
  - Added `std::out_of_range` => Python `IndexError` exception conversion, thanks to Raoul Gough
9 Sept 2003
  Added new `str`
constructors which take a range of characters, allowing strings containing nul (`'\0'`) characters.
8 Sept 2003
  Added the ability to create methods from function objects (with an `operator()`); see the make_function docs for more info.
10 August 2003
  Added the new `properties` unit tests contributed by Roman Yakovenko and documented `add_static_property` at his urging.
1 August 2003
  Added the new `arg` class contributed by Nikolay Mladenov which supplies the ability to wrap functions that can be called with ommitted arguments in the middle:

      void f(int x = 0, double y = 3.14, std::string z = std::string("foo"));

      BOOST_PYTHON_MODULE(test)
      {
         def("f", f
             , (arg("x", 0), arg("y", 3.14), arg("z", "foo")));
      }

  And in Python:

      >>> import test
      >>> f(0, z = "bar")
      >>> f(z = "bar", y = 0.0)

  Thanks, Nikolay!
22 July 2003
  Killed the dreaded "bad argument type for builtin operation" error. Argument errors now show the actual and expected argument types!
19 July 2003
  Added the new `return_arg` policy from Nikolay Mladenov. Thanks, Nikolay!
18 March, 2003
  Gottfried Ganßauge has contributed opaque pointer support.
  Bruno da Silva de Oliveira has contributed the exciting Pyste ("Pie-steh") package.
24 February 2003
  Finished improved support for `boost::shared_ptr`. Now any wrapped object of C++ class `X` can be converted automatically to `shared_ptr<X>`, regardless of how it was wrapped. The `shared_ptr` will manage the lifetime of the Python object which supplied the `X`, rather than just the `X` object itself, and when such a `shared_ptr` is converted back to Python, the original Python object will be returned.
19 January 2003
  Integrated `staticmethod` support from Nikolay Mladenov. Thanks, Nikolay!
29 December 2002
  Added Visual Studio project file and instructions from Brett Calcott. Thanks, Brett!
20 December 2002
  Added automatic downcasting for pointers, references, and smart pointers to polymorphic class types upon conversion to python
18 December 2002
  Optimized from_python conversions for wrapped classes by putting the conversion logic in the shared library instead of registering separate converters for each class in each extension module
19 November 2002
  Removed the need for users to cast base class member function pointers when used as arguments to add_property
13 December 2002
  Allow exporting of `enum_` values into enclosing `scope`.
  Fixed unsigned integer conversions to deal correctly with numbers that are out-of-range of `signed long`.
14 November 2002
  Auto-detection of class data members wrapped with `make_getter`
13 November 2002
  Full Support for `std::auto_ptr<>` added.
October 2002
  Ongoing updates and improvements to tutorial documentation
10 October 2002
  Boost.Python V2 is released!

Revised 11 September 2003

© Copyright Dave Abrahams 2002-2003. All Rights Reserved.