
Blinker Changelog
=================

Version 1.4
-----------

Released July 23, 2015

- 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 July 3, 2013

- The global signal stash behind blinker.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.
- blinker.Namespace is now built on a regular dict. Use
  blinker.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 October 26, 2011

- 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 July 21, 2010

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


Version 1.0
-----------

Released March 28, 2010

- Python 3.0 and 3.1 compatibility


Version 0.9
-----------

Released February 26, 2010

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


Version 0.8
-----------

Released February 14, 2010

- 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.)
