Matej Cepl
e19284907f
- The complete list is seriously long, so I would relegate you to https://github.com/cython/cython/blob/master/CHANGES.rst - The implemented PEPs are: - PEP-3131: Supporting Non-ASCII Identifiers - PEP-479: generator_stop (enabled by default for language_level=3) - PEP-487: Simpler customisation of class creation - PEP-563: Postponed Evaluation of Annotations - PEP-570: Positional-Only Parameters - PEP-572: Assignment Expressions (a.k.a. the walrus operator :=) - PEP-590: Vectorcall protocol - PEP-614: Relaxing Grammar Restrictions On Decorators - Cython supports all released versions of Python from 2.7 to 3.11 (and some experimental parts of 3.12) inclusive. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython3?expand=0&rev=8
2051 lines
102 KiB
Plaintext
2051 lines
102 KiB
Plaintext
-------------------------------------------------------------------
|
||
Wed Jul 19 12:23:38 UTC 2023 - Matej Cepl <mcepl@suse.com>
|
||
|
||
- Update to the official release of 3.0.0:
|
||
- The complete list is seriously long, so I would relegate you
|
||
to https://github.com/cython/cython/blob/master/CHANGES.rst
|
||
- The implemented PEPs are:
|
||
- PEP-3131: Supporting Non-ASCII Identifiers
|
||
- PEP-479: generator_stop (enabled by default for language_level=3)
|
||
- PEP-487: Simpler customisation of class creation
|
||
- PEP-563: Postponed Evaluation of Annotations
|
||
- PEP-570: Positional-Only Parameters
|
||
- PEP-572: Assignment Expressions (a.k.a. the walrus operator :=)
|
||
- PEP-590: Vectorcall protocol
|
||
- PEP-614: Relaxing Grammar Restrictions On Decorators
|
||
- Cython supports all released versions of Python from 2.7 to
|
||
3.11 (and some experimental parts of 3.12) inclusive.
|
||
|
||
-------------------------------------------------------------------
|
||
Wed May 24 15:04:47 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
|
||
|
||
- Update to 3.0.0~b3:
|
||
* Features added
|
||
* Custom buffer slot methods are now supported in the Limited C-API of
|
||
Python 3.9+. Patch by Lisandro Dalcin. (Github issue :issue:`5422`)
|
||
* The extern "C" and extern "C++" markers that Cython generates for public
|
||
functions can now be controlled by setting the C macro CYTHON_EXTERN_C.
|
||
* The Python int handling code was adapted to make use of the new PyLong
|
||
internals in CPython 3.12. (Github issue :issue:`5353`)
|
||
* Conversion of Python ints to C int128 is now always supported, although
|
||
slow if dedicated C-API support is missing (_PyLong_AsByteArray()),
|
||
specifically in the Limited C-API. (Github issue :issue:`5419`)
|
||
* The exception handling code was adapted to CPython 3.12. (Github
|
||
issue :issue:`5442`)
|
||
* The dataclass implementation was adapted to support Python 3.12. (Github
|
||
issue :issue:`5346`)
|
||
* The normal @dataclasses.dataclass and @functools.total_ordering
|
||
decorators can now be used on extension types. Using the corresponding
|
||
@cython.* deorators with automatically turn a Python class into an
|
||
extension type (no need for @cclass). (Github issue :issue:`5292`)
|
||
* Multiplying a sequence by a C integer avoids creating an intermediate
|
||
Python integer.
|
||
* ctuples can now be assigned from arbitrary sequences, not just Python
|
||
tuples.
|
||
* A new directive embedsignature.format was added to select the format
|
||
of the docstring embedded signatures between python, c and argument
|
||
clinic. Patch by Lisandro Dalcin. (Github issue :issue:`5415`)
|
||
* Some invalid directive usages are now detected and rejected, e.g. using
|
||
@ccall together with @cfunc, and applying @cfunc to a @ufunc. Cython also
|
||
warns now when a directive is applies needlessly. (Github issue
|
||
:issue:`5399` et al.)
|
||
* Unicode identifier names now allow all letters defined in CPython 3.12.
|
||
* Bugs fixed
|
||
* Some C compile failures in CPython 3.12.0a6/a7 were resolved.
|
||
* Cascaded comparisons between integer constants and Python types could
|
||
fail to compile. (Github issue :issue:`5354`)
|
||
* The internal macro __PYX_IS_UNSIGNED was accidentally duplicated in
|
||
beta 2 which lead to C compile errors. Patch by 0dminnimda. (Github
|
||
issue :issue:`5356`)
|
||
* Memoryviews with typedef item types could fail to match the non-typedef
|
||
item types. Patch by Yue Yang. (Github issue :issue:`5373`)
|
||
* Fused memory views could raise a TypeError instead of a ValueError on
|
||
creation. Patch by Matúš Valo. (Github issue :issue:`5401`)
|
||
* Cython could crash when finding import files with dots in their
|
||
names. Patch by Matúš Valo. (Github issue :issue:`5396`)
|
||
* Selecting a context manager in parentheses and then calling it directly
|
||
failed to parse. (Github issue :issue:`5403`)
|
||
* __qualname__ and __module__ were not available inside of class
|
||
bodies. (Github issue :issue:`4447`)
|
||
* noexcept was not automatically applied to function pointer attributes in
|
||
extern structs. Patch by Matúš Valo. (Github issue :issue:`5359`)
|
||
* Function signatures containing a type like tuple[()] could not be
|
||
printed. Patch by Lisandro Dalcin. (Github issue :issue:`5355`)
|
||
* Extension type hierarchies were generated in the wrong order, thus
|
||
leading to compile issues. Patch by Lisandro Dalcin. (Github issue
|
||
:issue:`5395`)
|
||
* Using the --working option could lead to sources not being found. Patch
|
||
by Lisandro Dalcin. (Github issue :issue:`5365`)
|
||
* Some C compiler warnings were resolved. Patches by Matt Tyson,
|
||
Lisandro Dalcin, Philipp Wagner, Matti Picus et al. (Github issues
|
||
:issue:`5417`, :issue:`5418`, :issue:`5421`, :issue:`5437`,
|
||
:issue:`5438`, :issue:`5443`)
|
||
* Includes all bug-fixes and features from the 0.29 maintenance branch up
|
||
to the :ref:`0.29.35` release.
|
||
* Other changes
|
||
* For-loops now release the internal reference to their list/tuple
|
||
iterable before instead of after the else: clause. This probably has no
|
||
practical impact. (Github issue :issue:`5347`)
|
||
* Simple tuple types like (int, int) are no longer accepted in Python
|
||
annotations and require the Python notation instead (e.g.
|
||
tuple[cython.int, cython.int]). (Github issue :issue:`5397`)
|
||
* The code except +nogil (declaring a C++ exception handler function
|
||
called nogil) is now rejected because it is almost certainly a typo
|
||
from except + nogil. (Github issue :issue:`5430`)
|
||
|
||
-------------------------------------------------------------------
|
||
Mon May 22 08:52:15 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||
|
||
- add sle15_python_module_pythons (jsc#PED-68)
|
||
|
||
-------------------------------------------------------------------
|
||
Sat May 20 11:00:21 UTC 2023 - Ben Greiner <code@bnavigator.de>
|
||
|
||
- Update to 3.0.0~b2
|
||
# Features added
|
||
* C++ declarations for <cmath>, <numbers> and std::any were
|
||
added. Patches by Jonathan Helgert and Maximilien Colange.
|
||
(Github issues #5262, #5309, #5314)
|
||
# Bugs fixed
|
||
* Unintended internal exception handling lead to a visible
|
||
performance regression for nogil memoryview code in 3.0.0b1.
|
||
(Github issue #5324)
|
||
* None default arguments for arguments with fused memoryview
|
||
types could select a different implementation in 3.0 than in
|
||
0.29.x. The selection behaviour is generally considered
|
||
suboptimal but was at least reverted to the old behaviour for
|
||
now. (Github issue #5297)
|
||
* The new complex vs. floating point behaviour of the ** power
|
||
operator accidentally added a dependency on the GIL, which was
|
||
really only required on failures. (Github issue #5287)
|
||
* from cython cimport … as … could lead to imported names not
|
||
being found in annotations. Patch by Chia-Hsiang Cheng. (Github
|
||
issue #5235)
|
||
* Generated NumPy ufuncs could crash for large arrays due to
|
||
incorrect GIL handling. (Github issue #5328)
|
||
* Very long Python integer constants could exceed the maximum C
|
||
name length of MSVC. Patch by 0dminnimda. (Github issue #5290)
|
||
* cimport_from_pyx could miss some declarations. Patch by
|
||
Chia-Hsiang Cheng. (Github issue #5318)
|
||
* Fully qualified C++ names prefixed by a cimported module name
|
||
could fail to compile. Patch by Chia-Hsiang Cheng. (Github
|
||
issue #5229)
|
||
* Cython generated C++ code accidentally used C++11 features in
|
||
some cases. (Github issue #5316)
|
||
* Some C++ warnings regarding const usage in internally generated
|
||
utility code were resolved. Patch by Max Bachmann. (Github
|
||
issue #5301)
|
||
* With language_level=2, imports of modules in packages could
|
||
return the wrong module in Python 3. (Github issue #5308)
|
||
* typing.Optional could fail on tuple types. (Github issue #5263)
|
||
* Auto-generated utility code didn’t always have all required
|
||
user defined types available. (Github issue #5269)
|
||
* Type checks for Python’s memoryview type generated incorrect C
|
||
code. (Github issues #5268, #5270)
|
||
* Some issues with depfile generation were resolved. Patches by
|
||
Eli Schwartz. (Github issues #5279, #5291)
|
||
* Some C code issue were resolved for the Limited API target.
|
||
(Github issues #5264, #5265, #5266)
|
||
* The C code shown in the annotated HTML output could lack the
|
||
last C code line(s).
|
||
- Release 3.0.0~b1
|
||
# Features added
|
||
* Cython implemented C functions now propagate exceptions by
|
||
default, rather than swallowing them in non-object returning
|
||
function if the user forgot to add an except declaration to the
|
||
signature. This was a long-standing source of bugs, but can
|
||
require adding the noexcept declaration to existing functions
|
||
if exception propagation is really undesired. (Github issue
|
||
#4280)
|
||
* To opt out of the new, safer exception handling behaviour,
|
||
legacy code can set the new directive
|
||
legacy_implicit_noexcept=True for a transition period to keep
|
||
the previous, unsafe behaviour. This directive will eventually
|
||
be removed in a later release. Patch by Matúš Valo. (Github
|
||
issue #5094)
|
||
* A new function decorator @cython.ufunc automatically generates
|
||
a (NumPy) ufunc that applies the calculation function to an
|
||
entire memoryview. (Github issue #4758)
|
||
* The ** power operator now behaves more like in Python by
|
||
returning the correct complex result if required by math. A new
|
||
cpow directive was added to turn on the previous C-like
|
||
behaviour. (Github issue #4936)
|
||
* The special __*pow__ methods now support the 2- and 3-argument
|
||
variants. (Github issue #5160)
|
||
* Unknown type annotations (e.g. because of typos) now emit a
|
||
warning at compile time. Patch by Matúš Valo. (Github issue
|
||
#5070)
|
||
* Subscripted builtin types in type declarations (like
|
||
list[float]) are now better supported. (Github issue #5058)
|
||
* Python’s memoryview is now a known builtin type with optimised
|
||
properties. (Github issue #3798)
|
||
* The call-time dispatch for fused memoryview types is less slow.
|
||
(Github issue #5073)
|
||
* Integer comparisons avoid Python coercions if possible. (Github
|
||
issue #4821)
|
||
* The Python Enum of a cpdef enum now inherits from IntFlag to
|
||
better match both Python and C semantics of enums. (Github
|
||
issue #2732)
|
||
* PEP-614: decorators can now be arbitrary Python expressions.
|
||
(Github issue #4570)
|
||
* cpdef enums can now be pickled. (Github issue #5120)
|
||
* Bound C methods can now coerce to Python objects. (Github
|
||
issues #4890, #5062)
|
||
* C arrays can be initialised inside of nogil functions. Patch by
|
||
Matúš Valo. (Github issue #1662)
|
||
* reversed() can now be used together with C++ iteration. Patch
|
||
by Chia-Hsiang Cheng. (Github issue #5002)
|
||
* Standard C/C++ atomic operations are now used for memory views,
|
||
if available. (Github issue #4925)
|
||
* C11 complex.h is now properly detected. (Github issue #2513)
|
||
* Nested cppclass definitions are supported. Patch by samaingw.
|
||
(Github issue #1218)
|
||
* cpp_locals no longer have to be “assignable”. (Github issue
|
||
#4558)
|
||
* cythonize --help now also prints information about the
|
||
supported environment variables. Patch by Matúš Valo. (Github
|
||
issue #1711)
|
||
* Declarations were added for the C++ bit operations, some other
|
||
parts of C++20 and CPython APIs. Patches by Jonathan Helgert,
|
||
Dobatymo, William Ayd and Max Bachmann. (Github issues #4962,
|
||
#5101, #5157, #5163, #5257)
|
||
# Bugs fixed
|
||
* Generator expressions and comprehensions now look up their
|
||
outer-most iterable on creation, as Python does, and not later
|
||
on start, as they did previously. (Github issue #1159)
|
||
* Type annotations for Python int rejected long under Py2 in the
|
||
alpha-11 release. They are now ignored again (as always before)
|
||
when language_level=2, and accept both int and long in Py2 (and
|
||
only int in Py3) otherwise. (Github * issue #4944)
|
||
* Calling bound classmethods of builtin types could fail trying
|
||
to call the unbound method. (Github issue #5051)
|
||
* int(Py_UCS4) returned the code point instead of the parsed
|
||
digit value. (Github issue #5216)
|
||
* Several problems with CPython 3.12 were resolved. (Github issue
|
||
#5238)
|
||
* The C float type was not inferred on assignments. (Github issue
|
||
#5234)
|
||
* Memoryviews with object item type were not supported in Python
|
||
type declarations. (Github issue #4907)
|
||
* Iterating over memoryviews in generator expressions could leak
|
||
a buffer reference. (Github issue #4968)
|
||
* Memory views and the internal Cython array type now identify as
|
||
collections.abc.Sequence by setting the Py_TPFLAGS_SEQUENCE
|
||
type flag directly. (Github issue #5187)
|
||
* __del__ finaliser methods were not always called if they were
|
||
only inherited. (Github issue #4995)
|
||
* Extension types are now explicitly marked as immutable types to
|
||
prevent them from being considered mutable. Patch by Max
|
||
Bachmann. (Github issue #5023)
|
||
* const types could not be returned from functions. Patch by Mike
|
||
Graham. (Github issue #5135)
|
||
* cdef public functions declared in .pxd files could use an
|
||
incorrectly mangled C name. Patch by EpigeneMax. (Github issue
|
||
#2940)
|
||
* cdef public functions used an incorrect linkage declaration in
|
||
C++. Patch by Maximilien Colange. (Github issue #1839)
|
||
* C++ post-increment/-decrement operators were not correctly
|
||
looked up on declared C++ classes, thus allowing Cython
|
||
declarations to be missing for them and incorrect C++ code to
|
||
be generated. Patch by Max Bachmann. (Github issue * #4536)
|
||
* C++ iteration more safely stores the iterable in temporary
|
||
variables. Patch by Xavier. (Github issue #3828)
|
||
* C++ references did not work on fused types. (Github issue
|
||
#4717)
|
||
* The module state struct was not initialised in correct C
|
||
(before C23), leading to compile errors on Windows. Patch by
|
||
yudonglin. (Github issue #5169)
|
||
* Structs that contained an array field resulted in incorrect C
|
||
code. Their initialisation now uses memcpy(). Patch by
|
||
Chia-Hsiang Cheng. (Github issue #5178)
|
||
* Nesting fused types in other fused types could fail to
|
||
specialise the inner type. (Github issue #4725)
|
||
* The special methods __matmul__, __truediv__, __floordiv__
|
||
failed to type their self argument. (Github issue #5067)
|
||
* Coverage analysis failed in projects with a separate source
|
||
subdirectory. Patch by Sviatoslav Sydorenko and Ruben
|
||
Vorderman. (Github issue #3636)
|
||
* The annotation_typing directive was missing in pure Python
|
||
mode. Patch by 0dminnimda. (Github issue #5194)
|
||
* The @dataclass directive was accidentally inherited by methods
|
||
and subclasses. (Github issue #4953)
|
||
* Some issues with Cython @dataclass arguments, hashing,
|
||
inheritance and repr() were resolved. (Github issues #4956,
|
||
#5046)
|
||
* cpdef enums no longer use OrderedDict but dict in Python 3.6
|
||
and later. Patch by GalaxySnail. (Github issue #5180)
|
||
* Larger numbers of extension types with multiple subclasses
|
||
could take very long to compile. Patch by Scott Wolchok.
|
||
(Github issue #5139)
|
||
* Relative imports failed in compiled __init__.py package
|
||
modules. Patch by Matúš Valo. (Github issue #3442)
|
||
* Some old usages of the deprecated Python imp module were
|
||
replaced with importlib. Patch by Matúš Valo. (Github issue
|
||
#4640)
|
||
* The cython and cythonize commands ignored non-existing input
|
||
files without error. Patch by Matúš Valo. (Github issue #4629)
|
||
* Invalid and misspelled cython.* module names were not reported
|
||
as errors. (Github issue #4947)
|
||
* Unused **kwargs arguments did not show up in locals(). (Github
|
||
issue #4899)
|
||
* Extended glob paths with /**/ and \**\ for finding source files
|
||
failed on Windows.
|
||
* Annotated HTML generation was missing newlines in 3.0.0a11.
|
||
(Github issue #4945)
|
||
* Some parser issues were resolved. (Github issue #4992)
|
||
* setup.cfg was missing from the source distribution. (Github
|
||
issue #5199)
|
||
* Some C/C++ warnings were resolved. Patches by Max Bachmann,
|
||
Alexander Shadchin, at al. (Github issues #5004, #5005, #5019,
|
||
#5029, #5096)
|
||
* The embedding code no longer calls deprecated C-API functions
|
||
but uses the new PyConfig API instead on CPython versions that
|
||
support it (3.8+). Patch by Alexander Shadchin. (Github issue
|
||
#4895)
|
||
* Intel C compilers could complain about unsupported gcc pragmas.
|
||
Patch by Ralf Gommers. (Github issue #5052)
|
||
* Includes all bug-fixes and features from the 0.29 maintenance
|
||
branch up to the 0.29.33 (2023-01-06) release.
|
||
# Other changes
|
||
* The undocumented, untested and apparently useless syntax from
|
||
somemodule cimport class/struct/union somename was removed. The
|
||
type modifier is not needed here and a plain cimport of the
|
||
name will do. (Github issue #4904)
|
||
* C-style array declarations (cdef int a[4]) are now (silently)
|
||
deprecated in favour of the Java-style cdef int[4] a form. The
|
||
latter was always available and the Python type declaration
|
||
syntax already used it exclusively (a: int[4]).Patch by Matúš
|
||
Valo. (Github issue #5248)
|
||
* The wheel building process was migrated to use the cibuildwheel
|
||
tool. Patch by Thomas Li. (Github issue #4736)
|
||
* Wheels now include a compiled parser again, which increases
|
||
their size a little but gives about a 10% speed-up when running
|
||
Cython.
|
||
* The Tempita module no longer contains HTML processing
|
||
capabilities, which were found to be broken in Python 3.8 and
|
||
later. Patch by Marcel Stimberg. (Github issue #3309)
|
||
* The Emacs Cython mode file cython-mode.el is now maintained in
|
||
* a separate repo: https://github.com/cython/emacs-cython-mode
|
||
Cython now uses a .dev0 version suffix for unreleased source
|
||
installations.
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Jan 4 20:09:35 UTC 2023 - Ben Greiner <code@bnavigator.de>
|
||
|
||
- Make a Cython3 package for 3.0.0a11 and the following
|
||
pre-releases
|
||
* required by python-gevent
|
||
* For a discussion about the alpha release maturity, see
|
||
gh#cython/cython#4022
|
||
* Does conflict but not obsolete regular python-Cython < 3
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Oct 26 01:33:21 UTC 2022 - Steve Kowalik <steven.kowalik@suse.com>
|
||
|
||
- Remove leftover Python 2 gubbins.
|
||
- Stop using handrolled macros for install and update-alternatives,
|
||
switch to the provided ones.
|
||
- Update package names in rpmlintrc.
|
||
|
||
-------------------------------------------------------------------
|
||
Tue Aug 2 11:51:50 UTC 2022 - Otto Hollmann <otto.hollmann@suse.com>
|
||
|
||
- Update to 0.29.32:
|
||
- Bugs fixed:
|
||
* Revert "Using memoryview typed arguments in inner functions is now
|
||
rejected as unsupported."
|
||
* from module import * failed in 0.29.31 when using memoryviews
|
||
- Changes from 0.29.31:
|
||
- Features added:
|
||
* A new argument --module-name was added to the cython command to provide
|
||
the (one) exact target module name from the command line.
|
||
- Bugs fixed:
|
||
* Use importlib.util.find_spec() instead of the deprecated
|
||
importlib.find_loader() function when setting up the package path at
|
||
import-time.
|
||
* Require the C compiler to support the two-arg form of va_start on
|
||
Python 3.10 and higher.
|
||
* Make fused_type subscriptable in Shadow.py.
|
||
* Fix the incorrect code generation of the target type in bytearray loops.
|
||
* Atomic refcounts for memoryviews were not used on some GCC versions by
|
||
accident.
|
||
* Silence some GCC -Wconversion warnings in C utility code.
|
||
* Tuple multiplication was ignored in expressions such as [*(1,) * 2].
|
||
* Calling append methods on extension types could fail to find the method in
|
||
some cases.
|
||
* Ensure that object buffers (e.g. ndarray[object, ndim=1]) containing NULL
|
||
pointers are safe to use, returning None instead of the NULL pointer.
|
||
* Using memoryview typed arguments in inner functions is now rejected as
|
||
unsupported.
|
||
* Compilation could fail on systems (e.g. FIPS) that block MD5 checksums at
|
||
runtime.
|
||
* Experimental adaptations for the CPython "nogil" fork was added. Note that
|
||
there is no official support for this in Cython 0.x.
|
||
|
||
-------------------------------------------------------------------
|
||
Wed May 18 08:35:39 UTC 2022 - Paolo Stivanin <info@paolostivanin.com>
|
||
|
||
- update to 0.29.30:
|
||
* Avoid acquiring the GIL at the end of nogil functions. This change
|
||
was backported in order to avoid generating wrong C code that
|
||
would trigger C compiler warnings with tracing support enabled.
|
||
* Function definitions in finally: clauses were not correctly generated.
|
||
* A case where C-API functions could be called with a live exception
|
||
set was fixed.
|
||
* Cython now correctly generates Python methods for both the provided
|
||
regular and reversed special numeric methods of extension types.
|
||
* The C union type in pure Python mode mishandled some field names.
|
||
|
||
-------------------------------------------------------------------
|
||
Sun Mar 20 20:33:02 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||
|
||
- update to 0.29.28:
|
||
* Due to backwards incompatible changes in CPython 3.11a4, the feature flags
|
||
``CYTHON_FAST_THREAD_STATE`` and ``CYTHON_USE_EXC_INFO_STACK`` are now disabled
|
||
in Python 3.11 and later. They are enabled again in Cython 3.0.
|
||
Patch by David Woods. (Github issue #4610)
|
||
* A C compiler warning in older PyPy versions was resolved.
|
||
Patch by Matti Picus. (Github issue #4236)
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Feb 2 17:54:50 UTC 2022 - Matej Cepl <mcepl@suse.com>
|
||
|
||
- Make the running the test suite conditional (default
|
||
off). Seven hours of running it is just too much.
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Jan 31 20:31:01 UTC 2022 - Matej Cepl <mcepl@suse.com>
|
||
|
||
- Enable running of the test suite.
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Jan 31 13:46:21 UTC 2022 - Paolo Stivanin <info@paolostivanin.com>
|
||
|
||
- update to 0.29.27:
|
||
* The ``cythonize`` command has a new option ``-M`` to generate ``.dep`` dependency
|
||
files for the compilation unit. This can be used by external build tools to track
|
||
these dependencies.
|
||
* Calls to ``range()`` with more than three arguments did not fail.
|
||
* Some C compiler warnings about missing type struct initialisers in Py3.10 were resolved.
|
||
* Cython no longer warns about using OpenMP 3.0 features since they are now
|
||
considered generally available.
|
||
|
||
-------------------------------------------------------------------
|
||
Tue Jan 4 15:59:48 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||
|
||
- update to 0.29.26:
|
||
* An incompatibility with CPython 3.11.0a3 was resolved.
|
||
* The ``in`` operator failed on literal lists with starred
|
||
expressions.
|
||
* A C compiler warning in PyPy about a missing struct field
|
||
initialisation was resolved.
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Dec 6 20:16:04 UTC 2021 - Dirk Müller <dmueller@suse.com>
|
||
|
||
- update to 0.29.25:
|
||
* Several incompatibilities with CPython 3.11 were resolved.
|
||
* Some C compiler warnings were resolved.
|
||
* C++ ``std::move()`` should only be used automatically in MSVC versions that support it.
|
||
* The ``Py_hash_t`` type failed to accept arbitrary "index" values.
|
||
* Avoid copying unaligned 16-bit values since some platforms require them to be aligned.
|
||
Use memcpy() instead to let the C compiler decide how to do it.
|
||
* Cython crashed on invalid truthiness tests on C++ types without ``operator bool``.
|
||
* The declaration of ``PyUnicode_CompareWithASCIIString()`` in ``cpython.unicode`` was incorrect.
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Jul 14 08:28:08 UTC 2021 - Paolo Stivanin <info@paolostivanin.com>
|
||
|
||
- Update to 0.29.24:
|
||
* Inline functions in pxd files that used memory views could lead to invalid
|
||
C code if the module that imported from them does not use memory views.
|
||
* Several declarations in ``libcpp.string`` were added and corrected.
|
||
* Pickling unbound Cython compiled methods failed.
|
||
* The tracing code was adapted to work with CPython 3.10.
|
||
* The optimised ``in`` operator failed on unicode strings in Py3.9 and later
|
||
that were constructed from an external ``wchar_t`` source.
|
||
Also, related C compiler warnings about deprecated C-API usage were resolved.
|
||
* Some compiler crashes were resolved.
|
||
* An incorrect warning about 'unused' generator expressions was removed.
|
||
* The attributes ``gen.gi_frame`` and ``coro.cr_frame`` of Cython compiled
|
||
generators and coroutines now return an actual frame object for introspection,
|
||
instead of ``None``.
|
||
- Drop cython_use_imgmath.patch
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Apr 21 21:19:17 UTC 2021 - Dirk Müller <dmueller@suse.com>
|
||
|
||
- update to 0.29.23:
|
||
* Some problems with Python 3.10 were resolved.
|
||
Patches by Victor Stinner and David Woods. (Github issues #4046, #4100)
|
||
* An incorrect "optimisation" was removed that allowed changes to a keyword
|
||
dict to leak into keyword arguments passed into a function.
|
||
Patch by Peng Weikang. (Github issue #3227)
|
||
* Multiplied str constants could end up as bytes constants with language_level=2.
|
||
Patch by Alphadelta14 and David Woods. (Github issue #3951)
|
||
* ``PY_SSIZE_T_CLEAN`` does not get defined any more if it is already defined.
|
||
Patch by Andrew Jones. (Github issue #4104)
|
||
|
||
-------------------------------------------------------------------
|
||
Tue Feb 23 07:22:13 UTC 2021 - Paolo Stivanin <info@paolostivanin.com>
|
||
|
||
- Update to 0.29.22
|
||
* Some declarations were added to the provided pxd includes.
|
||
Patches by Zackery Spytz and John Kirkham.
|
||
(Github issues #3811, #3882, #3899, #3901)
|
||
* A crash when calling certain functions in Py3.9 and later was resolved.
|
||
(Github issue #3917)
|
||
* ``const`` memory views of structs failed to compile.
|
||
(Github issue #2251)
|
||
* ``const`` template declarations could not be nested.
|
||
Patch by Ashwin Srinath. (Github issue #1355)
|
||
* The declarations in the ``cpython.pycapsule`` module were missing their
|
||
``const`` modifiers and generated incorrect C code.
|
||
Patch by Warren Weckesser. (Github issue #3964)
|
||
* Casts to memory views failed for fused dtypes.
|
||
Patch by David Woods. (Github issue #3881)
|
||
* ``repr()`` was assumed to return ``str`` instead of ``unicode``
|
||
with ``language_level=3``
|
||
* Calling ``cpdef`` functions from cimported modules crashed the compiler.
|
||
Patch by David Woods. (Github issue #4000)
|
||
* Cython no longer validates the ABI size of the NumPy classes
|
||
it compiled against.
|
||
* A C compiler warning about enum value casting was resolved in GCC.
|
||
(Github issue #2749)
|
||
* Coverage reporting in the annotated HTML file failed in Py3.9.
|
||
Patch by Nick Pope. (Github issue #3865)
|
||
* The embedding code now reports Python errors as exit status.
|
||
* Long type declarations could lead to (harmless) random changes in the
|
||
C file when used in auto-generated Python wrappers or pickled classes.
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Jul 8 22:36:13 UTC 2020 - Ondřej Súkup <mimi.vx@gmail.com>
|
||
|
||
- Update TO 0.29.21
|
||
* Fix a regression in 0.29.20 where __div__ failed to be found in extension types
|
||
* Fix a regression in 0.29.20 where a call inside of a finally clause could
|
||
fail to compile
|
||
* Zero-sized buffers could fail to validate as C/Fortran-contiguous.
|
||
* exec() did not allow recent Python syntax features in Py3.8+
|
||
due to https://bugs.python.org/issue35975
|
||
* Binding staticmethods of Cython functions were not behaving like
|
||
Python methods in Py3
|
||
* Pythran calls to NumPy methods no longer generate useless method lookup code.
|
||
* The PyUnicode_GET_LENGTH() macro was missing from the cpython.* declarations
|
||
* The deprecated PyUnicode_*() C-API functions are no longer used, except
|
||
for Unicode strings that contain lone surrogates. Unicode strings that
|
||
contain non-BMP characters or surrogate pairs now generate different C
|
||
code on 16-bit Python 2.x Unicode deployments (such as MS-Windows).
|
||
Generating the C code on Python 3.x is recommended in this case
|
||
* Some template parameters were missing from the C++ std::unordered_map declaration
|
||
* Several internal code generation issues regarding temporary variables were resolved
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Jun 11 06:30:55 UTC 2020 - Paolo Stivanin <info@paolostivanin.com>
|
||
|
||
- Update to 0.29.20
|
||
* Nested try-except statements with multiple return statements
|
||
could crash due to incorrect deletion of the except as target variable.
|
||
* The @classmethod decorator no longer rejects unknown input from other decorators.
|
||
* Fused types could leak into unrelated usages. Patch by David Woods.
|
||
* Now uses Py_SET_SIZE() and Py_SET_REFCNT() in Py3.9+ to avoid
|
||
low-level write access to these object field
|
||
* The built-in abs() function could lead to undefined behaviour when used on
|
||
the negative-most value of a signed C integer type
|
||
* Usages of sizeof() and typeid() on uninitialised variables no longer produce a warning
|
||
* The C++ typeid() function was allowed in C mode
|
||
* The error position reported for errors found in f-strings was misleading
|
||
* The new c_api_binop_methods directive was added for forward compatibility,
|
||
but can only be set to True (the current default value). It can be disabled in Cython 3.0
|
||
|
||
|
||
-------------------------------------------------------------------
|
||
Thu May 21 15:16:20 UTC 2020 - Paolo Stivanin <info@paolostivanin.com>
|
||
|
||
- Update to 0.29.19
|
||
* Exception position reporting could run into race conditions on threaded code.
|
||
It now uses function-local variables again.
|
||
* Error handling early in the module init code could lead to a crash.
|
||
* Error handling in cython.array creation was improved to avoid calling C-API
|
||
functions with an error held.
|
||
* A memory corruption was fixed when garbage collection was triggered during
|
||
calls to PyType_Ready() of extension type subclasses. (Github issue #3603)
|
||
* Memory view slicing generated unused error handling code which could negatively
|
||
impact the C compiler optimisations for parallel OpenMP code etc.
|
||
Also, it is now helped by static branch hints. (Github issue #2987)
|
||
* Cython's built-in OpenMP functions were not translated inside of call arguments.
|
||
Original patch by Celelibi and David Woods. (Github issue #3594)
|
||
* Complex buffer item types of structs of arrays could fail to validate.
|
||
* Decorators were not allowed on nested async def functions.
|
||
* C-tuples could use invalid C struct casting. Patch by MegaIng.
|
||
* Optimised %d string formatting into f-strings failed on float values.
|
||
* Optimised aligned string formatting (%05s, %-5s) failed.
|
||
* Three missing timedelta access macros were added in cpython.datetime.
|
||
* The signature of the NumPy C-API function PyArray_SearchSorted() was fixed
|
||
|
||
-------------------------------------------------------------------
|
||
Mon May 4 07:29:52 UTC 2020 - Johannes Grassler <johannes.grassler@suse.com>
|
||
|
||
- update to 0.29.17
|
||
* std::move() is now available from libcpp.utility.
|
||
* The @cython.binding decorator is available in Python code.
|
||
|
||
-------------------------------------------------------------------
|
||
Fri Apr 17 08:10:03 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
|
||
|
||
- update to 0.29.16
|
||
* Temporary internal variables in nested prange loops could leak into other
|
||
threads. Patch by Frank Schlimbach. (Github issue #3348)
|
||
* Default arguments on fused functions could crash.
|
||
Patch by David Woods. (Github issue #3370)
|
||
* C-tuples declared in ``.pxd`` files could generate incomplete C code.
|
||
Patch by Kirk Meyer. (Github issue #1427)
|
||
* Fused functions were not always detected and optimised as Cython
|
||
implemented functions.
|
||
Patch by David Woods. (Github issue #3384)
|
||
* Valid Python object concatenation of (iterable) strings to non-strings
|
||
could fail with an exception.
|
||
Patch by David Woods. (Github issue #3433)
|
||
* Using C functions as temporary values lead to invalid C code.
|
||
Original patch by David Woods. (Github issue #3418)
|
||
* Fix an unhandled C++ exception in comparisons.
|
||
Patch by David Woods. (Github issue #3361)
|
||
* Fix deprecated import of "imp" module.
|
||
Patch by Matti Picus. (Github issue #3350)
|
||
* Fix compatibility with Pythran 0.9.6 and later.
|
||
Patch by Serge Guelton. (Github issue #3308)
|
||
* The ``_Py_PyAtExit()`` function in ``cpython.pylifecycle`` was misdeclared.
|
||
Patch by Zackery Spytz. (Github issue #3382)
|
||
* Several missing declarations in ``cpython.*`` were added.
|
||
Patches by Zackery Spytz. (Github issue #3452, #3421, #3411, #3402)
|
||
* A declaration for ``libc.math.fpclassify()`` was added.
|
||
Patch by Zackery Spytz. (Github issue #2514)
|
||
* Avoid "undeclared" warning about automatically generated pickle methods.
|
||
Patch by David Woods. (Github issue #3353)
|
||
* Avoid C compiler warning about unreachable code in ``prange()``.
|
||
* Some C compiler warnings in PyPy were resolved.
|
||
Patch by Matti Picus. (Github issue #3437)
|
||
|
||
-------------------------------------------------------------------
|
||
Tue Feb 18 16:45:37 UTC 2020 - Ondřej Súkup <mimi.vx@gmail.com>
|
||
|
||
- update to 0.29.15
|
||
* Crash when returning a temporary Python object from an async-def function.
|
||
* Crash when using **kwargs in generators.
|
||
* Double reference free in __class__ cell handling for super() calls.
|
||
* Compile error when using *args as Python class bases.
|
||
* Fixed C name collision in the auto-pickle code
|
||
* Deprecated import failed in Python 3.9
|
||
|
||
-------------------------------------------------------------------
|
||
Sat Nov 16 16:44:06 UTC 2019 - Arun Persaud <arun@gmx.de>
|
||
|
||
- update to version 0.29.14:
|
||
* Bugs fixed
|
||
+ The generated code failed to initialise the tp_print slot in
|
||
CPython 3.8. Patches by Pablo Galindo and Orivej Desh (Github
|
||
issues #3171, #3201).
|
||
+ ? for bool was missing from the supported NumPy dtypes. Patch by
|
||
Max Klein. (Github issue #2675)
|
||
+ await was not allowed inside of f-strings. Patch by Dmitro
|
||
Getz. (Github issue #2877)
|
||
+ Coverage analysis failed for projects where the code resides in
|
||
separate source sub-directories. Patch by Antonio
|
||
Valentino. (Github issue #1985)
|
||
+ An incorrect compiler warning was fixed in automatic C++ string
|
||
conversions. Patch by Gerion Entrup. (Github issue #3108)
|
||
+ Error reports in the Jupyter notebook showed unhelpful stack
|
||
traces. Patch by Matthew Edwards (Github issue #3196).
|
||
+ Python.h is now also included explicitly from public header
|
||
files. (Github issue #3133).
|
||
+ Distutils builds with --parallel did not work when using
|
||
Cython's deprecated build_ext command. Patch by Alphadelta14
|
||
(Github issue #3187).
|
||
* Other changes
|
||
+ The PyMemoryView_*() C-API is available in
|
||
cpython.memoryview. Patch by Nathan Manville. (Github issue
|
||
#2541)
|
||
|
||
-------------------------------------------------------------------
|
||
Fri Jul 26 17:36:50 CEST 2019 - Matej Cepl <mcepl@suse.com>
|
||
|
||
- Update to 0.29.13:
|
||
- A reference leak for None was fixed when converting
|
||
a memoryview to a Python object. (Github issue #3023)
|
||
- The declaration of PyGILState_STATE in cpython.pystate was
|
||
unusable. Patch by Kirill Smelkov. (Github issue #2997)
|
||
- The declarations in posix.mman were extended. Patches by
|
||
Kirill Smelkov. (Github issues #2893, #2894, #3012)
|
||
|
||
-------------------------------------------------------------------
|
||
Sun Jul 21 16:56:52 UTC 2019 - Arun Persaud <arun@gmx.de>
|
||
|
||
- update to version 0.29.12:
|
||
* Fix compile error in CPython 3.8b2 regarding the PyCode_New()
|
||
signature. (Github issue #3031)
|
||
* Fix a C compiler warning about a missing int downcast. (Github
|
||
issue #3028)
|
||
* Fix reported error positions of undefined builtins and
|
||
constants. Patch by Orivej Desh. (Github issue #3030)
|
||
* A 32 bit issue in the Pythran support was resolved. Patch by Serge
|
||
Guelton. (Github issue #3032)
|
||
|
||
-------------------------------------------------------------------
|
||
Sat Jul 6 21:26:09 UTC 2019 - Arun Persaud <arun@gmx.de>
|
||
|
||
- update to version 0.29.11:
|
||
* Bugs fixed
|
||
+ Fix compile error in CPython 3.8b2 regarding the PyCode_New()
|
||
signature. Patch by Nick Coghlan. (Github issue #3009)
|
||
+ Invalid C code generated for lambda functions in cdef
|
||
methods. Patch by Josh Tobin. (Github issue #2967)
|
||
+ Support slice handling in newer Pythran versions. Patch by Serge
|
||
Guelton. (Github issue #2989)
|
||
+ A reference leak in power-of-2 calculation was fixed. Patch by
|
||
Sebastian Berg. (Github issue #3022)
|
||
+ The search order for include files was changed. Previously it
|
||
was include_directories, Cython/Includes, sys.path. Now it is
|
||
include_directories, sys.path, Cython/Includes. This was done to
|
||
allow third-party *.pxd files to override the ones in
|
||
Cython. Original patch by Matti Picus. (Github issue #2905)
|
||
+ Setting language_level=2 in a file did not work if
|
||
language_level=3 was enabled globally before. Patch by Jeroen
|
||
Demeyer. (Github issue #2791)
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Jun 12 09:42:55 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
||
|
||
- Say goodbye to -doc subpackage as the documentation is online
|
||
and does not build with latest sphinx releases (even in master
|
||
at the moment).
|
||
- The testing in -doc spec was disabled anyway and if needed we
|
||
will reintroduce it as a multibuild
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Jun 3 13:37:55 UTC 2019 - Ondřej Súkup <mimi.vx@gmail.com>
|
||
|
||
- update to 0.29.10
|
||
* Fix compile errors in CPython 3.8b1 due to the new "tp_vectorcall" slots.
|
||
* Remove an incorrect cast when using true-division in C++ operations.
|
||
* C compile errors with CPython 3.8 were resolved.
|
||
* Python tuple constants that compare equal but have different item types
|
||
could incorrectly be merged into a single constant.
|
||
* Non-ASCII characters in unprefixed strings could crash the compiler
|
||
when used with language level 3str
|
||
* Starred expressions in %-formatting tuples could fail to compile for unicode strings
|
||
* Passing Python class references through cython.inline() was broken.
|
||
|
||
-------------------------------------------------------------------
|
||
Tue Apr 16 09:26:50 UTC 2019 - Ondřej Súkup <mimi.vx@gmail.com>
|
||
|
||
- update to 0.29.7
|
||
* Crash when the shared Cython config module gets unloaded and another
|
||
Cython module reports an exceptions. Cython now makes sure it keeps
|
||
an owned reference to the module
|
||
* Resolved a C89 compilation problem when enabling the fast-gil sharing feature.
|
||
* Coverage reporting did not include the signature line of cdef functions
|
||
* Casting a GIL-requiring function into a nogil function now issues a warning
|
||
* Generators and coroutines were missing their return type annotation
|
||
|
||
-------------------------------------------------------------------
|
||
Tue Apr 2 16:08:29 UTC 2019 - Todd R <toddrme2178@gmail.com>
|
||
|
||
- Add cython_use_imgmath.patch
|
||
The pngmath Sphinx extension has been removed. Use imgmath instead.
|
||
See: gh#cython/cython#2818
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Feb 28 15:30:08 UTC 2019 - Ondřej Súkup <mimi.vx@gmail.com>
|
||
|
||
- update to 0.29.6
|
||
* Fix a crash when accessing the __kwdefaults__ special attribute of fused functions.
|
||
* Fix the parsing of buffer format strings that contain numeric sizes, which
|
||
could lead to incorrect input rejections.
|
||
* Avoid a C #pragma in old gcc versions that was only added in GCC 4.6.
|
||
* Auto-encoding of Unicode strings to UTF-8 C/C++ strings failed in Python 3,
|
||
even though the default encoding there is UTF-8.
|
||
* Crash when defining a Python subclass of an extension type and repeatedly
|
||
calling a cpdef method on it.
|
||
* Compiler crash when prange() loops appear inside of with-statements.
|
||
* Some C compiler warnings were resolved.
|
||
* Python conversion of C++ enums failed in 0.29.
|
||
|
||
-------------------------------------------------------------------
|
||
Tue Feb 5 22:17:38 UTC 2019 - Todd R <toddrme2178@gmail.com>
|
||
|
||
- Update to 0.29.4
|
||
* Division of numeric constants by a runtime value of 0 could fail to raise a
|
||
``ZeroDivisionError``. (Github issue #2820)
|
||
|
||
-------------------------------------------------------------------
|
||
Sun Jan 20 04:34:42 UTC 2019 - Arun Persaud <arun@gmx.de>
|
||
|
||
- specfile:
|
||
* update copyright year
|
||
|
||
- update to version 0.29.3:
|
||
* Some C code for memoryviews was generated in a non-deterministic
|
||
order. Patch by Martijn van Steenbergen. (Github issue #2779)
|
||
* C89 compatibility was accidentally lost since 0.28. Patches by
|
||
gastineau and true-pasky. (Github issues #2778, #2801)
|
||
* A C compiler cast warning was resolved. Patch by Michael
|
||
Buesch. (Github issue #2774)
|
||
* An compilation failure with complex numbers under MSVC++ was
|
||
resolved. (Github issue #2797)
|
||
* Coverage reporting could fail when modules were moved around after
|
||
the build. Patch by Wenjun Si. (Github issue #2776)
|
||
|
||
- changes from version 0.29.2 :
|
||
* The code generated for deduplicated constants leaked some
|
||
references. (Github issue #2750)
|
||
* The declaration of sigismember() in libc.signal was
|
||
corrected. (Github issue #2756)
|
||
* Crashes in compiler and test runner were fixed. (Github issue
|
||
#2736, #2755)
|
||
* A C compiler warning about an invalid safety check was
|
||
resolved. (Github issue #2731)
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Dec 6 09:45:54 UTC 2018 - ncutler@suse.com
|
||
|
||
- revert to version 0.28.5 to restore support for subinterpreters
|
||
needed by Ceph - stopgap measure until issue can be addressed
|
||
upstream (bsc#1118611)
|
||
|
||
-------------------------------------------------------------------
|
||
Sat Dec 1 18:24:55 UTC 2018 - Arun Persaud <arun@gmx.de>
|
||
|
||
- update to version 0.29.1:
|
||
* Bugs fixed
|
||
+ Extensions compiled with MinGW-64 under Windows could
|
||
misinterpret integer objects larger than 15 bit and return
|
||
incorrect results. (Github issue #2670)
|
||
+ Cython no longer requires the source to be writable when copying
|
||
its data into a memory view slice. Patch by Andrey
|
||
Paramonov. (Github issue #2644)
|
||
+ Line tracing of try-statements generated invalid C code. (Github
|
||
issue #2274)
|
||
+ When using the warn.undeclared directive, Cython's own code
|
||
generated warnings that are now fixed. Patch by Nicolas
|
||
Pauss. (Github issue #2685)
|
||
+ Cython's memoryviews no longer require strides for setting the
|
||
shape field but only the PyBUF_ND flag to be set. Patch by John
|
||
Kirkham. (Github issue #2716)
|
||
+ Some C compiler warnings about unused memoryview code were
|
||
fixed. Patch by Ho Cheuk Ting. (Github issue #2588)
|
||
+ A C compiler warning about implicit signed/unsigned conversion
|
||
was fixed. (Github issue #2729)
|
||
+ Assignments to C++ references returned by operator[] could fail
|
||
to compile. (Github issue #2671)
|
||
+ The power operator and the support for NumPy math functions were
|
||
fixed in Pythran expressions. Patch by Serge Guelton. (Github
|
||
issues #2702, #2709)
|
||
+ Signatures with memory view arguments now show the expected type
|
||
when embedded in docstrings. Patch by Matthew Chan and Benjamin
|
||
Weigel. (Github issue #2634)
|
||
+ Some from ... cimport ... constructs were not correctly
|
||
considered when searching modified dependencies in cythonize()
|
||
to decide whether to recompile a module. Patch by Kryštof
|
||
Pilnáček. (Github issue #2638)
|
||
+ A struct field type in the cpython.array declarations was
|
||
corrected. Patch by John Kirkham. (Github issue #2712)
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Oct 17 15:29:49 UTC 2018 - Arun Persaud <arun@gmx.de>
|
||
|
||
- update to version 0.29:
|
||
* Features added
|
||
+ PEP-489 multi-phase module initialisation has been enabled
|
||
again. Module reloads in other subinterpreters raise an
|
||
exception to prevent corruption of the static module state.
|
||
+ A set of mypy compatible PEP-484 declarations were added for
|
||
Cython's C data types to integrate with static analysers in
|
||
typed Python code. They are available in the Cython/Shadow.pyi
|
||
module and describe the types in the special cython module that
|
||
can be used for typing in Python code. Original patch by Julian
|
||
Gethmann. (Github issue #1965)
|
||
+ Memoryviews are supported in PEP-484/526 style type
|
||
declarations. (Github issue #2529)
|
||
+ @cython.nogil is supported as a C-function decorator in Python
|
||
code. (Github issue #2557)
|
||
+ Raising exceptions from nogil code will automatically acquire
|
||
the GIL, instead of requiring an explicit with gil block.
|
||
+ C++ functions can now be declared as potentially raising both
|
||
C++ and Python exceptions, so that Cython can handle both
|
||
correctly. (Github issue #2615)
|
||
+ cython.inline() supports a direct language_level keyword
|
||
argument that was previously only available via a directive.
|
||
+ A new language level name 3str was added that mostly corresponds
|
||
to language level 3, but keeps unprefixed string literals as
|
||
type 'str' in both Py2 and Py3, and the builtin 'str' type
|
||
unchanged. This will become the default in the next Cython
|
||
release and is meant to help user code a) transition more easily
|
||
to this new default and b) migrate to Python 3 source code
|
||
semantics without making support for Python 2.x difficult.
|
||
+ In CPython 3.6 and later, looking up globals in the module dict
|
||
is almost as fast as looking up C globals. (Github issue #2313)
|
||
+ For a Python subclass of an extension type, repeated method
|
||
calls to non-overridden cpdef methods can avoid the attribute
|
||
lookup in Py3.6+, which makes them 4x faster. (Github issue
|
||
#2313)
|
||
+ (In-)equality comparisons of objects to integer literals are
|
||
faster. (Github issue #2188)
|
||
+ Some internal and 1-argument method calls are faster.
|
||
+ Modules that cimport many external extension types from other
|
||
Cython modules execute less import requests during module
|
||
initialisation.
|
||
+ Constant tuples and slices are deduplicated and only created
|
||
once per module. (Github issue #2292)
|
||
+ The coverage plugin considers more C file extensions such as .cc
|
||
and .cxx. (Github issue #2266)
|
||
+ The cythonize command accepts compile time variable values (as
|
||
set by DEF) through the new -E option. Patch by Jerome
|
||
Kieffer. (Github issue #2315)
|
||
+ pyximport can import from namespace packages. Patch by Prakhar
|
||
Goel. (Github issue #2294)
|
||
+ Some missing numpy and CPython C-API declarations were
|
||
added. Patch by John Kirkham. (Github issues #2523, #2520,
|
||
#2537)
|
||
+ Declarations for the pylifecycle C-API functions were added in a
|
||
new .pxd file cpython.pylifecycle.
|
||
+ The Pythran support was updated to work with the latest Pythran
|
||
0.8.7. Original patch by Adrien Guinet. (Github issue #2600)
|
||
+ %a is included in the string formatting types that are optimised
|
||
into f-strings. In this case, it is also automatically mapped
|
||
to %r in Python 2.x.
|
||
+ New C macro CYTHON_HEX_VERSION to access Cython's version in the
|
||
same style as PY_HEX_VERSION.
|
||
+ Constants in libc.math are now declared as const to simplify
|
||
their handling.
|
||
+ An additional check_size clause was added to the ctypedef class
|
||
name specification to allow suppressing warnings when importing
|
||
modules with backwards-compatible PyTypeObject size
|
||
changes. Patch by Matti Picus. (Github issue #2627)
|
||
* Bugs fixed
|
||
+ The exception handling in generators and coroutines under
|
||
CPython 3.7 was adapted to the newly introduced exception
|
||
stack. Users of Cython 0.28 who want to support Python 3.7 are
|
||
encouraged to upgrade to 0.29 to avoid potentially incorrect
|
||
error reporting and tracebacks. (Github issue #1958)
|
||
+ Crash when importing a module under Stackless Python that was
|
||
built for CPython. Patch by Anselm Kruis. (Github issue #2534)
|
||
+ 2-value slicing of typed sequences failed if the start or stop
|
||
index was None. Patch by Christian Gibson. (Github issue #2508)
|
||
+ Multiplied string literals lost their factor when they are part
|
||
of another constant expression (e.g. 'x' * 10 + 'y' => 'xy').
|
||
+ String formatting with the '%' operator didn't call the special
|
||
__rmod__() method if the right side is a string subclass that
|
||
implements it. (Python issue 28598)
|
||
+ The directive language_level=3 did not apply to the first token
|
||
in the source file. (Github issue #2230)
|
||
+ Overriding cpdef methods did not work in Python subclasses with
|
||
slots. Note that this can have a performance impact on calls
|
||
from Cython code. (Github issue #1771)
|
||
+ Fix declarations of builtin or C types using strings in pure
|
||
python mode. (Github issue #2046)
|
||
+ Generator expressions and lambdas failed to compile in @cfunc
|
||
functions. (Github issue #459)
|
||
+ Global names with const types were not excluded from star-import
|
||
assignments which could lead to invalid C code. (Github issue
|
||
#2621)
|
||
+ Several internal function signatures were fixed that lead to
|
||
warnings in gcc-8. (Github issue #2363)
|
||
+ The numpy helper functions set_array_base() and get_array_base()
|
||
were adapted to the current numpy C-API recommendations. Patch
|
||
by Matti Picus. (Github issue #2528)
|
||
+ Some NumPy related code was updated to avoid deprecated API
|
||
usage. Original patch by jbrockmendel. (Github issue #2559)
|
||
+ Several C++ STL declarations were extended and corrected. Patch
|
||
by Valentin Valls. (Github issue #2207)
|
||
+ C lines of the module init function were unconditionally not
|
||
reported in exception stack traces. Patch by Jeroen
|
||
Demeyer. (Github issue #2492)
|
||
+ When PEP-489 support is enabled, reloading the module overwrote
|
||
any static module state. It now raises an exception instead,
|
||
given that reloading is not actually supported.
|
||
+ Object-returning, C++ exception throwing functions were not
|
||
checking that the return value was non-null. Original patch by
|
||
Matt Wozniski (Github Issue #2603)
|
||
+ The source file encoding detection could get confused if the
|
||
c_string_encoding directive appeared within the first two
|
||
lines. (Github issue #2632)
|
||
+ Cython generated modules no longer emit a warning during import
|
||
when the size of the NumPy array type is larger than what was
|
||
found at compile time. Instead, this is assumed to be a
|
||
backwards compatible change on NumPy side.
|
||
* Other changes
|
||
+ Cython now emits a warning when no language_level (2, 3 or
|
||
'3str') is set explicitly, neither as a cythonize() option nor
|
||
as a compiler directive. This is meant to prepare the transition
|
||
of the default language level from currently Py2 to Py3, since
|
||
that is what most new users will expect these days. The future
|
||
default will, however, not enforce unicode literals, because
|
||
this has proven a major obstacle in the support for both Python
|
||
2.x and 3.x. The next major release is intended to make this
|
||
change, so that it will parse all code that does not request a
|
||
specific language level as Python 3 code, but with str
|
||
literals. The language level 2 will continue to be supported for
|
||
an indefinite time.
|
||
+ The documentation was restructured, cleaned up and examples are
|
||
now tested. The NumPy tutorial was also rewritten to simplify
|
||
the running example. Contributed by Gabriel de
|
||
Marmiesse. (Github issue #2245)
|
||
+ Cython compiles less of its own modules at build time to reduce
|
||
the installed package size to about half of its previous
|
||
size. This makes the compiler slightly slower, by about 5-7%.
|
||
|
||
-------------------------------------------------------------------
|
||
Sat Aug 11 16:12:10 UTC 2018 - arun@gmx.de
|
||
|
||
- update to version 0.28.5:
|
||
* 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.
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Jul 12 03:33:30 UTC 2018 - arun@gmx.de
|
||
|
||
- update to version 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)
|
||
|
||
-------------------------------------------------------------------
|
||
Sun May 27 16:30:35 UTC 2018 - arun@gmx.de
|
||
|
||
- update to version 0.28.3:
|
||
* 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)
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Apr 18 02:15:50 UTC 2018 - toddrme2178@gmail.com
|
||
|
||
- Version update to 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
|
||
``std::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)
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Mar 19 13:23:58 UTC 2018 - tchvatal@suse.com
|
||
|
||
- Version update to 0.28.1:
|
||
* PyFrozenSet_New() was accidentally used in PyPy where it is lacking
|
||
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().
|
||
|
||
-------------------------------------------------------------------
|
||
Sat Mar 17 00:30:56 UTC 2018 - arun@gmx.de
|
||
|
||
- update to version 0.28:
|
||
* Features added
|
||
+ Cdef classes can now multiply inherit from ordinary Python
|
||
classes. (The primary base must still be a c class, possibly
|
||
object, and the other bases must not be cdef classes.)
|
||
+ Type inference is now supported for Pythran compiled NumPy
|
||
expressions. Patch by Nils Braun. (Github issue #1954)
|
||
+ The const modifier can be applied to memoryview declarations to
|
||
allow read-only buffers as input. (Github issues #1605, #1869)
|
||
+ C code in the docstring of a cdef extern block is copied
|
||
verbatimly into the generated file. Patch by Jeroen
|
||
Demeyer. (Github issue #1915)
|
||
+ When compiling with gcc, the module init function is now tuned
|
||
for small code size instead of whatever compile flags were
|
||
provided externally. Cython now also disables some code
|
||
intensive optimisations in that function to further reduce the
|
||
code size. (Github issue #2102)
|
||
+ Decorating an async coroutine with @cython.iterable_coroutine
|
||
changes its type at compile time to make it iterable. While this
|
||
is not strictly in line with PEP-492, it improves the
|
||
interoperability with old-style coroutines that use yield from
|
||
instead of await.
|
||
+ The IPython magic has preliminary support for
|
||
JupyterLab. (Github issue #1775)
|
||
+ The new TSS C-API in CPython 3.7 is supported and has been
|
||
backported. Patch by Naotoshi Seo. (Github issue #1932)
|
||
+ Cython knows the new Py_tss_t type defined in PEP-539 and
|
||
automatically initialises variables declared with that type to
|
||
Py_tss_NEEDS_INIT, a value which cannot be used outside of
|
||
static assignments.
|
||
+ The set methods .remove() and .discard() are optimised. Patch by
|
||
Antoine Pitrou. (Github issue #2042)
|
||
+ dict.pop() is optimised. Original patch by Antoine
|
||
Pitrou. (Github issue #2047)
|
||
+ Iteration over sets and frozensets is optimised. (Github issue
|
||
#2048)
|
||
+ Safe integer loops (< range(2^30)) are automatically optimised
|
||
into C loops.
|
||
+ alist.extend([a,b,c]) is optimised into sequential list.append()
|
||
calls for short literal sequences.
|
||
+ Calls to builtin methods that are not specifically optimised
|
||
into C-API calls now use a cache that avoids repeated lookups of
|
||
the underlying C function. (Github issue #2054)
|
||
+ Single argument function calls can avoid the argument tuple
|
||
creation in some cases.
|
||
+ Some redundant extension type checks are avoided.
|
||
+ Formatting C enum values in f-strings is faster, as well as some
|
||
other special cases.
|
||
+ String formatting with the '%' operator is optimised into
|
||
f-strings in simple cases.
|
||
+ Subscripting (item access) is faster in some cases.
|
||
+ Some bytearray operations have been optimised similar to bytes.
|
||
+ Some PEP-484/526 container type declarations are now considered
|
||
for loop optimisations.
|
||
+ Indexing into memoryview slices with view[i][j] is now optimised
|
||
into view[i, j].
|
||
+ Python compatible cython.* types can now be mixed with type
|
||
declarations in Cython syntax.
|
||
+ Name lookups in the module and in classes are faster.
|
||
+ Python attribute lookups on extension types without instance
|
||
dict are faster.
|
||
+ Some missing signals were added to libc/signal.pxd. Patch by
|
||
Jeroen Demeyer. (Github issue #1914)
|
||
+ The warning about repeated extern declarations is now visible by
|
||
default. (Github issue #1874)
|
||
+ The exception handling of the function types used by CPython's
|
||
type slot functions was corrected to match the de-facto standard
|
||
behaviour, so that code that uses them directly benefits from
|
||
automatic and correct exception propagation. Patch by Jeroen
|
||
Demeyer. (Github issue #1980)
|
||
+ Defining the macro CYTHON_NO_PYINIT_EXPORT will prevent the
|
||
module init function from being exported as symbol, e.g. when
|
||
linking modules statically in an embedding setup. Patch by
|
||
AraHaan. (Github issue #1944)
|
||
* Bugs fixed
|
||
+ If a module name is explicitly provided for an Extension() that
|
||
is compiled via cythonize(), it was previously ignored and
|
||
replaced by the source file name. It can now be used to override
|
||
the target module name, e.g. for compiling prefixed accelerator
|
||
modules from Python files. (Github issue #2038)
|
||
+ The arguments of the num_threads parameter of parallel sections
|
||
were not sufficiently validated and could lead to invalid C
|
||
code. (Github issue #1957)
|
||
+ Catching exceptions with a non-trivial exception pattern could
|
||
call into CPython with a live exception set. This triggered
|
||
incorrect behaviour and crashes, especially in CPython 3.7.
|
||
+ The signature of the special __richcmp__() method was corrected
|
||
to recognise the type of the first argument as self. It was
|
||
previously treated as plain object, but CPython actually
|
||
guarantees that it always has the correct type. Note: this can
|
||
change the semantics of user code that previously relied on self
|
||
being untyped.
|
||
+ Some Python 3 exceptions were not recognised as builtins when
|
||
running Cython under Python 2.
|
||
+ Some async helper functions were not defined in the generated C
|
||
code when compiling simple async code. (Github issue #2075)
|
||
+ Line tracing did not include generators and coroutines. (Github
|
||
issue #1949)
|
||
+ C++ declarations for unordered_map were corrected. Patch by
|
||
Michael Schatzow. (Github issue #1484)
|
||
+ Iterator declarations in C++ deque and vector were
|
||
corrected. Patch by Alex Huszagh. (Github issue #1870)
|
||
+ The const modifiers in the C++ string declarations were
|
||
corrected, together with the coercion behaviour of string
|
||
literals into C++ strings. (Github issue #2132)
|
||
+ Some declaration types in libc.limits were corrected. Patch by
|
||
Jeroen Demeyer. (Github issue #2016)
|
||
+ @cython.final was not accepted on Python classes with an
|
||
@cython.cclass decorator. (Github issue #2040)
|
||
+ Cython no longer creates useless and incorrect PyInstanceMethod
|
||
wrappers for methods in Python 3. Patch by Jeroen
|
||
Demeyer. (Github issue #2105)
|
||
+ The builtin bytearray type could not be used as base type of
|
||
cdef classes. (Github issue #2106)
|
||
|
||
-------------------------------------------------------------------
|
||
Tue Feb 20 11:25:47 UTC 2018 - tchvatal@suse.com
|
||
|
||
- Export fno-strict-aliasing to CFLAGS
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Jan 29 00:23:03 UTC 2018 - mimi.vx@gmail.com
|
||
|
||
- update to 0.27.3
|
||
- big list of changes since 0.26.1 please see CHANGES.txt
|
||
- Also fixes bsc#1062237
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Oct 2 22:02:54 UTC 2017 - jengelh@inai.de
|
||
|
||
- Ensure neutrality of description.
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Dec 19 17:49:22 UTC 2016 - jmatejek@suse.com
|
||
|
||
- update for multipython build
|
||
|
||
-------------------------------------------------------------------
|
||
Fri Oct 28 12:40:24 UTC 2016 - toddrme2178@gmail.com
|
||
|
||
- Update to version 0.25.1
|
||
+ Bugs fixed
|
||
* Fixes a bug with ``isinstance(o, Exception)`` (Github issue #1496).
|
||
* Fixes bug with ``cython.view.array`` missing utility code in some cases
|
||
(Github issue #1502).
|
||
+ Other changes
|
||
* The distutils extension ``Cython.Distutils.build_ext`` has been reverted,
|
||
temporarily, to be ``old_build_ext`` to give projects time to migrate.
|
||
The new build_ext is available as ``new_build_ext``.
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Oct 26 14:55:49 UTC 2016 - toddrme2178@gmail.com
|
||
|
||
- Fix source URL.
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Oct 26 01:36:12 UTC 2016 - toddrme2178@gmail.com
|
||
|
||
- update to version 0.25:
|
||
+ Features added
|
||
* def/cpdef methods of cdef classes benefit from Cython's internal function
|
||
implementation, which enables introspection and line profiling for them.
|
||
Implementation sponsored by Turbostream (www.turbostream-cfd.com).
|
||
* The distutils extension ``Cython.Distutils.build_ext`` has now been updated
|
||
to use cythonize which properly handles dependencies. The old extension can
|
||
still be found in ``Cython.Distutils.old_build_ext`` and is now deprecated.
|
||
* Calls to Python functions are faster, following the recent "FastCall"
|
||
optimisations that Victor Stinner implemented for CPython 3.6.
|
||
See https://bugs.python.org/issue27128 and related issues.
|
||
* The new METH_FASTCALL calling convention for PyCFunctions is supported
|
||
in CPython 3.6. See https://bugs.python.org/issue27810
|
||
* C++ classes can now have typedef members. STL containers updated with
|
||
value_type.
|
||
* Support for bazel using a the pyx_library rule in //Tools:rules.bzl.
|
||
* Initial support for using Cython modules in Pyston. Patch by Daetalus.
|
||
* Dynamic Python attributes are allowed on cdef classes if an attribute
|
||
``cdef dict __dict__`` is declared in the class. Patch by empyrical.
|
||
* Cython implemented C++ classes can make direct calls to base class methods.
|
||
Patch by empyrical.
|
||
* New directive ``cython.no_gc`` to fully disable GC for a cdef class.
|
||
Patch by Claudio Freire.
|
||
* Buffer variables are no longer excluded from ``locals()``.
|
||
Patch by da-woods.
|
||
* Building f-strings is faster, especially when formatting C integers.
|
||
* for-loop iteration over "std::string".
|
||
* ``libc/math.pxd`` provides ``e`` and ``pi`` as alias constants to simplify
|
||
usage as a drop-in replacement for Python's math module.
|
||
* Speed up cython.inline().
|
||
* Binary lshift operations with small constant Python integers are faster.
|
||
* Some integer operations on Python long objects are faster in Python 2.7.
|
||
* Support for the C++ ``typeid`` operator.
|
||
+ Significant Bugs fixed
|
||
* Division of complex numbers avoids overflow by using Smith's method.
|
||
* Some function signatures in ``libc.math`` and ``numpy.pxd`` were incorrect.
|
||
Pach by Michael Seifert.
|
||
+ Other changes
|
||
* The "%%cython" IPython/jupyter magic now defaults to the language level of
|
||
the current jupyter kernel. The language level can be set explicitly with
|
||
"%%cython -2" or "%%cython -3".
|
||
- update to version 0.24.1:
|
||
* IPython cell magic was lacking a good way to enable Python 3 code
|
||
semantics. It can now be used as "%%cython -3".
|
||
* Follow a recent change in PEP 492 and CPython 3.5.1 that now
|
||
requires the __aiter__() method of asynchronous iterators to be a
|
||
simple def method instead of an async def method.
|
||
* Coroutines and generators were lacking the __module__ special
|
||
attribute.
|
||
* C++ std::complex values failed to auto-convert from and to Python
|
||
complex objects.
|
||
* Namespaced C++ types could not be used as memory view types due to
|
||
lack of name mangling. Patch by Ivan Smirnov.
|
||
* Assignments between identical C++ types that were declared with
|
||
differently typedefed template types could fail.
|
||
* Rebuilds could fail to evaluate dependency timestamps in C++
|
||
mode. Patch by Ian Henriksen.
|
||
* Macros defined in the distutils compiler option do not require
|
||
values anymore. Patch by Ian Henriksen.
|
||
* Minor fixes for MSVC, Cygwin and PyPy.
|
||
- specfile:
|
||
* changed to https for source url
|
||
* updated source url to files.pythonhosted.org
|
||
- update to version 0.24:
|
||
* Features added
|
||
+ PEP 498: Literal String Formatting (f-strings). Original patch
|
||
by Jelle Zijlstra. https://www.python.org/dev/peps/pep-0498/
|
||
+ PEP 515: Underscores as visual separators in number
|
||
literals. https://www.python.org/dev/peps/pep-0515/
|
||
+ Parser was adapted to some minor syntax changes in Py3.6,
|
||
e.g. https://bugs.python.org/issue9232
|
||
+ The embedded C code comments that show the original source code
|
||
can be discarded with the new directive
|
||
emit_code_comments=False.
|
||
+ Cpdef enums are now first-class iterable, callable types in
|
||
Python.
|
||
+ Ctuples can now be declared in pure Python code.
|
||
+ Posix declarations for DLL loading and stdio extensions were
|
||
added. Patch by Lars Buitinck.
|
||
+ The Py2-only builtins unicode(), xrange(), reduce() and long are
|
||
now also available in compile time DEF expressions when
|
||
compiling with Py3.
|
||
+ Exception type tests have slightly lower overhead. This fixes
|
||
ticket 868.
|
||
+ @property syntax fully supported in cdef classes, old syntax
|
||
deprecated.
|
||
+ C++ classes can now be declared with default template
|
||
parameters.
|
||
* Bugs fixed
|
||
+ C++ exceptions raised by overloaded C++ operators were not
|
||
always handled. Patch by Ian Henriksen.
|
||
+ C string literals were previously always stored as non-const
|
||
global variables in the module. They are now stored as global
|
||
constants when possible, and otherwise as non-const C string
|
||
literals in the generated code that uses them. This improves
|
||
compatibility with strict C compiler options and prevents
|
||
non-const strings literals with the same content from being
|
||
incorrectly merged.
|
||
+ Compile time evaluated str expressions (DEF) now behave in a
|
||
more useful way by turning into Unicode strings when compiling
|
||
under Python 3. This allows using them as intermediate values in
|
||
expressions. Previously, they always evaluated to bytes objects.
|
||
+ isinf() declarations in libc/math.pxd and numpy/math.pxd now
|
||
reflect the actual tristate int return value instead of using
|
||
bint.
|
||
+ Literal assignments to ctuples avoid Python tuple round-trips in
|
||
some more corner cases.
|
||
+ Iteration over dict(...).items() failed to get optimised when
|
||
dict arguments included keyword arguments.
|
||
+ cProfile now correctly profiles cpdef functions and methods.
|
||
- update to version 0.23.5:
|
||
* Compile errors and warnings in integer type conversion code. This
|
||
fixes ticket 877. Patches by Christian Neukirchen, Nikolaus Rath,
|
||
Ian Henriksen.
|
||
* Reference leak when "*args" argument was reassigned in closures.
|
||
* Truth-testing Unicode strings could waste time and memory in
|
||
Py3.3+.
|
||
* Return values of async functions could be ignored and replaced by
|
||
None.
|
||
* Compiler crash in CPython 3.6.
|
||
* Fix prange() to behave identically to range(). The end condition
|
||
was miscalculated when the range was not exactly divisible by the
|
||
step.
|
||
* Optimised all(genexpr)/any(genexpr) calls could warn about unused
|
||
code. This fixes ticket 876.
|
||
- Remove unneeded python-Cython-c++11.patch
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Feb 1 10:30:06 UTC 2016 - toddrme2178@gmail.com
|
||
|
||
- update to version 0.23.4:
|
||
* Memory leak when calling Python functions in PyPy.
|
||
* Compilation problem with MSVC in C99-ish mode.
|
||
* Warning about unused values in a helper macro.
|
||
- update to version 0.23.3:
|
||
* Invalid C code for some builtin methods. This fixes ticket 856
|
||
again.
|
||
* Incorrect C code in helper functions for PyLong conversion and
|
||
string decoding. This fixes ticket 863, ticket 864 and ticket
|
||
865. Original patch by Nikolaus Rath.
|
||
* Large folded or inserted integer constants could use too small C
|
||
integer types and thus trigger a value wrap-around.
|
||
* The coroutine and generator types of Cython now also register
|
||
directly with the Coroutine and Generator ABCs in the
|
||
backports_abc module if it can be imported. This fixes ticket 870.
|
||
- update to version 0.23.2:
|
||
* Compiler crash when analysing some optimised expressions.
|
||
* Coverage plugin was adapted to coverage.py 4.0 beta 2.
|
||
* C++ destructor calls could fail when '&' operator is overwritten.
|
||
* Incorrect C literal generation for large integers in compile-time
|
||
evaluated DEF expressions and constant folded expressions.
|
||
* Byte string constants could end up as Unicode strings when
|
||
originating from compile-time evaluated DEF expressions.
|
||
* Invalid C code when caching known builtin methods. This fixes
|
||
ticket 860.
|
||
* ino_t in posix.types was not declared as unsigned.
|
||
* Declarations in libcpp/memory.pxd were missing operator!(). Patch
|
||
by Leo Razoumov.
|
||
* Static cdef methods can now be declared in .pxd files.
|
||
- update to version 0.23.1:
|
||
* Invalid C code for generators. This fixes ticket 858.
|
||
* Invalid C code for some builtin methods. This fixes ticket 856.
|
||
* Invalid C code for unused local buffer variables. This fixes
|
||
ticket 154.
|
||
* Test failures on 32bit systems. This fixes ticket 857.
|
||
* Code that uses "from xyz import *" and global C struct/union/array
|
||
variables could fail to compile due to missing helper
|
||
functions. This fixes ticket 851.
|
||
* Misnamed PEP 492 coroutine property cr_yieldfrom renamed to
|
||
cr_await to match CPython.
|
||
* Missing deallocation code for C++ object attributes in certain
|
||
extension class hierarchies.
|
||
* Crash when async coroutine was not awaited.
|
||
* Compiler crash on yield in signature annotations and default
|
||
argument values. Both are forbidden now.
|
||
* Compiler crash on certain constructs in finally clauses.
|
||
* Cython failed to build when CPython's pgen is installed.
|
||
- update to version 0.23:
|
||
* Features added
|
||
+ PEP 492 (async/await) was implemented. See
|
||
https://www.python.org/dev/peps/pep-0492/
|
||
+ PEP 448 (Additional Unpacking Generalizations) was
|
||
implemented. See https://www.python.org/dev/peps/pep-0448/
|
||
+ Support for coverage.py 4.0+ can be enabled by adding the plugin
|
||
"Cython.Coverage" to the ".coveragerc" config file.
|
||
+ Annotated HTML source pages can integrate (XML) coverage
|
||
reports.
|
||
+ Tracing is supported in nogil functions/sections and module init
|
||
code.
|
||
+ When generators are used in a Cython module and the module
|
||
imports the modules "inspect" and/or "asyncio", Cython enables
|
||
interoperability by patching these modules during the import to
|
||
recognise Cython's internal generator and coroutine types. This
|
||
can be disabled by C compiling the module with "-D
|
||
CYTHON_PATCH_ASYNCIO=0" or "-D CYTHON_PATCH_INSPECT=0"
|
||
+ When generators or coroutines are used in a Cython module, their
|
||
types are registered with the Generator and Coroutine ABCs in
|
||
the collections or collections.abc stdlib module at import time
|
||
to enable interoperability with code that needs to detect and
|
||
process Python generators/coroutines. These ABCs were added in
|
||
CPython 3.5 and are available for older Python versions through
|
||
the backports_abc module on PyPI. See
|
||
https://bugs.python.org/issue24018
|
||
+ Adding/subtracting/dividing/modulus and equality comparisons
|
||
with constant Python floats and small integers are faster.
|
||
+ Binary and/or/xor/rshift operations with small constant Python
|
||
integers are faster.
|
||
+ When called on generator expressions, the builtins all(), any(),
|
||
dict(), list(), set(), sorted() and unicode.join() avoid the
|
||
generator iteration overhead by inlining a part of their
|
||
functionality into the for-loop.
|
||
+ Keyword argument dicts are no longer copied on function entry
|
||
when they are not being used or only passed through to other
|
||
function calls (e.g. in wrapper functions).
|
||
+ The PyTypeObject declaration in cpython.object was extended.
|
||
+ The builtin type type is now declared as PyTypeObject in source,
|
||
allowing for extern functions taking type parameters to have the
|
||
correct C signatures. Note that this might break code that uses
|
||
type just for passing around Python types in typed
|
||
variables. Removing the type declaration provides a backwards
|
||
compatible fix.
|
||
+ wraparound() and boundscheck() are available as no-ops in pure
|
||
Python mode.
|
||
+ Const iterators were added to the provided C++ STL declarations.
|
||
+ Smart pointers were added to the provided C++ STL
|
||
declarations. Patch by Daniel Filonik.
|
||
+ NULL is allowed as default argument when embedding
|
||
signatures. This fixes ticket 843.
|
||
+ When compiling with --embed, the internal module name is changed
|
||
to __main__ to allow arbitrary program names, including those
|
||
that would be invalid for modules. Note that this prevents reuse
|
||
of the generated C code as an importable module.
|
||
+ External C++ classes that overload the assignment operator can
|
||
be used. Patch by Ian Henriksen.
|
||
+ Support operator bool() for C++ classes so they can be used in
|
||
if statements.
|
||
* Bugs fixed
|
||
+ Calling "yield from" from Python on a Cython generator that
|
||
returned a value triggered a crash in CPython. This is now being
|
||
worked around. See https://bugs.python.org/issue23996
|
||
+ Language level 3 did not enable true division (a.k.a. float
|
||
division) for integer operands.
|
||
+ Functions with fused argument types that included a generic
|
||
'object' fallback could end up using that fallback also for
|
||
other explicitly listed object types.
|
||
+ Relative cimports could accidentally fall back to trying an
|
||
absolute cimport on failure.
|
||
+ The result of calling a C struct constructor no longer requires
|
||
an intermediate assignment when coercing to a Python dict.
|
||
+ C++ exception declarations with mapping functions could fail to
|
||
compile when pre-declared in .pxd files.
|
||
+ cpdef void methods are now permitted.
|
||
+ abs(cint) could fail to compile in MSVC and used sub-optimal
|
||
code in C++. Patch by David Vierra, original patch by Michael
|
||
Enßlin.
|
||
+ Buffer index calculations using index variables with small C
|
||
integer types could overflow for large buffer sizes. Original
|
||
patch by David Vierra.
|
||
+ C unions use a saner way to coerce from and to Python dicts.
|
||
+ When compiling a module foo.pyx, the directories in sys.path are
|
||
no longer searched when looking for foo.pxd. Patch by Jeroen
|
||
Demeyer.
|
||
+ Memory leaks in the embedding main function were fixed. Original
|
||
patch by Michael Enßlin.
|
||
+ Some complex Python expressions could fail to compile inside of
|
||
finally clauses.
|
||
+ Unprefixed 'str' literals were not supported as C varargs
|
||
arguments.
|
||
+ Fixed type errors in conversion enum types to/from Python. Note
|
||
that this imposes stricter correctness requirements on enum
|
||
declarations.
|
||
* Other changes
|
||
+ Changed mangling scheme in header files generated by cdef api
|
||
declarations.
|
||
+ Installation under CPython 3.3+ no longer requires a pass of the
|
||
2to3 tool. This also makes it possible to run Cython in Python
|
||
3.3+ from a source checkout without installing it first. Patch
|
||
by Petr Viktorin.
|
||
+ jedi-typer.py (in Tools/) was extended and renamed to
|
||
jedityper.py (to make it importable) and now works with and
|
||
requires Jedi 0.9. Patch by Tzer-jen Wei.
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Jan 28 12:09:56 UTC 2016 - rguenther@suse.com
|
||
|
||
- Add python-Cython-c++11.patch to fix complex math testcase compile
|
||
with GCC 6 defaulting to C++14. (bnc#963974)
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Aug 26 17:11:12 UTC 2015 - ted.nokonechny@uregina.ca
|
||
|
||
- "mangle" tests/run/cpdef_extern_func.pyx to allow package to build
|
||
for SLE_11_SP3 and SLE_11_SP4.
|
||
* cpdef const char* strchr(const char *haystack, int needle);
|
||
does not seem to match any from /usr/include/string.h
|
||
and fails for cpp tests via python runtests.py -vv
|
||
* cpdef_extern_func.pyx was not present in 0.21.1
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Aug 19 15:23:19 UTC 2015 - bwiedemann@suse.com
|
||
|
||
- Require python-devel for Python.h (bnc#942385)
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Jul 29 11:52:24 UTC 2015 - toddrme2178@gmail.com
|
||
|
||
- Remove unneeded numpy dependency to avoid dependency loop.
|
||
- create dummy alternative to avoid 13.1's post-build-check bug
|
||
- specfile:
|
||
* fixing update_alternatives
|
||
|
||
-------------------------------------------------------------------
|
||
Fri Jul 10 21:59:38 UTC 2015 - termim@gmail.com
|
||
|
||
- Update to 0.22.1:
|
||
Bugs fixed
|
||
* Crash when returning values on generator termination.
|
||
* In some cases, exceptions raised during internal isinstance()
|
||
checks were not propagated.
|
||
* Runtime reported file paths of source files (e.g for profiling
|
||
and tracing) are now relative to the build root directory instead
|
||
of the main source file.
|
||
* Tracing exception handling code could enter the trace function with an
|
||
active exception set.
|
||
* The internal generator function type was not shared across modules.
|
||
* Comparisons of (inferred) ctuples failed to compile.
|
||
* Closures inside of cdef functions returning ``void`` failed to compile.
|
||
* Using ``const`` C++ references in intermediate parts of longer
|
||
expressions could fail to compile.
|
||
* C++ exception declarations with mapping functions could fail to compile
|
||
when pre-declared in .pxd files.
|
||
* C++ compilation could fail with an ambiguity error in recent MacOS-X
|
||
Xcode versions.
|
||
* C compilation could fail in pypy3.
|
||
* Fixed a memory leak in the compiler when compiling multiple modules.
|
||
* When compiling multiple modules, external library dependencies could
|
||
leak into later compiler runs. Fix by Jeroen Demeyer. This fixes
|
||
ticket 845.
|
||
- removed patch fix-32bit.patch as applied upstream
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Apr 22 14:05:18 UTC 2015 - mcihar@suse.cz
|
||
|
||
- Use Source URL from cython.org
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Apr 22 11:52:03 UTC 2015 - mcihar@suse.cz
|
||
|
||
- Add python-numpy as BuildRequires to have more complete test coverage
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Apr 22 11:01:47 UTC 2015 - mcihar@suse.cz
|
||
|
||
- Fix doctests in 32-bit environment (fix-32bit.patch)
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Apr 22 09:10:30 UTC 2015 - mcihar@suse.cz
|
||
|
||
- Update to 0.22:
|
||
Features added
|
||
* C functions can coerce to Python functions, which allows passing them
|
||
around as callable objects.
|
||
* C arrays can be assigned by value and auto-coerce from Python iterables
|
||
and to Python lists (and tuples).
|
||
* Extern C functions can now be declared as cpdef to export them to
|
||
the module's Python namespace. Extern C functions in pxd files export
|
||
their values to their own module, iff it exists.
|
||
* Anonymous C tuple types can be declared as (ctype1, ctype2, ...).
|
||
* PEP 479: turn accidental StopIteration exceptions that exit generators
|
||
into a RuntimeError, activated with future import "generator_stop".
|
||
See http://legacy.python.org/dev/peps/pep-0479/
|
||
* Looping over ``reversed(range())`` is optimised in the same way as
|
||
``range()``. Patch by Favian Contreras.
|
||
Bugs fixed
|
||
* Mismatching 'except' declarations on signatures in .pxd and .pyx files failed
|
||
to produce a compile error.
|
||
* Failure to find any files for the path pattern(s) passed into ``cythonize()``
|
||
is now an error to more easily detect accidental typos.
|
||
* The ``logaddexp`` family of functions in ``numpy.math`` now has correct
|
||
declarations.
|
||
* In Py2.6/7 and Py3.2, simple Cython memory views could accidentally be
|
||
interpreted as non-contiguous by CPython, which could trigger a CPython
|
||
bug when copying data from them, thus leading to data corruption.
|
||
See CPython issues 12834 and 23349.
|
||
Other changes
|
||
* Preliminary support for defining the Cython language with a formal grammar.
|
||
To try parsing your files against this grammar, use the --formal_grammar directive.
|
||
Experimental.
|
||
* ``_`` is no longer considered a cacheable builtin as it could interfere with
|
||
gettext.
|
||
* Cythonize-computed metadata now cached in the generated C files.
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Feb 5 11:35:45 UTC 2015 - hpj@urpla.net
|
||
|
||
- fix update-alternatives handling in a distribution backwards compatible way
|
||
|
||
-------------------------------------------------------------------
|
||
Fri Jan 9 15:20:31 UTC 2015 - dimstar@opensuse.org
|
||
|
||
- Re-enable test-suite.
|
||
- Add gcc-c++ BuildRequires: needed for the test-suite to be able
|
||
to pass.
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Jan 8 12:22:10 UTC 2015 - dimstar@opensuse.org
|
||
|
||
- Fix usage of update-alternatives.
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Dec 18 10:48:28 UTC 2014 - p.drouand@gmail.com
|
||
|
||
- Improve update-alternatives.
|
||
- Remove Cython-fix-version-detection.patch
|
||
(got fixed upstream)
|
||
- update to version 0.21.1:
|
||
* Features added
|
||
- New cythonize option -a to generate the annotated HTML source view.
|
||
- Missing C-API declarations in cpython.unicode were added.
|
||
- Passing language='c++' into cythonize() globally enables C++ mode
|
||
for all modules that were not passed as Extension objects
|
||
(i.e. only source files and file patterns).
|
||
- Py_hash_t is a known type (used in CPython for hash values).
|
||
- PySlice_*() C-API functions are available from the cpython.slice module.
|
||
- Allow arrays of C++ classes.
|
||
* Bugs fixed
|
||
- Reference leak for non-simple Python expressions in boolean and/or expressions.
|
||
- To fix a name collision and to reflect availability on host
|
||
platforms, standard C declarations [ clock(), time(), struct tm
|
||
and tm* functions ] were moved from posix/time.pxd to a new
|
||
libc/time.pxd. Patch by Charles Blake.
|
||
- Rerunning unmodified modules in IPython's cython support
|
||
failed. Patch by Matthias Bussonier.
|
||
- Casting C++ std::string to Python byte strings failed when
|
||
auto-decoding was enabled.
|
||
- Fatal exceptions in global module init code could lead to
|
||
crashes if the already created module was used later on
|
||
(e.g. through a stale reference in sys.modules or elsewhere).
|
||
- cythonize.py script was not installed on MS-Windows.
|
||
* Other changes
|
||
- Compilation no longer fails hard when unknown compilation
|
||
options are passed. Instead, it raises a warning and ignores
|
||
them (as it did silently before 0.21). This will be changed back
|
||
to an error in a future release.
|
||
|
||
-------------------------------------------------------------------
|
||
Sun Nov 09 22:57:00 UTC 2014 - Led <ledest@gmail.com>
|
||
|
||
- fix bashisms in pre script
|
||
|
||
-------------------------------------------------------------------
|
||
Fri Sep 12 10:52:18 UTC 2014 - toddrme2178@gmail.com
|
||
|
||
- Add Cython-fix-version-detection.patch
|
||
This is a patch from upstream that restores version information
|
||
whose removal is preventing several packages from correctly
|
||
detecting Cython's presence. It is already merged upstream and
|
||
so should be in the next release.
|
||
Note that despite what upstream says,
|
||
python-tables/python3-tables is NOT the only package affected by
|
||
this, which is why the patch is going here instead of
|
||
python-tables/python3-tables.
|
||
python-bcolz/python3-bcolz is an example of another package
|
||
affected.
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Sep 11 09:30:20 UTC 2014 - toddrme2178@gmail.com
|
||
|
||
- Update to 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.
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Jul 31 16:26:07 UTC 2014 - dimstar@opensuse.org
|
||
|
||
- Rename rpmlintrc to %{name}-rpmlintrc.
|
||
Follow the packaging guidelines.
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Jul 24 05:32:47 UTC 2014 - mcihar@suse.cz
|
||
|
||
- Update to version 0.20.2:
|
||
* Some optimisations for set/frozenset instantiation.
|
||
* Support for C++ unordered_set and unordered_map.
|
||
* Access to attributes of optimised builtin methods (e.g.
|
||
``[].append.__name__``) could fail to compile.
|
||
* Memory leak when extension subtypes add a memory view as attribute
|
||
to those of the parent type without having Python object attributes
|
||
or a user provided dealloc method.
|
||
* Compiler crash on readonly properties in "binding" mode.
|
||
* Auto-encoding with ``c_string_encoding=ascii`` failed in Py3.3.
|
||
* Crash when subtyping freelist enabled Cython extension types with
|
||
Python classes that use ``__slots__``.
|
||
* Freelist usage is restricted to CPython to avoid problems with other
|
||
Python implementations.
|
||
* Memory leak in memory views when copying overlapping, contiguous slices.
|
||
* Format checking when requesting non-contiguous buffers from
|
||
``cython.array`` objects was disabled in Py3.
|
||
* C++ destructor calls in extension types could fail to compile in clang.
|
||
* Buffer format validation failed for sequences of strings in structs.
|
||
* Docstrings on extension type attributes in .pxd files were rejected.
|
||
- add python-xml to build requirements for testsuite
|
||
|
||
-------------------------------------------------------------------
|
||
Thu May 8 11:40:51 UTC 2014 - toddrme2178@gmail.com
|
||
|
||
- Update to version 0.20.1
|
||
* List/Tuple literals multiplied by more than one factor were only multiplied
|
||
by the last factor instead of all.
|
||
* Lookups of special methods (specifically for context managers) could fail
|
||
in Python <= 2.6/3.1.
|
||
* Local variables were erroneously appended to the signature introspection
|
||
of Cython implemented functions with keyword-only arguments under Python 3.
|
||
* In-place assignments to variables with inferred Python builtin/extension
|
||
types could fail with type errors if the result value type was incompatible
|
||
with the type of the previous value.
|
||
* The C code generation order of cdef classes, closures, helper code,
|
||
etc. was not deterministic, thus leading to high code churn.
|
||
* Type inference could fail to deduce C enum types.
|
||
* Type inference could deduce unsafe or inefficient types from integer
|
||
assignments within a mix of inferred Python variables and integer
|
||
variables.
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Feb 3 18:51:50 UTC 2014 - jengelh@inai.de
|
||
|
||
- Cython grew a dependency on saxutils (and since then, libplist
|
||
failed to build). Add python-xml as a Requires to avoid:
|
||
[...]
|
||
File "/usr/lib64/python2.7/site-packages/Cython/Compiler/Annotate.py",
|
||
line 6, in <module> from xml.sax.saxutils import escape as
|
||
html_escape.
|
||
ImportError: No module named xml.sax.saxutils
|
||
|
||
-------------------------------------------------------------------
|
||
Fri Jan 31 10:19:40 UTC 2014 - speilicke@suse.com
|
||
|
||
- Update to version 0.20:
|
||
* Support for CPython 3.4.
|
||
* Support for calling C++ template functions.
|
||
* yield is supported in finally clauses.
|
||
* The C code generated for finally blocks is duplicated for each exit
|
||
case to allow for better optimisations by the C compiler.
|
||
* Cython tries to undo the Python optimisationism of assigning a bound
|
||
method to a local variable when it can generate better code for the
|
||
direct call.
|
||
* Constant Python float values are cached.
|
||
* String equality comparisons can use faster type specific code in
|
||
more cases than before.
|
||
* String/Unicode formatting using the '%' operator uses a faster
|
||
C-API call.
|
||
* bytearray has become a known type and supports coercion from and
|
||
to C strings. Indexing, slicing and decoding is optimised. Note that
|
||
this may have an impact on existing code due to type inference.
|
||
* Using cdef basestring stringvar and function arguments typed as
|
||
basestring is now meaningful and allows assigning exactly
|
||
str and unicode objects, but no subtypes of these types.
|
||
* Support for the __debug__ builtin.
|
||
* Assertions in Cython compiled modules are disabled if the running
|
||
Python interpreter was started with the "-O" option.
|
||
* Some types that Cython provides internally, such as functions and
|
||
generators, are now shared across modules if more than one Cython
|
||
implemented module is imported.
|
||
* The type inference algorithm works more fine granular by taking the
|
||
results of the control flow analysis into account.
|
||
* A new script in bin/cythonize provides a command line frontend
|
||
to the cythonize() compilation function (including distutils build).
|
||
* The new extension type decorator @cython.no_gc_clear prevents
|
||
objects from being cleared during cyclic garbage collection, thus
|
||
making sure that object attributes are kept alive until deallocation.
|
||
* During cyclic garbage collection, attributes of extension types that
|
||
cannot create reference cycles due to their type (e.g. strings) are
|
||
no longer considered for traversal or clearing. This can reduce the
|
||
processing overhead when searching for or cleaning up reference cycles.
|
||
* Package compilation (i.e. __init__.py files) now works, starting
|
||
with Python 3.3.
|
||
* The cython-mode.el script for Emacs was updated. Patch by Ivan Andrus.
|
||
* An option common_utility_include_dir was added to cythonize() to save
|
||
oft-used utility code once in a separate directory rather than as
|
||
part of each generated file.
|
||
* unraisable_tracebacks directive added to control printing of
|
||
tracebacks of unraisable exceptions.
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Oct 21 12:13:57 UTC 2013 - dmueller@suse.com
|
||
|
||
- update to 0.19.2:
|
||
* Some standard declarations were fixed or updated, including the previously
|
||
incorrect declaration of PyBuffer_FillInfo() and some missing bits in
|
||
libc.math.
|
||
|
||
* Heap allocated subtypes of type used the wrong base type struct at the
|
||
C level.
|
||
|
||
* Calling the unbound method dict.keys/value/items() in dict subtypes could
|
||
call the bound object method instead of the unbound supertype method.
|
||
|
||
* "yield" wasn't supported in "return" value expressions.
|
||
|
||
* Using the "bint" type in memory views lead to unexpected results.
|
||
It is now an error.
|
||
|
||
* Assignments to global/closure variables could catch them in an illegal state
|
||
while deallocating the old value.
|
||
|
||
-------------------------------------------------------------------
|
||
Fri Oct 11 17:06:20 UTC 2013 - p.drouand@gmail.com
|
||
|
||
- Implement update-alternatives
|
||
|
||
-------------------------------------------------------------------
|
||
Mon May 13 08:17:40 UTC 2013 - dmueller@suse.com
|
||
|
||
- update to 0.19.1:
|
||
* Completely empty C-API structs for extension type slots (protocols like
|
||
number/mapping/sequence) are no longer generated into the C code.
|
||
* Docstrings that directly follow a public/readonly attribute declaration
|
||
in a cdef class will be used as docstring of the auto-generated property.
|
||
This fixes ticket 206.
|
||
* The automatic signature documentation tries to preserve more semantics
|
||
of default arguments and argument types. Specifically, bint arguments
|
||
now appear as type bool.
|
||
* A warning is emitted when negative literal indices are found inside of
|
||
a code section that disables wraparound handling. This helps with
|
||
fixing invalid code that might fail in the face of future compiler
|
||
optimisations.
|
||
* Constant folding for boolean expressions (and/or) was improved.
|
||
* Added a build_dir option to cythonize() which allows one to place
|
||
the generated .c files outside the source tree.
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Apr 29 11:58:41 UTC 2013 - dmueller@suse.com
|
||
|
||
- Update to version 0.19:
|
||
+ Please see http://wiki.cython.org/ReleaseNotes-0.19
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Mar 27 12:17:42 UTC 2013 - speilicke@suse.com
|
||
|
||
- Update to version 0.18:
|
||
+ Please see http://wiki.cython.org/ReleaseNotes-0.18
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Nov 22 15:32:14 UTC 2012 - saschpe@suse.de
|
||
|
||
- Update to version 0.17.2:
|
||
+ Please see http://wiki.cython.org/ReleaseNotes-0.17.2
|
||
- Drop excessive macro usage
|
||
- No need for "-fno-strict-aliasing" anymore
|
||
- One rpmlintrc is enough
|
||
|
||
-------------------------------------------------------------------
|
||
Fri May 25 07:47:16 UTC 2012 - toddrme2178@gmail.com
|
||
|
||
- Fix .py/.pyc issues
|
||
|
||
-------------------------------------------------------------------
|
||
Fri May 18 10:52:46 UTC 2012 - toddrme2178@gmail.com
|
||
|
||
- Add python 3 package
|
||
- Clean up spec file formatting
|
||
- Remove setbadness from rplintrc files
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Apr 23 11:09:29 UTC 2012 - vdziewiecki@suse.com
|
||
|
||
-Update to 0.16:
|
||
http://wiki.cython.org/ReleaseNotes-0.16
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Feb 29 19:07:57 UTC 2012 - pascal.bleser@opensuse.org
|
||
|
||
- add rpmlintrc to mask false positives
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Sep 21 12:34:19 UTC 2011 - saschpe@suse.de
|
||
|
||
- Update to version 0.15.1:
|
||
* Please see http://wiki.cython.org/ReleaseNotes-0.15.1
|
||
|
||
-------------------------------------------------------------------
|
||
Tue Sep 6 13:25:54 UTC 2011 - saschpe@suse.de
|
||
|
||
- Add Provides/Obsoletes for python-cython
|
||
|
||
-------------------------------------------------------------------
|
||
Fri Sep 2 11:03:40 UTC 2011 - saschpe@suse.de
|
||
|
||
- Fixed a typo
|
||
- Removed testsuite again, fixes SLE build
|
||
|
||
-------------------------------------------------------------------
|
||
Fri Sep 2 09:50:25 UTC 2011 - saschpe@suse.de
|
||
|
||
- Update to version 0.15:
|
||
* For loop docs fix and pointer iteration.
|
||
* Pure decorators now implemented.
|
||
* fix bug #707: optimised dict iteration over non-trivial expressions fail...
|
||
* optimise object.pop() for sets
|
||
* Py2.4 fix: PySet_Pop() appeared in Py2.5
|
||
* Py3.3 test fix
|
||
* Support module level control flow and Entry-level error on uninitialized
|
||
- Spec file cleanup:
|
||
- Fixed wrong EOL encodings and non-excutable scripts
|
||
- Set license to Apache-2.0
|
||
- Run testsuite
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Apr 20 00:29:18 UTC 2011 - prusnak@opensuse.org
|
||
|
||
- updated to 0.14.1
|
||
- changes too numerous to list, see the following for more details:
|
||
* http://wiki.cython.org/ReleaseNotes-0.13
|
||
* http://wiki.cython.org/ReleaseNotes-0.14
|
||
* http://wiki.cython.org/ReleaseNotes-0.14.1
|
||
|
||
-------------------------------------------------------------------
|
||
Sun Jun 6 21:21:32 UTC 2010 - dimstar@opensuse.org
|
||
|
||
- Use renewed python-macros, also for compatibility with other
|
||
build targets.
|
||
|
||
-------------------------------------------------------------------
|
||
Sun Jun 6 12:14:18 UTC 2010 - dimstar@opensuse.org
|
||
|
||
- Initial package of Cython 0.12.1
|