Release Notes¶
Lahja 0.17.0 (2020-09-04)¶
Lahja 0.16.0 (2020-04-01)¶
Features¶
Raise
NoSubscribers
exception if an event is broadcasted or a request is made while there are no subscribers to the specific event or request type. This is a safety check to avoid scenarios where events or requests are never answered because developers forgot to wire certain events or requests together.If however, certain events or requests aren’t expected to be subscribed to, one can explicitly set
require_subscriber
on theBroadcastConfig
toFalse
.This is a BREAKING CHANGE. (#176)
Improved Documentation¶
Add Matomo Tracking to Docs site.
Matomo is an Open Source web analytics platform that allows us to get better insights and optimize for our audience without the negative consequences of other compareable platforms.
Read more: https://matomo.org/why-matomo/ (#171)
Lahja 0.15.2 (2019-12-04)¶
Lahja 0.15.1 (2019-12-03)¶
Lahja 0.15.0 (2019-11-21)¶
No significant changes.
Lahja 0.14.5 (2019-09-10)¶
Lahja 0.14.4 (2019-09-05)¶
No significant changes.
Lahja 0.14.3 (2019-08-28)¶
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