Cython v0.17.2 Release Notes

Release Date: 2012-11-20 // over 11 years ago
  • ๐Ÿ”‹ Features added

    • cythonize() gained a best effort compile mode that can be used to simply ignore .py files that fail to compile.

    ๐Ÿ› Bugs fixed

    • Replacing an object reference with the value of one of its cdef attributes could generate incorrect C code that accessed the object after deleting its last reference.

    • C-to-Python type coercions during cascaded comparisons could generate invalid C code, specifically when using the 'in' operator.

    • "obj[1,]" passed a single integer into the item getter instead of a tuple.

    • Cyclic imports at module init time did not work in Py3.

    • The names of C++ destructors for template classes were built incorrectly.

    • In pure mode, type casts in Cython syntax and the C ampersand operator are now rejected. Use the pure mode replacements instead.

    • In pure mode, C type names and the sizeof() function are no longer recognised as such and can be used as normal Python names.

    • ๐Ÿ‘ The extended C level support for the CPython array type was declared too late to be used by user defined classes.

    • C++ class nesting was broken.

    • ๐Ÿ‘ Better checking for required nullary constructors for stack-allocated C++ instances.

    • โœ‚ Remove module docstring in no-docstring mode.

    • ๐Ÿ›  Fix specialization for varargs function signatures.

    • ๐Ÿ›  Fix several compiler crashes.

    Other changes

    • An experimental distutils script for compiling the CPython standard library was added as Tools/cystdlib.py.