v1.1.1

Date:

April 27th, 2025

Changes

  • Drop support for Python 3.8.

  • Fix bug that occurred when a call to io.Connection.watch_for_packet() was canceled.
    • If a call to io.Connection.watch_for_packet() were canceled, e.g. by a timeout, then future calls for the same Packet class would immediately cancel as well, due to internal reuse of a canceled asyncio.Future object. This is fixed, now.

  • Remove util.AsyncValueHolder.
    • It was a thin wrapper over an asyncio.Future, that was previously believed to have a better API. That belief changed, and so it was removed.

  • The util.class_or_instance_method decorator no longer propagates the descriptor protocol to its decorated entity.
    • This previously enabled being able to wrap a property with the decorator, as one can with classmethod from Python 3.9 to Python 3.12.

    • That behavior for classmethod was however deemed unsound, and was deprecated in Python 3.11 and removed in Python 3.13. Because of that, that behavior was removed from util.class_or_instance_method as well.