Skip to content

Latest commit

 

History

History
183 lines (121 loc) · 4.83 KB

CHANGES.rst

File metadata and controls

183 lines (121 loc) · 4.83 KB

Version 1.8.2

Released 2024-05-06

  • Simplify type for _async_wrapper and _sync_wrapper arguments. 156

Version 1.8.1

Released 2024-04-28

  • Restore identity handling for str and int senders. 148
  • Fix deprecated blinker.base.WeakNamespace import. 149
  • Fix deprecated blinker.base.receiver_connected import. 153
  • Use types from collections.abc instead of typing. 150
  • Fully specify exported types as reported by pyright. 152

Version 1.8.0

Released 2024-04-27

  • Deprecate the __version__ attribute. Use feature detection, or importlib.metadata.version("blinker"), instead. 128
  • Specify that the deprecated temporarily_connected_to will be removed in the next version.
  • Show a deprecation warning for the deprecated global receiver_connected signal and specify that it will be removed in the next version.
  • Show a deprecation warning for the deprecated WeakNamespace and specify that it will be removed in the next version.
  • Greatly simplify how the library uses weakrefs. This is a significant change internally but should not affect any public API. 144
  • Expose the namespace used by signal() as default_namespace. 145

Version 1.7.0

Released 2023-11-01

  • Fixed messages printed to standard error about unraisable exceptions during signal cleanup, typically during interpreter shutdown. 123
  • Allow the Signal set_class to be customised, to allow calling of receivers in registration order. 116.
  • Drop Python 3.7 and support Python 3.12. 126

Version 1.6.3

Released 2023-09-23

  • Fix SyncWrapperType and AsyncWrapperType 108
  • Fixed issue where connected_to would not disconnect the receiver if an instance of BaseException was raised. 114

Version 1.6.2

Released 2023-04-12

  • Type annotations are not evaluated at runtime. typing-extensions is not a runtime dependency. 94

Version 1.6.1

Released 2023-04-09

  • Ensure that py.typed is present in the distributions (to enable other projects to use Blinker's typing).
  • Require typing-extensions > 4.2 to ensure it includes ParamSpec. 90

Version 1.6

Released 2023-04-02

  • Add a muted context manager to temporarily turn off a signal. 84
  • int instances with the same value will be treated as the same sender, the same as str instances. 83
  • Add a send_async method to allow signals to send to coroutine receivers. 76
  • Update and modernise the project structure to match that used by the Pallets projects. 77
  • Add an initial set of type hints for the project.

Version 1.5

Released 2022-07-17

  • Support Python >= 3.7 and PyPy. Python 2, Python < 3.7, and Jython may continue to work, but the next release will make incompatible changes.

Version 1.4

Released 2015-07-23

  • Verified Python 3.4 support, no changes needed.
  • Additional bookkeeping cleanup for non-ANY connections at disconnect time.
  • Added Signal._cleanup_bookeeping() to prune stale bookkeeping on demand.

Version 1.3

Released 2013-07-03

  • The global signal stash behind signal() is now backed by a regular name-to-Signal dictionary. Previously, weak references were held in the mapping and ephermal usage in code like signal('foo').connect(...) could have surprising program behavior depending on import order of modules.
  • Namespace is now built on a regular dict. Use WeakNamespace for the older, weak-referencing behavior.
  • Signal.connect('text-sender') uses an alterate hashing strategy to avoid sharp edges in text identity.

Version 1.2

Released 2011-10-26

  • Added Signal.receiver_connected and Signal.receiver_disconnected per-Signal signals.
  • Deprecated the global receiver_connected signal.
  • Verified Python 3.2 support, no changes needed.

Version 1.1

Released 2010-07-21

  • Added @signal.connect_via(sender) decorator
  • Added signal.connected_to shorthand name for the temporarily_connected_to context manager.

Version 1.0

Released 2010-03-28

  • Python 3.0 and 3.1 compatibility.

Version 0.9

Released 2010-02-26

  • Added Signal.temporarily_connected_to context manager.
  • Docs! Sphinx docs, project web site.

Version 0.8

Released 2010-02-14

  • Initial release.
  • Extracted from flatland.util.signals.
  • Added Python 2.4 compatibility.
  • Added nearly functional Python 3.1 compatibility. Everything except connecting to instance methods seems to work.