lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

I'm happy to announce the release of luabind 0.8. Most of the
changes since the last release have happened under the hood,
but a number of new features has been added as well.

As usual, source packages available for download at:

Bug reports and questions should go to the mailing list:

User visible changes since 0.7.1

 * Added ability to explicity specify the signature of the
   exported function. This additionally means that it's now
   possible to export function objects.

 * Added ability to register translation of custom exception

 * Added customization point to allow native conversion of
   user defined types.

 * Added support for exporting the # operator.

 * Expanded the API wrapper interface with more functions and
   a light weight alternative to `object': `argument'.

 * Properties now goes through the same function dispatch
   code as all other functions, and now properly handles

Breaking changes

 * Dropped support for old compilers. Anything that doesn't
   handle partial specialization won't work anymore. This
   means no more VC6.5 and VC7.0.

 * `super()' was deprecated in favor of directly calling the
   base class `__init()' function. The deprecation error can
   be turned off by calling `luabind::disable_super_deprecation()'
   before `super()' is used.

 * The user defined converter mechanism was removed in favor
   of the new customization point.

 * Format of error messages was changed.

Changes since 0.7.1:

Daniel Wallin (74):
  Refactored temporary holder construction in converters.
  Added new exception_handler code.
  Removed duplicated exception handlers.
  Added test for user defined exception handlers.
  Handle `luabind:error` specially.
  Changed expected error messages from exceptions.
  Documented exception handler mechanism.
  Updated .gitignore with build directories.
  Add support for exporting the # operator.
  Add getmetatable() and setmetatable() functions.
  Add more API wrappers to object.hpp.
  Add missing includes.
  Remove stale object_init code.
  Add "argument" API wrapper class.
  Make all object-like types bool-convertible.
  Rewrite copy_policy in terms of value_converter.
  Test copy_policy with T const*.
  Add signature deduction function template.
  Reimplement "call" template.
  Add missing includes.
  Convert "class" and "property" to new call code.
  Add compute_score() and compute_arity() helpers.
  Use compute_score() instead of match().
  Use compute_score() and invoke() in function.hpp.
  Add constructor<>::signature MPL sequence.
  Use compute_score() when invoking constructors.
  Add missing include and namespace alias.
  Don't try to link to versioned .so.
  Reimplement the function registration code.
  Use new function dispatch code for member functions.
  Fix calling virtual functions without override.
  Remove old function dispatch code completely.
  Add missing include.
  Reimplement constructor code.
  Change constructor signature to include self argument.
  Change super() to always just call the __init() function.
  Change derived class name-shadowing rules.
  Fix destruction of derived Lua classes.
  Rewrite construction code to always just call __init().
  Unify construction of Lua and C++ classes.
  Deprecate "super()".
  Added `property_tag()`.
  Call "get" and "set" property functions.
  Changed use of std::string to lua_pushfstring().
  Added "property()" Lua function.
  Add interface to explicitly specify signatures.
  Add test that demonstrates adopt() bug.
  Test that properties can be added to Lua instances.
  Removed worthless gettable/settable metamethods.
  Add "property()" API wrapper.
  Turn "is_primitive" into a proper metafunction.
  Use the new property system in class_.
  Make using dependency() on non class return types a nop.
  Add function name to signature string.
  Add signature type name for object and argument.
  Get rid of unused global variable warning.
  Fix expected error messages in tests.
  Remove commented out "functor" converter.
  Simplify converters and add customization point.
  Remove old user-defined converters.
  Document the new converter customization point.
  Change private destructor test to use factory function.
  Remove obsolete typedef from converters.
  Fix GCC 'suggest parentheses' warning.
  Add '__len' to list of overloadable operators.
  Document 'tag_function'.
  Really get rid of unused global warning.
  Add test that demonstrates adopt() bug.
  Use correct index in inject_backref().
  Fix adopt() bug when used with wrapper class.
  Change test to use polymorphic type derived from wrap_base.
  Always use __declspec(dllimport/dllexport) on Windows.
  Move LUABIND_BUILDING define from Jamroot to source files.
  docs: Add note about LUABIND_DYNAMIC_LINK.

Nikolas Bowe (1):
  Fix adopt bug when used with derived Lua classes.

Rodolfo Lima (1):
  Synchronize the declaration of class_base::init with its definition.

Daniel Wallin
BoostPro Computing