Cython v0.27.1 Release Notes

Release Date: 2017-10-01 // over 6 years ago
  • ๐Ÿ”‹ Features added

    • The Jupyter magic has a new debug option --verbose that shows details about the distutils invocation. Patch by Boris Filippov (Github issue :issue:1881).

    ๐Ÿ› Bugs fixed

    • Py3 list comprehensions in class bodies resulted in invalid C code. (Github issue :issue:1889)

    • Modules built for later CPython 3.5.x versions failed to import in 3.5.0/3.5.1. (Github issue :issue:1880)

    • Deallocating fused types functions and methods kept their GC tracking enabled, which could potentially lead to recursive deallocation attempts.

    • Crash when compiling in C++ mode with old setuptools versions. (Github issue :issue:1879)

    • C++ object arguments for the constructor of Cython implemented C++ are now passed by reference and not by value to allow for non-copyable arguments, such as unique_ptr.

    • API-exported C++ classes with Python object members failed to compile. (Github issue :issue:1866)

    • ๐Ÿ‘ป Some issues with the new relaxed exception value handling were resolved.

    • Python classes as annotation types could prevent compilation. (Github issue :issue:1887)

    • Cython annotation types in Python files could lead to import failures with a "cython undefined" error. Recognised types are now turned into strings.

    • Coverage analysis could fail to report on extension modules on some platforms.

    • ๐Ÿ“œ Annotations could be parsed (and rejected) as types even with annotation_typing=False.

    Other changes

    • 0๏ธโƒฃ PEP 489 support has been disabled by default to counter incompatibilities with import setups that try to reload or reinitialise modules.