38d8690cf2
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. |
||
---|---|---|
.. | ||
patch-buildutils_detect.py | ||
patch-setup.py |