From now, when you call the class, you are creating a Lua-managed object, the same as calling new_local() previously. You can still use new() to create unmanaged objects, suitable for parent/child mechanism of Qt. This makes it behave more like C++ - you can use QObject() to create a temporary object and QObject.new() to create an unmanaged object, which you can free using delete(). The new_local() function is removed, which may break some scripts.