- Enforce ASCII encoding on descriptor fields.
- Warn if a heap is dropped due to being incomplete.
- Add --ring option to C++ spead2_bench to test ringbuffer performance.
- Reading from a memory buffer (e.g. with
:py:func:`~spead2.recv.Stream.add_buffer_reader`) is now reliable, instead of
dropping heaps if the consumer doesn't keep up (heaps can still be dropped if
packets extracted from the buffer are out-of-order, but it is
deterministic).
- The receive ringbuffer now has a fixed size (2), and pushes are blocking. The
result is lower memory usage, and it is no longer necessary to pass a large
`max_heaps` value to deal with the consumer not always keeping up. Instead,
it may be necessary to increase the socket buffer size.
- **backwards-incompatible change**:
Calling :cpp:func:`spead2::recv::ring_stream::stop` now discards remaining
partial heaps instead of adding them to the ringbuffer. This only affects the
C++ API, because the Python API does not provide any access to partial heaps
anyway.
- **backwards-incompatible change**:
A heap with a stop flag is swallowed rather than passed to
:cpp:func:`~spead2::recv::stream::heap_ready` (see issue
[29](https://github.com/ska-sa/spead2/issues/29)).