Bug-fix release. Thanks to Dave Malcolm and his cpychecker tool, a number of significant bugs (refcount leaks and potential NULL-pointer dereferences) have been fixed.
Furthermore, compatibility with Python 3 has been improved; this however required changing the meaning of the namespace argument to the functions: if passed, None is no longer a valid value; pass an empty string if (due to the structure of your program) you have to pass this argument but want to specify no namespace.
Also, the project home page has changed from SourceForge to GitHub, and the documentation has been converted from epydoc-based to sphinx.
Implemented support for Python 3. This required a significant change to the C module, hence the new version number.
The old functions ({get,set,list,remove}xattr) are deprecated and replaced with a new API that is namespace-aware and hopefully will allow other OSes (e.g. FreeBSD) to be supported more naturally.
Both the old and the new API are supported in the 0.4 versions, however users are encouraged to migrate to the new API.
A new bulk get function called get_all() has been added that should be somewhat faster in case of querying files which have many attributes.
Since LGPLv3 is not compatible with GPLv2 (which unfortunately I didn’t realize before), the license was changed to LGPLv2.1 or later.
Unittest coverage was improved.