diff options
author | wiz <wiz@pkgsrc.org> | 2014-09-15 06:47:10 +0000 |
---|---|---|
committer | wiz <wiz@pkgsrc.org> | 2014-09-15 06:47:10 +0000 |
commit | db52a798c3f5859c9281e2de00f1d97152a08ba7 (patch) | |
tree | 8ab55dd67785944a978e303837a71891b812e4f4 /devel/py-cython | |
parent | a2e6dcfabe69cd98d2b9a3ebcded5d22fdf17db9 (diff) | |
download | pkgsrc-db52a798c3f5859c9281e2de00f1d97152a08ba7.tar.gz |
Why did I commit that, I wonder.
Diffstat (limited to 'devel/py-cython')
-rw-r--r-- | devel/py-cython/log | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/devel/py-cython/log b/devel/py-cython/log deleted file mode 100644 index f011e189660..00000000000 --- a/devel/py-cython/log +++ /dev/null @@ -1,141 +0,0 @@ -0.21 (2014-09-10) -================= - -Features added --------------- - -* C (cdef) functions allow inner Python functions. - -* Enums can now be declared as cpdef to export their values to - the module's Python namespace. Cpdef enums in pxd files export - their values to their own module, iff it exists. - -* Allow @staticmethod decorator to declare static cdef methods. - This is especially useful for declaring "constructors" for - cdef classes that can take non-Python arguments. - -* Taking a ``char*`` from a temporary Python string object is safer - in more cases and can be done inside of non-trivial expressions, - including arguments of a function call. A compile time error - is raised only when such a pointer is assigned to a variable and - would thus exceed the lifetime of the string itself. - -* Generators have new properties ``__name__`` and ``__qualname__`` - that provide the plain/qualified name of the generator function - (following CPython 3.5). See http://bugs.python.org/issue21205 - -* The ``inline`` function modifier is available as a decorator - ``@cython.inline`` in pure mode. - -* When cygdb is run in a virtualenv, it enables the same virtualenv - inside of the debugger. Patch by Marc Abramowitz. - -* PEP 465: dedicated infix operator for matrix multiplication (A @ B). - -* HTML output of annotated code uses Pygments for code highlighting - and generally received a major overhaul by Matthias Bussonier. - -* IPython magic support is now available directly from Cython with - the command "%load_ext cython". Cython code can directly be - executed in a cell when marked with "%%cython". Code analysis - is available with "%%cython -a". Patch by Martín Gaitán. - -* Simple support for declaring Python object types in Python signature - annotations. Currently requires setting the compiler directive - ``annotation_typing=True``. - -* New directive ``use_switch`` (defaults to True) to optionally disable - the optimization of chained if statement to C switch statements. - -* Defines dynamic_cast et al. in ``libcpp.cast`` and C++ heap data - structure operations in ``libcpp.algorithm``. - -* Shipped header declarations in ``posix.*`` were extended to cover - more of the POSIX API. Patches by Lars Buitinck and Mark Peek. - -Optimizations -------------- - -* Simple calls to C implemented Python functions/methods are faster. - This also speeds up many operations on builtins that Cython cannot - otherwise optimise. - -* The "and"/"or" operators try to avoid unnecessary coercions of their - arguments. They now evaluate the truth value of each argument - independently and only coerce the final result of the whole expression - to the target type (e.g. the type on the left side of an assignment). - This also avoids reference counting overhead for Python values during - evaluation and generally improves the code flow in the generated C code. - -* The Python expression "2 ** N" is optimised into bit shifting. - See http://bugs.python.org/issue21420 - -* Cascaded assignments (a = b = ...) try to minimise the number of - type coercions. - -* Calls to ``slice()`` are translated to a straight C-API call. - -Bugs fixed ----------- - -* Crash when assigning memory views from ternary conditional expressions. - -* Nested C++ templates could lead to unseparated ">>" characters being - generated into the C++ declarations, which older C++ compilers could - not parse. - -* Sending SIGINT (Ctrl-C) during parallel cythonize() builds could - hang the child processes. - -* No longer ignore local setup.cfg files for distutils in pyximport. - Patch by Martin Teichmann. - -* Taking a ``char*`` from an indexed Python string generated unsafe - reference counting code. - -* Set literals now create all of their items before trying to add them - to the set, following the behaviour in CPython. This makes a - difference in the rare case that the item creation has side effects - and some items are not hashable (or if hashing them has side effects, - too). - -* Cython no longer generates the cross product of C functions for code - that uses memory views of fused types in function signatures (e.g. - ``cdef func(floating[:] a, floating[:] b)``). This is considered the - expected behaviour by most users and was previously inconsistent with - other structured types like C arrays. Code that really wants all type - combinations can create the same fused memoryview type under different - names and use those in the signature to make it clear which types are - independent. - -* Names that were unknown at compile time were looked up as builtins at - runtime but not as global module names. Trying both lookups helps with - globals() manipulation. - -* Fixed stl container conversion for typedef element types. - -* ``obj.pop(x)`` truncated large C integer values of x to ``Py_ssize_t``. - -* ``__init__.pyc`` is recognised as marking a package directory - (in addition to .py, .pyx and .pxd). - -* Syntax highlighting in ``cython-mode.el`` for Emacs no longer - incorrectly highlights keywords found as part of longer names. - -* Correctly handle ``from cython.submodule cimport name``. - -* Fix infinite recursion when using super with cpdef methods. - -* No-args ``dir()`` was not guaranteed to return a sorted list. - -Other changes -------------- - -* The header line in the generated C files no longer contains the - timestamp but only the Cython version that wrote it. This was - changed to make builds more reproducible. - -* Removed support for CPython 2.4, 2.5 and 3.1. - -* The licensing implications on the generated code were clarified - to avoid legal constraints for users. |