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