Release Notes¶
Lahja 0.14.2 (2019-08-28)¶
Lahja 0.14.1 (2019-08-13)¶
Features¶
Bugfixes¶
- Use the proper
ConnectionAttemptRejected
class in a code path that used a genericException
before. (#128) - If for some reason the IPC file is missing during server shutdown, suppress the FileNotFoundError that is raised when we try to remove it. (#144)
- Ensure cancellation of asyncio tasks is properly handled. (#145)
- Fixed some syntax issues in the API docs that prevented them from building. Ensured the CI docs build catches these issues in the future. (#147)
Improved Documentation¶
- Setup towncrier to generate release notes from fragment files to ensure a higher standard for release notes. (#147)
- Fix wrong title in docs as well as wrong info in license. (#150)
- Rearrange the table of contents and move “Testing” under the API section. (#151)
- Remove visual clutter from API docs Group methods and attributes in API docs (#152)
v0.14.0¶
- Feature: Rename subscription wait APIs and ensure they also work well with local subscriptions
v0.13.0¶
- Feature: Implement a standard API for endpoints to support non-asyncio based implementations (e.g. Trio)
- Feature: Improve flexibility of the APIs that allow waiting on subscriptions
- Bugfix: Get rid of warnings on shutdown
- Bugfix: Repair broken examples and add a CI job to ensure they don’t break again
- Performance: Don’t send events to endpoints that aren’t subscribed to the specific event
- Performance: Reduce number of socket sends by precombinging length prefix
- Performance: Many small performance improvements in various code paths
- Performance: Use a faster request id implementation instead of using an uuid
v0.12.0¶
- Change IPC backend from multiprocessing to asyncio
- Endpoint.broadcast() is now async
- Endpoint.broadcast_nowait() now exists, it schedules the message to be broadcast
- Endpoint.start_serving_nowait() no longer exists
- Endpoint.connect_to_endpoints_blocking() no longer exists
- Endpoint.stop() must be called or else some coroutines will be orphaned
- Endpoint can only be used from one event loop. It will remember the current event loop when an async method is first called, and throw an exception if another of its async methods is called from a different event loop.
- Messages will be compressed if python-snappy is installed
- Lahja previously silently dropped some exceptions, they are now propogated up
v0.11.2¶
- Properly set up logger
v0.11.1¶
- Turn exception that would be raised in a background task into a warning
v0.11.0¶
- Performance: Connect endpoints directly without central coordinator (BREAKING CHANGE)
v0.10.2¶
- Fix issue that can crash Endpoint
v0.10.1¶
- Fix issue that can crash Endpoint
v0.10.0¶
- Make request API accept a BroadcastConfig
- Add benchmarks
v0.9.0¶
- Implement “internal events”
- Rename max to num_events
- Ensure Futures are created on the correct event loop
- Ensure all consuming APIs handle cancellations well
- Don’t try to propagate events after shutdown