Changelog
### 1.12
```
=====
* `Direct support for pkg-config`__.
* ``ffi.from_buffer()`` takes a new optional *first* argument that gives
the array type of the result. It also takes an optional keyword argument
``require_writable`` to refuse read-only Python buffers.
* ``ffi.new()``, ``ffi.gc()`` or ``ffi.from_buffer()`` cdata objects
can now be released at known times, either by using the ``with``
keyword or by calling the new ``ffi.release()``.
* Windows, CPython 3.x: cffi modules are linked with ``python3.dll``
again. This makes them independant on the exact CPython version,
like they are on other platforms. **It requires virtualenv 16.0.0.**
* Accept an expression like ``ffi.new("int[4]", p)`` if ``p`` is itself
another cdata ``int[4]``.
* CPython 2.x: ``ffi.dlopen()`` failed with non-ascii file names on Posix
* CPython: if a thread is started from C and then runs Python code (with
callbacks or with the embedding solution), then previous versions of
cffi would contain possible crashes and/or memory leaks. Hopefully,
this has been fixed (see `issue 362`_).
* Support for ``ffi.cdef(..., pack=N)`` where N is a power of two.
Means to emulate ``pragma pack(N)`` on MSVC. Also, the default on
Windows is now ``pack=8``, like on MSVC. This might make a difference
in corner cases, although I can't think of one in the context of CFFI.
The old way ``ffi.cdef(..., packed=True)`` remains and is equivalent
to ``pack=1`` (saying e.g. that fields like ``int`` should be aligned
to 1 byte instead of 4).
.. __: cdef.htmlpkgconfig
.. _`issue 362`: https://bitbucket.org/cffi/cffi/issues/362/
Older Versions
==============
```
Links
- PyPI: https://pypi.org/project/cffi
- Changelog: https://pyup.io/changelogs/cffi/
- Docs: http://cffi.readthedocs.org
This PR updates cffi from 1.11.5 to 1.12.0.
Changelog
### 1.12 ``` ===== * `Direct support for pkg-config`__. * ``ffi.from_buffer()`` takes a new optional *first* argument that gives the array type of the result. It also takes an optional keyword argument ``require_writable`` to refuse read-only Python buffers. * ``ffi.new()``, ``ffi.gc()`` or ``ffi.from_buffer()`` cdata objects can now be released at known times, either by using the ``with`` keyword or by calling the new ``ffi.release()``. * Windows, CPython 3.x: cffi modules are linked with ``python3.dll`` again. This makes them independant on the exact CPython version, like they are on other platforms. **It requires virtualenv 16.0.0.** * Accept an expression like ``ffi.new("int[4]", p)`` if ``p`` is itself another cdata ``int[4]``. * CPython 2.x: ``ffi.dlopen()`` failed with non-ascii file names on Posix * CPython: if a thread is started from C and then runs Python code (with callbacks or with the embedding solution), then previous versions of cffi would contain possible crashes and/or memory leaks. Hopefully, this has been fixed (see `issue 362`_). * Support for ``ffi.cdef(..., pack=N)`` where N is a power of two. Means to emulate ``pragma pack(N)`` on MSVC. Also, the default on Windows is now ``pack=8``, like on MSVC. This might make a difference in corner cases, although I can't think of one in the context of CFFI. The old way ``ffi.cdef(..., packed=True)`` remains and is equivalent to ``pack=1`` (saying e.g. that fields like ``int`` should be aligned to 1 byte instead of 4). .. __: cdef.htmlpkgconfig .. _`issue 362`: https://bitbucket.org/cffi/cffi/issues/362/ Older Versions ============== ```Links
- PyPI: https://pypi.org/project/cffi - Changelog: https://pyup.io/changelogs/cffi/ - Docs: http://cffi.readthedocs.org