Cython-plus

Latest version: v0.3.0

Safety actively analyzes 663899 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 13

0.28.6

===================

Bugs fixed
----------

* Extensions compiled with MinGW-64 under Windows could misinterpret integer
objects larger than 15 bit and return incorrect results.
(Github issue 2670)

* Multiplied string literals lost their factor when they are part of another
constant expression (e.g. 'x' * 10 + 'y' => 'xy').

0.28.5

===================

Bugs fixed
----------

* The discouraged usage of GCC's attribute ``optimize("Os")`` was replaced by the
similar attribute ``cold`` to reduce the code impact of the module init functions.
(Github issue 2494)

* A reference leak in Py2.x was fixed when comparing str to unicode for equality.

0.28.4

===================

Bugs fixed
----------

* Reallowing ``tp_clear()`` in a subtype of an ``no_gc_clear`` extension type
generated an invalid C function call to the (non-existent) base type implementation.
(Github issue 2309)

* Exception catching based on a non-literal (runtime) tuple could fail to match the
exception. (Github issue 2425)

* Compile fix for CPython 3.7.0a2. (Github issue 2477)

0.28.3

===================

Bugs fixed
----------

* Set iteration was broken in non-CPython since 0.28.

* ``UnicodeEncodeError`` in Py2 when ``%s`` formatting is optimised for
unicode strings. (Github issue 2276)

* Work around a crash bug in g++ 4.4.x by disabling the size reduction setting
of the module init function in this version. (Github issue 2235)

* Crash when exceptions occur early during module initialisation.
(Github issue 2199)

0.28.2

===================

Features added
--------------

* ``abs()`` is faster for Python long objects.

* The C++11 methods ``front()`` and ``end()`` were added to the declaration of
``libcpp.string``. Patch by Alex Huszagh. (Github issue 2123)

* The C++11 methods ``reserve()`` and ``bucket_count()`` are declared for
``libcpp.unordered_map``. Patch by Valentin Valls. (Github issue 2168)

Bugs fixed
----------

* The copy of a read-only memoryview was considered read-only as well, whereas
a common reason to copy a read-only view is to make it writable. The result
of the copying is now a writable buffer by default.
(Github issue 2134)

* The ``switch`` statement generation failed to apply recursively to the body of
converted if-statements.

* ``NULL`` was sometimes rejected as exception return value when the returned
type is a fused pointer type.
Patch by Callie LeFave. (Github issue 2177)

* Fixed compatibility with PyPy 5.11.
Patch by Matti Picus. (Github issue 2165)

Other changes
-------------

* The NumPy tutorial was rewritten to use memoryviews instead of the older
buffer declaration syntax.
Contributed by Gabriel de Marmiesse. (Github issue 2162)

0.28.1

===================

Bugs fixed
----------

* ``PyFrozenSet_New()`` was accidentally used in PyPy where it is missing
from the C-API.

* Assignment between some C++ templated types were incorrectly rejected
when the templates mix ``const`` with ``ctypedef``.
(Github issue 2148)

* Undeclared C++ no-args constructors in subclasses could make the compilation
fail if the base class constructor was declared without ``nogil``.
(Github issue 2157)

* Bytes %-formatting inferred ``basestring`` (bytes or unicode) as result type
in some cases where ``bytes`` would have been safe to infer.
(Github issue 2153)

* ``None`` was accidentally disallowed as typed return value of ``dict.pop()``.
(Github issue 2152)

Page 5 of 13

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.