NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #227 most downloaded on PyPI
Fast, simple object-to-object and broadcast signaling
Last release 2 years ago
no release in 18 months
Ships unpredictably
gaps range from 8 days to 7.0 years
Nearly every release is documented
notes for 17 of 17 stable releases
Nothing withdrawn
no release was ever pulled
17 years old
17 releases · first in 2010
…add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as pip-tools to pin all depe…
This is the Blinker 1.9.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as pip-tools to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.
PyPI: https://pypi.org/project/blinker/1.9.0/
Changes: https://blinker.readthedocs.io/en/stable/#version-1-9-0
Milestone: https://github.com/pallets-eco/blinker/milestone/1?closed=1
One column per quarter.
Released 2024-11-08
Drop support for Python 3.8. 175
Remove previously deprecated __version__, receiver_connected, Signal.temporarily_connected_to and WeakNamespace. 172
Skip weakref signal cleanup if the interpreter is shutting down. 173
This is the Blinker 1.8.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes.
This is the Blinker 1.8.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes.
PyPI: https://pypi.org/project/blinker/1.8.2/
Changes: https://blinker.readthedocs.io/en/latest/#version-1-8-2
_async_wrapper and _sync_wrapper arguments. #156Released 2024-05-06
Simplify type for _async_wrapper and _sync_wrapper arguments. 156
This is the Blinker 1.8.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes.
This is the Blinker 1.8.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes.
PyPI: https://pypi.org/project/blinker/1.8.1/
Changes: https://blinker.readthedocs.io/en/latest/#version-1-8-1
This is the Blinker 1.8.0 feature release, which may include new features, remove previously deprecated code, or add new deprecations. The 1.8.x line…
This is the Blinker 1.8.0 feature release, which may include new features, remove previously deprecated code, or add new deprecations. The 1.8.x line is now the supported fix branch, support has ended for the 1.7.x line. We encourage everyone to upgrade, and to use a tool such as pip-tools to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.
PyPI: https://pypi.org/project/blinker/1.8.0/
Changes: https://blinker.readthedocs.io/en/latest/#version-1-8-0
__version__ attribute. Use feature detection, or importlib.metadata.version("blinker"), instead. #128temporarily_connected_to will be removed in the next version.receiver_connected signal and specify that it will be removed in the next version.WeakNamespace and specify that it will be removed in the next version.signal() as default_namespace. #145Fixed messages printed to standard error about unraisable exceptions during signal cleanup, typically during interpreter shutdown. 123
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
Fix SyncWrapperType and AsyncWrapperType 108
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
Type annotations are not evaluated at runtime. typing-extensions is not a runtime dependency. 94
Released 2023-04-12
Type annotations are not evaluated at runtime. typing-extensions is not a runtime dependency. 94
Ensure that py.typed is present in the distributions (to enable other projects to use Blinker's typing).
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
Add a muted context manager to temporarily turn off a signal. 84
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.
Blinker has moved to Pallets-Eco, an organization for community maintenance of projects related to Pallets, Flask, etc. If you use Blinker and are int
Blinker has moved to Pallets-Eco, an organization for community maintenance of projects related to Pallets, Flask, etc. If you use Blinker and are interested in helping maintain the project, please join us in Discord Chat https://discord.gg/pallets.
This release fixes some compatibility with Python >= 3.7. Python < 3.7, including 2.7 and Jython, should still work for this release, but will no longer be supported in the next release.
The documentation has moved to Read the Docs https://blinker.readthedocs.io.
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.
Verified Python 3.4 support, no changes needed.
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.
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
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.
Deprecated the global receiver_connected signal.
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.
Added @signal.connect_via(sender) decorator
Released 2010-07-21
Added @signal.connect_via(sender) decorator
Added signal.connected_to shorthand name for the temporarily_connected_to context manager.
Python 3.0 and 3.1 compatibility.
Released 2010-03-28
Python 3.0 and 3.1 compatibility.
Added Signal.temporarily_connected_to context manager.
Released 2010-02-26
Added Signal.temporarily_connected_to context manager.
Docs! Sphinx docs, project web site.
Extracted from flatland.util.signals.
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.
Your coding agent can read these notes before it upgrades. Set up the MCP server →