Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update cffi to 1.12.2 #415

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

Conversation

pyup-bot
Copy link
Collaborator

This PR updates cffi from 1.11.5 to 1.12.2.

Changelog

1.12.1

=======

* CPython 3 on Windows: we again no longer compile with ``Py_LIMITED_API``
by default because such modules *still* cannot be used with virtualenv.
The problem is that it doesn't work in CPython <= 3.4, and for
technical reason we can't enable this flag automatically based on the
version of Python.

Like before, `Issue 350`_ mentions a workaround if you still want
the ``Py_LIMITED_API`` flag and *either* you are not concerned about
virtualenv *or* you are sure your module will not be used on CPython
<= 3.4: pass ``define_macros=[("Py_LIMITED_API", None)]`` to the
``ffibuilder.set_source()`` call.

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

@codecov
Copy link

codecov bot commented Feb 26, 2019

Codecov Report

Merging #415 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #415   +/-   ##
=======================================
  Coverage   98.57%   98.57%           
=======================================
  Files           8        8           
  Lines         702      702           
  Branches      125      125           
=======================================
  Hits          692      692           
  Misses          2        2           
  Partials        8        8

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 52b7d72...563b96b. Read the comment docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant