easynetwork v1.0.0rc8
Pre-release
Pre-release
What's Changed
Breaking changes
- AsyncBackendFactory hook system improvements by @francis-clairicia in #211
- Servers: Removed unsafe properties by @francis-clairicia in #217
- AsyncBackend: General API improvements by @francis-clairicia in #220
AsyncTCPNetworkServer
:request_handler.on_disconnection()
is called only ifon_connection()
succeeded by @francis-clairicia in #231- General performance improvement by @francis-clairicia in #243
- Removed
EncryptorSerializer
by @francis-clairicia in #244 - Changed project architecture by @francis-clairicia in #245
- Modified packages re-exports by @francis-clairicia in #251
Bug fixes
- Async clients: Better lock usage on connection by @francis-clairicia in #204
- Fixed whole CancelScope's cancellation system by @francis-clairicia in #208
- Fixed memory leak in internal stream objects by @francis-clairicia in #212
- ThreadsPortal: Do not hide exception raised after future.cancel() by @francis-clairicia in #214
- Servers: Fixed issues on serve_forever() tear down by @francis-clairicia in #216
- Servers: Fixed CancelledError not propagated to request handler exit stack by @francis-clairicia in #218
AsyncIOBackend
: OptimizedTask.wait()
by @francis-clairicia in #221AsyncIOBackend.ignore_cancellation()
now checks pending parent scope cancellation by @francis-clairicia in #224- Synchronous clients' threading.Lock were replaced by threading.RLock by @francis-clairicia in #228
Features/Improvement
- Serializers: Added
buffer_limit
property by @francis-clairicia in #191 - Serializers: Added
StructSerializer
implementation by @francis-clairicia in #192 - Request handlers: Modified
service_init()
type hinting by @francis-clairicia in #193 AsyncBackend
: Removedwait_future()
method by @francis-clairicia in #199- AsyncIOBackend: Implemented happy eyeballs delay internally by @francis-clairicia in #200
- AsyncIOBackend: Use asyncio transport/protocol system by setting an environment variable by @francis-clairicia in #203
- Moved AsyncExecutor's module in easynetwork.lowlevel by @francis-clairicia in #205
- AsyncExecutor: Added
wrapped
property by @francis-clairicia in #207 - Improved robustness of asynchronous generator usage by @francis-clairicia in #219
- Servers: Another minor improvements by @francis-clairicia in #222
- AsyncBackendFactory: Removed intrusive methods by @francis-clairicia in #223
AsyncIOBackend.ignore_cancellation()
now use the current task context (Python 3.12+) by @francis-clairicia in #225- AsyncExecutor: Minor performance improvements in
unwrap_future()
by @francis-clairicia in #226 - Added
runner_options
to standalone servers constructors by @francis-clairicia in #229 - Low-level API: Task groups optional for servers by @francis-clairicia in #230
AsyncIOBackend.ignore_cancellation()
accepts any awaitable object by @francis-clairicia in #232- UDP servers: Decrease latency when receiving a datagram by @francis-clairicia in #233
- Servers: Improved load balancing by @francis-clairicia in #234
- AsyncBackendFactory: Per-thread backend instances by @francis-clairicia in #241
- Servers: Request handlers can specify the receive timeout by yielding the value by @francis-clairicia in #246
- Added
manual_buffer_allocation
option by @francis-clairicia in #253
Documentation
- Several fixes in documentation by @francis-clairicia in #248
- Docs: Added undocumented usage of high-level API by @francis-clairicia in #259
Dependencies
- Updated dependencies and tools by @francis-clairicia in #195
- Updated dependencies and pre-commit pinned versions by @francis-clairicia in #235
- Updated dependencies and tools by @francis-clairicia in #257
Other Changes
- Normalized TypeVar names by @francis-clairicia in #194
- Some of the
pragma: no cover
directives were removed by @francis-clairicia in #196 - Servers: Ensure
GeneratorExit
is re-raised in request handlers by @francis-clairicia in #197 TaskGroup.start_soon()
: Removedcontext
parameter by @francis-clairicia in #198- Removed twine from build environment by @francis-clairicia in #206
- Fixed several package build issues by @francis-clairicia in #209
- Servers testing: check logs at test tear down by @francis-clairicia in #213
- Standalone servers: Better async backend usage by @francis-clairicia in #215
- Tests: Setup for flaky tests behaviors by @francis-clairicia in #227
- Fixed missing copyright notices by @francis-clairicia in #240
- Updated copyright by @francis-clairicia in #247
- [CI] Skip running tests if the PR is labeled 'pr-skip-test' by @francis-clairicia in #258
- Dev post #258: Always run other-tests job by @francis-clairicia in #260
Full Changelog: 1.0.0rc7...1.0.0rc8