Log message:
py-zmq: updated to 22.3.0
22.3.0
======
Fixes:
- Fix `strlcpy` compilation issues on alpine, freebsd.
Adds new build-time dependency on `packaging`.
- In event-loop integration: warn instead of raise when triggering callback on a \
socket whose context has been closed.
- Bundled libzmq in wheels backport a patch to avoid crashes
due to inappropriate closing of libsodium's random generator
when using CurveZMQ.
Changes:
- New ResourceWarnings when contexts and sockets are closed by garbage collection,
which can be a source of hangs and leaks (matches open files)
22.2.1
======
Fix bundling of wepoll on Windows.
22.2.0
======
New features:
- IPC support on Windows:
where available (64bit Windows wheels and bundled libzmq when compiling from \
source, via wepoll),
IPC should work on appropriate Windows versions.
- Nicer reprs of contexts and sockets
- Memory allocated by `recv(copy=False)` is no longer read-only
- asyncio: Always reference current loop instead of attaching to the current \
loop at instantiation time.
This fixes e.g. contexts and/or sockets instantiated prior to a call to \
`asyncio.run`.
- ssh: `$PYZMQ_PARAMIKO_HOST_KEY_POLICY` can be used to set the missing host key \
policy,
e.g. `AutoAdd`.
Fixes:
- Fix memory corruption in gevent integration
- Fix `memoryview(zmq.Frame)` with cffi backend
- Fix threadsafety issue when closing sockets
Changes:
- pypy Windows wheels are 64b-only, following an update in cibuildwheel 2.0
- deprecate `zmq.utils.jsonapi` and remove support for non-stdlib json \
implementations in `send/recv_json`.
Custom serialization methods should be used instead.
22.1.0
======
New features:
- asyncio: experimental support for Proactor eventloop if tornado 6.1 is available
by running a selector in a background thread.
Fixes:
- Windows: fix type of `socket.FD` option in win-amd64
- asyncio: Cancel timers when using HWM with async Sockets
Other changes:
- Windows: update bundled libzmq dll URLs for Windows.
Windows wheels no longer include concrt140.dll.
- adopt pre-commit for formatting, linting
22.0.3
======
- Fix fork-safety bug in garbage collection thread (regression in 20.0)
when using subprocesses.
- Start uploading universal wheels for ARM Macs.
22.0.2
======
- Add workaround for bug in DLL loading for Windows wheels with conda Python \
>= 3.8
22.0.1
======
- Fix type of ``Frame.bytes`` for non-copying recvs with CFFI backend \
(regression in 21.0)
- Add manylinux wheels for pypy
22.0.0
======
This is a major release due to changes in wheels and building on Windows.
Code changes from 21.0 are minimal.
- Some typing fixes
- Bump bundled libzmq to 4.3.4
- Strip unused symbols in manylinux wheels, resulting in dramatically smaller \
binaries.
This matches behavior in v20 and earlier.
- Windows CPython wheels bundle public libzmq binary builds,
instead of building libzmq as a Python Extension.
This means they include libsodium for the first time.
- Our own implementation of bundling libzmq into pyzmq on Windows is removed,
instead relying on delvewheel (or installations putting dlls on %PATH%) to \
bundle dependency dlls.
- The (new in 21.0) Windows wheels for PyPy likely require the Windows vcredist \
package.
This may have always been the case, but the delvewheel approach doesn't seem \
to work.
- Windows + PyPy is now the only remaining case where a wheel has libzmq built \
as an Extension.
All other builds ship libzmq built using its own tooling,
which should result in better, more stable builds.
21.0.2
======
- Fix wheels on macOS older than 10.15 (sets MACOSX_DEPLOYMENT_TARGET to 10.9, \
matching wheel ABI tag).
21.0.1
======
pyzmq-21.0.1 only changes CI configuration for Windows wheels (built with VS2017 \
instead of VS2019),
fixing compatibility with some older Windows on all Pythons
and removing requirement of VC++ redistributable package on latest Windows and \
Python < 3.8.
There still appears to be a compatibility issue with Windows 7 that will be \
fixed ASAP.
Until then, you can pin ``pip install pyzmq<21``.
There are no changes from 21.0.0 for other platforms.
21.0
====
pyzmq 21 is a major version bump because of dropped support for old Pythons and \
some changes in packaging.
CPython users should not face major compatibility issues if installation works \
at all :)
PyPy users may see issues with the new implementation of send/recv.
If you do, please report them!
The big changes are:
- drop support for Python 3.5. Python >= 3.6 is required
- mypy type stubs, which should improve static analysis of pyzmq,
especially for dynamically defined attributes such as zmq constants.
These are new! Let us know if you find any issues.
- support for zero-copy and sending bufferables with cffi backend.
This is experimental! Please report issues.
- More wheels!
- linux-aarch64 on Python 3.7-3.9
- wheels for pypy36, 37 on Linux and Windows (previously just mac)
We've totally redone the wheel-building setup, so let us know if you start \
seeing instalation issues!
Packaging updates:
- Require Python >= 3.6, required for good type annotation support
- Wheels for macOS no longer build libzmq as a Python Extension,
instead 'real' libzmq is built and linked to libsodium,
bundled with delocate.
This matches the longstanding behavior of Linux wheels,
and should result in better performance.
- Add manylinux wheels for linux-aarch64. These bundle an older version of \
libzmq than the rest.
- Build wheels for python3.8, 3.9 with manylinux2010 instead of manylinux1.
Wheels for older Pythons will still be built on manylinux1.
- rework cffi backend in setup.py
- All wheels are built on GitHub Actions (most with cibuildwheel) instead of \
Min's laptop (finally!).
New features:
- zero-copy support in CFFI backend (``send(copy=False)`` now does something).
- Support sending any buffer-interface-providing objects in CFFI backend.
Bugs fixed:
- Errors during teardown of asyncio Sockets
- Missing MSVCP140.dll in Python 3.9 wheels on Windows,
causing vcruntime-redist package to be required to use the Python 3.9 wheels \
for pyzmq 20.0
20.0
====
20.0 is a major version bump because of dropped support for old Pythons and some \
changes in packaging,
but there are only small changes for users with relatively recent versions of Python.
Packaging updates:
- Update bundled libzmq to 4.3.3
- Drop support for Python < 3.5 (all versions of Python < 3.6 are EOL at \
time of release)
- Require setuptools to build from source
- Require Cython 0.29 to build from version control (sdists still ship .c files, \
so will never need Cython)
- Respect $PKG_CONFIG env for finding libzmq when building from source
New features:
- :meth:`.Socket.bind` and :meth:`.Socket.connect` can now be used as context \
managers.
Fixes:
- Better error when libzmq is bundled and fails to be loaded.
- Hold GIL while calling ``zmq_curve_`` functions, which may fix apparent \
threadsafety issues.
|