12022/02/04 Version 9.0.4 2------------------------ 3 4- Add ``py.typed`` file to ``MANIFEST.in`` (ensures mypy actually respects the 5 type annotations) 6 72022/01/18 Version 9.0.3 8------------------------ 9 10- Improve type safety of ``EventEmitter#on``, ``EventEmitter#add_listener`` 11 and ``EventEmitter#listens_to`` by parameterizing the ``Handler`` 12- Minor fixes to documentation 13 142022/01/17 Version 9.0.2 15------------------------ 16 17- Add ``tests_require`` to setup.py, fixing COPR build 18- Install as an editable package in ``environment.yml`` and 19 ``requirements_docs.txt``, fixing Conda workflows and ReadTheDocs 20 respectively 21 222022/01/17 Version 9.0.1 23------------------------ 24 25- Fix regression where ``EventEmitter#listeners`` began crashing when called 26 with uninitialized listeners 27 282022/01/17 Version 9.0.0 29------------------------ 30 31Compatibility: 32 33- Drop 3.6 support 34 35New features: 36 37- New ``EventEmitter.event_names()`` method (see PR #96) 38- Type annotations and type checking with ``pyright`` 39- Exprimental ``pyee.cls`` module exposing an ``@evented`` class decorator 40 and a ``@on`` method decorator (see PR #84) 41 42Moved/deprecated interfaces: 43 44- ``pyee.TwistedEventEmitter`` -> ``pyee.twisted.TwistedEventEmitter`` 45- ``pyee.AsyncIOEventEmitter`` -> ``pyee.asyncio.AsyncIOEventEmitter`` 46- ``pyee.ExecutorEventEmitter`` -> ``pyee.executor.ExecutorEventEmitter`` 47- ``pyee.TrioEventEmitter`` -> ``pyee.trio.TrioEventEmitter`` 48 49Removed interfaces: 50 51- ``pyee.CompatEventEmitter`` 52 53Documentation fixes: 54 55- Add docstring to ``BaseEventEmitter`` 56- Update docstrings to reference ``EventEmitter`` instead of ``BaseEventEmitter`` 57 throughout 58 59Developer Setup & CI: 60 61- Migrated builds from Travis to GitHub Actions 62- Refactor developer setup to use a local virtualenv 63 642021/8/14 Version 8.2.2 65----------------------- 66 67- Correct version in docs 68 692021/8/14 Version 8.2.1 70----------------------- 71 72- Add .readthedocs.yaml file 73- Remove vcversioner dependency from docs build 74 75 762021/8/14 Version 8.2.0 77----------------------- 78 79- Remove test_requires and setup_requires directives from setup.py (closing #82) 80- Remove vcversioner from dependencies 81- Streamline requirements.txt and environment.yml files 82- Update and extend CONTRIBUTING.rst 83- CI with GitHub Actions instead of Travis (closing #56) 84- Format all code with black 85- Switch default branch to ``main`` 86- Add the CHANGELOG to Sphinx docs (closing #51) 87- Updated copyright information 88 892020/10/08 Version 8.1.0 90------------------------ 91- Improve thread safety in base EventEmitter 92- Documentation fix in ExecutorEventEmitter 93 942020/09/20 Version 8.0.1 95------------------------ 96- Update README to reflect new API 97 982020/09/20 Version 8.0.0 99------------------------ 100- Drop support for Python 2.7 101- Remove CompatEventEmitter and rename BaseEventEmitter to EventEmitter 102- Create an alias for BaseEventEmitter with a deprecation warning 103 1042020/09/20 Version 7.0.4 105------------------------ 106- setup_requires vs tests_require now correct 107- tests_require updated to pass in tox 108- 3.7 testing removed from tox 109- 2.7 testing removed from Travis 110 1112020/09/04 Version 7.0.3 112------------------------ 113- Tag license as MIT in setup.py 114- Update requirements and environment to pip -e the package 115 1162020/05/12 Version 7.0.2 117------------------------ 118- Support Python 3.8 by attempting to import TimeoutError from 119 ``asyncio.exceptions`` 120- Add LICENSE to package manifest 121- Add trio testing to tox 122- Add Python 3.8 to tox 123- Fix Python 2.7 in tox 124 1252020/01/30 Version 7.0.1 126------------------------ 127- Some tweaks to the docs 128 1292020/01/30 Version 7.0.0 130------------------------ 131- Added a ``TrioEventEmitter`` class for intended use with trio 132- ``AsyncIOEventEmitter`` now correctly handles cancellations 133- Add a new experimental ``pyee.uplift`` API for adding new functionality to 134 existing event emitters 135 1362019/04/11 Version 6.0.0 137------------------------ 138- Added a ``BaseEventEmitter`` class which is entirely synchronous and 139 intended for simple use and for subclassing 140- Added an ``AsyncIOEventEmitter`` class for intended use with asyncio 141- Added a ``TwistedEventEmitter`` class for intended use with twisted 142- Added an ``ExecutorEventEmitter`` class which runs events in an executor 143- Deprecated ``EventEmitter`` (use one of the new classes) 144 145 1462017/11/18 Version 5.0.0 147------------------------ 148 149- CHANGELOG.md reformatted to CHANGELOG.rst 150- Added CONTRIBUTORS.rst 151- The `listeners` method no longer returns the raw list of listeners, and 152 instead returns a list of unwrapped listeners; This means that mutating 153 listeners on the EventEmitter by mutating the list returned by 154 this method isn't possible anymore, and that for once handlers this method 155 returns the unwrapped handler rather than the wrapped handler 156- `once` API now returns the unwrapped handler in both decorator and 157 non-decorator cases 158- Possible to remove once handlers with unwrapped handlers 159- Internally, listeners are now stored on a OrderedDict rather than a list 160- Minor stylistic tweaks to make code more pythonic 161 1622017/11/17 Version 4.0.1 163------------------------ 164 165- Fix bug in setup.py; Now publishable 166 1672017/11/17 Version 4.0.0 168------------------------ 169 170- Coroutines now work with .once 171- Wrapped listener is removed prior to hook execution rather than after for 172 synchronous .once handlers 173 1742017/02/12 Version 3.0.3 175------------------------ 176 177- Add universal wheel 178 1792017/02/10 Version 3.0.2 180------------------------ 181 182- EventEmitter now inherits from object 183 1842016/10/02 Version 3.0.1 185------------------------ 186 187- Fixes/Updates to pyee docs 188- Uses vcversioner for managing version information 189 1902016/10/02 Version 3.0.0 191------------------------ 192 193- Errors resulting from async functions are now proxied to the "error" 194 event, rather than being lost into the aether. 195 1962016/10/01 Version 2.0.3 197------------------------ 198 199- Fix setup.py broken in python 2.7 200- Add link to CHANGELOG in README 201 2022016/10/01 Version 2.0.2 203------------------------ 204 205- Fix RST render warnings in README 206 2072016/10/01 Version 2.0.1 208------------------------ 209 210- Add README contents as long\_description inside setup.py 211 2122016/10/01 Version 2.0.0 213------------------------ 214 215- Drop support for pythons 3.2, 3.3 and 3.4 (support 2.7 and 3.5) 216- Use pytest instead of nose 217- Removed Event\_emitter alias 218- Code passes flake8 219- Use setuptools (no support for users without setuptools) 220- Reogranized docs, hosted on readthedocs.org 221- Support for scheduling coroutine functions passed to `@ee.on` 222 2232016/02/15 Version 1.0.2 224------------------------ 225 226- Make copy of event handlers array before iterating on emit 227 2282015/09/21 Version 1.0.1 229------------------------ 230 231- Change URLs to reference jfhbrook 232 2332015/09/20 Version 1.0.0 234------------------------ 235 236- Decorators return original function for `on` and `once` 237- Explicit python 3 support 238- Addition of legit license file 239- Addition of CHANGELOG.md 240- Now properly using semver 241