python-cffi/python-cffi.changes

172 lines
7.8 KiB
Plaintext
Raw Normal View History

-------------------------------------------------------------------
Thu Sep 17 11:28:00 UTC 2015 - p.drouand@gmail.com
- Update to version 1.2.1
* No changes entry for this version
- Changes from version 1.2.0
* Out-of-line mode: ``int a[][...];`` can be used to declare a structure
field or global variable which is, simultaneously, of total length
unknown to the C compiler (the ``a[]`` part) and each element is
itself an array of N integers, where the value of N *is * known to the
C compiler (the ``int`` and ``[...]`` parts around it). Similarly,
``int a[5][...];`` is supported (but probably less useful: remember
that in C it means ``int (a[5])[...];``).
* PyPy: the ``lib.some_function`` objects were missing the attributes
``__name__``, ``__module__`` and ``__doc__`` that are expected e.g. by
some decorators-management functions from ``functools``.
* Out-of-line API mode: you can now do ``from _example.lib import x``
to import the name ``x`` from ``_example.lib``, even though the
``lib`` object is not a standard module object. (Also works in ``from
_example.lib import *``, but this is even more of a hack and will fail
if ``lib`` happens to declare a name called ``__all__``. Note that
`` *`` excludes the global variables; only the functions and constants
make sense to import like this.)
* ``lib.__dict__`` works again and gives you a copy of the
dict---assuming that ``lib`` has got no symbol called precisely
``__dict__``. (In general, it is safer to use ``dir(lib)``.)
* Out-of-line API mode: global variables are now fetched on demand at
every access. It fixes issue #212 (Windows DLL variables), and also
allows variables that are defined as dynamic macros (like ``errno``)
or ``__thread`` -local variables. (This change might also tighten
the C compiler's check on the variables' type.)
* Issue #209: dereferencing NULL pointers now raises RuntimeError
instead of segfaulting. Meant as a debugging aid. The check is
only for NULL: if you dereference random or dead pointers you might
still get segfaults.
* Issue #152: callbacks__: added an argument ``ffi.callback(...,
onerror=...)``. If the main callback function raises an exception
and ``onerror`` is provided, then ``onerror(exception, exc_value,
traceback)`` is called. This is similar to writing a ``try:
except:`` in the main callback function, but in some cases (e.g. a
signal) an exception can occur at the very start of the callback
function---before it had time to enter the ``try: except:`` block.
* Issue #115: added ``ffi.new_allocator()``, which officializes
support for `alternative allocators`__.
.. __: using.html#callbacks
.. __: using.html#alternative-allocators
-------------------------------------------------------------------
Mon Jun 1 18:13:10 UTC 2015 - benoit.monin@gmx.fr
- update to version 1.1.0 (fate#318838):
* Out-of-line API mode: we can now declare integer types with
typedef int... foo_t;. The exact size and signedness of foo_t
is figured out by the compiler.
* Out-of-line API mode: we can now declare multidimensional
arrays (as fields or as globals) with int n[...][...]. Before,
only the outermost dimension would support the ... syntax.
* Out-of-line ABI mode: we now support any constant declaration,
instead of only integers whose value is given in the cdef. Such
“new” constants, i.e. either non-integers or without a value
given in the cdef, must correspond to actual symbols in the
lib. At runtime they are looked up the first time we access
them. This is useful if the library defines extern const
sometype somename;.
* ffi.addressof(lib, "func_name") now returns a regular cdata
object of type “pointer to function”. You can use it on any
function from a library in API mode (in ABI mode, all functions
are already regular cdata objects). To support this, you need
to recompile your cffi modules.
* Issue #198: in API mode, if you declare constants of a struct
type, what you saw from lib.CONSTANT was corrupted.
* Issue #196: ffi.set_source("package._ffi", None) would
incorrectly generate the Python source to package._ffi.py
instead of package/_ffi.py. Also fixed: in some cases, if the C
file was in build/foo.c, the .o file would be put in
build/build/foo.o.
- additional changes from version 1.0.3:
* Same as 1.0.2, apart from doc and test fixes on some platforms
- additional changes from version 1.0.2:
* Variadic C functions (ending in a ”...” argument) were not
supported in the out-of-line ABI mode. This was a bug—there was
even a (non-working) example doing exactly that!
- additional changes from version 1.0.1:
* ffi.set_source() crashed if passed a sources=[..] argument.
Fixed by chrippa on pull request #60.
* Issue #193: if we use a struct between the first cdef() where
it is declared and another cdef() where its fields are defined,
then this definition was ignored.
* Enums were buggy if you used too many ”...” in their definition
- additional changes from version 1.0.0:
* The main news item is out-of-line module generation:
+ for ABI level, with ffi.dlopen()
+ for API level, which used to be with ffi.verify(), now
deprecated
- add python-cffi-rpmlintrc: cffi specifically installs C headers
in site-packages
- add new test dependency gcc-c++
- skip the tests on SLE11 since they fail on i586
-------------------------------------------------------------------
Thu Apr 23 06:33:12 UTC 2015 - mcihar@suse.cz
- Update to 0.9.2
* No upstream changelog
See https://bitbucket.org/cffi/cffi/commits/all for a list of
commits
-------------------------------------------------------------------
Tue Aug 26 12:40:34 UTC 2014 - toddrme2178@gmail.com
- Update to 0.8.6
* No upstream changelog
See https://bitbucket.org/cffi/cffi/commits/all for a list of
commits
-------------------------------------------------------------------
Mon May 19 16:35:30 UTC 2014 - jmatejek@suse.com
- update to 0.8.2
* minor bugfixes
- remove cffi-pytest-integration.patch as it is no longer necessary
-------------------------------------------------------------------
Mon Mar 31 14:18:44 UTC 2014 - speilicke@suse.com
- Require libffi43-devel on SLE_11_SP2 instead of using pkg-config to fix build
-------------------------------------------------------------------
Mon Feb 24 12:09:15 UTC 2014 - mvyskocil@suse.com
- update to 0.8.1
* fixes on Python 3 on OS/X, and some FreeBSD fixes (thanks Tobias)
- added a note wrt disabled tests
- add cffi-pytest-integration.patch: allowinf call pytest from setup.py
-------------------------------------------------------------------
Mon Nov 18 14:33:39 UTC 2013 - mvyskocil@suse.com
- update to 0.8
* integrated support for C99 variable-sized structures
* multi-thread safety
* ffi.getwinerror()
* a number of small fixes
-------------------------------------------------------------------
Thu Oct 24 10:59:45 UTC 2013 - speilicke@suse.com
- Require python-setuptools instead of distribute (upstreams merged)
-------------------------------------------------------------------
Mon Sep 30 07:51:11 UTC 2013 - mvyskocil@suse.com
- use pkgconfig(libffi) to get the most recent ffi
-------------------------------------------------------------------
Mon Aug 19 13:27:16 UTC 2013 - mvyskocil@suse.com
- Update to 0.7.2
* add implicit bool
* standard names are handled as defaults in cdef declarations
* enum types follow GCC rules and not just int
* supports simple slices x[start:stop]
* enums are handled like ints
* new ffi.new_handle(python_object)
* and various bugfixes
-------------------------------------------------------------------
Sun Feb 10 09:28:56 UTC 2013 - saschpe@suse.de
- Initial version